sourcerepo - ActiveState ActiveGo 1.8
...

Package sourcerepo

import "google.golang.org/api/sourcerepo/v1"
Overview
Index

Overview ▾

Package sourcerepo provides access to the Cloud Source Repositories API.

See https://cloud.google.com/source-repositories/docs/apis

Usage example:

import "google.golang.org/api/sourcerepo/v1"
...
sourcerepoService, err := sourcerepo.New(oauthHttpClient)

Index ▾

Constants
type AuditConfig
    func (s *AuditConfig) MarshalJSON() ([]byte, error)
type AuditLogConfig
    func (s *AuditLogConfig) MarshalJSON() ([]byte, error)
type Binding
    func (s *Binding) MarshalJSON() ([]byte, error)
type CloudAuditOptions
    func (s *CloudAuditOptions) MarshalJSON() ([]byte, error)
type Condition
    func (s *Condition) MarshalJSON() ([]byte, error)
type CounterOptions
    func (s *CounterOptions) MarshalJSON() ([]byte, error)
type DataAccessOptions
type Empty
type ListReposResponse
    func (s *ListReposResponse) MarshalJSON() ([]byte, error)
type LogConfig
    func (s *LogConfig) MarshalJSON() ([]byte, error)
type MirrorConfig
    func (s *MirrorConfig) MarshalJSON() ([]byte, error)
type Policy
    func (s *Policy) MarshalJSON() ([]byte, error)
type ProjectsReposCreateCall
    func (c *ProjectsReposCreateCall) Context(ctx context.Context) *ProjectsReposCreateCall
    func (c *ProjectsReposCreateCall) Do(opts ...googleapi.CallOption) (*Repo, error)
    func (c *ProjectsReposCreateCall) Fields(s ...googleapi.Field) *ProjectsReposCreateCall
    func (c *ProjectsReposCreateCall) Header() http.Header
type ProjectsReposDeleteCall
    func (c *ProjectsReposDeleteCall) Context(ctx context.Context) *ProjectsReposDeleteCall
    func (c *ProjectsReposDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error)
    func (c *ProjectsReposDeleteCall) Fields(s ...googleapi.Field) *ProjectsReposDeleteCall
    func (c *ProjectsReposDeleteCall) Header() http.Header
type ProjectsReposGetCall
    func (c *ProjectsReposGetCall) Context(ctx context.Context) *ProjectsReposGetCall
    func (c *ProjectsReposGetCall) Do(opts ...googleapi.CallOption) (*Repo, error)
    func (c *ProjectsReposGetCall) Fields(s ...googleapi.Field) *ProjectsReposGetCall
    func (c *ProjectsReposGetCall) Header() http.Header
    func (c *ProjectsReposGetCall) IfNoneMatch(entityTag string) *ProjectsReposGetCall
