blob: bd4e54c2f6df7270812e819ac6f81a4c965cc212 [file] [log] [blame]
// Copyright 2019 Google Inc. All rights reserved.
// 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 deploymentmanager provides access to the Google Cloud Deployment Manager Alpha API.
//
// See https://cloud.google.com/deployment-manager/
//
// Usage example:
//
// import "google.golang.org/api/deploymentmanager/v0.alpha"
// ...
// deploymentmanagerService, err := deploymentmanager.New(oauthHttpClient)
package deploymentmanager // import "google.golang.org/api/deploymentmanager/v0.alpha"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
gensupport "google.golang.org/api/gensupport"
googleapi "google.golang.org/api/googleapi"
)
// 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
const apiId = "deploymentmanager:alpha"
const apiName = "deploymentmanager"
const apiVersion = "alpha"
const basePath = "https://www.googleapis.com/deploymentmanager/alpha/projects/"
// OAuth2 scopes used by this API.
const (
// View and manage your data across Google Cloud Platform services
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
// View your data across Google Cloud Platform services
CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only"
// View and manage your Google Cloud Platform management resources and
// deployment status information
NdevCloudmanScope = "https://www.googleapis.com/auth/ndev.cloudman"
// View your Google Cloud Platform management resources and deployment
// status information
NdevCloudmanReadonlyScope = "https://www.googleapis.com/auth/ndev.cloudman.readonly"
)
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.CompositeTypes = NewCompositeTypesService(s)
s.Deployments = NewDeploymentsService(s)
s.Manifests = NewManifestsService(s)
s.Operations = NewOperationsService(s)
s.Resources = NewResourcesService(s)
s.TypeProviders = NewTypeProvidersService(s)
s.Types = NewTypesService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
CompositeTypes *CompositeTypesService
Deployments *DeploymentsService
Manifests *ManifestsService
Operations *OperationsService
Resources *ResourcesService
TypeProviders *TypeProvidersService
Types *TypesService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewCompositeTypesService(s *Service) *CompositeTypesService {
rs := &CompositeTypesService{s: s}
return rs
}
type CompositeTypesService struct {
s *Service
}
func NewDeploymentsService(s *Service) *DeploymentsService {
rs := &DeploymentsService{s: s}
return rs
}
type DeploymentsService struct {
s *Service
}
func NewManifestsService(s *Service) *ManifestsService {
rs := &ManifestsService{s: s}
return rs
}
type ManifestsService struct {
s *Service
}
func NewOperationsService(s *Service) *OperationsService {
rs := &OperationsService{s: s}
return rs
}
type OperationsService struct {
s *Service
}
func NewResourcesService(s *Service) *ResourcesService {
rs := &ResourcesService{s: s}
return rs
}
type ResourcesService struct {
s *Service
}
func NewTypeProvidersService(s *Service) *TypeProvidersService {
rs := &TypeProvidersService{s: s}
return rs
}
type TypeProvidersService struct {
s *Service
}
func NewTypesService(s *Service) *TypesService {
rs := &TypesService{s: s}
return rs
}
type TypesService struct {
s *Service
}
// AsyncOptions: Async options that determine when a resource should
// finish.
type AsyncOptions struct {
// MethodMatch: Method regex where this policy will apply.
MethodMatch string `json:"methodMatch,omitempty"`
// PollingOptions: Deployment manager will poll instances for this API
// resource setting a RUNNING state, and blocking until polling
// conditions tell whether the resource is completed or failed.
PollingOptions *PollingOptions `json:"pollingOptions,omitempty"`
// ForceSendFields is a list of field names (e.g. "MethodMatch") 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. "MethodMatch") 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 *AsyncOptions) MarshalJSON() ([]byte, error) {
type NoMethod AsyncOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AuditConfig: Specifies the audit configuration for a service. The
// configuration determines which permission types are logged, and what
// identities, if any, are exempted from logging. An AuditConfig must
// have one or more AuditLogConfigs.
//
// If there are AuditConfigs for both `allServices` and a specific
// service, the union of the two AuditConfigs is used for that service:
// the log_types specified in each AuditConfig are enabled, and the
// exempted_members in each AuditLogConfig are exempted.
//
// Example Policy with multiple AuditConfigs:
//
// { "audit_configs": [ { "service": "allServices" "audit_log_configs":
// [ { "log_type": "DATA_READ", "exempted_members": [
// "user:foo@gmail.com" ] }, { "log_type": "DATA_WRITE", }, {
// "log_type": "ADMIN_READ", } ] }, { "service":
// "fooservice.googleapis.com" "audit_log_configs": [ { "log_type":
// "DATA_READ", }, { "log_type": "DATA_WRITE", "exempted_members": [
// "user:bar@gmail.com" ] } ] } ] }
//
// For fooservice, this policy enables DATA_READ, DATA_WRITE and
// ADMIN_READ logging. It also exempts foo@gmail.com from DATA_READ
// logging, and bar@gmail.com from DATA_WRITE logging.
type AuditConfig struct {
// AuditLogConfigs: The configuration for logging of each type of
// permission.
AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
ExemptedMembers []string `json:"exemptedMembers,omitempty"`
// Service: Specifies a service that will be enabled for audit logging.
// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
// `allServices` is a special value that covers all services.
Service string `json:"service,omitempty"`
// ForceSendFields is a list of field names (e.g. "AuditLogConfigs") 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. "AuditLogConfigs") 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 *AuditConfig) MarshalJSON() ([]byte, error) {
type NoMethod AuditConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AuditLogConfig: Provides the configuration for logging a type of
// permissions. Example:
//
// { "audit_log_configs": [ { "log_type": "DATA_READ",
// "exempted_members": [ "user:foo@gmail.com" ] }, { "log_type":
// "DATA_WRITE", } ] }
//
// This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
// foo@gmail.com from DATA_READ logging.
type AuditLogConfig struct {
// ExemptedMembers: Specifies the identities that do not cause logging
// for this type of permission. Follows the same format of
// [Binding.members][].
ExemptedMembers []string `json:"exemptedMembers,omitempty"`
// LogType: The log type that this config enables.
LogType string `json:"logType,omitempty"`
// ForceSendFields is a list of field names (e.g. "ExemptedMembers") 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. "ExemptedMembers") 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 *AuditLogConfig) MarshalJSON() ([]byte, error) {
type NoMethod AuditLogConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// AuthorizationLoggingOptions: Authorization-related information used
// by Cloud Audit Logging.
type AuthorizationLoggingOptions struct {
// PermissionType: The type of the permission that was checked.
PermissionType string `json:"permissionType,omitempty"`
// ForceSendFields is a list of field names (e.g. "PermissionType") 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. "PermissionType") 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 *AuthorizationLoggingOptions) MarshalJSON() ([]byte, error) {
type NoMethod AuthorizationLoggingOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BasicAuth: Basic Auth used as a credential.
type BasicAuth struct {
Password string `json:"password,omitempty"`
User string `json:"user,omitempty"`
// ForceSendFields is a list of field names (e.g. "Password") 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. "Password") 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 *BasicAuth) MarshalJSON() ([]byte, error) {
type NoMethod BasicAuth
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Binding: Associates `members` with a `role`.
type Binding struct {
// Condition: Unimplemented. The condition that is associated with this
// binding. NOTE: an unsatisfied condition will not allow user access
// via current binding. Different bindings, including their conditions,
// are examined independently.
Condition *Expr `json:"condition,omitempty"`
// Members: Specifies the identities requesting access for a Cloud
// Platform resource. `members` can have the following values:
//
// * `allUsers`: A special identifier that represents anyone who is on
// the internet; with or without a Google account.
//
// * `allAuthenticatedUsers`: A special identifier that represents
// anyone who is authenticated with a Google account or a service
// account.
//
// * `user:{emailid}`: An email address that represents a specific
// Google account. For example, `alice@gmail.com` .
//
//
//
// * `serviceAccount:{emailid}`: An email address that represents a
// service account. For example,
// `my-other-app@appspot.gserviceaccount.com`.
//
// * `group:{emailid}`: An email address that represents a Google group.
// For example, `admins@example.com`.
//
//
//
// * `domain:{domain}`: A Google Apps domain name that represents all
// the users of that domain. For example, `google.com` or `example.com`.
Members []string `json:"members,omitempty"`
// Role: Role that is assigned to `members`. For example,
// `roles/viewer`, `roles/editor`, or `roles/owner`.
Role string `json:"role,omitempty"`
// ForceSendFields is a list of field names (e.g. "Condition") 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. "Condition") 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 *Binding) MarshalJSON() ([]byte, error) {
type NoMethod Binding
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CollectionOverride: CollectionOverride allows resource handling
// overrides for specific resources within a BaseType
type CollectionOverride struct {
// Collection: The collection that identifies this resource within its
// service.
Collection string `json:"collection,omitempty"`
// MethodMap: Custom verb method mappings to support unordered list API
// mappings.
MethodMap *MethodMap `json:"methodMap,omitempty"`
// Options: The options to apply to this resource-level override
Options *Options `json:"options,omitempty"`
// ForceSendFields is a list of field names (e.g. "Collection") 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. "Collection") 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 *CollectionOverride) MarshalJSON() ([]byte, error) {
type NoMethod CollectionOverride
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CompositeType: Holds the composite type.
type CompositeType struct {
// Description: An optional textual description of the resource;
// provided by the client when the resource is created.
Description string `json:"description,omitempty"`
Id uint64 `json:"id,omitempty,string"`
// InsertTime: Output only. Creation timestamp in RFC3339 text format.
InsertTime string `json:"insertTime,omitempty"`
// Labels: Map of labels; provided by the client when the resource is
// created or updated. Specifically: Label keys must be between 1 and 63
// characters long and must conform to the following regular expression:
// [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63
// characters long and must conform to the regular expression
// ([a-z]([-a-z0-9]*[a-z0-9])?)?
Labels []*CompositeTypeLabelEntry `json:"labels,omitempty"`
// Name: Name of the composite type, must follow the expression:
// [a-z]([-a-z0-9_.]{0,61}[a-z0-9])?.
Name string `json:"name,omitempty"`
// Operation: Output only. The Operation that most recently ran, or is
// currently running, on this composite type.
Operation *Operation `json:"operation,omitempty"`
// SelfLink: Output only. Server defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
Status string `json:"status,omitempty"`
// TemplateContents: Files for the template type.
TemplateContents *TemplateContents `json:"templateContents,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 *CompositeType) MarshalJSON() ([]byte, error) {
type NoMethod CompositeType
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type CompositeTypeLabelEntry struct {
Key string `json:"key,omitempty"`
Value string `json:"value,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 *CompositeTypeLabelEntry) MarshalJSON() ([]byte, error) {
type NoMethod CompositeTypeLabelEntry
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CompositeTypesListResponse: A response that returns all Composite
// Types supported by Deployment Manager
type CompositeTypesListResponse struct {
// CompositeTypes: Output only. A list of resource composite types
// supported by Deployment Manager.
CompositeTypes []*CompositeType `json:"compositeTypes,omitempty"`
// NextPageToken: A token used to continue a truncated list request.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CompositeTypes") 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. "CompositeTypes") 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 *CompositeTypesListResponse) MarshalJSON() ([]byte, error) {
type NoMethod CompositeTypesListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Condition: A condition to be met.
type Condition struct {
// Iam: Trusted attributes supplied by the IAM system.
Iam string `json:"iam,omitempty"`
// Op: An operator to apply the subject with.
Op string `json:"op,omitempty"`
// Svc: Trusted attributes discharged by the service.
Svc string `json:"svc,omitempty"`
// Sys: Trusted attributes supplied by any service that owns resources
// and uses the IAM system for access control.
Sys string `json:"sys,omitempty"`
// Value: DEPRECATED. Use 'values' instead.
Value string `json:"value,omitempty"`
// Values: The objects of the condition. This is mutually exclusive with
// 'value'.
Values []string `json:"values,omitempty"`
// ForceSendFields is a list of field names (e.g. "Iam") 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. "Iam") 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 *Condition) MarshalJSON() ([]byte, error) {
type NoMethod Condition
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ConfigFile struct {
// Content: The contents of the file.
Content string `json:"content,omitempty"`
// ForceSendFields is a list of field names (e.g. "Content") 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. "Content") 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 *ConfigFile) MarshalJSON() ([]byte, error) {
type NoMethod ConfigFile
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ConfigurableService: BaseType that describes a service-backed Type.
type ConfigurableService struct {
// CollectionOverrides: Allows resource handling overrides for specific
// collections
CollectionOverrides []*CollectionOverride `json:"collectionOverrides,omitempty"`
// Credential: Credential used when interacting with this type.
Credential *Credential `json:"credential,omitempty"`
// DescriptorUrl: Descriptor Url for the this type.
DescriptorUrl string `json:"descriptorUrl,omitempty"`
// Options: Options to apply when handling any resources in this
// service.
Options *Options `json:"options,omitempty"`
// ForceSendFields is a list of field names (e.g. "CollectionOverrides")
// 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. "CollectionOverrides") 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 *ConfigurableService) MarshalJSON() ([]byte, error) {
type NoMethod ConfigurableService
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Credential: The credential used by Deployment Manager and
// TypeProvider. Only one of the options is permitted.
type Credential struct {
// BasicAuth: Basic Auth Credential, only used by TypeProvider.
BasicAuth *BasicAuth `json:"basicAuth,omitempty"`
// ServiceAccount: Service Account Credential, only used by Deployment.
ServiceAccount *ServiceAccount `json:"serviceAccount,omitempty"`
// UseProjectDefault: Specify to use the project default credential,
// only supported by Deployment.
UseProjectDefault bool `json:"useProjectDefault,omitempty"`
// ForceSendFields is a list of field names (e.g. "BasicAuth") 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. "BasicAuth") 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 *Credential) MarshalJSON() ([]byte, error) {
type NoMethod Credential
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type Deployment struct {
// Credential: User provided default credential for the deployment.
Credential *Credential `json:"credential,omitempty"`
// Description: An optional user-provided description of the deployment.
Description string `json:"description,omitempty"`
// Fingerprint: Provides a fingerprint to use in requests to modify a
// deployment, such as update(), stop(), and cancelPreview() requests. A
// fingerprint is a randomly generated value that must be provided with
// update(), stop(), and cancelPreview() requests to perform optimistic
// locking. This ensures optimistic concurrency so that only one request
// happens at a time.
//
// The fingerprint is initially generated by Deployment Manager and
// changes after every request to modify data. To get the latest
// fingerprint value, perform a get() request to a deployment.
Fingerprint string `json:"fingerprint,omitempty"`
Id uint64 `json:"id,omitempty,string"`
// InsertTime: Output only. Creation timestamp in RFC3339 text format.
InsertTime string `json:"insertTime,omitempty"`
// Labels: Map of labels; provided by the client when the resource is
// created or updated. Specifically: Label keys must be between 1 and 63
// characters long and must conform to the following regular expression:
// [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63
// characters long and must conform to the regular expression
// ([a-z]([-a-z0-9]*[a-z0-9])?)?
Labels []*DeploymentLabelEntry `json:"labels,omitempty"`
// Manifest: Output only. URL of the manifest representing the last
// manifest that was successfully deployed.
Manifest string `json:"manifest,omitempty"`
// Name: Name of the resource; provided by the client when the resource
// is created. The name must be 1-63 characters long, and comply with
// RFC1035. Specifically, the name must be 1-63 characters long and
// match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means
// the first character must be a lowercase letter, and all following
// characters must be a dash, lowercase letter, or digit, except the
// last character, which cannot be a dash.
Name string `json:"name,omitempty"`
// Operation: Output only. The Operation that most recently ran, or is
// currently running, on this deployment.
Operation *Operation `json:"operation,omitempty"`
// Outputs: Output only. Map of outputs from the last manifest that
// deployed successfully.
Outputs []*DeploymentOutputsEntry `json:"outputs,omitempty"`
// SelfLink: Output only. Server defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
// Target: [Input Only] The parameters that define your deployment,
// including the deployment configuration and relevant templates.
Target *TargetConfiguration `json:"target,omitempty"`
// Update: Output only. If Deployment Manager is currently updating or
// previewing an update to this deployment, the updated configuration
// appears here.
Update *DeploymentUpdate `json:"update,omitempty"`
// UpdateTime: Output only. Update timestamp in RFC3339 text format.
UpdateTime string `json:"updateTime,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Credential") 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. "Credential") 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 *Deployment) MarshalJSON() ([]byte, error) {
type NoMethod Deployment
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DeploymentLabelEntry struct {
Key string `json:"key,omitempty"`
Value string `json:"value,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 *DeploymentLabelEntry) MarshalJSON() ([]byte, error) {
type NoMethod DeploymentLabelEntry
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DeploymentOutputsEntry struct {
Key string `json:"key,omitempty"`
Value string `json:"value,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 *DeploymentOutputsEntry) MarshalJSON() ([]byte, error) {
type NoMethod DeploymentOutputsEntry
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DeploymentUpdate struct {
// Credential: Output only. The user-provided default credential to use
// when deploying this preview.
Credential *Credential `json:"credential,omitempty"`
// Description: Output only. An optional user-provided description of
// the deployment after the current update has been applied.
Description string `json:"description,omitempty"`
// Labels: Output only. Map of labels; provided by the client when the
// resource is created or updated. Specifically: Label keys must be
// between 1 and 63 characters long and must conform to the following
// regular expression: [a-z]([-a-z0-9]*[a-z0-9])? Label values must be
// between 0 and 63 characters long and must conform to the regular
// expression ([a-z]([-a-z0-9]*[a-z0-9])?)?
Labels []*DeploymentUpdateLabelEntry `json:"labels,omitempty"`
// Manifest: Output only. URL of the manifest representing the update
// configuration of this deployment.
Manifest string `json:"manifest,omitempty"`
// ForceSendFields is a list of field names (e.g. "Credential") 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. "Credential") 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 *DeploymentUpdate) MarshalJSON() ([]byte, error) {
type NoMethod DeploymentUpdate
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DeploymentUpdateLabelEntry struct {
Key string `json:"key,omitempty"`
Value string `json:"value,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 *DeploymentUpdateLabelEntry) MarshalJSON() ([]byte, error) {
type NoMethod DeploymentUpdateLabelEntry
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DeploymentsCancelPreviewRequest struct {
// Fingerprint: Specifies a fingerprint for cancelPreview() requests. A
// fingerprint is a randomly generated value that must be provided in
// cancelPreview() requests to perform optimistic locking. This ensures
// optimistic concurrency so that the deployment does not have
// conflicting requests (e.g. if someone attempts to make a new update
// request while another user attempts to cancel a preview, this would
// prevent one of the requests).
//
// The fingerprint is initially generated by Deployment Manager and
// changes after every request to modify a deployment. To get the latest
// fingerprint value, perform a get() request on the deployment.
Fingerprint string `json:"fingerprint,omitempty"`
// ForceSendFields is a list of field names (e.g. "Fingerprint") 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. "Fingerprint") 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 *DeploymentsCancelPreviewRequest) MarshalJSON() ([]byte, error) {
type NoMethod DeploymentsCancelPreviewRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DeploymentsListResponse: A response containing a partial list of
// deployments and a page token used to build the next request if the
// request has been truncated.
type DeploymentsListResponse struct {
// Deployments: Output only. The deployments contained in this response.
Deployments []*Deployment `json:"deployments,omitempty"`
// NextPageToken: Output only. A token used to continue a truncated list
// request.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Deployments") 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. "Deployments") 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 *DeploymentsListResponse) MarshalJSON() ([]byte, error) {
type NoMethod DeploymentsListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type DeploymentsStopRequest struct {
// Fingerprint: Specifies a fingerprint for stop() requests. A
// fingerprint is a randomly generated value that must be provided in
// stop() requests to perform optimistic locking. This ensures
// optimistic concurrency so that the deployment does not have
// conflicting requests (e.g. if someone attempts to make a new update
// request while another user attempts to stop an ongoing update
// request, this would prevent a collision).
//
// The fingerprint is initially generated by Deployment Manager and
// changes after every request to modify a deployment. To get the latest
// fingerprint value, perform a get() request on the deployment.
Fingerprint string `json:"fingerprint,omitempty"`
// ForceSendFields is a list of field names (e.g. "Fingerprint") 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. "Fingerprint") 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 *DeploymentsStopRequest) MarshalJSON() ([]byte, error) {
type NoMethod DeploymentsStopRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type Diagnostic struct {
// Field: JsonPath expression on the resource that if non empty,
// indicates that this field needs to be extracted as a diagnostic.
Field string `json:"field,omitempty"`
// Level: Level to record this diagnostic.
Level string `json:"level,omitempty"`
// ForceSendFields is a list of field names (e.g. "Field") 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. "Field") 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 *Diagnostic) MarshalJSON() ([]byte, error) {
type NoMethod Diagnostic
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Expr: Represents an expression text. Example:
//
// title: "User account presence" description: "Determines whether the
// request has a user account" expression: "size(request.user) > 0"
type Expr struct {
// Description: An optional description of the expression. This is a
// longer text which describes the expression, e.g. when hovered over it
// in a UI.
Description string `json:"description,omitempty"`
// Expression: Textual representation of an expression in Common
// Expression Language syntax.
//
// The application context of the containing message determines which
// well-known feature set of CEL is supported.
Expression string `json:"expression,omitempty"`
// Location: An optional string indicating the location of the
// expression for error reporting, e.g. a file name and a position in
// the file.
Location string `json:"location,omitempty"`
// Title: An optional title for the expression, i.e. a short string
// describing its purpose. This can be used e.g. in UIs which allow to
// enter the expression.
Title string `json:"title,omitempty"`
// 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 *Expr) MarshalJSON() ([]byte, error) {
type NoMethod Expr
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type GlobalSetPolicyRequest struct {
// Bindings: Flatten Policy to create a backward compatible wire-format.
// Deprecated. Use 'policy' to specify bindings.
Bindings []*Binding `json:"bindings,omitempty"`
// Etag: Flatten Policy to create a backward compatible wire-format.
// Deprecated. Use 'policy' to specify the etag.
Etag string `json:"etag,omitempty"`
// Policy: REQUIRED: The complete policy to be applied to the
// 'resource'. The size of the policy is limited to a few 10s of KB. An
// empty policy is in general a valid policy but certain services (like
// Projects) might reject them.
Policy *Policy `json:"policy,omitempty"`
// ForceSendFields is a list of field names (e.g. "Bindings") 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. "Bindings") 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 *GlobalSetPolicyRequest) MarshalJSON() ([]byte, error) {
type NoMethod GlobalSetPolicyRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ImportFile struct {
// Content: The contents of the file.
Content string `json:"content,omitempty"`
// Name: The name of the file.
Name string `json:"name,omitempty"`
// ForceSendFields is a list of field names (e.g. "Content") 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. "Content") 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 *ImportFile) MarshalJSON() ([]byte, error) {
type NoMethod ImportFile
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// InputMapping: InputMapping creates a 'virtual' property that will be
// injected into the properties before sending the request to the
// underlying API.
type InputMapping struct {
// FieldName: The name of the field that is going to be injected.
FieldName string `json:"fieldName,omitempty"`
// Location: The location where this mapping applies.
Location string `json:"location,omitempty"`
// MethodMatch: Regex to evaluate on method to decide if input applies.
MethodMatch string `json:"methodMatch,omitempty"`
// Value: A jsonPath expression to select an element.
Value string `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "FieldName") 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. "FieldName") 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 *InputMapping) MarshalJSON() ([]byte, error) {
type NoMethod InputMapping
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// LogConfig: Specifies what kind of log the caller must write
type LogConfig struct {
// CloudAudit: Cloud audit options.
CloudAudit *LogConfigCloudAuditOptions `json:"cloudAudit,omitempty"`
// Counter: Counter options.
Counter *LogConfigCounterOptions `json:"counter,omitempty"`
// DataAccess: Data access options.
DataAccess *LogConfigDataAccessOptions `json:"dataAccess,omitempty"`
// ForceSendFields is a list of field names (e.g. "CloudAudit") 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. "CloudAudit") 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 *LogConfig) MarshalJSON() ([]byte, error) {
type NoMethod LogConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// LogConfigCloudAuditOptions: Write a Cloud Audit log
type LogConfigCloudAuditOptions struct {
// AuthorizationLoggingOptions: Information used by the Cloud Audit
// Logging pipeline.
AuthorizationLoggingOptions *AuthorizationLoggingOptions `json:"authorizationLoggingOptions,omitempty"`
// LogName: The log_name to populate in the Cloud Audit Record.
LogName string `json:"logName,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "AuthorizationLoggingOptions") 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.
// "AuthorizationLoggingOptions") 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 *LogConfigCloudAuditOptions) MarshalJSON() ([]byte, error) {
type NoMethod LogConfigCloudAuditOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// LogConfigCounterOptions: Increment a streamz counter with the
// specified metric and field names.
//
// Metric names should start with a '/', generally be lowercase-only,
// and end in "_count". Field names should not contain an initial slash.
// The actual exported metric names will have "/iam/policy"
// prepended.
//
// Field names correspond to IAM request parameters and field values are
// their respective values.
//
// Supported field names: - "authority", which is "[token]" if
// IAMContext.token is present, otherwise the value of
// IAMContext.authority_selector if present, and otherwise a
// representation of IAMContext.principal; or - "iam_principal", a
// representation of IAMContext.principal even if a token or authority
// selector is present; or - "" (empty string), resulting in a counter
// with no fields.
//
// Examples: counter { metric: "/debug_access_count" field:
// "iam_principal" } ==> increment counter
// /iam/policy/backend_debug_access_count {iam_principal=[value of
// IAMContext.principal]}
//
// At this time we do not support multiple field names (though this may
// be supported in the future).
type LogConfigCounterOptions struct {
// Field: The field value to attribute.
Field string `json:"field,omitempty"`
// Metric: The metric to update.
Metric string `json:"metric,omitempty"`
// ForceSendFields is a list of field names (e.g. "Field") 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. "Field") 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 *LogConfigCounterOptions) MarshalJSON() ([]byte, error) {
type NoMethod LogConfigCounterOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// LogConfigDataAccessOptions: Write a Data Access (Gin) log
type LogConfigDataAccessOptions struct {
// LogMode: Whether Gin logging should happen in a fail-closed manner at
// the caller. This is relevant only in the LocalIAM implementation, for
// now.
//
// NOTE: Logging to Gin in a fail-closed manner is currently unsupported
// while work is being done to satisfy the requirements of go/345.
// Currently, setting LOG_FAIL_CLOSED mode will have no effect, but
// still exists because there is active work being done to support it
// (b/115874152).
LogMode string `json:"logMode,omitempty"`
// ForceSendFields is a list of field names (e.g. "LogMode") 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. "LogMode") 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 *LogConfigDataAccessOptions) MarshalJSON() ([]byte, error) {
type NoMethod LogConfigDataAccessOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type Manifest struct {
// Config: Output only. The YAML configuration for this manifest.
Config *ConfigFile `json:"config,omitempty"`
// ExpandedConfig: Output only. The fully-expanded configuration file,
// including any templates and references.
ExpandedConfig string `json:"expandedConfig,omitempty"`
Id uint64 `json:"id,omitempty,string"`
// Imports: Output only. The imported files for this manifest.
Imports []*ImportFile `json:"imports,omitempty"`
// InsertTime: Output only. Creation timestamp in RFC3339 text format.
InsertTime string `json:"insertTime,omitempty"`
// Layout: Output only. The YAML layout for this manifest.
Layout string `json:"layout,omitempty"`
// Name: Output only.
//
// The name of the manifest.
Name string `json:"name,omitempty"`
// SelfLink: Output only. Self link for the manifest.
SelfLink string `json:"selfLink,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Config") 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. "Config") 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 *Manifest) MarshalJSON() ([]byte, error) {
type NoMethod Manifest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ManifestsListResponse: A response containing a partial list of
// manifests and a page token used to build the next request if the
// request has been truncated.
type ManifestsListResponse struct {
// Manifests: Output only. Manifests contained in this list response.
Manifests []*Manifest `json:"manifests,omitempty"`
// NextPageToken: Output only. A token used to continue a truncated list
// request.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Manifests") 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. "Manifests") 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 *ManifestsListResponse) MarshalJSON() ([]byte, error) {
type NoMethod ManifestsListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MethodMap: Deployment Manager will call these methods during the
// events of creation/deletion/update/get/setIamPolicy
type MethodMap struct {
// Create: The action identifier for the create method to be used for
// this collection
Create string `json:"create,omitempty"`
// Delete: The action identifier for the delete method to be used for
// this collection
Delete string `json:"delete,omitempty"`
// Get: The action identifier for the get method to be used for this
// collection
Get string `json:"get,omitempty"`
// SetIamPolicy: The action identifier for the setIamPolicy method to be
// used for this collection
SetIamPolicy string `json:"setIamPolicy,omitempty"`
// Update: The action identifier for the update method to be used for
// this collection
Update string `json:"update,omitempty"`
// ForceSendFields is a list of field names (e.g. "Create") 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. "Create") 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 *MethodMap) MarshalJSON() ([]byte, error) {
type NoMethod MethodMap
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Operation: An Operation resource, used to manage asynchronous API
// requests. (== resource_for v1.globalOperations ==) (== resource_for
// beta.globalOperations ==) (== resource_for v1.regionOperations ==)
// (== resource_for beta.regionOperations ==) (== resource_for
// v1.zoneOperations ==) (== resource_for beta.zoneOperations ==)
type Operation struct {
// ClientOperationId: [Output Only] The value of `requestId` if you
// provided it in the request. Not present otherwise.
ClientOperationId string `json:"clientOperationId,omitempty"`
// CreationTimestamp: [Deprecated] This field is deprecated.
CreationTimestamp string `json:"creationTimestamp,omitempty"`
// Description: [Output Only] A textual description of the operation,
// which is set when the operation is created.
Description string `json:"description,omitempty"`
// EndTime: [Output Only] The time that this operation was completed.
// This value is in RFC3339 text format.
EndTime string `json:"endTime,omitempty"`
// Error: [Output Only] If errors are generated during processing of the
// operation, this field will be populated.
Error *OperationError `json:"error,omitempty"`
// HttpErrorMessage: [Output Only] If the operation fails, this field
// contains the HTTP error message that was returned, such as NOT FOUND.
HttpErrorMessage string `json:"httpErrorMessage,omitempty"`
// HttpErrorStatusCode: [Output Only] If the operation fails, this field
// contains the HTTP error status code that was returned. For example, a
// 404 means the resource was not found.
HttpErrorStatusCode int64 `json:"httpErrorStatusCode,omitempty"`
// Id: [Output Only] The unique identifier for the resource. This
// identifier is defined by the server.
Id uint64 `json:"id,omitempty,string"`
// InsertTime: [Output Only] The time that this operation was requested.
// This value is in RFC3339 text format.
InsertTime string `json:"insertTime,omitempty"`
// Kind: [Output Only] Type of the resource. Always compute#operation
// for Operation resources.
Kind string `json:"kind,omitempty"`
// Name: [Output Only] Name of the resource.
Name string `json:"name,omitempty"`
// OperationType: [Output Only] The type of operation, such as insert,
// update, or delete, and so on.
OperationType string `json:"operationType,omitempty"`
// Progress: [Output Only] An optional progress indicator that ranges
// from 0 to 100. There is no requirement that this be linear or support
// any granularity of operations. This should not be used to guess when
// the operation will be complete. This number should monotonically
// increase as the operation progresses.
Progress int64 `json:"progress,omitempty"`
// Region: [Output Only] The URL of the region where the operation
// resides. Only available when performing regional operations. You must
// specify this field as part of the HTTP request URL. It is not
// settable as a field in the request body.
Region string `json:"region,omitempty"`
// SelfLink: [Output Only] Server-defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
// StartTime: [Output Only] The time that this operation was started by
// the server. This value is in RFC3339 text format.
StartTime string `json:"startTime,omitempty"`
// Status: [Output Only] The status of the operation, which can be one
// of the following: PENDING, RUNNING, or DONE.
Status string `json:"status,omitempty"`
// StatusMessage: [Output Only] An optional textual description of the
// current status of the operation.
StatusMessage string `json:"statusMessage,omitempty"`
// TargetId: [Output Only] The unique target ID, which identifies a
// specific incarnation of the target resource.
TargetId uint64 `json:"targetId,omitempty,string"`
// TargetLink: [Output Only] The URL of the resource that the operation
// modifies. For operations related to creating a snapshot, this points
// to the persistent disk that the snapshot was created from.
TargetLink string `json:"targetLink,omitempty"`
// User: [Output Only] User who requested the operation, for example:
// user@example.com.
User string `json:"user,omitempty"`
// Warnings: [Output Only] If warning messages are generated during
// processing of the operation, this field will be populated.
Warnings []*OperationWarnings `json:"warnings,omitempty"`
// Zone: [Output Only] The URL of the zone where the operation resides.
// Only available when performing per-zone operations. You must specify
// this field as part of the HTTP request URL. It is not settable as a
// field in the request body.
Zone string `json:"zone,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ClientOperationId")
// 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. "ClientOperationId") 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 *Operation) MarshalJSON() ([]byte, error) {
type NoMethod Operation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// OperationError: [Output Only] If errors are generated during
// processing of the operation, this field will be populated.
type OperationError struct {
// Errors: [Output Only] The array of errors encountered while
// processing this operation.
Errors []*OperationErrorErrors `json:"errors,omitempty"`
// ForceSendFields is a list of field names (e.g. "Errors") 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. "Errors") 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 *OperationError) MarshalJSON() ([]byte, error) {
type NoMethod OperationError
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type OperationErrorErrors struct {
// Code: [Output Only] The error type identifier for this error.
Code string `json:"code,omitempty"`
// Location: [Output Only] Indicates the field in the request that
// caused the error. This property is optional.
Location string `json:"location,omitempty"`
// Message: [Output Only] An optional, human-readable error message.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") 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. "Code") 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 *OperationErrorErrors) MarshalJSON() ([]byte, error) {
type NoMethod OperationErrorErrors
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type OperationWarnings struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
// the response.
Code string `json:"code,omitempty"`
// Data: [Output Only] Metadata about this warning in key: value format.
// For example:
// "data": [ { "key": "scope", "value": "zones/us-east1-d" }
Data []*OperationWarningsData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning
// code.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") 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. "Code") 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 *OperationWarnings) MarshalJSON() ([]byte, error) {
type NoMethod OperationWarnings
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type OperationWarningsData struct {
// Key: [Output Only] A key that provides more detail on the warning
// being returned. For example, for warnings where there are no results
// in a list request for a particular zone, this key might be scope and
// the key value might be the zone name. Other examples might be a key
// indicating a deprecated resource and a suggested replacement, or a
// warning about invalid network settings (for example, if an instance
// attempts to perform IP forwarding but is not enabled for IP
// forwarding).
Key string `json:"key,omitempty"`
// Value: [Output Only] A warning data value corresponding to the key.
Value string `json:"value,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 *OperationWarningsData) MarshalJSON() ([]byte, error) {
type NoMethod OperationWarningsData
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// OperationsListResponse: A response containing a partial list of
// operations and a page token used to build the next request if the
// request has been truncated.
type OperationsListResponse struct {
// NextPageToken: Output only. A token used to continue a truncated list
// request.
NextPageToken string `json:"nextPageToken,omitempty"`
// Operations: Output only. Operations contained in this list response.
Operations []*Operation `json:"operations,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") 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. "NextPageToken") 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 *OperationsListResponse) MarshalJSON() ([]byte, error) {
type NoMethod OperationsListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Options: Options allows customized resource handling by Deployment
// Manager.
type Options struct {
// AsyncOptions: Options regarding how to thread async requests.
AsyncOptions []*AsyncOptions `json:"asyncOptions,omitempty"`
// InputMappings: The mappings that apply for requests.
InputMappings []*InputMapping `json:"inputMappings,omitempty"`
// NameProperty: The json path to the field in the resource JSON body
// into which the resource name should be mapped. Leaving this empty
// indicates that there should be no mapping performed.
NameProperty string `json:"nameProperty,omitempty"`
// ValidationOptions: Options for how to validate and process properties
// on a resource.
ValidationOptions *ValidationOptions `json:"validationOptions,omitempty"`
// ForceSendFields is a list of field names (e.g. "AsyncOptions") 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. "AsyncOptions") 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 *Options) MarshalJSON() ([]byte, error) {
type NoMethod Options
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Policy: Defines an Identity and Access Management (IAM) policy. It is
// used to specify access control policies for Cloud Platform
// resources.
//
//
//
// A `Policy` consists of a list of `bindings`. A `binding` binds a list
// of `members` to a `role`, where the members can be user accounts,
// Google groups, Google domains, and service accounts. A `role` is a
// named list of permissions defined by IAM.
//
// **JSON Example**
//
// { "bindings": [ { "role": "roles/owner", "members": [
// "user:mike@example.com", "group:admins@example.com",
// "domain:google.com",
// "serviceAccount:my-other-app@appspot.gserviceaccount.com" ] }, {
// "role": "roles/viewer", "members": ["user:sean@example.com"] } ]
// }
//
// **YAML Example**
//
// bindings: - members: - user:mike@example.com -
// group:admins@example.com - domain:google.com -
// serviceAccount:my-other-app@appspot.gserviceaccount.com role:
// roles/owner - members: - user:sean@example.com role:
// roles/viewer
//
//
//
// For a description of IAM and its features, see the [IAM developer's
// guide](https://cloud.google.com/iam/docs).
type Policy struct {
// AuditConfigs: Specifies cloud audit logging configuration for this
// policy.
AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
// Bindings: Associates a list of `members` to a `role`. `bindings` with
// no members will result in an error.
Bindings []*Binding `json:"bindings,omitempty"`
// Etag: `etag` is used for optimistic concurrency control as a way to
// help prevent simultaneous updates of a policy from overwriting each
// other. It is strongly suggested that systems make use of the `etag`
// in the read-modify-write cycle to perform policy updates in order to
// avoid race conditions: An `etag` is returned in the response to
// `getIamPolicy`, and systems are expected to put that etag in the
// request to `setIamPolicy` to ensure that their change will be applied
// to the same version of the policy.
//
// If no `etag` is provided in the call to `setIamPolicy`, then the
// existing policy is overwritten blindly.
Etag string `json:"etag,omitempty"`
IamOwned bool `json:"iamOwned,omitempty"`
// Rules: If more than one rule is specified, the rules are applied in
// the following manner: - All matching LOG rules are always applied. -
// If any DENY/DENY_WITH_LOG rule matches, permission is denied. Logging
// will be applied if one or more matching rule requires logging. -
// Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is
// granted. Logging will be applied if one or more matching rule
// requires logging. - Otherwise, if no rule applies, permission is
// denied.
Rules []*Rule `json:"rules,omitempty"`
// Version: Deprecated.
Version int64 `json:"version,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AuditConfigs") 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. "AuditConfigs") 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)
}
type PollingOptions struct {
// Diagnostics: An array of diagnostics to be collected by Deployment
// Manager, these diagnostics will be displayed to the user.
Diagnostics []*Diagnostic `json:"diagnostics,omitempty"`
// FailCondition: JsonPath expression that determines if the request
// failed.
FailCondition string `json:"failCondition,omitempty"`
// FinishCondition: JsonPath expression that determines if the request
// is completed.
FinishCondition string `json:"finishCondition,omitempty"`
// PollingLink: JsonPath expression that evaluates to string, it
// indicates where to poll.
PollingLink string `json:"pollingLink,omitempty"`
// TargetLink: JsonPath expression, after polling is completed,
// indicates where to fetch the resource.
TargetLink string `json:"targetLink,omitempty"`
// ForceSendFields is a list of field names (e.g. "Diagnostics") 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. "Diagnostics") 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 *PollingOptions) MarshalJSON() ([]byte, error) {
type NoMethod PollingOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type Resource struct {
// AccessControl: The Access Control Policy set on this resource.
AccessControl *ResourceAccessControl `json:"accessControl,omitempty"`
// FinalProperties: Output only. The evaluated properties of the
// resource with references expanded. Returned as serialized YAML.
FinalProperties string `json:"finalProperties,omitempty"`
Id uint64 `json:"id,omitempty,string"`
// InsertTime: Output only. Creation timestamp in RFC3339 text format.
InsertTime string `json:"insertTime,omitempty"`
// LastUsedCredential: Output only. The last used credential that
// successfully created/updated the resource.
LastUsedCredential *Credential `json:"lastUsedCredential,omitempty"`
// Manifest: Output only. URL of the manifest representing the current
// configuration of this resource.
Manifest string `json:"manifest,omitempty"`
// Name: Output only. The name of the resource as it appears in the YAML
// config.
Name string `json:"name,omitempty"`
// Properties: Output only. The current properties of the resource
// before any references have been filled in. Returned as serialized
// YAML.
Properties string `json:"properties,omitempty"`
// RuntimePolicies: Output only. In case this is an action, it will show
// the runtimePolicies on which this action will run in the deployment
RuntimePolicies []string `json:"runtimePolicies,omitempty"`
// Type: Output only. The type of the resource, for example
// compute.v1.instance, or cloudfunctions.v1beta1.function.
Type string `json:"type,omitempty"`
// Update: Output only. If Deployment Manager is currently updating or
// previewing an update to this resource, the updated configuration
// appears here.
Update *ResourceUpdate `json:"update,omitempty"`
// UpdateTime: Output only. Update timestamp in RFC3339 text format.
UpdateTime string `json:"updateTime,omitempty"`
// Url: Output only. The URL of the actual resource.
Url string `json:"url,omitempty"`
// Warnings: Output only. If warning messages are generated during
// processing of this resource, this field will be populated.
Warnings []*ResourceWarnings `json:"warnings,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AccessControl") 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. "AccessControl") 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 *Resource) MarshalJSON() ([]byte, error) {
type NoMethod Resource
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ResourceWarnings struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
// the response.
Code string `json:"code,omitempty"`
// Data: [Output Only] Metadata about this warning in key: value format.
// For example:
// "data": [ { "key": "scope", "value": "zones/us-east1-d" }
Data []*ResourceWarningsData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning
// code.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") 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. "Code") 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 *ResourceWarnings) MarshalJSON() ([]byte, error) {
type NoMethod ResourceWarnings
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ResourceWarningsData struct {
// Key: [Output Only] A key that provides more detail on the warning
// being returned. For example, for warnings where there are no results
// in a list request for a particular zone, this key might be scope and
// the key value might be the zone name. Other examples might be a key
// indicating a deprecated resource and a suggested replacement, or a
// warning about invalid network settings (for example, if an instance
// attempts to perform IP forwarding but is not enabled for IP
// forwarding).
Key string `json:"key,omitempty"`
// Value: [Output Only] A warning data value corresponding to the key.
Value string `json:"value,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 *ResourceWarningsData) MarshalJSON() ([]byte, error) {
type NoMethod ResourceWarningsData
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ResourceAccessControl: The access controls set on the resource.
type ResourceAccessControl struct {
// GcpIamPolicy: The GCP IAM Policy to set on the resource.
GcpIamPolicy string `json:"gcpIamPolicy,omitempty"`
// ForceSendFields is a list of field names (e.g. "GcpIamPolicy") 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. "GcpIamPolicy") 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 *ResourceAccessControl) MarshalJSON() ([]byte, error) {
type NoMethod ResourceAccessControl
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ResourceUpdate struct {
// AccessControl: The Access Control Policy to set on this resource
// after updating the resource itself.
AccessControl *ResourceAccessControl `json:"accessControl,omitempty"`
// Credential: Output only. The credential that will be used
// creating/updating this resource.
Credential *Credential `json:"credential,omitempty"`
// Error: Output only. If errors are generated during update of the
// resource, this field will be populated.
Error *ResourceUpdateError `json:"error,omitempty"`
// FinalProperties: Output only. The expanded properties of the resource
// with reference values expanded. Returned as serialized YAML.
FinalProperties string `json:"finalProperties,omitempty"`
// Intent: Output only. The intent of the resource: PREVIEW, UPDATE, or
// CANCEL.
Intent string `json:"intent,omitempty"`
// Manifest: Output only. URL of the manifest representing the update
// configuration of this resource.
Manifest string `json:"manifest,omitempty"`
// Properties: Output only. The set of updated properties for this
// resource, before references are expanded. Returned as serialized
// YAML.
Properties string `json:"properties,omitempty"`
// RuntimePolicies: Output only. In case this is an action, it will show
// the runtimePolicies that this action will have after updating the
// deployment.
RuntimePolicies []string `json:"runtimePolicies,omitempty"`
// State: Output only. The state of the resource.
State string `json:"state,omitempty"`
// Warnings: Output only. If warning messages are generated during
// processing of this resource, this field will be populated.
Warnings []*ResourceUpdateWarnings `json:"warnings,omitempty"`
// ForceSendFields is a list of field names (e.g. "AccessControl") 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. "AccessControl") 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 *ResourceUpdate) MarshalJSON() ([]byte, error) {
type NoMethod ResourceUpdate
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ResourceUpdateError: Output only. If errors are generated during
// update of the resource, this field will be populated.
type ResourceUpdateError struct {
// Errors: [Output Only] The array of errors encountered while
// processing this operation.
Errors []*ResourceUpdateErrorErrors `json:"errors,omitempty"`
// ForceSendFields is a list of field names (e.g. "Errors") 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. "Errors") 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 *ResourceUpdateError) MarshalJSON() ([]byte, error) {
type NoMethod ResourceUpdateError
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ResourceUpdateErrorErrors struct {
// Code: [Output Only] The error type identifier for this error.
Code string `json:"code,omitempty"`
// Location: [Output Only] Indicates the field in the request that
// caused the error. This property is optional.
Location string `json:"location,omitempty"`
// Message: [Output Only] An optional, human-readable error message.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") 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. "Code") 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 *ResourceUpdateErrorErrors) MarshalJSON() ([]byte, error) {
type NoMethod ResourceUpdateErrorErrors
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ResourceUpdateWarnings struct {
// Code: [Output Only] A warning code, if applicable. For example,
// Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in
// the response.
Code string `json:"code,omitempty"`
// Data: [Output Only] Metadata about this warning in key: value format.
// For example:
// "data": [ { "key": "scope", "value": "zones/us-east1-d" }
Data []*ResourceUpdateWarningsData `json:"data,omitempty"`
// Message: [Output Only] A human-readable description of the warning
// code.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") 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. "Code") 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 *ResourceUpdateWarnings) MarshalJSON() ([]byte, error) {
type NoMethod ResourceUpdateWarnings
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type ResourceUpdateWarningsData struct {
// Key: [Output Only] A key that provides more detail on the warning
// being returned. For example, for warnings where there are no results
// in a list request for a particular zone, this key might be scope and
// the key value might be the zone name. Other examples might be a key
// indicating a deprecated resource and a suggested replacement, or a
// warning about invalid network settings (for example, if an instance
// attempts to perform IP forwarding but is not enabled for IP
// forwarding).
Key string `json:"key,omitempty"`
// Value: [Output Only] A warning data value corresponding to the key.
Value string `json:"value,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 *ResourceUpdateWarningsData) MarshalJSON() ([]byte, error) {
type NoMethod ResourceUpdateWarningsData
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ResourcesListResponse: A response containing a partial list of
// resources and a page token used to build the next request if the
// request has been truncated.
type ResourcesListResponse struct {
// NextPageToken: A token used to continue a truncated list request.
NextPageToken string `json:"nextPageToken,omitempty"`
// Resources: Resources contained in this list response.
Resources []*Resource `json:"resources,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") 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. "NextPageToken") 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 *ResourcesListResponse) MarshalJSON() ([]byte, error) {
type NoMethod ResourcesListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Rule: A rule to be applied in a Policy.
type Rule struct {
// Action: Required
Action string `json:"action,omitempty"`
// Conditions: Additional restrictions that must be met. All conditions
// must pass for the rule to match.
Conditions []*Condition `json:"conditions,omitempty"`
// Description: Human-readable description of the rule.
Description string `json:"description,omitempty"`
// Ins: If one or more 'in' clauses are specified, the rule matches if
// the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.
Ins []string `json:"ins,omitempty"`
// LogConfigs: The config returned to callers of
// tech.iam.IAM.CheckPolicy for any entries that match the LOG action.
LogConfigs []*LogConfig `json:"logConfigs,omitempty"`
// NotIns: If one or more 'not_in' clauses are specified, the rule
// matches if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the
// entries.
NotIns []string `json:"notIns,omitempty"`
// Permissions: A permission is a string of form '..' (e.g.,
// 'storage.buckets.list'). A value of '*' matches all permissions, and
// a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.
Permissions []string `json:"permissions,omitempty"`
// ForceSendFields is a list of field names (e.g. "Action") 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. "Action") 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 *Rule) MarshalJSON() ([]byte, error) {
type NoMethod Rule
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ServiceAccount: Service Account used as a credential.
type ServiceAccount struct {
// Email: The IAM service account email address like
// test@myproject.iam.gserviceaccount.com
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 *ServiceAccount) MarshalJSON() ([]byte, error) {
type NoMethod ServiceAccount
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TargetConfiguration struct {
// Config: The configuration to use for this deployment.
Config *ConfigFile `json:"config,omitempty"`
// Imports: Specifies any files to import for this configuration. This
// can be used to import templates or other files. For example, you
// might import a text file in order to use the file in a template.
Imports []*ImportFile `json:"imports,omitempty"`
// ForceSendFields is a list of field names (e.g. "Config") 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. "Config") 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 *TargetConfiguration) MarshalJSON() ([]byte, error) {
type NoMethod TargetConfiguration
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TemplateContents: Files that make up the template contents of a
// template type.
type TemplateContents struct {
// Imports: Import files referenced by the main template.
Imports []*ImportFile `json:"imports,omitempty"`
// Interpreter: Which interpreter (python or jinja) should be used
// during expansion.
Interpreter string `json:"interpreter,omitempty"`
// MainTemplate: The filename of the mainTemplate
MainTemplate string `json:"mainTemplate,omitempty"`
// Schema: The contents of the template schema.
Schema string `json:"schema,omitempty"`
// Template: The contents of the main template file.
Template string `json:"template,omitempty"`
// ForceSendFields is a list of field names (e.g. "Imports") 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. "Imports") 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 *TemplateContents) MarshalJSON() ([]byte, error) {
type NoMethod TemplateContents
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TestPermissionsRequest struct {
// Permissions: The set of permissions to check for the 'resource'.
// Permissions with wildcards (such as '*' or 'storage.*') are not
// allowed.
Permissions []string `json:"permissions,omitempty"`
// ForceSendFields is a list of field names (e.g. "Permissions") 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. "Permissions") 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 *TestPermissionsRequest) MarshalJSON() ([]byte, error) {
type NoMethod TestPermissionsRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TestPermissionsResponse struct {
// Permissions: A subset of `TestPermissionsRequest.permissions` that
// the caller is allowed.
Permissions []string `json:"permissions,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Permissions") 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. "Permissions") 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 *TestPermissionsResponse) MarshalJSON() ([]byte, error) {
type NoMethod TestPermissionsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Type: A resource type supported by Deployment Manager.
type Type struct {
// ConfigurableService: Base Type (configurable service) that backs this
// Type.
ConfigurableService *ConfigurableService `json:"configurableService,omitempty"`
// Description: An optional textual description of the resource;
// provided by the client when the resource is created.
Description string `json:"description,omitempty"`
Id uint64 `json:"id,omitempty,string"`
// InsertTime: Output only. Creation timestamp in RFC3339 text format.
InsertTime string `json:"insertTime,omitempty"`
// Labels: Map of labels; provided by the client when the resource is
// created or updated. Specifically: Label keys must be between 1 and 63
// characters long and must conform to the following regular expression:
// [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63
// characters long and must conform to the regular expression
// ([a-z]([-a-z0-9]*[a-z0-9])?)?
Labels []*TypeLabelEntry `json:"labels,omitempty"`
// Name: Name of the type.
Name string `json:"name,omitempty"`
// Operation: Output only. The Operation that most recently ran, or is
// currently running, on this type.
Operation *Operation `json:"operation,omitempty"`
// SelfLink: Output only. Server defined URL for the resource.
SelfLink string `json:"selfLink,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ConfigurableService")
// 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. "ConfigurableService") 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 *Type) MarshalJSON() ([]byte, error) {
type NoMethod Type
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TypeInfo: Type Information. Contains detailed information about a
// composite type, base type, or base type with specific collection.
type TypeInfo struct {
// Description: The description of the type.
Description string `json:"description,omitempty"`
// DocumentationLink: For swagger 2.0 externalDocs field will be used.
// For swagger 1.2 this field will be empty.
DocumentationLink string `json:"documentationLink,omitempty"`
// Kind: Output only. Type of the output. Always
// deploymentManager#TypeInfo for TypeInfo.
Kind string `json:"kind,omitempty"`
// Name: The base type or composite type name.
Name string `json:"name,omitempty"`
// Schema: For base types with a collection, we return a schema and
// documentation link For template types, we return only a schema
Schema *TypeInfoSchemaInfo `json:"schema,omitempty"`
// SelfLink: Output only. Self link for the type provider.
SelfLink string `json:"selfLink,omitempty"`
// Title: The title on the API descriptor URL provided.
Title string `json:"title,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 *TypeInfo) MarshalJSON() ([]byte, error) {
type NoMethod TypeInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TypeInfoSchemaInfo struct {
// Input: The properties that this composite type or base type
// collection accept as input, represented as a json blob, format is:
// JSON Schema Draft V4
Input string `json:"input,omitempty"`
// Output: The properties that this composite type or base type
// collection exposes as output, these properties can be used for
// references, represented as json blob, format is: JSON Schema Draft V4
Output string `json:"output,omitempty"`
// ForceSendFields is a list of field names (e.g. "Input") 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. "Input") 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 *TypeInfoSchemaInfo) MarshalJSON() ([]byte, error) {
type NoMethod TypeInfoSchemaInfo
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TypeLabelEntry struct {
Key string `json:"key,omitempty"`
Value string `json:"value,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 *TypeLabelEntry) MarshalJSON() ([]byte, error) {
type NoMethod TypeLabelEntry
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TypeProvider: A type provider that describes a service-backed Type.
type TypeProvider struct {
// CollectionOverrides: Allows resource handling overrides for specific
// collections
CollectionOverrides []*CollectionOverride `json:"collectionOverrides,omitempty"`
// Credential: Credential used when interacting with this type.
Credential *Credential `json:"credential,omitempty"`
// Description: An optional textual description of the resource;
// provided by the client when the resource is created.
Description string `json:"description,omitempty"`
// DescriptorUrl: Descriptor Url for the this type provider.
DescriptorUrl string `json:"descriptorUrl,omitempty"`
// Id: Output only. Unique identifier for the resource defined by the
// server.
Id uint64 `json:"id,omitempty,string"`
// InsertTime: Output only. Creation timestamp in RFC3339 text format.
InsertTime string `json:"insertTime,omitempty"`
// Labels: Map of labels; provided by the client when the resource is
// created or updated. Specifically: Label keys must be between 1 and 63
// characters long and must conform to the following regular expression:
// [a-z]([-a-z0-9]*[a-z0-9])? Label values must be between 0 and 63
// characters long and must conform to the regular expression
// ([a-z]([-a-z0-9]*[a-z0-9])?)?
Labels []*TypeProviderLabelEntry `json:"labels,omitempty"`
// Name: Name of the resource; provided by the client when the resource
// is created. The name must be 1-63 characters long, and comply with
// RFC1035. Specifically, the name must be 1-63 characters long and
// match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means
// the first character must be a lowercase letter, and all following
// characters must be a dash, lowercase letter, or digit, except the
// last character, which cannot be a dash.
Name string `json:"name,omitempty"`
// Operation: Output only. The Operation that most recently ran, or is
// currently running, on this type provider.
Operation *Operation `json:"operation,omitempty"`
// Options: Options to apply when handling any resources in this
// service.
Options *Options `json:"options,omitempty"`
// SelfLink: Output only. Self link for the type provider.
SelfLink string `json:"selfLink,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CollectionOverrides")
// 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. "CollectionOverrides") 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 *TypeProvider) MarshalJSON() ([]byte, error) {
type NoMethod TypeProvider
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TypeProviderLabelEntry struct {
Key string `json:"key,omitempty"`
Value string `json:"value,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 *TypeProviderLabelEntry) MarshalJSON() ([]byte, error) {
type NoMethod TypeProviderLabelEntry
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TypeProvidersListResponse: A response that returns all Type Providers
// supported by Deployment Manager
type TypeProvidersListResponse struct {
// NextPageToken: A token used to continue a truncated list request.
NextPageToken string `json:"nextPageToken,omitempty"`
// TypeProviders: Output only. A list of resource type providers
// supported by Deployment Manager.
TypeProviders []*TypeProvider `json:"typeProviders,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") 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. "NextPageToken") 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 *TypeProvidersListResponse) MarshalJSON() ([]byte, error) {
type NoMethod TypeProvidersListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
type TypeProvidersListTypesResponse struct {
// NextPageToken: A token used to continue a truncated list request.
NextPageToken string `json:"nextPageToken,omitempty"`
// Types: Output only. A list of resource type info.
Types []*TypeInfo `json:"types,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") 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. "NextPageToken") 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 *TypeProvidersListTypesResponse) MarshalJSON() ([]byte, error) {
type NoMethod TypeProvidersListTypesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TypesListResponse: A response that returns all Types supported by
// Deployment Manager
type TypesListResponse struct {
// NextPageToken: A token used to continue a truncated list request.
NextPageToken string `json:"nextPageToken,omitempty"`
// Types: Output only. A list of resource types supported by Deployment
// Manager.
Types []*Type `json:"types,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") 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. "NextPageToken") 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 *TypesListResponse) MarshalJSON() ([]byte, error) {
type NoMethod TypesListResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ValidationOptions: Options for how to validate and process properties
// on a resource.
type ValidationOptions struct {
// SchemaValidation: Customize how deployment manager will validate the
// resource against schema errors.
SchemaValidation string `json:"schemaValidation,omitempty"`
// UndeclaredProperties: Specify what to do with extra properties when
// executing a request.
UndeclaredProperties string `json:"undeclaredProperties,omitempty"`
// ForceSendFields is a list of field names (e.g. "SchemaValidation") 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. "SchemaValidation") 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 *ValidationOptions) MarshalJSON() ([]byte, error) {
type NoMethod ValidationOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// method id "deploymentmanager.compositeTypes.delete":
type CompositeTypesDeleteCall struct {
s *Service
project string
compositeType string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes a composite type.
func (r *CompositeTypesService) Delete(project string, compositeType string) *CompositeTypesDeleteCall {
c := &CompositeTypesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.compositeType = compositeType
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *CompositeTypesDeleteCall) Fields(s ...googleapi.Field) *CompositeTypesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *CompositeTypesDeleteCall) Context(ctx context.Context) *CompositeTypesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *CompositeTypesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *CompositeTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/compositeTypes/{compositeType}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"compositeType": c.compositeType,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "deploymentmanager.compositeTypes.delete" call.
// Exactly one of *Operation or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *Operation.ServerResponse.Header or (if a response was returned at
// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
// to check whether the returned error was because
// http.StatusNotModified was returned.
func (c *CompositeTypesDeleteCall) Do(opts ...googleapi.CallOption) (*Operation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &Operation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Deletes a composite type.",
// "httpMethod": "DELETE",
// "id": "deploymentmanager.compositeTypes.delete",
// "parameterOrder": [
// "project",
// "compositeType"
// ],
// "parameters": {
// "compositeType": {
// "description": "The name of the type for this request.",
// "location": "path",
// "pattern": "[a-z](?:[-a-z0-9_.]{0,61}[a-z0-9])?",
// "required": true,
// "type": "string"
// },
// "project": {
// "description": "The project ID for this request.",
// "location": "path",
// "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
// },
// "path": "{project}/global/compositeTypes/{compositeType}",
// "response": {
// "$ref": "Operation"
// },
// "scopes": [
// "https://www.googleapis.com/auth/cloud-platform",
// "https://www.googleapis.com/auth/ndev.cloudman"
// ]
// }
}
// method id "deploymentmanager.compositeTypes.get":
type CompositeTypesGetCall struct {
s *Service
project string
compositeType string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets information about a specific composite type.
func (r *CompositeTypesService) Get(project string, compositeType string) *CompositeTypesGetCall {
c := &CompositeTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.compositeType = compositeType
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *CompositeTypesGetCall) Fields(s ...googleapi.Field) *CompositeTypesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets the optional parameter which makes the operation
// fail if the object's ETag matches the given value. This is useful for
// getting updates only after the object has changed since the last
// request. Use googleapi.IsNotModified to check whether the response
// error from Do is the result of In-None-Match.
func (c *CompositeTypesGetCall) IfNoneMatch(entityTag string) *CompositeTypesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *CompositeTypesGetCall) Context(ctx context.Context) *CompositeTypesGetCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *CompositeTypesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *CompositeTypesGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
var body io.Reader = nil
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "{project}/global/compositeTypes/{compositeType}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"project": c.project,
"compositeType": c.compositeType,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "deploymentmanager.compositeTypes.get" call.
// Exactly one of *CompositeType or error will be non-nil. Any non-2xx
// status code is an error. Response headers are in either
// *CompositeType.ServerResponse.Header or (if a response was returned
// at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was
// because http.StatusNotModified was returned.
func (c *CompositeTypesGetCall) Do(opts ...googleapi.CallOption) (*CompositeType, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &CompositeType{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
if err := gensupport.DecodeResponse(target, res); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Gets information about a specific composite type.",
// "httpMethod": "GET",
// "id": "deploymentmanager.compositeTypes.get",
// "parameterOrder": [
// "project",
// "compositeType"
// ],
// "parameters": {
// "compositeType": {
// "description": "The name of the composite type for this request.",
// "location": "path",
// "pattern": "[a-z](?:[-a-z0-9_.]{0,61}[a-z0-9])?",
// "required": true,
// "type": "string"
// },
// "project": {
// "description": "The project ID for this request.",
// "location": "path",
// "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))",
// "required": true,
// "type": "string"
// }
// },
// "path": "{project}/global/compositeTypes/{compositeType}",
// "response": {
// "$ref": "CompositeType"
// },
// "scopes": [
// "https://www.googleapis.com/auth/cloud-platform",
// "https://www.googleapis.com/auth/cloud-platform.read-only",
// "https://www.googleapis.com/auth/ndev.cloudman",
// "https://www.googleapis.com/auth/ndev.cloudman.readonly"
// ]
// }
}
// method id "deploymentmanager.compositeTypes.insert":
type CompositeTypesInsertCall struct {
s *Service
project string
compositetype *CompositeType
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Insert: Creates a composite type.
func (r *CompositeTypesService) Insert(project string, compositetype *CompositeType) *CompositeTypesInsertCall {
c := &CompositeTypesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.project = project
c.compositetype = compositetype
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *CompositeTypesInsertCall) Fields(s ...googleapi.Field) *CompositeTypesInsertCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *CompositeTypesInsertCall) Context(ctx context.Context) *CompositeTypesInsertCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *CompositeTypesInsertCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *CompositeTypesInsertCall) doRequest(alt string) (*http.Response, error) {