blob: 2f2e9e1e7c4e9a49066e14d8a288f40a6ba6dcba [file] [log] [blame]
// Copyright 2020 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 androidenterprise provides access to the Google Play EMM API.
//
// For product documentation, see: https://developers.google.com/android/work/play/emm-api
//
// Creating a client
//
// Usage example:
//
// import "google.golang.org/api/androidenterprise/v1"
// ...
// ctx := context.Background()
// androidenterpriseService, err := androidenterprise.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
//
// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
//
// androidenterpriseService, err := androidenterprise.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// androidenterpriseService, err := androidenterprise.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See https://godoc.org/google.golang.org/api/option/ for details on options.
package androidenterprise // import "google.golang.org/api/androidenterprise/v1"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
googleapi "google.golang.org/api/googleapi"
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
const apiId = "androidenterprise:v1"
const apiName = "androidenterprise"
const apiVersion = "v1"
const basePath = "https://www.googleapis.com/"
const mtlsBasePath = "https://www.mtls.googleapis.com/"
// OAuth2 scopes used by this API.
const (
// Manage corporate Android devices
AndroidenterpriseScope = "https://www.googleapis.com/auth/androidenterprise"
)
// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
scopesOption := option.WithScopes(
"https://www.googleapis.com/auth/androidenterprise",
)
// 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.WithDefaultMTLSEndpoint(mtlsBasePath))
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.Devices = NewDevicesService(s)
s.Enterprises = NewEnterprisesService(s)
s.Entitlements = NewEntitlementsService(s)
s.Grouplicenses = NewGrouplicensesService(s)
s.Grouplicenseusers = NewGrouplicenseusersService(s)
s.Installs = NewInstallsService(s)
s.Managedconfigurationsfordevice = NewManagedconfigurationsfordeviceService(s)
s.Managedconfigurationsforuser = NewManagedconfigurationsforuserService(s)
s.Managedconfigurationssettings = NewManagedconfigurationssettingsService(s)
s.Permissions = NewPermissionsService(s)
s.Products = NewProductsService(s)
s.Serviceaccountkeys = NewServiceaccountkeysService(s)
s.Storelayoutclusters = NewStorelayoutclustersService(s)
s.Storelayoutpages = NewStorelayoutpagesService(s)
s.Users = NewUsersService(s)
s.Webapps = NewWebappsService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Devices *DevicesService
Enterprises *EnterprisesService
Entitlements *EntitlementsService
Grouplicenses *GrouplicensesService
Grouplicenseusers *GrouplicenseusersService
Installs *InstallsService
Managedconfigurationsfordevice *ManagedconfigurationsfordeviceService
Managedconfigurationsforuser *ManagedconfigurationsforuserService
Managedconfigurationssettings *ManagedconfigurationssettingsService
Permissions *PermissionsService
Products *ProductsService
Serviceaccountkeys *ServiceaccountkeysService
Storelayoutclusters *StorelayoutclustersService
Storelayoutpages *StorelayoutpagesService
Users *UsersService
Webapps *WebappsService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewDevicesService(s *Service) *DevicesService {
rs := &DevicesService{s: s}
return rs
}
type DevicesService struct {
s *Service
}
func NewEnterprisesService(s *Service) *EnterprisesService {
rs := &EnterprisesService{s: s}
return rs
}
type EnterprisesService struct {
s *Service
}
func NewEntitlementsService(s *Service) *EntitlementsService {
rs := &EntitlementsService{s: s}
return rs
}
type EntitlementsService struct {
s *Service
}
func NewGrouplicensesService(s *Service) *GrouplicensesService {
rs := &GrouplicensesService{s: s}
return rs
}
type GrouplicensesService struct {
s *Service
}
func NewGrouplicenseusersService(s *Service) *GrouplicenseusersService {
rs := &GrouplicenseusersService{s: s}
return rs
}
type GrouplicenseusersService struct {
s *Service
}
func NewInstallsService(s *Service) *InstallsService {
rs := &InstallsService{s: s}
return rs
}
type InstallsService struct {
s *Service
}
func NewManagedconfigurationsfordeviceService(s *Service) *ManagedconfigurationsfordeviceService {
rs := &ManagedconfigurationsfordeviceService{s: s}
return rs
}
type ManagedconfigurationsfordeviceService struct {
s *Service
}
func NewManagedconfigurationsforuserService(s *Service) *ManagedconfigurationsforuserService {
rs := &ManagedconfigurationsforuserService{s: s}
return rs
}
type ManagedconfigurationsforuserService struct {
s *Service
}
func NewManagedconfigurationssettingsService(s *Service) *ManagedconfigurationssettingsService {
rs := &ManagedconfigurationssettingsService{s: s}
return rs
}
type ManagedconfigurationssettingsService struct {
s *Service
}
func NewPermissionsService(s *Service) *PermissionsService {
rs := &PermissionsService{s: s}
return rs
}
type PermissionsService struct {
s *Service
}
func NewProductsService(s *Service) *ProductsService {
rs := &ProductsService{s: s}
return rs
}
type ProductsService struct {
s *Service
}
func NewServiceaccountkeysService(s *Service) *ServiceaccountkeysService {
rs := &ServiceaccountkeysService{s: s}
return rs
}
type ServiceaccountkeysService struct {
s *Service
}
func NewStorelayoutclustersService(s *Service) *StorelayoutclustersService {
rs := &StorelayoutclustersService{s: s}
return rs
}
type StorelayoutclustersService struct {
s *Service
}
func NewStorelayoutpagesService(s *Service) *StorelayoutpagesService {
rs := &StorelayoutpagesService{s: s}
return rs
}
type StorelayoutpagesService struct {
s *Service
}
func NewUsersService(s *Service) *UsersService {
rs := &UsersService{s: s}
return rs
}
type UsersService struct {
s *Service
}
func NewWebappsService(s *Service) *WebappsService {
rs := &WebappsService{s: s}
return rs
}
type WebappsService struct {
s *Service
}
// Administrator: This represents an enterprise admin who can manage the
// enterprise
// in the managed Google Play store.
type Administrator struct {
// Email: The admin's email address.
Email string `json:"email,omitempty"`
// ForceSendFields is a list of field names (e.g. "Email") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Email") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Administrator) MarshalJSON() ([]byte, error) {
type NoMethod Administrator
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AdministratorWebToken: A token authorizing an admin to access an
// iframe.
type AdministratorWebToken struct {
// Token: An opaque token to be passed to the Play front-end to generate
// an iframe.
Token string `json:"token,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Token") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Token") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AdministratorWebToken) MarshalJSON() ([]byte, error) {
type NoMethod AdministratorWebToken
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AdministratorWebTokenSpec: Specification for a token used to generate
// iframes. The token specifies
// what data the admin is allowed to modify and the URI the iframe
// is
// allowed to communiate with.
type AdministratorWebTokenSpec struct {
// ManagedConfigurations: Options for displaying the Managed
// Configuration page.
ManagedConfigurations *AdministratorWebTokenSpecManagedConfigurations `json:"managedConfigurations,omitempty"`
// Parent: The URI of the parent frame hosting the iframe. To prevent
// XSS, the iframe
// may not be hosted at other URIs. This URI must be https.
// Use whitespaces to separate multiple parent URIs.
Parent string `json:"parent,omitempty"`
// Permission: Deprecated. Use <code>PlaySearch.approveApps</code>.
//
// Possible values:
// "unknown" - Unknown permission.
// "approveApps" - Permission to approve and unapprove apps.
// "manageMcm" - Permission to manage app restrictions.
Permission []string `json:"permission,omitempty"`
// PlaySearch: Options for displaying the managed Play Search apps page.
PlaySearch *AdministratorWebTokenSpecPlaySearch `json:"playSearch,omitempty"`
// PrivateApps: Options for displaying the Private Apps page.
PrivateApps *AdministratorWebTokenSpecPrivateApps `json:"privateApps,omitempty"`
// StoreBuilder: Options for displaying the Organize apps page.
StoreBuilder *AdministratorWebTokenSpecStoreBuilder `json:"storeBuilder,omitempty"`
// WebApps: Options for displaying the Web Apps page.
WebApps *AdministratorWebTokenSpecWebApps `json:"webApps,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "ManagedConfigurations") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ManagedConfigurations") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *AdministratorWebTokenSpec) MarshalJSON() ([]byte, error) {
type NoMethod AdministratorWebTokenSpec
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AdministratorWebTokenSpecManagedConfigurations struct {
// Enabled: Whether the Managed Configuration page is displayed. Default
// is true.
Enabled bool `json:"enabled,omitempty"`
// ForceSendFields is a list of field names (e.g. "Enabled") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Enabled") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AdministratorWebTokenSpecManagedConfigurations) MarshalJSON() ([]byte, error) {
type NoMethod AdministratorWebTokenSpecManagedConfigurations
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AdministratorWebTokenSpecPlaySearch struct {
// ApproveApps: Allow access to the iframe in
// <a
// href="https://developers.google.com/android/work/play/emm-api/manag
// ed-play-iframe#render">approve
// mode</a>. Default is false.
ApproveApps bool `json:"approveApps,omitempty"`
// Enabled: Whether the managed Play Search apps page is displayed.
// Default is true.
Enabled bool `json:"enabled,omitempty"`
// ForceSendFields is a list of field names (e.g. "ApproveApps") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApproveApps") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AdministratorWebTokenSpecPlaySearch) MarshalJSON() ([]byte, error) {
type NoMethod AdministratorWebTokenSpecPlaySearch
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AdministratorWebTokenSpecPrivateApps struct {
// Enabled: Whether the Private Apps page is displayed. Default is true.
Enabled bool `json:"enabled,omitempty"`
// ForceSendFields is a list of field names (e.g. "Enabled") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Enabled") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AdministratorWebTokenSpecPrivateApps) MarshalJSON() ([]byte, error) {
type NoMethod AdministratorWebTokenSpecPrivateApps
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AdministratorWebTokenSpecStoreBuilder struct {
// Enabled: Whether the Organize apps page is displayed. Default is
// true.
Enabled bool `json:"enabled,omitempty"`
// ForceSendFields is a list of field names (e.g. "Enabled") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Enabled") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AdministratorWebTokenSpecStoreBuilder) MarshalJSON() ([]byte, error) {
type NoMethod AdministratorWebTokenSpecStoreBuilder
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AdministratorWebTokenSpecWebApps struct {
// Enabled: Whether the Web Apps page is displayed. Default is true.
Enabled bool `json:"enabled,omitempty"`
// ForceSendFields is a list of field names (e.g. "Enabled") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Enabled") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AdministratorWebTokenSpecWebApps) MarshalJSON() ([]byte, error) {
type NoMethod AdministratorWebTokenSpecWebApps
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AppRestrictionsSchema: Represents the list of app restrictions
// available to be pre-configured for
// the product.
type AppRestrictionsSchema struct {
// Kind: Deprecated.
Kind string `json:"kind,omitempty"`
// Restrictions: The set of restrictions that make up this schema.
Restrictions []*AppRestrictionsSchemaRestriction `json:"restrictions,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 values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
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. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AppRestrictionsSchema) MarshalJSON() ([]byte, error) {
type NoMethod AppRestrictionsSchema
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AppRestrictionsSchemaChangeEvent: An event generated when a new app
// version is uploaded to Google Play and its
// app restrictions schema changed.
// To fetch the app restrictions schema for an app,
// use
// Products.getAppRestrictionsSchema on the EMM API.
type AppRestrictionsSchemaChangeEvent struct {
// ProductId: The id of the product (e.g. "app:com.google.android.gm")
// for which the
// app restriction schema changed. This field will always be present.
ProductId string `json:"productId,omitempty"`
// ForceSendFields is a list of field names (e.g. "ProductId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ProductId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AppRestrictionsSchemaChangeEvent) MarshalJSON() ([]byte, error) {
type NoMethod AppRestrictionsSchemaChangeEvent
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AppRestrictionsSchemaRestriction: A restriction in the App
// Restriction Schema represents a piece of
// configuration that may be pre-applied.
type AppRestrictionsSchemaRestriction struct {
// DefaultValue: The default value of the restriction.
// <code>bundle</code> and
// <code>bundleArray</code> restrictions never have a default value.
DefaultValue *AppRestrictionsSchemaRestrictionRestrictionValue `json:"defaultValue,omitempty"`
// Description: A longer description of the restriction, giving more
// detail of what it
// affects.
Description string `json:"description,omitempty"`
// Entry: For <code>choice</code> or <code>multiselect</code>
// restrictions, the list
// of possible entries' human-readable names.
Entry []string `json:"entry,omitempty"`
// EntryValue: For <code>choice</code> or <code>multiselect</code>
// restrictions, the list
// of possible entries' machine-readable values. These values should be
// used
// in the configuration, either as a single <code>string</code> value
// for a
// <code>choice</code> restriction or in a <code>stringArray</code> for
// a
// <code>multiselect</code> restriction.
EntryValue []string `json:"entryValue,omitempty"`
// Key: The unique key that the product uses to identify the
// restriction,
// e.g. "com.google.android.gm.fieldname".
Key string `json:"key,omitempty"`
// NestedRestriction: For <code>bundle</code> or
// <code>bundleArray</code> restrictions, the list
// of nested restrictions. A <code>bundle</code> restriction is always
// nested
// within a <code>bundleArray</code> restriction, and
// a
// <code>bundleArray</code> restriction is at most two levels deep.
NestedRestriction []*AppRestrictionsSchemaRestriction `json:"nestedRestriction,omitempty"`
// RestrictionType: The type of the restriction.
//
// Possible values:
// "bool" - A restriction of boolean type.
// "string" - A restriction of string type.
// "integer" - A restriction of integer type.
// "choice" - A choice of one item from a set.
// "multiselect" - A choice of multiple items from a set.
// "hidden" - A hidden restriction of string type (the default value
// can be used
// to pass along information that cannot be modified, such as a
// version
// code).
// "bundle" - [M+ devices only] A bundle of restrictions
// "bundleArray" - [M+ devices only] An array of restriction bundles
RestrictionType string `json:"restrictionType,omitempty"`
// Title: The name of the restriction.
Title string `json:"title,omitempty"`
// ForceSendFields is a list of field names (e.g. "DefaultValue") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DefaultValue") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AppRestrictionsSchemaRestriction) MarshalJSON() ([]byte, error) {
type NoMethod AppRestrictionsSchemaRestriction
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AppRestrictionsSchemaRestrictionRestrictionValue: A typed value for
// the restriction.
type AppRestrictionsSchemaRestrictionRestrictionValue struct {
// Type: The type of the value being provided.
//
// Possible values:
// "bool" - A restriction of boolean type.
// "string" - A restriction of string type.
// "integer" - A restriction of integer type.
// "choice" - A choice of one item from a set.
// "multiselect" - A choice of multiple items from a set.
// "hidden" - A hidden restriction of string type (the default value
// can be used
// to pass along information that cannot be modified, such as a
// version
// code).
// "bundle" - [M+ devices only] A bundle of restrictions
// "bundleArray" - [M+ devices only] An array of restriction bundles
Type string `json:"type,omitempty"`
// ValueBool: The boolean value - this will only be present if type is
// bool.
ValueBool bool `json:"valueBool,omitempty"`
// ValueInteger: The integer value - this will only be present if type
// is integer.
ValueInteger int64 `json:"valueInteger,omitempty"`
// ValueMultiselect: The list of string values - this will only be
// present if type is
// multiselect.
ValueMultiselect []string `json:"valueMultiselect,omitempty"`
// ValueString: The string value - this will be present for types
// string, choice and
// hidden.
ValueString string `json:"valueString,omitempty"`
// ForceSendFields is a list of field names (e.g. "Type") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Type") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AppRestrictionsSchemaRestrictionRestrictionValue) MarshalJSON() ([]byte, error) {
type NoMethod AppRestrictionsSchemaRestrictionRestrictionValue
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AppState: List of states set by the app.
type AppState struct {
// KeyedAppState: List of keyed app states.
// This field will always be present.
KeyedAppState []*KeyedAppState `json:"keyedAppState,omitempty"`
// PackageName: The package name of the app.
// This field will always be present.
PackageName string `json:"packageName,omitempty"`
// ForceSendFields is a list of field names (e.g. "KeyedAppState") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "KeyedAppState") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AppState) MarshalJSON() ([]byte, error) {
type NoMethod AppState
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AppUpdateEvent: An event generated when a new version of an app is
// uploaded to Google Play.
// Notifications are sent for new public versions only: alpha, beta, or
// canary
// versions do not generate this event. To fetch up-to-date version
// history for
// an app, use Products.Get on the EMM API.
type AppUpdateEvent struct {
// ProductId: The id of the product (e.g. "app:com.google.android.gm")
// that was updated.
// This field will always be present.
ProductId string `json:"productId,omitempty"`
// ForceSendFields is a list of field names (e.g. "ProductId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ProductId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AppUpdateEvent) MarshalJSON() ([]byte, error) {
type NoMethod AppUpdateEvent
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AppVersion: This represents a single version of the app.
type AppVersion struct {
// IsProduction: True if this version is a production APK.
IsProduction bool `json:"isProduction,omitempty"`
// Track: Deprecated, use <code>trackId</code> instead.
//
// Possible values:
// "appTrackUnspecified"
// "production"
// "beta"
// "alpha"
Track string `json:"track,omitempty"`
// TrackId: Track ids that the app version is published in. Replaces
// the
// <code>track</code> field (deprecated), but doesn't include the
// production
// track (see <code>isProduction</code> instead).
TrackId []string `json:"trackId,omitempty"`
// VersionCode: Unique increasing identifier for the app version.
VersionCode int64 `json:"versionCode,omitempty"`
// VersionString: The string used in the Play store by the app developer
// to identify
// the version.
// The string is not necessarily unique or localized (for example, the
// string
// could be "1.4").
VersionString string `json:"versionString,omitempty"`
// ForceSendFields is a list of field names (e.g. "IsProduction") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "IsProduction") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AppVersion) MarshalJSON() ([]byte, error) {
type NoMethod AppVersion
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ApprovalUrlInfo: Information on an approval URL.
type ApprovalUrlInfo struct {
// ApprovalUrl: A URL that displays a product's permissions and that can
// also be used to
// approve the product with the <code>Products.approve</code> call.
ApprovalUrl string `json:"approvalUrl,omitempty"`
// ForceSendFields is a list of field names (e.g. "ApprovalUrl") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApprovalUrl") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ApprovalUrlInfo) MarshalJSON() ([]byte, error) {
type NoMethod ApprovalUrlInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AuthenticationToken: An AuthenticationToken is used by the EMM's
// device policy client on a device
// to provision the given EMM-managed user on that device.
type AuthenticationToken struct {
// Token: The authentication token to be passed to the device policy
// client on the
// device where it can be used to provision the account for which this
// token
// was generated.
Token string `json:"token,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Token") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Token") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *AuthenticationToken) MarshalJSON() ([]byte, error) {
type NoMethod AuthenticationToken
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AutoInstallConstraint: The auto-install constraint. Defines a set of
// restrictions for installation.
// At least one of the fields must be set.
type AutoInstallConstraint struct {
// ChargingStateConstraint: Charging state constraint.
//
// Possible values:
// "chargingStateConstraintUnspecified"
// "chargingNotRequired" - Device doesn't have to be charging.
// "chargingRequired" - Device has to be charging.
ChargingStateConstraint string `json:"chargingStateConstraint,omitempty"`
// DeviceIdleStateConstraint: Device idle state constraint.
//
// Possible values:
// "deviceIdleStateConstraintUnspecified"
// "deviceIdleNotRequired" - Device doesn't have to be idle, app can
// be installed while the user is
// interacting with the device.
// "deviceIdleRequired" - Device has to be idle.
DeviceIdleStateConstraint string `json:"deviceIdleStateConstraint,omitempty"`
// NetworkTypeConstraint: Network type constraint.
//
// Possible values:
// "networkTypeConstraintUnspecified"
// "anyNetwork" - Any active networks (Wi-Fi, cellular, etc.).
// "unmeteredNetwork" - Any unmetered network (e.g. Wi-FI).
NetworkTypeConstraint string `json:"networkTypeConstraint,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "ChargingStateConstraint") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ChargingStateConstraint")
// to include in API requests with the JSON null value. By default,
// fields with empty values are omitted from API requests. However, any
// field with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *AutoInstallConstraint) MarshalJSON() ([]byte, error) {
type NoMethod AutoInstallConstraint
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type AutoInstallPolicy struct {
// AutoInstallConstraint: The constraints for auto-installing the app.
// You can specify a maximum of
// one constraint.
AutoInstallConstraint []*AutoInstallConstraint `json:"autoInstallConstraint,omitempty"`
// AutoInstallMode: The auto-install mode. If unset defaults to
// "doNotAutoInstall".
//
// Possible values:
// "autoInstallModeUnspecified"
// "doNotAutoInstall" - The product is not installed automatically,
// the user needs to install it
// from the Play Store.
// "autoInstallOnce" - The product is automatically installed once, if
// the user uninstalls the
// product it will not be installed again.
// "forceAutoInstall" - The product is automatically installed, if the
// user uninstalls the
// product it will be installed again. On managed devices the DPC
// should
// block uninstall.
AutoInstallMode string `json:"autoInstallMode,omitempty"`
// AutoInstallPriority: The priority of the install, as an unsigned
// integer. A lower number means
// higher priority.
AutoInstallPriority int64 `json:"autoInstallPriority,omitempty"`
// MinimumVersionCode: The minimum version of the app. If a lower
// version of the app is installed,
// then the app will be auto-updated according to the
// auto-install
// constraints, instead of waiting for the regular auto-update. You can
// set a
// minimum version code for at most 20 apps per device.
MinimumVersionCode int64 `json:"minimumVersionCode,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "AutoInstallConstraint") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AutoInstallConstraint") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *AutoInstallPolicy) MarshalJSON() ([]byte, error) {
type NoMethod AutoInstallPolicy
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ConfigurationVariables: A configuration variables resource contains
// the managed configuration
// settings ID to be applied to a single user, as well as the variable
// set that
// is attributed to the user. The variable set will be used to
// replace
// placeholders in the managed configuration settings.
type ConfigurationVariables struct {
// McmId: The ID of the managed configurations settings.
McmId string `json:"mcmId,omitempty"`
// VariableSet: The variable set that is attributed to the user.
VariableSet []*VariableSet `json:"variableSet,omitempty"`
// ForceSendFields is a list of field names (e.g. "McmId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "McmId") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ConfigurationVariables) MarshalJSON() ([]byte, error) {
type NoMethod ConfigurationVariables
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Device: A Devices resource represents a mobile device managed by the
// EMM and
// belonging to a specific enterprise user.
type Device struct {
// AndroidId: The Google Play Services Android ID for the device encoded
// as
// a lowercase hex string. For
// example,
// <code>&quot;123456789abcdef0&quot;</code>.
AndroidId string `json:"androidId,omitempty"`
// ManagementType: Identifies the extent to which the device is
// controlled by a managed
// Google Play EMM in various deployment configurations.
// <br><br>
// Possible values include:
// <ul><li>"<code>managedDevice</code>", a device that has the EMM's
// device
// policy controller (DPC) as the device
// owner.</li>
// <li>"<code>managedProfile</code>", a device that has a profile
// managed
// by the DPC (DPC is profile owner) in addition to a separate,
// personal
// profile that is unavailable to the
// DPC.</li>
// <li>"<code>containerApp</code>", no longer used
// (deprecated).</li>
// <li>"<code>unmanagedProfile</code>", a device that has been allowed
// (by the
// domain's admin, using the Admin Console to enable the privilege) to
// use
// managed Google Play, but the profile is itself
// not owned by a DPC.</li></ul>
//
// Possible values:
// "managedDevice"
// "managedProfile"
// "containerApp"
// "unmanagedProfile"
ManagementType string `json:"managementType,omitempty"`
// Policy: The policy enforced on the device.
Policy *Policy `json:"policy,omitempty"`
// Report: The device report updated with the latest app states.
Report *DeviceReport `json:"report,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AndroidId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AndroidId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Device) MarshalJSON() ([]byte, error) {
type NoMethod Device
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DeviceReport: Device report updated with the latest app states for
// managed apps on the
// device.
type DeviceReport struct {
// AppState: List of app states set by managed apps on the device. App
// states are
// defined by the app's developers.
// This field will always be present.
AppState []*AppState `json:"appState,omitempty"`
// LastUpdatedTimestampMillis: The timestamp of the last report update
// in milliseconds since epoch.
// This field will always be present.
LastUpdatedTimestampMillis int64 `json:"lastUpdatedTimestampMillis,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "AppState") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AppState") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DeviceReport) MarshalJSON() ([]byte, error) {
type NoMethod DeviceReport
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DeviceReportUpdateEvent: An event generated when an updated device
// report is available.
type DeviceReportUpdateEvent struct {
// DeviceId: The Android ID of the device.
// This field will always be present.
DeviceId string `json:"deviceId,omitempty"`
// Report: The device report updated with the latest app states.
// This field will always be present.
Report *DeviceReport `json:"report,omitempty"`
// UserId: The ID of the user.
// This field will always be present.
UserId string `json:"userId,omitempty"`
// ForceSendFields is a list of field names (e.g. "DeviceId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DeviceId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DeviceReportUpdateEvent) MarshalJSON() ([]byte, error) {
type NoMethod DeviceReportUpdateEvent
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DeviceState: The state of a user's device, as accessed by the
// getState and setState
// methods on device resources.
type DeviceState struct {
// AccountState: The state of the Google account on the device.
// "enabled" indicates that
// the Google account on the device can be used to access Google
// services
// (including Google Play), while "disabled" means that it cannot.
// A new device is initially in the "disabled" state.
//
// Possible values:
// "enabled"
// "disabled"
AccountState string `json:"accountState,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AccountState") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AccountState") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DeviceState) MarshalJSON() ([]byte, error) {
type NoMethod DeviceState
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DevicesListResponse struct {
// Device: A managed device.
Device []*Device `json:"device,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Device") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Device") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DevicesListResponse) MarshalJSON() ([]byte, error) {
type NoMethod DevicesListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Enterprise: An Enterprises resource represents the binding between an
// EMM and a
// specific organization. That binding can be instantiated in one of
// two
// different ways using this API as follows:
// <ul><li>For Google managed domain customers, the process involves
// using
// <code>Enterprises.enroll</code> and
// <code>Enterprises.setAccount</code> (in
// conjunction with artifacts obtained from the Admin console and the
// Google
// API Console) and submitted to the EMM through a more-or-less
// manual
// process.</li>
// <li>For managed Google Play Accounts customers, the process involves
// using
// <code>Enterprises.generateSignupUrl</code>
// and
// <code>Enterprises.completeSignup</code> in conjunction with the
// managed
// Google Play sign-up UI (Google-provided mechanism) to create the
// binding
// without manual steps.</li></ul> As an EMM, you can support either or
// both
// approaches in your EMM console. See
// <a
// href="/android/work/play/emm-api/create-enterprise">Create an
// Enterprise</a>
// for details.
type Enterprise struct {
// Administrator: Admins of the enterprise. This is only supported for
// enterprises
// created via the EMM-initiated flow.
Administrator []*Administrator `json:"administrator,omitempty"`
// Id: The unique ID for the enterprise.
Id string `json:"id,omitempty"`
// Name: The name of the enterprise, for example, "Example, Inc".
Name string `json:"name,omitempty"`
// PrimaryDomain: The enterprise's primary domain, such as
// "example.com".
PrimaryDomain string `json:"primaryDomain,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Administrator") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Administrator") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Enterprise) MarshalJSON() ([]byte, error) {
type NoMethod Enterprise
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// EnterpriseAccount: A service account that can be used to authenticate
// as the enterprise to
// API calls that require such authentication.
type EnterpriseAccount struct {
// AccountEmail: The email address of the service account.
AccountEmail string `json:"accountEmail,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AccountEmail") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AccountEmail") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *EnterpriseAccount) MarshalJSON() ([]byte, error) {
type NoMethod EnterpriseAccount
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type EnterprisesListResponse struct {
// Enterprise: An enterprise.
Enterprise []*Enterprise `json:"enterprise,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Enterprise") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Enterprise") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *EnterprisesListResponse) MarshalJSON() ([]byte, error) {
type NoMethod EnterprisesListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type EnterprisesSendTestPushNotificationResponse struct {
// MessageId: The message ID of the test push notification that was
// sent.
MessageId string `json:"messageId,omitempty"`
// TopicName: The name of the Cloud Pub/Sub topic to which notifications
// for this
// enterprise's enrolled account will be sent.
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. "MessageId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "MessageId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *EnterprisesSendTestPushNotificationResponse) MarshalJSON() ([]byte, error) {
type NoMethod EnterprisesSendTestPushNotificationResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Entitlement: The presence of an Entitlements resource indicates that
// a user has the right
// to use a particular app. Entitlements are user specific, not device
// specific.
// This allows a user with an entitlement to an app to install the app
// on all
// their devices. It's also possible for a user to hold an entitlement
// to an app
// without installing the app on any device.
//
// The API can be used to create an entitlement. As an option, you can
// also use
// the API to trigger the installation of an app on all a user's managed
// devices
// at the same time the entitlement is created.
//
// If the app is free, creating the entitlement also creates a group
// license
// for that app. For paid apps, creating the entitlement consumes one
// license,
// and that license remains consumed until the entitlement is removed.
// If the
// enterprise hasn't purchased enough licenses, then no entitlement is
// created
// and the installation fails. An entitlement is also not created for an
// app if
// the app requires permissions that the enterprise hasn't accepted.
//
// If an entitlement is deleted, the app may be uninstalled from a
// user's
// device. As a best practice, uninstall the app by calling
// <a class="method-link"
// method="androidenterprise.installs.delete">
// Installs.delete()</a> before deleting the entitlement.
//
// Entitlements for apps that a user pays for on an unmanaged profile
// have
// <code class="">"userPurchase"</code> as the entitlement reason.
// These
// entitlements cannot be removed via the API.
type Entitlement struct {
// ProductId: The ID of the product that the entitlement is for. For
// example,
// <code>&quot;app:com.google.android.gm&quot;</code>.
ProductId string `json:"productId,omitempty"`
// Reason: The reason for the entitlement. For example, <code
// class="">"free"</code>
// for free apps. This property is temporary: it will be replaced by the
// <code
// class="">acquisition kind</code> field of group licenses.
//
// Possible values:
// "free"
// "groupLicense"
// "userPurchase"
Reason string `json:"reason,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ProductId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ProductId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Entitlement) MarshalJSON() ([]byte, error) {
type NoMethod Entitlement
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type EntitlementsListResponse struct {
// Entitlement: An entitlement of a user to a product (e.g. an app).
// For example, a free app that they have installed, or a paid app that
// they
// have been allocated a license to.
Entitlement []*Entitlement `json:"entitlement,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Entitlement") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Entitlement") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *EntitlementsListResponse) MarshalJSON() ([]byte, error) {
type NoMethod EntitlementsListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GroupLicense: Group license objects allow you to keep track of
// licenses (called
// <a
// href="/android/work/play/emm-api/v1/entitlements">entitlements</a>)
// fo
// r both free and paid apps. For a free app, a group license is created
// when
// an enterprise admin first approves the product in Google Play or when
// the
// first entitlement for the product is created for a user via the API.
// For a
// paid app, a group license object is only created when an enterprise
// admin
// purchases the product in Google Play for the first time.
//
// Use the API to query group licenses. A <code>Grouplicenses</code>
// resource
// includes the total number of licenses purchased (paid apps only) and
// the
// total number of licenses currently in use. In other words, the total
// number
// of <code>Entitlements</code> that exist for the product.
//
// Only one group license object is created per product and group
// license
// objects are never deleted. If a product is unapproved, its group
// license
// remains. This allows enterprise admins to keep track of any
// remaining
// entitlements for the product.
type GroupLicense struct {
// AcquisitionKind: How this group license was acquired.
// <code>&quot;bulkPurchase&quot;</code>
// means that this Grouplicenses resource was created because the
// enterprise
// purchased licenses for this product; otherwise, the value
// is
// <code>&quot;free&quot;</code> (for free products).
//
// Possible values:
// "free"
// "bulkPurchase"
AcquisitionKind string `json:"acquisitionKind,omitempty"`
// Approval: Whether the product to which this group license relates is
// currently
// approved by the enterprise. Products are approved when a group
// license is
// first created, but this approval may be revoked by an enterprise
// admin via
// Google Play. Unapproved products will not be visible to end users
// in
// collections, and new entitlements to them should not normally be
// created.
//
// Possible values:
// "approved"
// "unapproved"
Approval string `json:"approval,omitempty"`
// NumProvisioned: The total number of provisioned licenses for this
// product.
// Returned by read operations, but ignored in write operations.
NumProvisioned int64 `json:"numProvisioned,omitempty"`
// NumPurchased: The number of purchased licenses (possibly in multiple
// purchases).
// If this field is omitted, then there is no limit on the number of
// licenses
// that can be provisioned (for example, if the acquisition kind
// is
// <code>&quot;free&quot;</code>).
NumPurchased int64 `json:"numPurchased,omitempty"`
// Permissions: The permission approval status of the product. This
// field
// is only set if the product is approved. Possible states
// are:<ul>
// <li>"<code>currentApproved</code>", the current set
// of permissions is approved, but additional permissions will require
// the
// administrator to reapprove the product (If the product was
// approved
// without specifying the approved permissions setting, then this is
// the
// default behavior.),</li>
// <li>"<code>needsReapproval</code>", the product has unapproved
// permissions.
// No additional product licenses can be assigned until the product
// is
// reapproved,</li>
// <li>"<code>allCurrentAndFutureApproved</code>",
// th
// e current permissions are approved and any future permission
// updates
// will be automatically approved without administrator
// review.</li></ul>
//
// Possible values:
// "currentApproved"
// "needsReapproval"
// "allCurrentAndFutureApproved"
Permissions string `json:"permissions,omitempty"`
// ProductId: The ID of the product that the license is for. For
// example,
// <code>&quot;app:com.google.android.gm&quot;</code>.
ProductId string `json:"productId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AcquisitionKind") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AcquisitionKind") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *GroupLicense) MarshalJSON() ([]byte, error) {
type NoMethod GroupLicense
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type GroupLicenseUsersListResponse struct {
// User: A user of an enterprise.
User []*User `json:"user,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "User") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "User") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GroupLicenseUsersListResponse) MarshalJSON() ([]byte, error) {
type NoMethod GroupLicenseUsersListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type GroupLicensesListResponse struct {
// GroupLicense: A group license for a product approved for use in the
// enterprise.
GroupLicense []*GroupLicense `json:"groupLicense,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "GroupLicense") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "GroupLicense") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GroupLicensesListResponse) MarshalJSON() ([]byte, error) {
type NoMethod GroupLicensesListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Install: The existence of an Installs resource indicates that an app
// is
// installed on a particular device (or that an install is
// pending).
//
// The API can be used to create an install resource using the
// <a class="method-link"
// method="androidenterprise.installs.update">update</a>
// method. This triggers the actual install of the app on the device. If
// the
// user does not already have an entitlement for the app, then an
// attempt is
// made to create one. If this fails (for example, because the app is
// not free
// and there is no available license), then the creation of the install
// fails.
//
// The API can also be used to update an installed app. If
// the&nbsp;<a class="method-link"
// method="androidenterprise.installs.update"
// style="font-style: normal; font-size: 14px; font-family: Roboto,
// sans-serif;
// line-height: 22.3999996185303px;">update</a>&nbsp;method is
// used on an existing install, then the app will be updated to the
// latest
// available version.
//
// Note that it is not possible to force the installation of a specific
// version
// of an app: the version code is read-only.
//
// If a user installs an app themselves (as permitted by the
// enterprise), then
// again an install resource and possibly an entitlement resource
// are
// automatically created.
//
// The API can also be used to delete an install resource, which
// triggers the
// removal of the app from the device. Note that deleting an install
// does not
// automatically remove the corresponding entitlement, even if there are
// no
// remaining installs. The install resource will also be deleted if the
// user
// uninstalls the app themselves.
type Install struct {
// InstallState: Install state. The state
// <code>&quot;installPending&quot;</code>
// means that an install request has recently been made and download to
// the
// device is in progress. The state
// <code>&quot;installed&quot;</code>
// means that the app has been installed. This field is read-only.
//
// Possible values:
// "installed"
// "installPending"
InstallState string `json:"installState,omitempty"`
// ProductId: The ID of the product that the install is for. For
// example,
// <code>&quot;app:com.google.android.gm&quot;</code>.
ProductId string `json:"productId,omitempty"`
// VersionCode: The version of the installed product. Guaranteed to be
// set only if the
// install state is <code>&quot;installed&quot;</code>.
VersionCode int64 `json:"versionCode,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "InstallState") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "InstallState") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Install) MarshalJSON() ([]byte, error) {
type NoMethod Install
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// InstallFailureEvent: An event generated when an app installation
// failed on a device
type InstallFailureEvent struct {
// DeviceId: The Android ID of the device.
// This field will always be present.
DeviceId string `json:"deviceId,omitempty"`
// FailureDetails: Additional details on the failure if applicable.
FailureDetails string `json:"failureDetails,omitempty"`
// FailureReason: The reason for the installation failure.
// This field will always be present.
//
// Possible values:
// "unknown" - Used whenever no better reason for failure can be
// provided.
// "timeout" - Used when the installation timed out. This can cover a
// number of
// situations, for example when the device did not have connectivity
// at any point during the retry period, or if the device is OOM.
FailureReason string `json:"failureReason,omitempty"`
// ProductId: The id of the product (e.g. "app:com.google.android.gm")
// for which the
// install failure event occured. This field will always be present.
ProductId string `json:"productId,omitempty"`
// UserId: The ID of the user.
// This field will always be present.
UserId string `json:"userId,omitempty"`
// ForceSendFields is a list of field names (e.g. "DeviceId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DeviceId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *InstallFailureEvent) MarshalJSON() ([]byte, error) {
type NoMethod InstallFailureEvent
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type InstallsListResponse struct {
// Install: An installation of an app for a user on a specific
// device.
// The existence of an install implies that the user must have
// an
// entitlement to the app.
Install []*Install `json:"install,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Install") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Install") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *InstallsListResponse) MarshalJSON() ([]byte, error) {
type NoMethod InstallsListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// KeyedAppState: Represents a keyed app state containing a key,
// timestamp, severity level,
// optional description, and optional data.
type KeyedAppState struct {
// Data: Additional field intended for machine-readable data. For
// example, a number
// or JSON object. To prevent XSS, we recommend removing any HTML from
// the
// data before displaying it.
Data string `json:"data,omitempty"`
// Key: Key indicating what the app is providing a state for. The
// content of the
// key is set by the app's developer. To prevent XSS, we recommend
// removing
// any HTML from the key before displaying it.
// This field will always be present.
Key string `json:"key,omitempty"`
// Message: Free-form, human-readable message describing the app state.
// For example,
// an error message. To prevent XSS, we recommend removing any HTML from
// the
// message before displaying it.
Message string `json:"message,omitempty"`
// Severity: Severity of the app state.
// This field will always be present.
//
// Possible values:
// "severityUnknown"
// "severityInfo"
// "severityError"
Severity string `json:"severity,omitempty"`
// StateTimestampMillis: Timestamp of when the app set the state in
// milliseconds since epoch.
// This field will always be present.
StateTimestampMillis int64 `json:"stateTimestampMillis,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "Data") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Data") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *KeyedAppState) MarshalJSON() ([]byte, error) {
type NoMethod KeyedAppState
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// LocalizedText: A localized string with its locale.
type LocalizedText struct {
// Locale: The BCP47 tag for a locale. (e.g. "en-US", "de").
Locale string `json:"locale,omitempty"`
// Text: The text localized in the associated locale.
Text string `json:"text,omitempty"`
// ForceSendFields is a list of field names (e.g. "Locale") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Locale") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *LocalizedText) MarshalJSON() ([]byte, error) {
type NoMethod LocalizedText
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MaintenanceWindow: Maintenance window for managed Google Play
// Accounts.
// This allows Play store to update the apps on the foreground in the
// designated
// window.
type MaintenanceWindow struct {
// DurationMs: Duration of the maintenance window, in milliseconds. The
// duration must be
// between 30 minutes and 24 hours (inclusive).
DurationMs int64 `json:"durationMs,omitempty,string"`
// StartTimeAfterMidnightMs: Start time of the maintenance window, in
// milliseconds after midnight on the
// device. Windows can span midnight.
StartTimeAfterMidnightMs int64 `json:"startTimeAfterMidnightMs,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "DurationMs") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DurationMs") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *MaintenanceWindow) MarshalJSON() ([]byte, error) {
type NoMethod MaintenanceWindow
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ManagedConfiguration: A managed configuration resource contains the
// set of managed properties
// defined by the app developer in the app's managed configurations
// schema,
// as well as any configuration variables defined for the user.
type ManagedConfiguration struct {
// ConfigurationVariables: Contains the ID of the managed configuration
// profile and the set of
// configuration variables (if any) defined for the user.
ConfigurationVariables *ConfigurationVariables `json:"configurationVariables,omitempty"`
// Kind: Deprecated.
Kind string `json:"kind,omitempty"`
// ManagedProperty: The set of managed properties for this
// configuration.
ManagedProperty []*ManagedProperty `json:"managedProperty,omitempty"`
// ProductId: The ID of the product that the managed configuration is
// for, e.g.
// "app:com.google.android.gm".
ProductId string `json:"productId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g.
// "ConfigurationVariables") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ConfigurationVariables")
// to include in API requests with the JSON null value. By default,
// fields with empty values are omitted from API requests. However, any
// field with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ManagedConfiguration) MarshalJSON() ([]byte, error) {
type NoMethod ManagedConfiguration
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ManagedConfigurationsForDeviceListResponse struct {
// ManagedConfigurationForDevice: A managed configuration for an app on
// a specific device.
ManagedConfigurationForDevice []*ManagedConfiguration `json:"managedConfigurationForDevice,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g.
// "ManagedConfigurationForDevice") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g.
// "ManagedConfigurationForDevice") to include in API requests with the
// JSON null value. By default, fields with empty values are omitted
// from API requests. However, any field with an empty value appearing
// in NullFields will be sent to the server as null. It is an error if a
// field in this list has a non-empty value. This may be used to include
// null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ManagedConfigurationsForDeviceListResponse) MarshalJSON() ([]byte, error) {
type NoMethod ManagedConfigurationsForDeviceListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ManagedConfigurationsForUserListResponse struct {
// ManagedConfigurationForUser: A managed configuration for an app for a
// specific user.
ManagedConfigurationForUser []*ManagedConfiguration `json:"managedConfigurationForUser,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g.
// "ManagedConfigurationForUser") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g.
// "ManagedConfigurationForUser") to include in API requests with the
// JSON null value. By default, fields with empty values are omitted
// from API requests. However, any field with an empty value appearing
// in NullFields will be sent to the server as null. It is an error if a
// field in this list has a non-empty value. This may be used to include
// null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ManagedConfigurationsForUserListResponse) MarshalJSON() ([]byte, error) {
type NoMethod ManagedConfigurationsForUserListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ManagedConfigurationsSettings: A managed configurations settings
// resource contains the set of
// managed properties that have been configured for an Android app to be
// applied
// to a set of users. The app's developer would have
// defined configurable properties in the managed configurations schema.
type ManagedConfigurationsSettings struct {
// LastUpdatedTimestampMillis: The last updated time of the managed
// configuration settings in
// milliseconds since 1970-01-01T00:00:00Z.
LastUpdatedTimestampMillis int64 `json:"lastUpdatedTimestampMillis,omitempty,string"`
// McmId: The ID of the managed configurations settings.
McmId string `json:"mcmId,omitempty"`
// Name: The name of the managed configurations settings.
Name string `json:"name,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "LastUpdatedTimestampMillis") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g.
// "LastUpdatedTimestampMillis") to include in API requests with the
// JSON null value. By default, fields with empty values are omitted
// from API requests. However, any field with an empty value appearing
// in NullFields will be sent to the server as null. It is an error if a
// field in this list has a non-empty value. This may be used to include
// null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ManagedConfigurationsSettings) MarshalJSON() ([]byte, error) {
type NoMethod ManagedConfigurationsSettings
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ManagedConfigurationsSettingsListResponse struct {
// ManagedConfigurationsSettings: A managed configurations settings for
// an app that may be assigned to a
// group of users in an enterprise.
ManagedConfigurationsSettings []*ManagedConfigurationsSettings `json:"managedConfigurationsSettings,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g.
// "ManagedConfigurationsSettings") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g.
// "ManagedConfigurationsSettings") to include in API requests with the
// JSON null value. By default, fields with empty values are omitted
// from API requests. However, any field with an empty value appearing
// in NullFields will be sent to the server as null. It is an error if a
// field in this list has a non-empty value. This may be used to include
// null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ManagedConfigurationsSettingsListResponse) MarshalJSON() ([]byte, error) {
type NoMethod ManagedConfigurationsSettingsListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ManagedProperty: A managed property of a managed configuration. The
// property must match one of
// the properties in the app restrictions schema of the product. Exactly
// one of
// the value fields must be populated, and it must match the property's
// type in
// the app restrictions schema.
type ManagedProperty struct {
// Key: The unique key that identifies the property.
Key string `json:"key,omitempty"`
// ValueBool: The boolean value - this will only be present if type of
// the property is
// bool.
ValueBool bool `json:"valueBool,omitempty"`
// ValueBundle: The bundle of managed properties - this will only be
// present if type of the
// property is bundle.
ValueBundle *ManagedPropertyBundle `json:"valueBundle,omitempty"`
// ValueBundleArray: The list of bundles of properties - this will only
// be present if type of
// the property is bundle_array.
ValueBundleArray []*ManagedPropertyBundle `json:"valueBundleArray,omitempty"`
// ValueInteger: The integer value - this will only be present if type
// of the property is
// integer.
ValueInteger int64 `json:"valueInteger,omitempty"`
// ValueString: The string value - this will only be present if type of
// the property is
// string, choice or hidden.
ValueString string `json:"valueString,omitempty"`
// ValueStringArray: The list of string values - this will only be
// present if type of the
// property is multiselect.
ValueStringArray []string `json:"valueStringArray,omitempty"`
// ForceSendFields is a list of field names (e.g. "Key") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Key") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ManagedProperty) MarshalJSON() ([]byte, error) {
type NoMethod ManagedProperty
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ManagedPropertyBundle: A bundle of managed properties.
type ManagedPropertyBundle struct {
// ManagedProperty: The list of managed properties.
ManagedProperty []*ManagedProperty `json:"managedProperty,omitempty"`
// ForceSendFields is a list of field names (e.g. "ManagedProperty") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ManagedProperty") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ManagedPropertyBundle) MarshalJSON() ([]byte, error) {
type NoMethod ManagedPropertyBundle
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NewDeviceEvent: An event generated when a new device is ready to be
// managed.
type NewDeviceEvent struct {
// DeviceId: The Android ID of the device.
// This field will always be present.
DeviceId string `json:"deviceId,omitempty"`
// DpcPackageName: Policy app on the device.
DpcPackageName string `json:"dpcPackageName,omitempty"`
// ManagementType: Identifies the extent to which the device is
// controlled by an Android
// EMM in various deployment configurations. <br><br>
// Possible values include:
// <ul><li>"<code>managedDevice</code>", a device where the DPC is set
// as
// device owner,</li>
// <li>"<code>managedProfile</code>", a device where the DPC is set as
// profile
// owner.</li></ul>
//
// Possible values:
// "managedDevice"
// "managedProfile"
ManagementType string `json:"managementType,omitempty"`
// UserId: The ID of the user.
// This field will always be present.
UserId string `json:"userId,omitempty"`
// ForceSendFields is a list of field names (e.g. "DeviceId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DeviceId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *NewDeviceEvent) MarshalJSON() ([]byte, error) {
type NoMethod NewDeviceEvent
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NewPermissionsEvent: An event generated when new permissions are
// added to an app.
type NewPermissionsEvent struct {
// ApprovedPermissions: The set of permissions that the enterprise admin
// has already approved for
// this application.
// Use Permissions.Get on the EMM API to retrieve details about
// these
// permissions.
ApprovedPermissions []string `json:"approvedPermissions,omitempty"`
// ProductId: The id of the product (e.g. "app:com.google.android.gm")
// for which new
// permissions were added. This field will always be present.
ProductId string `json:"productId,omitempty"`
// RequestedPermissions: The set of permissions that the app is
// currently requesting.
// Use Permissions.Get on the EMM API to retrieve details about
// these
// permissions.
RequestedPermissions []string `json:"requestedPermissions,omitempty"`
// ForceSendFields is a list of field names (e.g. "ApprovedPermissions")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApprovedPermissions") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *NewPermissionsEvent) MarshalJSON() ([]byte, error) {
type NoMethod NewPermissionsEvent
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Notification: A notification of one event relating to an enterprise.
type Notification struct {
// AppRestrictionsSchemaChangeEvent: Notifications about new app
// restrictions schema changes.
AppRestrictionsSchemaChangeEvent *AppRestrictionsSchemaChangeEvent `json:"appRestrictionsSchemaChangeEvent,omitempty"`
// AppUpdateEvent: Notifications about app updates.
AppUpdateEvent *AppUpdateEvent `json:"appUpdateEvent,omitempty"`
// DeviceReportUpdateEvent: Notifications about device report updates.
DeviceReportUpdateEvent *DeviceReportUpdateEvent `json:"deviceReportUpdateEvent,omitempty"`
// EnterpriseId: The ID of the enterprise for which the notification is
// sent.
// This will always be present.
EnterpriseId string `json:"enterpriseId,omitempty"`
// InstallFailureEvent: Notifications about an app installation failure.
InstallFailureEvent *InstallFailureEvent `json:"installFailureEvent,omitempty"`
// NewDeviceEvent: Notifications about new devices.
NewDeviceEvent *NewDeviceEvent `json:"newDeviceEvent,omitempty"`
// NewPermissionsEvent: Notifications about new app permissions.
NewPermissionsEvent *NewPermissionsEvent `json:"newPermissionsEvent,omitempty"`
// NotificationType: Type of the notification.
//
// Possible values:
// "unknown"
// "testNotification" - A test push notification.
// "productApproval" - Notification about change to a product's
// approval status.
// "installFailure" - Notification about an app installation failure.
// "appUpdate" - Notification about app update.
// "newPermissions" - Notification about new app permissions.
// "appRestricionsSchemaChange" - Notification about new app
// restrictions schema change.
// "productAvailabilityChange" - Notification about product
// availability change.
// "newDevice" - Notification about a new device.
// "deviceReportUpdate" - Notification about an updated device report.
NotificationType string `json:"notificationType,omitempty"`
// ProductApprovalEvent: Notifications about changes to a product's
// approval status.
ProductApprovalEvent *ProductApprovalEvent `json:"productApprovalEvent,omitempty"`
// ProductAvailabilityChangeEvent: Notifications about product
// availability changes.
ProductAvailabilityChangeEvent *ProductAvailabilityChangeEvent `json:"productAvailabilityChangeEvent,omitempty"`
// TimestampMillis: The time when the notification was published
// in
// milliseconds since 1970-01-01T00:00:00Z.
// This will always be present.
TimestampMillis int64 `json:"timestampMillis,omitempty,string"`
// ForceSendFields is a list of field names (e.g.
// "AppRestrictionsSchemaChangeEvent") to unconditionally include in API
// requests. By default, fields with empty values are omitted from API
// requests. However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g.
// "AppRestrictionsSchemaChangeEvent") to include in API requests with
// the JSON null value. By default, fields with empty values are omitted
// from API requests. However, any field with an empty value appearing
// in NullFields will be sent to the server as null. It is an error if a
// field in this list has a non-empty value. This may be used to include
// null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Notification) MarshalJSON() ([]byte, error) {
type NoMethod Notification
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// NotificationSet: A resource returned by the PullNotificationSet API,
// which contains
// a collection of notifications for enterprises associated with the
// service
// account authenticated for the request.
type NotificationSet struct {
// Notification: The notifications received, or empty if no
// notifications are present.
Notification []*Notification `json:"notification,omitempty"`
// NotificationSetId: The notification set ID, required to mark the
// notification as
// received with the Enterprises.AcknowledgeNotification API.
// This will be omitted if no notifications are present.
NotificationSetId string `json:"notificationSetId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Notification") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Notification") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *NotificationSet) MarshalJSON() ([]byte, error) {
type NoMethod NotificationSet
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PageInfo: Information about the current page.
//
// List operations that supports paging return only one "page" of
// results. This
// protocol buffer message describes the page that has been returned.
type PageInfo struct {
// ResultPerPage: Maximum number of results returned in one page.
// ! The number of results included in the API response.
ResultPerPage int64 `json:"resultPerPage,omitempty"`
// StartIndex: Index of the first result returned in the current page.
StartIndex int64 `json:"startIndex,omitempty"`
// TotalResults: Total number of results available on the backend
// ! The total number of results in the result set.
TotalResults int64 `json:"totalResults,omitempty"`
// ForceSendFields is a list of field names (e.g. "ResultPerPage") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ResultPerPage") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *PageInfo) MarshalJSON() ([]byte, error) {
type NoMethod PageInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Permission: A Permissions resource represents some extra capability,
// to be granted to an
// Android app, which requires explicit consent. An enterprise admin
// must
// consent to these permissions on behalf of their users before
// an
// entitlement for the app can be created.
//
// The permissions collection is read-only. The information provided
// for
// each permission (localized name and description) is intended to
// be
// used in the MDM user interface when obtaining consent from
// the
// enterprise.
type Permission struct {
// Description: A longer description of the Permissions resource, giving
// more details of
// what it affects.
Description string `json:"description,omitempty"`
// Name: The name of the permission.
Name string `json:"name,omitempty"`
// PermissionId: An opaque string uniquely identifying the permission.
PermissionId string `json:"permissionId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Description") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Description") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Permission) MarshalJSON() ([]byte, error) {
type NoMethod Permission
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Policy: The device policy for a given managed device.
type Policy struct {
// AutoUpdatePolicy: The auto-update policy for apps installed on the
// device. "choiceToTheUser"
// allows the device's user to configure the app update policy.
// "always"
// enables auto updates. "never" disables auto updates. "wifiOnly"
// enables
// auto updates only when the device is connected to wifi.
//
// Possible values:
// "autoUpdatePolicyUnspecified" - The auto update policy is not set.
// "choiceToTheUser" - The user can control auto-updates.
// "never" - Apps are never auto-updated.
// "wifiOnly" - Apps are auto-updated over WiFi only.
// "always" - Apps are auto-updated at any time. Data charges may
// apply.
AutoUpdatePolicy string `json:"autoUpdatePolicy,omitempty"`
// DeviceReportPolicy: Whether the device reports app states to the EMM.
// The default value is
// "deviceReportDisabled".
//
// Possible values:
// "deviceReportPolicyUnspecified" - The device report policy is not
// set.
// "deviceReportDisabled" - Device reports are disabled.
// "deviceReportEnabled" - Device reports are enabled.
DeviceReportPolicy string `json:"deviceReportPolicy,omitempty"`
// MaintenanceWindow: The maintenance window defining when apps running
// in the foreground should
// be updated.
MaintenanceWindow *MaintenanceWindow `json:"maintenanceWindow,omitempty"`
// ProductAvailabilityPolicy: The availability granted to the device for
// the specified products. "all"
// gives the device access to all products, regardless of approval
// status.
// "all" does not enable automatic visibility of "alpha" or "beta"
// tracks.
// "whitelist" grants the device access the products specified
// in
// productPolicy[]. Only products that are approved or products that
// were
// previously approved (products with revoked approval) by the
// enterprise can
// be whitelisted. If no value is provided, the availability set at the
// user
// level is applied by default.
//
// Possible values:
// "productAvailabilityPolicyUnspecified" - Unspecified, applies the
// user available product set by default.
// "whitelist" - The approved products with product availability set
// to AVAILABLE
// in the product policy are available.
// "all" - All products are available except those explicitly marked
// as
// unavailable in the product availability policy.
ProductAvailabilityPolicy string `json:"productAvailabilityPolicy,omitempty"`
// ProductPolicy: The list of product policies. The
// <code>productAvailabilityPolicy</code>
// needs to be set to <code>WHITELIST</code> or <code>ALL</code> for
// the
// product policies to be applied.
ProductPolicy []*ProductPolicy `json:"productPolicy,omitempty"`
// ForceSendFields is a list of field names (e.g. "AutoUpdatePolicy") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AutoUpdatePolicy") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Policy) MarshalJSON() ([]byte, error) {
type NoMethod Policy
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Product: A Products resource represents an app in the Google Play
// store that is
// available to at least some users in the enterprise. (Some apps are
// restricted
// to a single enterprise, and no information about them is made
// available
// outside that enterprise.)
//
// The information provided for each product (localized name, icon,
// link
// to the full Google Play details page) is intended to allow a
// basic
// representation of the product within an EMM user interface.
type Product struct {
// AppTracks: The tracks visible to the enterprise.
AppTracks []*TrackInfo `json:"appTracks,omitempty"`
// AppVersion: App versions currently available for this product.
AppVersion []*AppVersion `json:"appVersion,omitempty"`
// AuthorName: The name of the author of the product (for example, the
// app developer).
AuthorName string `json:"authorName,omitempty"`
// AvailableCountries: The countries which this app is available in.
AvailableCountries []string `json:"availableCountries,omitempty"`
// AvailableTracks: Deprecated, use <code>appTracks</code> instead.
//
// Possible values:
// "appTrackUnspecified"
// "production"
// "beta"
// "alpha"
AvailableTracks []string `json:"availableTracks,omitempty"`
// Category: The app category (e.g. RACING, SOCIAL, etc.)
Category string `json:"category,omitempty"`
// ContentRating: The content rating for this app.
//
// Possible values:
// "ratingUnknown"
// "all"
// "preTeen"
// "teen"
// "mature"
ContentRating string `json:"contentRating,omitempty"`
// Description: The localized promotional description, if available.
Description string `json:"description,omitempty"`
// DetailsUrl: A link to the (consumer) Google Play details page for the
// product.
DetailsUrl string `json:"detailsUrl,omitempty"`
// DistributionChannel: How and to whom the package is made
// available.
// The value <code>publicGoogleHosted</code> means that the package
// is
// available through the Play store and not restricted to a
// specific
// enterprise. The value <code>privateGoogleHosted</code> means that
// the
// package is a private app (restricted to an enterprise) but hosted
// by
// Google. The value <code>privateSelfHosted</code> means that the
// package is
// a private app (restricted to an enterprise) and is privately hosted.
//
// Possible values:
// "publicGoogleHosted"
// "privateGoogleHosted"
// "privateSelfHosted"
DistributionChannel string `json:"distributionChannel,omitempty"`
// Features: Noteworthy features (if any) of this product.
//
// Possible values:
// "featureUnknown"
// "vpnApp" - The app is a VPN.
Features []string `json:"features,omitempty"`
// IconUrl: A link to an image that can be used as an icon for the
// product.
// This image is suitable for use at up to 512px x 512px.
IconUrl string `json:"iconUrl,omitempty"`
// LastUpdatedTimestampMillis: The approximate time (within 7 days) the
// app was last published, expressed
// in milliseconds since epoch.
LastUpdatedTimestampMillis int64 `json:"lastUpdatedTimestampMillis,omitempty,string"`
// MinAndroidSdkVersion: The minimum Android SDK necessary to run the
// app.
MinAndroidSdkVersion int64 `json:"minAndroidSdkVersion,omitempty"`
// Permissions: A list of permissions required by the app.
Permissions []*ProductPermission `json:"permissions,omitempty"`
// ProductId: A string of the form <code><em>app:&lt;package
// name&gt;</em></code>. For
// example, <code>app:com.google.android.gm</code> represents the Gmail
// app.
ProductId string `json:"productId,omitempty"`
// ProductPricing: Whether this product is free, free with in-app
// purchases, or paid.
// If the pricing is unknown, this means the product is not
// generally
// available anymore (even though it might still be available to
// people who own it).
//
// Possible values:
// "unknown" - Unknown pricing, used to denote an approved product
// that is not
// generally available.
// "free" - The product is free.
// "freeWithInAppPurchase" - The product is free, but offers in-app
// purchases.
// "paid" - The product is paid.
ProductPricing string `json:"productPricing,omitempty"`
// RecentChanges: A description of the recent changes made to the app.
RecentChanges string `json:"recentChanges,omitempty"`
// RequiresContainerApp: Deprecated.
RequiresContainerApp bool `json:"requiresContainerApp,omitempty"`
// ScreenshotUrls: A list of screenshot links representing the app.
ScreenshotUrls []string `json:"screenshotUrls,omitempty"`
// SigningCertificate: The certificate used to sign this product.
SigningCertificate *ProductSigningCertificate `json:"signingCertificate,omitempty"`
// SmallIconUrl: A link to a smaller image that can be used as an icon
// for the product.
// This image is suitable for use at up to 128px x 128px.
SmallIconUrl string `json:"smallIconUrl,omitempty"`
// Title: The name of the product.
Title string `json:"title,omitempty"`
// WorkDetailsUrl: A link to the managed Google Play details page for
// the product,
// for use by an Enterprise admin.
WorkDetailsUrl string `json:"workDetailsUrl,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AppTracks") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AppTracks") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Product) MarshalJSON() ([]byte, error) {
type NoMethod Product
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ProductApprovalEvent: An event generated when a product's approval
// status is changed.
type ProductApprovalEvent struct {
// Approved: Whether the product was approved or unapproved.
// This field will always be present.
//
// Possible values:
// "unknown" - Conveys no information.
// "approved" - The product was approved.
// "unapproved" - The product was unapproved.
Approved string `json:"approved,omitempty"`
// ProductId: The id of the product (e.g. "app:com.google.android.gm")
// for which the
// approval status has changed. This field will always be present.
ProductId string `json:"productId,omitempty"`
// ForceSendFields is a list of field names (e.g. "Approved") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Approved") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ProductApprovalEvent) MarshalJSON() ([]byte, error) {
type NoMethod ProductApprovalEvent
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ProductAvailabilityChangeEvent: An event generated whenever a
// product's availability changes.
type ProductAvailabilityChangeEvent struct {
// AvailabilityStatus: The new state of the product.
// This field will always be present.
//
// Possible values:
// "unknown" - Conveys no information.
// "available" - The previously unavailable product is again available
// on Google Play.
// "removed" - The product was removed from Google Play.
// "unpublished" - The product was unpublished by the developer.
AvailabilityStatus string `json:"availabilityStatus,omitempty"`
// ProductId: The id of the product (e.g. "app:com.google.android.gm")
// for which the
// product availability changed. This field will always be present.
ProductId string `json:"productId,omitempty"`
// ForceSendFields is a list of field names (e.g. "AvailabilityStatus")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AvailabilityStatus") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ProductAvailabilityChangeEvent) MarshalJSON() ([]byte, error) {
type NoMethod ProductAvailabilityChangeEvent
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ProductPermission: A product permissions resource represents the set
// of permissions
// required by a specific app and whether or not they have been
// accepted
// by an enterprise admin.
//
// The API can be used to read the set of permissions, and also to
// update
// the set to indicate that permissions have been accepted.
type ProductPermission struct {
// PermissionId: An opaque string uniquely identifying the permission.
PermissionId string `json:"permissionId,omitempty"`
// State: Whether the permission has been accepted or not.
//
// Possible values:
// "required" - The permission is required by the app but has not yet
// been accepted by
// the enterprise.
// "accepted" - The permission has been accepted by the enterprise.
State string `json:"state,omitempty"`
// ForceSendFields is a list of field names (e.g. "PermissionId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "PermissionId") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ProductPermission) MarshalJSON() ([]byte, error) {
type NoMethod ProductPermission
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ProductPermissions: Information about the permissions required by a
// specific app and
// whether they have been accepted by the enterprise.
type ProductPermissions struct {
// Permission: The permissions required by the app.
Permission []*ProductPermission `json:"permission,omitempty"`
// ProductId: The ID of the app that the permissions relate to,
// e.g.
// "app:com.google.android.gm".
ProductId string `json:"productId,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Permission") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Permission") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ProductPermissions) MarshalJSON() ([]byte, error) {
type NoMethod ProductPermissions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ProductPolicy: The policy for a product.
type ProductPolicy struct {
// AutoInstallPolicy: The auto-install policy for the product.
AutoInstallPolicy *AutoInstallPolicy `json:"autoInstallPolicy,omitempty"`
// ManagedConfiguration: The managed configuration for the product.
ManagedConfiguration *ManagedConfiguration `json:"managedConfiguration,omitempty"`
// ProductId: The ID of the product. For
// example,
// <code>&quot;app:com.google.android.gm&quot;</code>.
ProductId string `json:"productId,omitempty"`
// TrackIds: Grants the device visibility to the specified product
// release track(s),
// identified by <code>trackIds</code>. The list of release tracks of
// a
// product can be obtained by calling Products.Get.
TrackIds []string `json:"trackIds,omitempty"`
// Tracks: Deprecated. Use <code>trackIds</code> instead.
//
// Possible values:
// "appTrackUnspecified"
// "production"
// "beta"
// "alpha"
Tracks []string `json:"tracks,omitempty"`
// ForceSendFields is a list of field names (e.g. "AutoInstallPolicy")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AutoInstallPolicy") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ProductPolicy) MarshalJSON() ([]byte, error) {
type NoMethod ProductPolicy
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ProductSet: A set of products.
type ProductSet struct {
// ProductId: The list of product IDs making up the set of products.
ProductId []string `json:"productId,omitempty"`
// ProductSetBehavior: The interpretation of this product set. "unknown"
// should never be sent and
// is ignored if received. "whitelist" means that the user is entitled
// to
// access the product set. "includeAll" means that all products
// are
// accessible, including products that are approved, products with
// revoked
// approval, and products that have never been approved. "allApproved"
// means
// that the user is entitled to access all products that are approved
// for the
// enterprise. If the value is "allApproved" or "includeAll", the
// productId
// field is ignored. If no value is provided, it is interpreted
// as
// "whitelist" for backwards compatibility.
// Further "allApproved" or "includeAll" does not enable
// automatic
// visibility of "alpha" or "beta" tracks for Android app.
// Use
// ProductVisibility to enable "alpha" or "beta" tracks per user.
//
// Possible values:
// "unknown" - This value should never be sent and ignored if
// received.
// "whitelist" - This product set constitutes a whitelist.
// "includeAll" - This product set represents all products.
// For Android app it represents only "production" track.
// (The value of the productId field is therefore ignored).
// "allApproved" - This product set represents all approved
// products.
// For Android app it represents only "production" track.
// (The value of the product_id field is therefore ignored).
ProductSetBehavior string `json:"productSetBehavior,omitempty"`
// ProductVisibility: Additional list of product IDs making up the
// product set.
// Unlike the productID array, in this list It's possible to
// specify
// which tracks (alpha, beta, production) of a product are visible to
// the
// user. See ProductVisibility and its fields for more information.
// Specifying
// the same product ID both here and in the productId array is not
// allowed and
// it will result in an error.
ProductVisibility []*ProductVisibility `json:"productVisibility,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ProductId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ProductId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ProductSet) MarshalJSON() ([]byte, error) {
type NoMethod ProductSet
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ProductSigningCertificate struct {
// CertificateHashSha1: The base64 urlsafe encoded SHA1 hash of the
// certificate. (This field is
// deprecated in favor of SHA2-256. It should not be used and may
// be
// removed at any time.)
CertificateHashSha1 string `json:"certificateHashSha1,omitempty"`
// CertificateHashSha256: The base64 urlsafe encoded SHA2-256 hash of
// the certificate.
CertificateHashSha256 string `json:"certificateHashSha256,omitempty"`
// ForceSendFields is a list of field names (e.g. "CertificateHashSha1")
// to unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CertificateHashSha1") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ProductSigningCertificate) MarshalJSON() ([]byte, error) {
type NoMethod ProductSigningCertificate
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ProductVisibility: A product to be made visible to a user.
type ProductVisibility struct {
// ProductId: The product ID to make visible to the user.
// Required for each item in the productVisibility list.
ProductId string `json:"productId,omitempty"`
// TrackIds: Grants the user visibility to the specified product
// track(s), identified by
// <code>trackIds</code>.
TrackIds []string `json:"trackIds,omitempty"`
// Tracks: Deprecated. Use <code>trackIds</code> instead.
//
// Possible values:
// "appTrackUnspecified"
// "production"
// "beta"
// "alpha"
Tracks []string `json:"tracks,omitempty"`
// ForceSendFields is a list of field names (e.g. "ProductId") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ProductId") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ProductVisibility) MarshalJSON() ([]byte, error) {
type NoMethod ProductVisibility
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ProductsApproveRequest struct {
// ApprovalUrlInfo: The approval URL that was shown to the user. Only
// the permissions shown
// to the user with that URL will be accepted, which may not be
// the product's entire set of permissions. For example, the URL may
// only
// display new permissions from an update after the product was
// approved,
// or not include new permissions if the product was updated since the
// URL
// was generated.
ApprovalUrlInfo *ApprovalUrlInfo `json:"approvalUrlInfo,omitempty"`
// ApprovedPermissions: Sets how new permission requests for the product
// are handled.
// "allPermissions" automatically approves all current and
// future
// permissions for the product. "currentPermissionsOnly" approves
// the
// current set of permissions for the product, but any future
// permissions
// added through updates will require manual reapproval. If not
// specified,
// only the current set of permissions will be approved.
//
// Possible values:
// "currentPermissionsOnly" - Approve only the permissions the product
// requires at approval time.
// If an update requires additional permissions, the app will not be
// updated
// on devices associated with enterprise users until the
// additional
// permissions are approved.
// "allPermissions" - All current and future permissions the app
// requires are automatically
// approved.
ApprovedPermissions string `json:"approvedPermissions,omitempty"`
// ForceSendFields is a list of field names (e.g. "ApprovalUrlInfo") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApprovalUrlInfo") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ProductsApproveRequest) MarshalJSON() ([]byte, error) {
type NoMethod ProductsApproveRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ProductsGenerateApprovalUrlResponse struct {
// Url: A URL that can be rendered in an iframe to display the
// permissions (if
// any) of a product.
// This URL can be used to approve the product only once and only within
// 24
// hours of being generated, using the <code>Products.approve</code>
// call.
// If the product is currently unapproved and has no permissions,
// this
// URL will point to an empty page.
// If the product is currently approved, a URL will only be generated
// if
// that product has added permissions since it was last approved, and
// the
// URL will only display those new permissions that have not yet
// been
// accepted.
Url string `json:"url,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Url") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Url") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ProductsGenerateApprovalUrlResponse) MarshalJSON() ([]byte, error) {
type NoMethod ProductsGenerateApprovalUrlResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ProductsListResponse struct {
// PageInfo: General pagination information.
PageInfo *PageInfo `json:"pageInfo,omitempty"`
// Product: Information about a product (e.g. an app) in the Google Play
// store, for
// display to an enterprise admin.
Product []*Product `json:"product,omitempty"`
// TokenPagination: Pagination information for token pagination.
TokenPagination *TokenPagination `json:"tokenPagination,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "PageInfo") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "PageInfo") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ProductsListResponse) MarshalJSON() ([]byte, error) {