type ProjectsReposGetIamPolicyCall
    func (c *ProjectsReposGetIamPolicyCall) Context(ctx context.Context) *ProjectsReposGetIamPolicyCall
    func (c *ProjectsReposGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error)
    func (c *ProjectsReposGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsReposGetIamPolicyCall
    func (c *ProjectsReposGetIamPolicyCall) Header() http.Header
    func (c *ProjectsReposGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsReposGetIamPolicyCall
type ProjectsReposListCall
    func (c *ProjectsReposListCall) Context(ctx context.Context) *ProjectsReposListCall
    func (c *ProjectsReposListCall) Do(opts ...googleapi.CallOption) (*ListReposResponse, error)
    func (c *ProjectsReposListCall) Fields(s ...googleapi.Field) *ProjectsReposListCall
    func (c *ProjectsReposListCall) Header() http.Header
    func (c *ProjectsReposListCall) IfNoneMatch(entityTag string) *ProjectsReposListCall
    func (c *ProjectsReposListCall) PageSize(pageSize int64) *ProjectsReposListCall
    func (c *ProjectsReposListCall) PageToken(pageToken string) *ProjectsReposListCall
    func (c *ProjectsReposListCall) Pages(ctx context.Context, f func(*ListReposResponse) error) error
type ProjectsReposService
    func NewProjectsReposService(s *Service) *ProjectsReposService
    func (r *ProjectsReposService) Create(parent string, repo *Repo) *ProjectsReposCreateCall
    func (r *ProjectsReposService) Delete(name string) *ProjectsReposDeleteCall
    func (r *ProjectsReposService) Get(name string) *ProjectsReposGetCall
    func (r *ProjectsReposService) GetIamPolicy(resource string) *ProjectsReposGetIamPolicyCall
    func (r *ProjectsReposService) List(name string) *ProjectsReposListCall
    func (r *ProjectsReposService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsReposSetIamPolicyCall
    func (r *ProjectsReposService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsReposTestIamPermissionsCall
type ProjectsReposSetIamPolicyCall
    func (c *ProjectsReposSetIamPolicyCall) Context(ctx context.Context) *ProjectsReposSetIamPolicyCall
    func (c *ProjectsReposSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error)
    func (c *ProjectsReposSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsReposSetIamPolicyCall
    func (c *ProjectsReposSetIamPolicyCall) Header() http.Header
type ProjectsReposTestIamPermissionsCall
    func (c *ProjectsReposTestIamPermissionsCall) Context(ctx context.Context) *ProjectsReposTestIamPermissionsCall
    func (c *ProjectsReposTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error)
    func (c *ProjectsReposTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsReposTestIamPermissionsCall
    func (c *ProjectsReposTestIamPermissionsCall) Header() http.Header
type ProjectsService
    func NewProjectsService(s *Service) *ProjectsService
type Repo
    func (s *Repo) MarshalJSON() ([]byte, error)
type Rule
    func (s *Rule) MarshalJSON() ([]byte, error)
type Service
    func New(client *http.Client) (*Service, error)
type SetIamPolicyRequest
    func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error)
type TestIamPermissionsRequest
    func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error)
type TestIamPermissionsResponse
    func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error)

Package files

sourcerepo-gen.go

Constants

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 the contents of your source code repositories
    SourceReadOnlyScope = "https://www.googleapis.com/auth/source.read_only"

    // Manage the contents of your source code repositories
    SourceReadWriteScope = "https://www.googleapis.com/auth/source.read_write"
)

type AuditConfig

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 AuditConfig 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.
    // Next ID: 4
    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 (*AuditConfig) MarshalJSON

func (s *AuditConfig) MarshalJSON() ([]byte, error)

type AuditLogConfig

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.
    //
    // Possible values:
    //   "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this.
    //   "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy
    //   "DATA_WRITE" - Data writes. Example: CloudSQL Users create
    //   "DATA_READ" - Data reads. Example: CloudSQL Users list
    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 (*AuditLogConfig) MarshalJSON

func (s *AuditLogConfig) MarshalJSON() ([]byte, error)

type Binding

Binding: Associates `members` with a `role`.

type Binding struct {
    // 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` or `joe@example.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`.
    // Required
    Role string `json:"role,omitempty"`

    // ForceSendFields is a list of field names (e.g. "Members") 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. "Members") 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 (*Binding) MarshalJSON

func (s *Binding) MarshalJSON() ([]byte, error)

type CloudAuditOptions

CloudAuditOptions: Write a Cloud Audit log

type CloudAuditOptions struct {
    // LogName: The log_name to populate in the Cloud Audit Record.
    //
    // Possible values:
    //   "UNSPECIFIED_LOG_NAME" - Default. Should not be used.
    //   "ADMIN_ACTIVITY" - Corresponds to
    // "cloudaudit.googleapis.com/activity"
    //   "DATA_ACCESS" - Corresponds to
    // "cloudaudit.googleapis.com/data_access"
    LogName string `json:"logName,omitempty"`

    // ForceSendFields is a list of field names (e.g. "LogName") 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. "LogName") 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 (*CloudAuditOptions) MarshalJSON

func (s *CloudAuditOptions) MarshalJSON() ([]byte, error)

type Condition

Condition: A condition to be met.

type Condition struct {
    // Iam: Trusted attributes supplied by the IAM system.
    //
    // Possible values:
    //   "NO_ATTR" - Default non-attribute.
    //   "AUTHORITY" - Either principal or (if present) authority selector.
    //   "ATTRIBUTION" - The principal (even if an authority selector is
    // present), which
    // must only be used for attribution, not authorization.
    //   "APPROVER" - An approver (distinct from the requester) that has
    // authorized this
    // request.
    // When used with IN, the condition indicates that one of the
    // approvers
    // associated with the request matches the specified principal, or is
    // a
    // member of the specified group. Approvers can only grant
    // additional
    // access, and are thus only used in a strictly positive context
    // (e.g. ALLOW/IN or DENY/NOT_IN).
    // See: go/rpc-security-policy-dynamicauth.
    //   "JUSTIFICATION_TYPE" - What types of justifications have been
    // supplied with this request.
    // String values should match enum names from
    // tech.iam.JustificationType,
    // e.g. "MANUAL_STRING". It is not permitted to grant access based
    // on
    // the *absence* of a justification, so justification conditions can
    // only
    // be used in a "positive" context (e.g., ALLOW/IN or
    // DENY/NOT_IN).
    //
    // Multiple justifications, e.g., a Buganizer ID and a
    // manually-entered
    // reason, are normal and supported.
    Iam string `json:"iam,omitempty"`

    // Op: An operator to apply the subject with.
    //
    // Possible values:
    //   "NO_OP" - Default no-op.
    //   "EQUALS" - DEPRECATED. Use IN instead.
    //   "NOT_EQUALS" - DEPRECATED. Use NOT_IN instead.
    //   "IN" - The condition is true if the subject (or any element of it
    // if it is
    // a set) matches any of the supplied values.
    //   "NOT_IN" - The condition is true if the subject (or every element
    // of it if it is
    // a set) matches none of the supplied values.
    //   "DISCHARGED" - Subject is discharged
    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.
    //
    // Possible values:
    //   "NO_ATTR" - Default non-attribute type
    //   "REGION" - Region of the resource
    //   "SERVICE" - Service name
    //   "NAME" - Resource name
    //   "IP" - IP address of the caller
    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 (*Condition) MarshalJSON

func (s *Condition) MarshalJSON() ([]byte, error)

type CounterOptions

CounterOptions: Options for counters

type CounterOptions 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 (*CounterOptions) MarshalJSON

func (s *CounterOptions) MarshalJSON() ([]byte, error)

type DataAccessOptions

DataAccessOptions: Write a Data Access (Gin) log

type DataAccessOptions struct {
}

type Empty

Empty: A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:

service Foo {
  rpc Bar(google.protobuf.Empty) returns

(google.protobuf.Empty);

}

The JSON representation for `Empty` is empty JSON object `{}`.

type Empty struct {
    // ServerResponse contains the HTTP response code and headers from the
    // server.
    googleapi.ServerResponse `json:"-"`
}

type ListReposResponse

ListReposResponse: Response for ListRepos. The size is not set in the returned repositories.

type ListReposResponse struct {
    // NextPageToken: If non-empty, additional repositories exist within the
    // project. These
    // can be retrieved by including this value in the next
    // ListReposRequest's
    // page_token field.
    NextPageToken string `json:"nextPageToken,omitempty"`

    // Repos: The listed repos.
    Repos []*Repo `json:"repos,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 (*ListReposResponse) MarshalJSON

func (s *ListReposResponse) MarshalJSON() ([]byte, error)

type LogConfig

LogConfig: Specifies what kind of log the caller must write

type LogConfig struct {
    // CloudAudit: Cloud audit options.
    CloudAudit *CloudAuditOptions `json:"cloudAudit,omitempty"`

    // Counter: Counter options.
    Counter *CounterOptions `json:"counter,omitempty"`

    // DataAccess: Data access options.
    DataAccess *DataAccessOptions `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 (*LogConfig) MarshalJSON

func (s *LogConfig) MarshalJSON() ([]byte, error)

type MirrorConfig

MirrorConfig: Configuration to automatically mirror a repository from another hosting service, for example GitHub or BitBucket.

type MirrorConfig struct {
    // DeployKeyId: ID of the SSH deploy key at the other hosting
    // service.
    // Removing this key from the other service would deauthorize
    // Google Cloud Source Repositories from mirroring.
    DeployKeyId string `json:"deployKeyId,omitempty"`

    // Url: URL of the main repository at the other hosting service.
    Url string `json:"url,omitempty"`

    // WebhookId: ID of the webhook listening to updates to trigger
    // mirroring.
    // Removing this webook from the other hosting service will stop
    // Google Cloud Source Repositories from receiving notifications,
    // and thereby disabling mirroring.
    WebhookId string `json:"webhookId,omitempty"`

    // ForceSendFields is a list of field names (e.g. "DeployKeyId") 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. "DeployKeyId") 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 (*MirrorConfig) MarshalJSON

func (s *MirrorConfig) MarshalJSON() ([]byte, error)

type Policy

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.

**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"]
    }
  ]
}

For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam).

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`.
    // Multiple `bindings` must not be specified for the same
    // `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: Version of the `Policy`. The default version is 0.
    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 (*Policy) MarshalJSON

func (s *Policy) MarshalJSON() ([]byte, error)

type ProjectsReposCreateCall

type ProjectsReposCreateCall struct {
    // contains filtered or unexported fields
}

func (*ProjectsReposCreateCall) Context

func (c *ProjectsReposCreateCall) Context(ctx context.Context) *ProjectsReposCreateCall

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 (*ProjectsReposCreateCall) Do

func (c *ProjectsReposCreateCall) Do(opts ...googleapi.CallOption) (*Repo, error)

Do executes the "sourcerepo.projects.repos.create" call. Exactly one of *Repo or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *Repo.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 (*ProjectsReposCreateCall) Fields

func (c *ProjectsReposCreateCall) Fields(s ...googleapi.Field) *ProjectsReposCreateCall

Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.

func (*ProjectsReposCreateCall) Header

func (c *ProjectsReposCreateCall) Header() http.Header

Header returns an http.Header that can be modified by the caller to add HTTP headers to the request.

type ProjectsReposDeleteCall

type ProjectsReposDeleteCall struct {
    // contains filtered or unexported fields
}

func (*ProjectsReposDeleteCall) Context

func (c *ProjectsReposDeleteCall) Context(ctx context.Context) *ProjectsReposDeleteCall

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 (*ProjectsReposDeleteCall) Do

func (c *ProjectsReposDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, error)

Do executes the "sourcerepo.projects.repos.delete" call. Exactly one of *Empty or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *Empty.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 (*ProjectsReposDeleteCall) Fields

func (c *ProjectsReposDeleteCall) Fields(s ...googleapi.Field) *ProjectsReposDeleteCall

Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.

func (*ProjectsReposDeleteCall) Header

func (c *ProjectsReposDeleteCall) Header() http.Header

Header returns an http.Header that can be modified by the caller to add HTTP headers to the request.

type ProjectsReposGetCall

type ProjectsReposGetCall struct {
    // contains filtered or unexported fields
}

func (*ProjectsReposGetCall) Context

func (c *ProjectsReposGetCall) Context(ctx context.Context) *ProjectsReposGetCall

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 (*ProjectsReposGetCall) Do

func (c *ProjectsReposGetCall) Do(opts ...googleapi.CallOption) (*Repo, error)

Do executes the "sourcerepo.projects.repos.get" call. Exactly one of *Repo or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *Repo.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 (*ProjectsReposGetCall) Fields

func (c *ProjectsReposGetCall) Fields(s ...googleapi.Field) *ProjectsReposGetCall

Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.

func (*ProjectsReposGetCall) Header

func (c *ProjectsReposGetCall) Header() http.Header

Header returns an http.Header that can be modified by the caller to add HTTP headers to the request.

func (*ProjectsReposGetCall) IfNoneMatch

func (c *ProjectsReposGetCall) IfNoneMatch(entityTag string) *ProjectsReposGetCall

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.

type ProjectsReposGetIamPolicyCall

type ProjectsReposGetIamPolicyCall struct {
    // contains filtered or unexported fields
}

func (*ProjectsReposGetIamPolicyCall) Context

func (c *ProjectsReposGetIamPolicyCall) Context(ctx context.Context) *ProjectsReposGetIamPolicyCall

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 (*ProjectsReposGetIamPolicyCall) Do

func (c *ProjectsReposGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error)

Do executes the "sourcerepo.projects.repos.getIamPolicy" call. Exactly one of *Policy or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *Policy.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 (*ProjectsReposGetIamPolicyCall) Fields

func (c *ProjectsReposGetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsReposGetIamPolicyCall

Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.

func (*ProjectsReposGetIamPolicyCall) Header

func (c *ProjectsReposGetIamPolicyCall) Header() http.Header

Header returns an http.Header that can be modified by the caller to add HTTP headers to the request.

func (*ProjectsReposGetIamPolicyCall) IfNoneMatch

func (c *ProjectsReposGetIamPolicyCall) IfNoneMatch(entityTag string) *ProjectsReposGetIamPolicyCall

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.

type ProjectsReposListCall

type ProjectsReposListCall struct {
    // contains filtered or unexported fields
}

func (*ProjectsReposListCall) Context

func (c *ProjectsReposListCall) Context(ctx context.Context) *ProjectsReposListCall

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 (*ProjectsReposListCall) Do

func (c *ProjectsReposListCall) Do(opts ...googleapi.CallOption) (*ListReposResponse, error)

Do executes the "sourcerepo.projects.repos.list" call. Exactly one of *ListReposResponse or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *ListReposResponse.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 (*ProjectsReposListCall) Fields

func (c *ProjectsReposListCall) Fields(s ...googleapi.Field) *ProjectsReposListCall

Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.

func (*ProjectsReposListCall) Header

func (c *ProjectsReposListCall) Header() http.Header

Header returns an http.Header that can be modified by the caller to add HTTP headers to the request.

func (*ProjectsReposListCall) IfNoneMatch

func (c *ProjectsReposListCall) IfNoneMatch(entityTag string) *ProjectsReposListCall

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 (*ProjectsReposListCall) PageSize

func (c *ProjectsReposListCall) PageSize(pageSize int64) *ProjectsReposListCall

PageSize sets the optional parameter "pageSize": Maximum number of repositories to return; between 1 and 500. If not set or zero, defaults to 100 at the server.

func (*ProjectsReposListCall) PageToken

func (c *ProjectsReposListCall) PageToken(pageToken string) *ProjectsReposListCall

PageToken sets the optional parameter "pageToken": Resume listing repositories where a prior ListReposResponse left off. This is an opaque token that must be obtained from a recent, prior ListReposResponse's next_page_token field.

func (*ProjectsReposListCall) Pages

func (c *ProjectsReposListCall) Pages(ctx context.Context, f func(*ListReposResponse) error) error

Pages invokes f for each page of results. A non-nil error returned from f will halt the iteration. The provided context supersedes any context provided to the Context method.

type ProjectsReposService

type ProjectsReposService struct {
    // contains filtered or unexported fields
}

func NewProjectsReposService

func NewProjectsReposService(s *Service) *ProjectsReposService

func (*ProjectsReposService) Create

func (r *ProjectsReposService) Create(parent string, repo *Repo) *ProjectsReposCreateCall

Create: Creates a repo in the given project with the given name.

If the named repository already exists, `CreateRepo` returns `ALREADY_EXISTS`.

func (*ProjectsReposService) Delete

func (r *ProjectsReposService) Delete(name string) *ProjectsReposDeleteCall

Delete: Deletes a repo.

func (*ProjectsReposService) Get

func (r *ProjectsReposService) Get(name string) *ProjectsReposGetCall

Get: Returns information about a repo.

func (*ProjectsReposService) GetIamPolicy

func (r *ProjectsReposService) GetIamPolicy(resource string) *ProjectsReposGetIamPolicyCall

GetIamPolicy: Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

func (*ProjectsReposService) List

func (r *ProjectsReposService) List(name string) *ProjectsReposListCall

List: Returns all repos belonging to a project. The sizes of the repos are not set by ListRepos. To get the size of a repo, use GetRepo.

func (*ProjectsReposService) SetIamPolicy

func (r *ProjectsReposService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsReposSetIamPolicyCall

SetIamPolicy: Sets the access control policy on the specified resource. Replaces any existing policy.

func (*ProjectsReposService) TestIamPermissions

func (r *ProjectsReposService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsReposTestIamPermissionsCall

TestIamPermissions: Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.

type ProjectsReposSetIamPolicyCall

type ProjectsReposSetIamPolicyCall struct {
    // contains filtered or unexported fields
}

func (*ProjectsReposSetIamPolicyCall) Context

func (c *ProjectsReposSetIamPolicyCall) Context(ctx context.Context) *ProjectsReposSetIamPolicyCall

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 (*ProjectsReposSetIamPolicyCall) Do

func (c *ProjectsReposSetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, error)

Do executes the "sourcerepo.projects.repos.setIamPolicy" call. Exactly one of *Policy or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *Policy.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 (*ProjectsReposSetIamPolicyCall) Fields

func (c *ProjectsReposSetIamPolicyCall) Fields(s ...googleapi.Field) *ProjectsReposSetIamPolicyCall

Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.

func (*ProjectsReposSetIamPolicyCall) Header

func (c *ProjectsReposSetIamPolicyCall) Header() http.Header

Header returns an http.Header that can be modified by the caller to add HTTP headers to the request.

type ProjectsReposTestIamPermissionsCall

type ProjectsReposTestIamPermissionsCall struct {
    // contains filtered or unexported fields
}

func (*ProjectsReposTestIamPermissionsCall) Context

func (c *ProjectsReposTestIamPermissionsCall) Context(ctx context.Context) *ProjectsReposTestIamPermissionsCall

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 (*ProjectsReposTestIamPermissionsCall) Do

func (c *ProjectsReposTestIamPermissionsCall) Do(opts ...googleapi.CallOption) (*TestIamPermissionsResponse, error)

Do executes the "sourcerepo.projects.repos.testIamPermissions" call. Exactly one of *TestIamPermissionsResponse or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *TestIamPermissionsResponse.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 (*ProjectsReposTestIamPermissionsCall) Fields

func (c *ProjectsReposTestIamPermissionsCall) Fields(s ...googleapi.Field) *ProjectsReposTestIamPermissionsCall

Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.

func (*ProjectsReposTestIamPermissionsCall) Header

func (c *ProjectsReposTestIamPermissionsCall) Header() http.Header

Header returns an http.Header that can be modified by the caller to add HTTP headers to the request.

type ProjectsService

type ProjectsService struct {
    Repos *ProjectsReposService
    // contains filtered or unexported fields
}

func NewProjectsService

func NewProjectsService(s *Service) *ProjectsService

type Repo

Repo: A repository (or repo) is a Git repository storing versioned source content.

type Repo struct {
    // MirrorConfig: How this repository mirrors a repository managed by
    // another service.
    MirrorConfig *MirrorConfig `json:"mirrorConfig,omitempty"`

    // Name: Resource name of the repository, of the
    // form
    // `projects/<project>/repos/<repo>`.  The repo name may contain
    // slashes.
    // eg, `projects/myproject/repos/name/with/slash`
    Name string `json:"name,omitempty"`

    // Size: The disk usage of the repo, in bytes.
    // Only returned by GetRepo.
    Size int64 `json:"size,omitempty,string"`

    // Url: URL to clone the repository from Google Cloud Source
    // Repositories.
    Url string `json:"url,omitempty"`

    // ServerResponse contains the HTTP response code and headers from the
    // server.
    googleapi.ServerResponse `json:"-"`

    // ForceSendFields is a list of field names (e.g. "MirrorConfig") 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. "MirrorConfig") 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 (*Repo) MarshalJSON

func (s *Repo) MarshalJSON() ([]byte, error)

type Rule

Rule: A rule to be applied in a Policy.

type Rule struct {
    // Action: Required
    //
    // Possible values:
    //   "NO_ACTION" - Default no action.
    //   "ALLOW" - Matching 'Entries' grant access.
    //   "ALLOW_WITH_LOG" - Matching 'Entries' grant access and the caller
    // promises to log
    // the request per the returned log_configs.
    //   "DENY" - Matching 'Entries' deny access.
    //   "DENY_WITH_LOG" - Matching 'Entries' deny access and the caller
    // promises to log
    // the request per the returned log_configs.
    //   "LOG" - Matching 'Entries' tell IAM.Check callers to generate logs.
    Action string `json:"action,omitempty"`

    // Conditions: Additional restrictions that must be met
    Conditions []*Condition `json:"conditions,omitempty"`

    // Description: Human-readable description of the rule.
    Description string `json:"description,omitempty"`

    // In: If one or more 'in' clauses are specified, the rule matches
    // if
    // the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.
    In []string `json:"in,omitempty"`

    // LogConfig: The config returned to callers of tech.iam.IAM.CheckPolicy
    // for any entries
    // that match the LOG action.
    LogConfig []*LogConfig `json:"logConfig,omitempty"`

    // NotIn: If one or more 'not_in' clauses are specified, the rule
    // matches
    // if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
    // The format for in and not_in entries is the same as for members in
    // a
    // Binding (see google/iam/v1/policy.proto).
    NotIn []string `json:"notIn,omitempty"`

    // Permissions: A permission is a string of form '<service>.<resource
    // type>.<verb>'
    // (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 (*Rule) MarshalJSON

func (s *Rule) MarshalJSON() ([]byte, error)

type Service

type Service struct {
    BasePath  string // API endpoint base URL
    UserAgent string // optional additional User-Agent fragment

    Projects *ProjectsService
    // contains filtered or unexported fields
}

func New

func New(client *http.Client) (*Service, error)

type SetIamPolicyRequest

SetIamPolicyRequest: Request message for `SetIamPolicy` method.

type SetIamPolicyRequest struct {
    // 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 a
    // valid policy but certain Cloud Platform services (such as
    // Projects)
    // might reject them.
    Policy *Policy `json:"policy,omitempty"`

    // UpdateMask: OPTIONAL: A FieldMask specifying which fields of the
    // policy to modify. Only
    // the fields in the mask will be modified. If no mask is provided,
    // the
    // following default mask is used:
    // paths: "bindings, etag"
    // This field is only used by Cloud IAM.
    UpdateMask string `json:"updateMask,omitempty"`

    // ForceSendFields is a list of field names (e.g. "Policy") 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. "Policy") 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 (*SetIamPolicyRequest) MarshalJSON

func (s *SetIamPolicyRequest) MarshalJSON() ([]byte, error)

type TestIamPermissionsRequest

TestIamPermissionsRequest: Request message for `TestIamPermissions` method.

type TestIamPermissionsRequest struct {
    // Permissions: The set of permissions to check for the `resource`.
    // Permissions with
    // wildcards (such as '*' or 'storage.*') are not allowed. For
    // more
    // information see
    // [IAM
    // Overview](https://cloud.google.com/iam/docs/overview#permissions).
    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 (*TestIamPermissionsRequest) MarshalJSON

func (s *TestIamPermissionsRequest) MarshalJSON() ([]byte, error)

type TestIamPermissionsResponse

TestIamPermissionsResponse: Response message for `TestIamPermissions` method.

type TestIamPermissionsResponse 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 (*TestIamPermissionsResponse) MarshalJSON

func (s *TestIamPermissionsResponse) MarshalJSON() ([]byte, error)