iam

package
v0.20.1-0...-c73783b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 13, 2020 License: BSD-3-Clause Imports: 15 Imported by: 0

Documentation

Overview

Package iam provides access to the Identity and Access Management (IAM) API.

For product documentation, see: https://cloud.google.com/iam/

Creating a client

Usage example:

import "google.golang.org/api/iam/v1"
...
ctx := context.Background()
iamService, err := iam.NewService(ctx)

In this example, Google Application Default Credentials are used for authentication.

For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.

Other authentication options

To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:

iamService, err := iam.NewService(ctx, option.WithAPIKey("AIza..."))

To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:

config := &oauth2.Config{...}
// ...
token, err := config.Exchange(ctx, ...)
iamService, err := iam.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))

See https://godoc.org/google.golang.org/api/option/ for details on options.

Index

Constants

View Source
const (
	// View and manage your data across Google Cloud Platform services
	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
)

OAuth2 scopes used by this API.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdminAuditData

type AdminAuditData struct {
	// PermissionDelta: The permission_delta when when creating or updating
	// a Role.
	PermissionDelta *PermissionDelta `json:"permissionDelta,omitempty"`

	// ForceSendFields is a list of field names (e.g. "PermissionDelta") 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. "PermissionDelta") 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:"-"`
}

AdminAuditData: Audit log information specific to Cloud IAM admin APIs. This message is serialized as an `Any` type in the `ServiceData` message of an `AuditLog` message.

func (*AdminAuditData) MarshalJSON

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

type AuditConfig

type AuditConfig struct {
	// AuditLogConfigs: The configuration for logging of each type of
	// permission.
	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,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:"-"`
}

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:jose@example.com"
          ]
        },
        {
          "log_type": "DATA_WRITE",
        },
        {
          "log_type": "ADMIN_READ",
        }
      ]
    },
    {
      "service": "sampleservice.googleapis.com"
      "audit_log_configs": [
        {
          "log_type": "DATA_READ",
        },
        {
          "log_type": "DATA_WRITE",
          "exempted_members": [
            "user:aliya@example.com"
          ]
        }
      ]
    }
  ]
}

For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.

func (*AuditConfig) MarshalJSON

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

type AuditData

type AuditData struct {
	// PolicyDelta: Policy delta between the original policy and the newly
	// set policy.
	PolicyDelta *PolicyDelta `json:"policyDelta,omitempty"`

	// ForceSendFields is a list of field names (e.g. "PolicyDelta") 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. "PolicyDelta") 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:"-"`
}

AuditData: Audit log information specific to Cloud IAM. This message is serialized as an `Any` type in the `ServiceData` message of an `AuditLog` message.

func (*AuditData) MarshalJSON

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

type AuditLogConfig

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:"-"`
}

AuditLogConfig: Provides the configuration for logging a type of permissions. Example:

{
  "audit_log_configs": [
    {
      "log_type": "DATA_READ",
      "exempted_members": [
        "user:jose@example.com"
      ]
    },
    {
      "log_type": "DATA_WRITE",
    }
  ]
}

This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.

func (*AuditLogConfig) MarshalJSON

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

type AuditableService

type AuditableService struct {
	// Name: Public name of the service.
	// For example, the service name for Cloud IAM is 'iam.googleapis.com'.
	Name string `json:"name,omitempty"`

	// ForceSendFields is a list of field names (e.g. "Name") 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. "Name") 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:"-"`
}

AuditableService: Contains information about an auditable service.

func (*AuditableService) MarshalJSON

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

type Binding

type Binding struct {
	// Condition: 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@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`.
	//
	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
	// unique
	//    identifier) representing a user that has been recently deleted.
	// For
	//    example, `alice@example.com?uid=123456789012345678901`. If the
	// user is
	//    recovered, this value reverts to `user:{emailid}` and the
	// recovered user
	//    retains the role in the binding.
	//
	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
	// (plus
	//    unique identifier) representing a service account that has been
	// recently
	//    deleted. For example,
	//
	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
	//
	//    If the service account is undeleted, this value reverts to
	//    `serviceAccount:{emailid}` and the undeleted service account
	// retains the
	//    role in the binding.
	//
	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
	// unique
	//    identifier) representing a Google group that has been recently
	//    deleted. For example,
	// `admins@example.com?uid=123456789012345678901`. If
	//    the group is recovered, this value reverts to `group:{emailid}`
	// and the
	//    recovered group retains the role in the binding.
	//
	//
	// * `domain:{domain}`: The G Suite domain (primary) 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:"-"`
}

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

func (*Binding) MarshalJSON

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

type BindingDelta

type BindingDelta struct {
	// Action: The action that was performed on a Binding.
	// Required
	//
	// Possible values:
	//   "ACTION_UNSPECIFIED" - Unspecified.
	//   "ADD" - Addition of a Binding.
	//   "REMOVE" - Removal of a Binding.
	Action string `json:"action,omitempty"`

	// Condition: The condition that is associated with this binding.
	Condition *Expr `json:"condition,omitempty"`

	// Member: A single identity requesting access for a Cloud Platform
	// resource.
	// Follows the same format of Binding.members.
	// Required
	Member string `json:"member,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. "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:"-"`
}

BindingDelta: One delta entry for Binding. Each individual change (only one member in each entry) to a binding will be a separate entry.

func (*BindingDelta) MarshalJSON

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

type CreateRoleRequest

type CreateRoleRequest struct {
	// Role: The Role resource to create.
	Role *Role `json:"role,omitempty"`

	// RoleId: The role ID to use for this role.
	RoleId string `json:"roleId,omitempty"`

	// ForceSendFields is a list of field names (e.g. "Role") 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. "Role") 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:"-"`
}

CreateRoleRequest: The request to create a new role.

func (*CreateRoleRequest) MarshalJSON

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

type CreateServiceAccountKeyRequest

type CreateServiceAccountKeyRequest struct {
	// KeyAlgorithm: Which type of key and algorithm to use for the key.
	// The default is currently a 2K RSA key.  However this may change in
	// the
	// future.
	//
	// Possible values:
	//   "KEY_ALG_UNSPECIFIED" - An unspecified key algorithm.
	//   "KEY_ALG_RSA_1024" - 1k RSA Key.
	//   "KEY_ALG_RSA_2048" - 2k RSA Key.
	KeyAlgorithm string `json:"keyAlgorithm,omitempty"`

	// PrivateKeyType: The output format of the private key. The default
	// value is
	// `TYPE_GOOGLE_CREDENTIALS_FILE`, which is the Google Credentials
	// File
	// format.
	//
	// Possible values:
	//   "TYPE_UNSPECIFIED" - Unspecified. Equivalent to
	// `TYPE_GOOGLE_CREDENTIALS_FILE`.
	//   "TYPE_PKCS12_FILE" - PKCS12 format.
	// The password for the PKCS12 file is `notasecret`.
	// For more information, see https://tools.ietf.org/html/rfc7292.
	//   "TYPE_GOOGLE_CREDENTIALS_FILE" - Google Credentials File format.
	PrivateKeyType string `json:"privateKeyType,omitempty"`

	// ForceSendFields is a list of field names (e.g. "KeyAlgorithm") 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. "KeyAlgorithm") 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:"-"`
}

CreateServiceAccountKeyRequest: The service account key create request.

func (*CreateServiceAccountKeyRequest) MarshalJSON

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

type CreateServiceAccountRequest

type CreateServiceAccountRequest struct {
	// AccountId: Required. The account id that is used to generate the
	// service account
	// email address and a stable unique id. It is unique within a
	// project,
	// must be 6-30 characters long, and match the regular
	// expression
	// `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.
	AccountId string `json:"accountId,omitempty"`

	// ServiceAccount: The ServiceAccount resource to
	// create. Currently, only the following values are user
	// assignable:
	// `display_name` and `description`.
	ServiceAccount *ServiceAccount `json:"serviceAccount,omitempty"`

	// ForceSendFields is a list of field names (e.g. "AccountId") 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. "AccountId") 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:"-"`
}

CreateServiceAccountRequest: The service account create request.

func (*CreateServiceAccountRequest) MarshalJSON

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

type DisableServiceAccountRequest

type DisableServiceAccountRequest struct {
}

DisableServiceAccountRequest: The service account disable request.

type Empty

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

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 EnableServiceAccountRequest

type EnableServiceAccountRequest struct {
}

EnableServiceAccountRequest: The service account enable request.

type Expr

type Expr struct {
	// Description: 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.
	Expression string `json:"expression,omitempty"`

	// Location: 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: 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:"-"`
}

Expr: Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.

Example (Comparison):

title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"

Example (Equality):

title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner ==

request.auth.claims.email"

Example (Logic):

title: "Public documents"
description: "Determine whether the document should be publicly

visible"

expression: "document.type != 'private' && document.type !=

'internal'"

Example (Data Manipulation):

title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' +

string(document.create_time)"

The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.

func (*Expr) MarshalJSON

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

type IamPoliciesLintPolicyCall

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

func (*IamPoliciesLintPolicyCall) Context

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

Do executes the "iam.iamPolicies.lintPolicy" call. Exactly one of *LintPolicyResponse or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *LintPolicyResponse.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 (*IamPoliciesLintPolicyCall) Fields

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

func (*IamPoliciesLintPolicyCall) Header

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

type IamPoliciesQueryAuditableServicesCall

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

func (*IamPoliciesQueryAuditableServicesCall) Context

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

Do executes the "iam.iamPolicies.queryAuditableServices" call. Exactly one of *QueryAuditableServicesResponse or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *QueryAuditableServicesResponse.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 (*IamPoliciesQueryAuditableServicesCall) Fields

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

func (*IamPoliciesQueryAuditableServicesCall) Header

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

type IamPoliciesService

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

func NewIamPoliciesService

func NewIamPoliciesService(s *Service) *IamPoliciesService

func (*IamPoliciesService) LintPolicy

func (r *IamPoliciesService) LintPolicy(lintpolicyrequest *LintPolicyRequest) *IamPoliciesLintPolicyCall

LintPolicy: Lints a Cloud IAM policy object or its sub fields. Currently supports google.iam.v1.Binding.condition.

Each lint operation consists of multiple lint validation units. Each unit inspects the input object in regard to a particular linting aspect and issues a google.iam.admin.v1.LintResult disclosing the result.

The set of applicable validation units is determined by the Cloud IAM server and is not configurable.

Regardless of any lint issues or their severities, successful calls to `lintPolicy` return an HTTP 200 OK status code.

func (*IamPoliciesService) QueryAuditableServices

func (r *IamPoliciesService) QueryAuditableServices(queryauditableservicesrequest *QueryAuditableServicesRequest) *IamPoliciesQueryAuditableServicesCall

QueryAuditableServices: Returns a list of services that support service level audit logging configuration for the given resource.

type LintPolicyRequest

type LintPolicyRequest struct {
	// Condition: google.iam.v1.Binding.condition object to be linted.
	Condition *Expr `json:"condition,omitempty"`

	// FullResourceName: The full resource name of the policy this lint
	// request is about.
	//
	// The name follows the Google Cloud Platform (GCP) resource format.
	// For example, a GCP project with ID `my-project` will be
	// named
	// `//cloudresourcemanager.googleapis.com/projects/my-project`.
	//
	// Th
	// e resource name is not used to read the policy instance from the
	// Cloud
	// IAM database. The candidate policy for lint has to be provided in the
	// same
	// request object.
	FullResourceName string `json:"fullResourceName,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:"-"`
}

LintPolicyRequest: The request to lint a Cloud IAM policy object.

func (*LintPolicyRequest) MarshalJSON

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

type LintPolicyResponse

type LintPolicyResponse struct {
	// LintResults: List of lint results sorted by `severity` in descending
	// order.
	LintResults []*LintResult `json:"lintResults,omitempty"`

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

	// ForceSendFields is a list of field names (e.g. "LintResults") 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. "LintResults") 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:"-"`
}

LintPolicyResponse: The response of a lint operation. An empty response indicates the operation was able to fully execute and no lint issue was found.

func (*LintPolicyResponse) MarshalJSON

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

type LintResult

type LintResult struct {
	// DebugMessage: Human readable debug message associated with the issue.
	DebugMessage string `json:"debugMessage,omitempty"`

	// FieldName: The name of the field for which this lint result is
	// about.
	//
	// For nested messages `field_name` consists of names of the embedded
	// fields
	// separated by period character. The top-level qualifier is the input
	// object
	// to lint in the request. For example, the `field_name`
	// value
	// `condition.expression` identifies a lint result for the `expression`
	// field
	// of the provided condition.
	FieldName string `json:"fieldName,omitempty"`

	// Level: The validation unit level.
	//
	// Possible values:
	//   "LEVEL_UNSPECIFIED" - Level is unspecified.
	//   "CONDITION" - A validation unit which operates on an individual
	// condition within a
	// binding.
	Level string `json:"level,omitempty"`

	// LocationOffset: 0-based character position of problematic construct
	// within the object
	// identified by `field_name`. Currently, this is populated only for
	// condition
	// expression.
	LocationOffset int64 `json:"locationOffset,omitempty"`

	// Severity: The validation unit severity.
	//
	// Possible values:
	//   "SEVERITY_UNSPECIFIED" - Severity is unspecified.
	//   "ERROR" - A validation unit returns an error only for critical
	// issues. If an
	// attempt is made to set the problematic policy without rectifying
	// the
	// critical issue, it causes the `setPolicy` operation to fail.
	//   "WARNING" - Any issue which is severe enough but does not cause an
	// error.
	// For example, suspicious constructs in the input object will
	// not
	// necessarily fail `setPolicy`, but there is a high likelihood that
	// they
	// won't behave as expected during policy evaluation in
	// `checkPolicy`.
	// This includes the following common scenarios:
	//
	// - Unsatisfiable condition: Expired timestamp in date/time
	// condition.
	// - Ineffective condition: Condition on a <member, role> pair which is
	//   granted unconditionally in another binding of the same policy.
	//   "NOTICE" - Reserved for the issues that are not severe as
	// `ERROR`/`WARNING`, but
	// need special handling. For instance, messages about skipped
	// validation
	// units are issued as `NOTICE`.
	//   "INFO" - Any informative statement which is not severe enough to
	// raise
	// `ERROR`/`WARNING`/`NOTICE`, like auto-correction recommendations on
	// the
	// input content. Note that current version of the linter does not
	// utilize
	// `INFO`.
	//   "DEPRECATED" - Deprecated severity level.
	Severity string `json:"severity,omitempty"`

	// ValidationUnitName: The validation unit name, for
	// instance
	// "lintValidationUnits/ConditionComplexityCheck".
	ValidationUnitName string `json:"validationUnitName,omitempty"`

	// ForceSendFields is a list of field names (e.g. "DebugMessage") 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. "DebugMessage") 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:"-"`
}

LintResult: Structured response of a single validation unit.

func (*LintResult) MarshalJSON

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

type ListRolesResponse

type ListRolesResponse struct {
	// NextPageToken: To retrieve the next page of results,
	// set
	// `ListRolesRequest.page_token` to this value.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// Roles: The Roles defined on this resource.
	Roles []*Role `json:"roles,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:"-"`
}

ListRolesResponse: The response containing the roles defined under a resource.

func (*ListRolesResponse) MarshalJSON

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

type ListServiceAccountKeysResponse

type ListServiceAccountKeysResponse struct {
	// Keys: The public keys for the service account.
	Keys []*ServiceAccountKey `json:"keys,omitempty"`

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

	// ForceSendFields is a list of field names (e.g. "Keys") 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. "Keys") 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:"-"`
}

ListServiceAccountKeysResponse: The service account keys list response.

func (*ListServiceAccountKeysResponse) MarshalJSON

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

type ListServiceAccountsResponse

type ListServiceAccountsResponse struct {
	// Accounts: The list of matching service accounts.
	Accounts []*ServiceAccount `json:"accounts,omitempty"`

	// NextPageToken: To retrieve the next page of results,
	// set
	// ListServiceAccountsRequest.page_token
	// to this value.
	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. "Accounts") 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. "Accounts") 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:"-"`
}

ListServiceAccountsResponse: The service account list response.

func (*ListServiceAccountsResponse) MarshalJSON

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

type OrganizationsRolesCreateCall

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

func (*OrganizationsRolesCreateCall) Context

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

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

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

func (*OrganizationsRolesCreateCall) Header

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

type OrganizationsRolesDeleteCall

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

func (*OrganizationsRolesDeleteCall) Context

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

Do executes the "iam.organizations.roles.delete" call. Exactly one of *Role or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *Role.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 (*OrganizationsRolesDeleteCall) Etag

Etag sets the optional parameter "etag": Used to perform a consistent read-modify-write.

func (*OrganizationsRolesDeleteCall) Fields

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

func (*OrganizationsRolesDeleteCall) Header

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

type OrganizationsRolesGetCall

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

func (*OrganizationsRolesGetCall) Context

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

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

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

func (*OrganizationsRolesGetCall) Header

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

func (*OrganizationsRolesGetCall) IfNoneMatch

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

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 OrganizationsRolesListCall

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

func (*OrganizationsRolesListCall) Context

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

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

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

func (*OrganizationsRolesListCall) Header

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

func (*OrganizationsRolesListCall) IfNoneMatch

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

PageSize sets the optional parameter "pageSize": Optional limit on the number of roles to include in the response.

func (*OrganizationsRolesListCall) PageToken

PageToken sets the optional parameter "pageToken": Optional pagination token returned in an earlier ListRolesResponse.

func (*OrganizationsRolesListCall) Pages

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

func (*OrganizationsRolesListCall) ShowDeleted

func (c *OrganizationsRolesListCall) ShowDeleted(showDeleted bool) *OrganizationsRolesListCall

ShowDeleted sets the optional parameter "showDeleted": Include Roles that have been deleted.

func (*OrganizationsRolesListCall) View

View sets the optional parameter "view": Optional view for the returned Role objects. When `FULL` is specified, the `includedPermissions` field is returned, which includes a list of all permissions in the role. The default value is `BASIC`, which does not return the `includedPermissions` field.

Possible values:

"BASIC"
"FULL"

type OrganizationsRolesPatchCall

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

func (*OrganizationsRolesPatchCall) Context

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

Do executes the "iam.organizations.roles.patch" call. Exactly one of *Role or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *Role.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 (*OrganizationsRolesPatchCall) Fields

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

func (*OrganizationsRolesPatchCall) Header

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

func (*OrganizationsRolesPatchCall) UpdateMask

UpdateMask sets the optional parameter "updateMask": A mask describing which fields in the Role have changed.

type OrganizationsRolesService

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

func NewOrganizationsRolesService

func NewOrganizationsRolesService(s *Service) *OrganizationsRolesService

func (*OrganizationsRolesService) Create

func (r *OrganizationsRolesService) Create(parent string, createrolerequest *CreateRoleRequest) *OrganizationsRolesCreateCall

Create: Creates a new Role.

func (*OrganizationsRolesService) Delete

Delete: Soft deletes a role. The role is suspended and cannot be used to create new IAM Policy Bindings. The Role will not be included in `ListRoles()` unless `show_deleted` is set in the `ListRolesRequest`. The Role contains the deleted boolean set. Existing Bindings remains, but are inactive. The Role can be undeleted within 7 days. After 7 days the Role is deleted and all Bindings associated with the role are removed.

func (*OrganizationsRolesService) Get

Get: Gets a Role definition.

func (*OrganizationsRolesService) List

List: Lists the Roles defined on a resource.

func (*OrganizationsRolesService) Patch

Patch: Updates a Role definition.

func (*OrganizationsRolesService) Undelete

Undelete: Undelete a Role, bringing it back in its previous state.

type OrganizationsRolesUndeleteCall

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

func (*OrganizationsRolesUndeleteCall) Context

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

Do executes the "iam.organizations.roles.undelete" call. Exactly one of *Role or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *Role.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 (*OrganizationsRolesUndeleteCall) Fields

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

func (*OrganizationsRolesUndeleteCall) Header

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

type OrganizationsService

type OrganizationsService struct {
	Roles *OrganizationsRolesService
	// contains filtered or unexported fields
}

func NewOrganizationsService

func NewOrganizationsService(s *Service) *OrganizationsService

type PatchServiceAccountRequest

type PatchServiceAccountRequest struct {
	ServiceAccount *ServiceAccount `json:"serviceAccount,omitempty"`

	UpdateMask string `json:"updateMask,omitempty"`

	// ForceSendFields is a list of field names (e.g. "ServiceAccount") 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. "ServiceAccount") 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:"-"`
}

PatchServiceAccountRequest: The patch service account request.

func (*PatchServiceAccountRequest) MarshalJSON

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

type Permission

type Permission struct {
	// ApiDisabled: The service API associated with the permission is not
	// enabled.
	ApiDisabled bool `json:"apiDisabled,omitempty"`

	// CustomRolesSupportLevel: The current custom role support level.
	//
	// Possible values:
	//   "SUPPORTED" - Permission is fully supported for custom role use.
	//   "TESTING" - Permission is being tested to check custom role
	// compatibility.
	//   "NOT_SUPPORTED" - Permission is not supported for custom role use.
	CustomRolesSupportLevel string `json:"customRolesSupportLevel,omitempty"`

	// Description: A brief description of what this Permission is used
	// for.
	// This permission can ONLY be used in predefined roles.
	Description string `json:"description,omitempty"`

	// Name: The name of this Permission.
	Name string `json:"name,omitempty"`

	OnlyInPredefinedRoles bool `json:"onlyInPredefinedRoles,omitempty"`

	// PrimaryPermission: The preferred name for this permission. If
	// present, then this permission is
	// an alias of, and equivalent to, the listed primary_permission.
	PrimaryPermission string `json:"primaryPermission,omitempty"`

	// Stage: The current launch stage of the permission.
	//
	// Possible values:
	//   "ALPHA" - The permission is currently in an alpha phase.
	//   "BETA" - The permission is currently in a beta phase.
	//   "GA" - The permission is generally available.
	//   "DEPRECATED" - The permission is being deprecated.
	Stage string `json:"stage,omitempty"`

	// Title: The title of this Permission.
	Title string `json:"title,omitempty"`

	// ForceSendFields is a list of field names (e.g. "ApiDisabled") 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. "ApiDisabled") 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:"-"`
}

Permission: A permission which can be included by a role.

func (*Permission) MarshalJSON

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

type PermissionDelta

type PermissionDelta struct {
	// AddedPermissions: Added permissions.
	AddedPermissions []string `json:"addedPermissions,omitempty"`

	// RemovedPermissions: Removed permissions.
	RemovedPermissions []string `json:"removedPermissions,omitempty"`

	// ForceSendFields is a list of field names (e.g. "AddedPermissions") 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. "AddedPermissions") 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:"-"`
}

PermissionDelta: A PermissionDelta message to record the added_permissions and removed_permissions inside a role.

func (*PermissionDelta) MarshalJSON

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

type PermissionsQueryTestablePermissionsCall

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

func (*PermissionsQueryTestablePermissionsCall) Context

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

Do executes the "iam.permissions.queryTestablePermissions" call. Exactly one of *QueryTestablePermissionsResponse or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *QueryTestablePermissionsResponse.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 (*PermissionsQueryTestablePermissionsCall) Fields

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

func (*PermissionsQueryTestablePermissionsCall) Header

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

func (*PermissionsQueryTestablePermissionsCall) Pages

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 PermissionsService

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

func NewPermissionsService

func NewPermissionsService(s *Service) *PermissionsService

func (*PermissionsService) QueryTestablePermissions

func (r *PermissionsService) QueryTestablePermissions(querytestablepermissionsrequest *QueryTestablePermissionsRequest) *PermissionsQueryTestablePermissionsCall

QueryTestablePermissions: Lists the permissions testable on a resource. A permission is testable if it can be tested for an identity on a resource.

type Policy

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`. Optionally, may
	// specify a
	// `condition` that determines how and when the `bindings` are applied.
	// Each
	// of the `bindings` must contain at least one member.
	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.
	//
	// **Important:** If you use IAM Conditions, you must include the `etag`
	// field
	// whenever you call `setIamPolicy`. If you omit this field, then IAM
	// allows
	// you to overwrite a version `3` policy with a version `1` policy, and
	// all of
	// the conditions in the version `3` policy are lost.
	Etag string `json:"etag,omitempty"`

	// Version: Specifies the format of the policy.
	//
	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
	// value
	// are rejected.
	//
	// Any operation that affects conditional role bindings must specify
	// version
	// `3`. This requirement applies to the following operations:
	//
	// * Getting a policy that includes a conditional role binding
	// * Adding a conditional role binding to a policy
	// * Changing a conditional role binding in a policy
	// * Removing any role binding, with or without a condition, from a
	// policy
	//   that includes conditions
	//
	// **Important:** If you use IAM Conditions, you must include the `etag`
	// field
	// whenever you call `setIamPolicy`. If you omit this field, then IAM
	// allows
	// you to overwrite a version `3` policy with a version `1` policy, and
	// all of
	// the conditions in the version `3` policy are lost.
	//
	// If a policy does not include any conditions, operations on that
	// policy may
	// specify any valid version or leave the field unset.
	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:"-"`
}

Policy: An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources.

A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role.

Optionally, a `binding` can specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both.

**JSON example:**

{
  "bindings": [
    {
      "role": "roles/resourcemanager.organizationAdmin",
      "members": [
        "user:mike@example.com",
        "group:admins@example.com",
        "domain:google.com",

"serviceAccount:my-project-id@appspot.gserviceaccount.com"

  ]
},
{
  "role": "roles/resourcemanager.organizationViewer",
  "members": ["user:eve@example.com"],
  "condition": {
    "title": "expirable access",
    "description": "Does not grant access after Sep 2020",
    "expression": "request.time <

timestamp('2020-10-01T00:00:00.000Z')",

      }
    }
  ],
  "etag": "BwWWja0YfJA=",
  "version": 3
}

**YAML example:**

bindings:
- members:
  - user:mike@example.com
  - group:admins@example.com
  - domain:google.com
  - serviceAccount:my-project-id@appspot.gserviceaccount.com
  role: roles/resourcemanager.organizationAdmin
- members:
  - user:eve@example.com
  role: roles/resourcemanager.organizationViewer
  condition:
    title: expirable access
    description: Does not grant access after Sep 2020
    expression: request.time <

timestamp('2020-10-01T00:00:00.000Z')

  • etag: BwWWja0YfJA=
  • version: 3

For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).

func (*Policy) MarshalJSON

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

type PolicyDelta

type PolicyDelta struct {
	// BindingDeltas: The delta for Bindings between two policies.
	BindingDeltas []*BindingDelta `json:"bindingDeltas,omitempty"`

	// ForceSendFields is a list of field names (e.g. "BindingDeltas") 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. "BindingDeltas") 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:"-"`
}

PolicyDelta: The difference delta between two policies.

func (*PolicyDelta) MarshalJSON

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

type ProjectsRolesCreateCall

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

func (*ProjectsRolesCreateCall) Context

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

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

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

func (*ProjectsRolesCreateCall) Header

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

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

type ProjectsRolesDeleteCall

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

func (*ProjectsRolesDeleteCall) Context

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

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

Etag sets the optional parameter "etag": Used to perform a consistent read-modify-write.

func (*ProjectsRolesDeleteCall) Fields

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

func (*ProjectsRolesDeleteCall) Header

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

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

type ProjectsRolesGetCall

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

func (*ProjectsRolesGetCall) Context

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

func (c *ProjectsRolesGetCall) Do(opts ...googleapi.CallOption) (*Role, error)

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

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

func (*ProjectsRolesGetCall) Header

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

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

func (*ProjectsRolesGetCall) IfNoneMatch

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

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 ProjectsRolesListCall

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

func (*ProjectsRolesListCall) Context

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

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

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

func (*ProjectsRolesListCall) Header

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

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

func (*ProjectsRolesListCall) IfNoneMatch

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

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

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

PageSize sets the optional parameter "pageSize": Optional limit on the number of roles to include in the response.

func (*ProjectsRolesListCall) PageToken

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

PageToken sets the optional parameter "pageToken": Optional pagination token returned in an earlier ListRolesResponse.

func (*ProjectsRolesListCall) Pages

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

func (*ProjectsRolesListCall) ShowDeleted

func (c *ProjectsRolesListCall) ShowDeleted(showDeleted bool) *ProjectsRolesListCall

ShowDeleted sets the optional parameter "showDeleted": Include Roles that have been deleted.

func (*ProjectsRolesListCall) View

View sets the optional parameter "view": Optional view for the returned Role objects. When `FULL` is specified, the `includedPermissions` field is returned, which includes a list of all permissions in the role. The default value is `BASIC`, which does not return the `includedPermissions` field.

Possible values:

"BASIC"
"FULL"

type ProjectsRolesPatchCall

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

func (*ProjectsRolesPatchCall) Context

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

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

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

func (*ProjectsRolesPatchCall) Header

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

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

func (*ProjectsRolesPatchCall) UpdateMask

func (c *ProjectsRolesPatchCall) UpdateMask(updateMask string) *ProjectsRolesPatchCall

UpdateMask sets the optional parameter "updateMask": A mask describing which fields in the Role have changed.

type ProjectsRolesService

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

func NewProjectsRolesService

func NewProjectsRolesService(s *Service) *ProjectsRolesService

func (*ProjectsRolesService) Create

func (r *ProjectsRolesService) Create(parent string, createrolerequest *CreateRoleRequest) *ProjectsRolesCreateCall

Create: Creates a new Role.

func (*ProjectsRolesService) Delete

Delete: Soft deletes a role. The role is suspended and cannot be used to create new IAM Policy Bindings. The Role will not be included in `ListRoles()` unless `show_deleted` is set in the `ListRolesRequest`. The Role contains the deleted boolean set. Existing Bindings remains, but are inactive. The Role can be undeleted within 7 days. After 7 days the Role is deleted and all Bindings associated with the role are removed.

func (*ProjectsRolesService) Get

Get: Gets a Role definition.

func (*ProjectsRolesService) List

List: Lists the Roles defined on a resource.

func (*ProjectsRolesService) Patch

func (r *ProjectsRolesService) Patch(name string, role *Role) *ProjectsRolesPatchCall

Patch: Updates a Role definition.

func (*ProjectsRolesService) Undelete

func (r *ProjectsRolesService) Undelete(name string, undeleterolerequest *UndeleteRoleRequest) *ProjectsRolesUndeleteCall

Undelete: Undelete a Role, bringing it back in its previous state.

type ProjectsRolesUndeleteCall

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

func (*ProjectsRolesUndeleteCall) Context

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

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

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

func (*ProjectsRolesUndeleteCall) 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 {
	Roles *ProjectsRolesService

	ServiceAccounts *ProjectsServiceAccountsService
	// contains filtered or unexported fields
}

func NewProjectsService

func NewProjectsService(s *Service) *ProjectsService

type ProjectsServiceAccountsCreateCall

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

func (*ProjectsServiceAccountsCreateCall) Context

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

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

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

func (*ProjectsServiceAccountsCreateCall) Header

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

type ProjectsServiceAccountsDeleteCall

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

func (*ProjectsServiceAccountsDeleteCall) Context

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

Do executes the "iam.projects.serviceAccounts.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 (*ProjectsServiceAccountsDeleteCall) Fields

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

func (*ProjectsServiceAccountsDeleteCall) Header

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

type ProjectsServiceAccountsDisableCall

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

func (*ProjectsServiceAccountsDisableCall) Context

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

Do executes the "iam.projects.serviceAccounts.disable" 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 (*ProjectsServiceAccountsDisableCall) Fields

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

func (*ProjectsServiceAccountsDisableCall) Header

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

type ProjectsServiceAccountsEnableCall

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

func (*ProjectsServiceAccountsEnableCall) Context

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

Do executes the "iam.projects.serviceAccounts.enable" 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 (*ProjectsServiceAccountsEnableCall) Fields

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

func (*ProjectsServiceAccountsEnableCall) Header

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

type ProjectsServiceAccountsGetCall

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

func (*ProjectsServiceAccountsGetCall) Context

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

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

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

func (*ProjectsServiceAccountsGetCall) Header

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

func (*ProjectsServiceAccountsGetCall) IfNoneMatch

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 ProjectsServiceAccountsGetIamPolicyCall

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

func (*ProjectsServiceAccountsGetIamPolicyCall) Context

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

Do executes the "iam.projects.serviceAccounts.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 (*ProjectsServiceAccountsGetIamPolicyCall) Fields

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

func (*ProjectsServiceAccountsGetIamPolicyCall) Header

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

func (*ProjectsServiceAccountsGetIamPolicyCall) OptionsRequestedPolicyVersion

func (c *ProjectsServiceAccountsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsServiceAccountsGetIamPolicyCall

OptionsRequestedPolicyVersion sets the optional parameter "options.requestedPolicyVersion": The policy format version to be returned.

Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected.

Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset.

type ProjectsServiceAccountsKeysCreateCall

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

func (*ProjectsServiceAccountsKeysCreateCall) Context

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

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

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

func (*ProjectsServiceAccountsKeysCreateCall) Header

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

type ProjectsServiceAccountsKeysDeleteCall

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

func (*ProjectsServiceAccountsKeysDeleteCall) Context

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

Do executes the "iam.projects.serviceAccounts.keys.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 (*ProjectsServiceAccountsKeysDeleteCall) Fields

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

func (*ProjectsServiceAccountsKeysDeleteCall) Header

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

type ProjectsServiceAccountsKeysGetCall

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

func (*ProjectsServiceAccountsKeysGetCall) Context

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

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

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

func (*ProjectsServiceAccountsKeysGetCall) Header

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

func (*ProjectsServiceAccountsKeysGetCall) IfNoneMatch

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 (*ProjectsServiceAccountsKeysGetCall) PublicKeyType

PublicKeyType sets the optional parameter "publicKeyType": The output format of the public key requested. X509_PEM is the default output format.

Possible values:

"TYPE_NONE"
"TYPE_X509_PEM_FILE"
"TYPE_RAW_PUBLIC_KEY"

type ProjectsServiceAccountsKeysListCall

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

func (*ProjectsServiceAccountsKeysListCall) Context

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

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

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

func (*ProjectsServiceAccountsKeysListCall) Header

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

func (*ProjectsServiceAccountsKeysListCall) IfNoneMatch

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 (*ProjectsServiceAccountsKeysListCall) KeyTypes

KeyTypes sets the optional parameter "keyTypes": Filters the types of keys the user wants to include in the list response. Duplicate key types are not allowed. If no key type is provided, all keys are returned.

Possible values:

"KEY_TYPE_UNSPECIFIED"
"USER_MANAGED"
"SYSTEM_MANAGED"

type ProjectsServiceAccountsKeysService

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

func NewProjectsServiceAccountsKeysService

func NewProjectsServiceAccountsKeysService(s *Service) *ProjectsServiceAccountsKeysService

func (*ProjectsServiceAccountsKeysService) Create

Create: Creates a ServiceAccountKey and returns it.

func (*ProjectsServiceAccountsKeysService) Delete

Delete: Deletes a ServiceAccountKey.

func (*ProjectsServiceAccountsKeysService) Get

Get: Gets the ServiceAccountKey by key id.

func (*ProjectsServiceAccountsKeysService) List

List: Lists ServiceAccountKeys.

func (*ProjectsServiceAccountsKeysService) Upload

Upload: Upload public key for a given service account. This rpc will create a ServiceAccountKey that has the provided public key and returns it.

type ProjectsServiceAccountsKeysUploadCall

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

func (*ProjectsServiceAccountsKeysUploadCall) Context

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

Do executes the "iam.projects.serviceAccounts.keys.upload" call. Exactly one of *ServiceAccountKey or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *ServiceAccountKey.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 (*ProjectsServiceAccountsKeysUploadCall) Fields

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

func (*ProjectsServiceAccountsKeysUploadCall) Header

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

type ProjectsServiceAccountsListCall

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

func (*ProjectsServiceAccountsListCall) Context

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

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

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

func (*ProjectsServiceAccountsListCall) Header

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

func (*ProjectsServiceAccountsListCall) IfNoneMatch

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

PageSize sets the optional parameter "pageSize": Optional limit on the number of service accounts to include in the response. Further accounts can subsequently be obtained by including the ListServiceAccountsResponse.next_page_token in a subsequent request.

func (*ProjectsServiceAccountsListCall) PageToken

PageToken sets the optional parameter "pageToken": Optional pagination token returned in an earlier ListServiceAccountsResponse.next_page_token.

func (*ProjectsServiceAccountsListCall) Pages

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 ProjectsServiceAccountsPatchCall

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

func (*ProjectsServiceAccountsPatchCall) Context

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

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

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

func (*ProjectsServiceAccountsPatchCall) Header

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

type ProjectsServiceAccountsService

type ProjectsServiceAccountsService struct {
	Keys *ProjectsServiceAccountsKeysService
	// contains filtered or unexported fields
}

func NewProjectsServiceAccountsService

func NewProjectsServiceAccountsService(s *Service) *ProjectsServiceAccountsService

func (*ProjectsServiceAccountsService) Create

Create: Creates a ServiceAccount and returns it.

func (*ProjectsServiceAccountsService) Delete

Delete: Deletes a ServiceAccount.

func (*ProjectsServiceAccountsService) Disable

Disable: DisableServiceAccount is currently in the alpha launch stage.

Disables a ServiceAccount, which immediately prevents the service account from authenticating and gaining access to APIs.

Disabled service accounts can be safely restored by using EnableServiceAccount at any point. Deleted service accounts cannot be restored using this method.

Disabling a service account that is bound to VMs, Apps, Functions, or other jobs will cause those jobs to lose access to resources if they are using the disabled service account.

To improve reliability of your services and avoid unexpected outages, it is recommended to first disable a service account rather than delete it. After disabling the service account, wait at least 24 hours to verify there are no unintended consequences, and then delete the service account.

func (*ProjectsServiceAccountsService) Enable

Enable: EnableServiceAccount is currently in the alpha launch stage.

Restores a disabled ServiceAccount
that has been manually disabled by using DisableServiceAccount.

Service

accounts that have been disabled by other means or for other

reasons,

such as abuse, cannot be restored using this method.

EnableServiceAccount will have no effect on a service account that

is

not disabled.  Enabling an already enabled service account will have

no

effect.

func (*ProjectsServiceAccountsService) Get

Get: Gets a ServiceAccount.

func (*ProjectsServiceAccountsService) GetIamPolicy

GetIamPolicy: Returns the Cloud IAM access control policy for a ServiceAccount.

Note: Service accounts are both [resources and identities](/iam/docs/service-accounts#service_account_permissions ). This method treats the service account as a resource. It returns the Cloud IAM policy that reflects what members have access to the service account.

This method does not return what resources the service account has access to. To see if a service account has access to a resource, call the `getIamPolicy` method on the target resource. For example, to view grants for a project, call the [projects.getIamPolicy](/resource-manager/reference/rest/v1/projec ts/getIamPolicy) method.

func (*ProjectsServiceAccountsService) List

List: Lists ServiceAccounts for a project.

func (*ProjectsServiceAccountsService) Patch

Patch: Patches a ServiceAccount.

Currently, only the following fields are updatable: `display_name` and `description`.

Only fields specified in the request are guaranteed to be returned in the response. Other fields in the response may be empty.

Note: The field mask is required.

func (*ProjectsServiceAccountsService) SetIamPolicy

SetIamPolicy: Sets the Cloud IAM access control policy for a ServiceAccount.

Note: Service accounts are both [resources and identities](/iam/docs/service-accounts#service_account_permissions ). This method treats the service account as a resource. Use it to grant members access to the service account, such as when they need to impersonate it.

This method does not grant the service account access to other resources, such as projects. To grant a service account access to resources, include the service account in the Cloud IAM policy for the desired resource, then call the appropriate `setIamPolicy` method on the target resource. For example, to grant a service account access to a project, call the [projects.setIamPolicy](/resource-manager/reference/rest/v1/projec ts/setIamPolicy) method.

func (*ProjectsServiceAccountsService) SignBlob

SignBlob: **Note**: This method is in the process of being deprecated. Call the [`signBlob()`](/iam/credentials/reference/rest/v1/projects.service Accounts/signBlob) method of the Cloud IAM Service Account Credentials API instead.

Signs a blob using a service account's system-managed private key.

func (*ProjectsServiceAccountsService) SignJwt

SignJwt: **Note**: This method is in the process of being deprecated. Call the [`signJwt()`](/iam/credentials/reference/rest/v1/projects.serviceA ccounts/signJwt) method of the Cloud IAM Service Account Credentials API instead.

Signs a JWT using a service account's system-managed private key.

If no expiry time (`exp`) is provided in the `SignJwtRequest`, IAM sets an an expiry time of one hour by default. If you request an expiry time of more than one hour, the request will fail.

func (*ProjectsServiceAccountsService) TestIamPermissions

func (r *ProjectsServiceAccountsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsServiceAccountsTestIamPermissionsCall

TestIamPermissions: Tests the specified permissions against the IAM access control policy for a ServiceAccount.

func (*ProjectsServiceAccountsService) Undelete

Undelete: Restores a deleted ServiceAccount. This is to be used as an action of last resort. A service account may not always be restorable.

func (*ProjectsServiceAccountsService) Update

Update: Note: This method is in the process of being deprecated. Use PatchServiceAccount instead.

Updates a ServiceAccount.

Currently, only the following fields are updatable: `display_name` and `description`.

type ProjectsServiceAccountsSetIamPolicyCall

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

func (*ProjectsServiceAccountsSetIamPolicyCall) Context

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

Do executes the "iam.projects.serviceAccounts.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 (*ProjectsServiceAccountsSetIamPolicyCall) Fields

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

func (*ProjectsServiceAccountsSetIamPolicyCall) Header

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

type ProjectsServiceAccountsSignBlobCall

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

func (*ProjectsServiceAccountsSignBlobCall) Context

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

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

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

func (*ProjectsServiceAccountsSignBlobCall) Header

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

type ProjectsServiceAccountsSignJwtCall

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

func (*ProjectsServiceAccountsSignJwtCall) Context

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

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

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

func (*ProjectsServiceAccountsSignJwtCall) Header

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

type ProjectsServiceAccountsTestIamPermissionsCall

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

func (*ProjectsServiceAccountsTestIamPermissionsCall) Context

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

Do executes the "iam.projects.serviceAccounts.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 (*ProjectsServiceAccountsTestIamPermissionsCall) Fields

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

func (*ProjectsServiceAccountsTestIamPermissionsCall) Header

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

type ProjectsServiceAccountsUndeleteCall

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

func (*ProjectsServiceAccountsUndeleteCall) Context

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

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

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

func (*ProjectsServiceAccountsUndeleteCall) Header

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

type ProjectsServiceAccountsUpdateCall

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

func (*ProjectsServiceAccountsUpdateCall) Context

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

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

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

func (*ProjectsServiceAccountsUpdateCall) Header

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

type QueryAuditableServicesRequest

type QueryAuditableServicesRequest struct {
	// FullResourceName: Required. The full resource name to query from the
	// list of auditable
	// services.
	//
	// The name follows the Google Cloud Platform resource format.
	// For example, a Cloud Platform project with id `my-project` will be
	// named
	// `//cloudresourcemanager.googleapis.com/projects/my-project`.
	FullResourceName string `json:"fullResourceName,omitempty"`

	// ForceSendFields is a list of field names (e.g. "FullResourceName") 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. "FullResourceName") 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:"-"`
}

QueryAuditableServicesRequest: A request to get the list of auditable services for a resource.

func (*QueryAuditableServicesRequest) MarshalJSON

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

type QueryAuditableServicesResponse

type QueryAuditableServicesResponse struct {
	// Services: The auditable services for a resource.
	Services []*AuditableService `json:"services,omitempty"`

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

	// ForceSendFields is a list of field names (e.g. "Services") 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. "Services") 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:"-"`
}

QueryAuditableServicesResponse: A response containing a list of auditable services for a resource.

func (*QueryAuditableServicesResponse) MarshalJSON

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

type QueryGrantableRolesRequest

type QueryGrantableRolesRequest struct {
	// FullResourceName: Required. The full resource name to query from the
	// list of grantable roles.
	//
	// The name follows the Google Cloud Platform resource format.
	// For example, a Cloud Platform project with id `my-project` will be
	// named
	// `//cloudresourcemanager.googleapis.com/projects/my-project`.
	FullResourceName string `json:"fullResourceName,omitempty"`

	// PageSize: Optional limit on the number of roles to include in the
	// response.
	PageSize int64 `json:"pageSize,omitempty"`

	// PageToken: Optional pagination token returned in an
	// earlier
	// QueryGrantableRolesResponse.
	PageToken string `json:"pageToken,omitempty"`

	// Possible values:
	//   "BASIC" - Omits the `included_permissions` field.
	// This is the default value.
	//   "FULL" - Returns all fields.
	View string `json:"view,omitempty"`

	// ForceSendFields is a list of field names (e.g. "FullResourceName") 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. "FullResourceName") 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:"-"`
}

QueryGrantableRolesRequest: The grantable role query request.

func (*QueryGrantableRolesRequest) MarshalJSON

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

type QueryGrantableRolesResponse

type QueryGrantableRolesResponse struct {
	// NextPageToken: To retrieve the next page of results,
	// set
	// `QueryGrantableRolesRequest.page_token` to this value.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// Roles: The list of matching roles.
	Roles []*Role `json:"roles,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:"-"`
}

QueryGrantableRolesResponse: The grantable role query response.

func (*QueryGrantableRolesResponse) MarshalJSON

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

type QueryTestablePermissionsRequest

type QueryTestablePermissionsRequest struct {
	// FullResourceName: Required. The full resource name to query from the
	// list of testable
	// permissions.
	//
	// The name follows the Google Cloud Platform resource format.
	// For example, a Cloud Platform project with id `my-project` will be
	// named
	// `//cloudresourcemanager.googleapis.com/projects/my-project`.
	FullResourceName string `json:"fullResourceName,omitempty"`

	// PageSize: Optional limit on the number of permissions to include in
	// the response.
	PageSize int64 `json:"pageSize,omitempty"`

	// PageToken: Optional pagination token returned in an
	// earlier
	// QueryTestablePermissionsRequest.
	PageToken string `json:"pageToken,omitempty"`

	// ForceSendFields is a list of field names (e.g. "FullResourceName") 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. "FullResourceName") 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:"-"`
}

QueryTestablePermissionsRequest: A request to get permissions which can be tested on a resource.

func (*QueryTestablePermissionsRequest) MarshalJSON

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

type QueryTestablePermissionsResponse

type QueryTestablePermissionsResponse struct {
	// NextPageToken: To retrieve the next page of results,
	// set
	// `QueryTestableRolesRequest.page_token` to this value.
	NextPageToken string `json:"nextPageToken,omitempty"`

	// Permissions: The Permissions testable on the requested resource.
	Permissions []*Permission `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. "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:"-"`
}

QueryTestablePermissionsResponse: The response containing permissions which can be tested on a resource.

func (*QueryTestablePermissionsResponse) MarshalJSON

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

type Role

type Role struct {
	// Deleted: The current deleted state of the role. This field is read
	// only.
	// It will be ignored in calls to CreateRole and UpdateRole.
	Deleted bool `json:"deleted,omitempty"`

	// Description: Optional. A human-readable description for the role.
	Description string `json:"description,omitempty"`

	// Etag: Used to perform a consistent read-modify-write.
	Etag string `json:"etag,omitempty"`

	// IncludedPermissions: The names of the permissions this role grants
	// when bound in an IAM policy.
	IncludedPermissions []string `json:"includedPermissions,omitempty"`

	// Name: The name of the role.
	//
	// When Role is used in CreateRole, the role name must not be set.
	//
	// When Role is used in output and other input such as UpdateRole, the
	// role
	// name is the complete path, e.g., roles/logging.viewer for predefined
	// roles
	// and organizations/{ORGANIZATION_ID}/roles/logging.viewer for custom
	// roles.
	Name string `json:"name,omitempty"`

	// Stage: The current launch stage of the role. If the `ALPHA` launch
	// stage has been
	// selected for a role, the `stage` field will not be included in
	// the
	// returned definition for the role.
	//
	// Possible values:
	//   "ALPHA" - The user has indicated this role is currently in an Alpha
	// phase. If this
	// launch stage is selected, the `stage` field will not be included
	// when
	// requesting the definition for a given role.
	//   "BETA" - The user has indicated this role is currently in a Beta
	// phase.
	//   "GA" - The user has indicated this role is generally available.
	//   "DEPRECATED" - The user has indicated this role is being
	// deprecated.
	//   "DISABLED" - This role is disabled and will not contribute
	// permissions to any members
	// it is granted to in policies.
	//   "EAP" - The user has indicated this role is currently in an EAP
	// phase.
	Stage string `json:"stage,omitempty"`

	// Title: Optional. A human-readable title for the role.  Typically
	// this
	// is limited to 100 UTF-8 bytes.
	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. "Deleted") 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. "Deleted") 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:"-"`
}

Role: A role in the Identity and Access Management API.

func (*Role) MarshalJSON

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

type RolesGetCall

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

func (*RolesGetCall) Context

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

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

func (c *RolesGetCall) Do(opts ...googleapi.CallOption) (*Role, error)

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

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

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

func (*RolesGetCall) Header

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

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

func (*RolesGetCall) IfNoneMatch

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

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 RolesListCall

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

func (*RolesListCall) Context

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

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

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

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

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

func (*RolesListCall) Header

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

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

func (*RolesListCall) IfNoneMatch

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

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

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

PageSize sets the optional parameter "pageSize": Optional limit on the number of roles to include in the response.

func (*RolesListCall) PageToken

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

PageToken sets the optional parameter "pageToken": Optional pagination token returned in an earlier ListRolesResponse.

func (*RolesListCall) Pages

func (c *RolesListCall) Pages(ctx context.Context, f func(*ListRolesResponse) 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.

func (*RolesListCall) Parent

func (c *RolesListCall) Parent(parent string) *RolesListCall

Parent sets the optional parameter "parent": The `parent` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/refe rence/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below:

* [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string.

This method doesn't require a resource; it simply returns all
[predefined roles](/iam/docs/understanding-roles#predefined_roles)

in

Cloud IAM. Example request URL:
`https://iam.googleapis.com/v1/roles`

* [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list):

`projects/{PROJECT_ID}`. This method lists all project-level
[custom roles](/iam/docs/understanding-custom-roles).
Example request URL:
`https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles`

* [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.ro les/list):

`organizations/{ORGANIZATION_ID}`. This method lists all
organization-level [custom

roles](/iam/docs/understanding-custom-roles).

Example request URL:

`https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles`

Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.

func (*RolesListCall) ShowDeleted

func (c *RolesListCall) ShowDeleted(showDeleted bool) *RolesListCall

ShowDeleted sets the optional parameter "showDeleted": Include Roles that have been deleted.

func (*RolesListCall) View

func (c *RolesListCall) View(view string) *RolesListCall

View sets the optional parameter "view": Optional view for the returned Role objects. When `FULL` is specified, the `includedPermissions` field is returned, which includes a list of all permissions in the role. The default value is `BASIC`, which does not return the `includedPermissions` field.

Possible values:

"BASIC"
"FULL"

type RolesQueryGrantableRolesCall

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

func (*RolesQueryGrantableRolesCall) Context

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

Do executes the "iam.roles.queryGrantableRoles" call. Exactly one of *QueryGrantableRolesResponse or error will be non-nil. Any non-2xx status code is an error. Response headers are in either *QueryGrantableRolesResponse.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 (*RolesQueryGrantableRolesCall) Fields

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

func (*RolesQueryGrantableRolesCall) Header

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

func (*RolesQueryGrantableRolesCall) Pages

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 RolesService

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

func NewRolesService

func NewRolesService(s *Service) *RolesService

func (*RolesService) Get

func (r *RolesService) Get(name string) *RolesGetCall

Get: Gets a Role definition.

func (*RolesService) List

func (r *RolesService) List() *RolesListCall

List: Lists the Roles defined on a resource.

func (*RolesService) QueryGrantableRoles

func (r *RolesService) QueryGrantableRoles(querygrantablerolesrequest *QueryGrantableRolesRequest) *RolesQueryGrantableRolesCall

QueryGrantableRoles: Queries roles that can be granted on a particular resource. A role is grantable if it can be used as the role in a binding for a policy for that resource.

type Service

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

	IamPolicies *IamPoliciesService

	Organizations *OrganizationsService

	Permissions *PermissionsService

	Projects *ProjectsService

	Roles *RolesService
	// contains filtered or unexported fields
}

func New deprecated

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

New creates a new Service. It uses the provided http.Client for requests.

Deprecated: please use NewService instead. To provide a custom HTTP client, use option.WithHTTPClient. If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.

func NewService

func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error)

NewService creates a new Service.

type ServiceAccount

type ServiceAccount struct {
	// Description: Optional. A user-specified opaque description of the
	// service account.
	// Must be less than or equal to 256 UTF-8 bytes.
	Description string `json:"description,omitempty"`

	// Disabled: @OutputOnly A bool indicate if the service account is
	// disabled.
	// The field is currently in alpha phase.
	Disabled bool `json:"disabled,omitempty"`

	// DisplayName: Optional. A user-specified name for the service
	// account.
	// Must be less than or equal to 100 UTF-8 bytes.
	DisplayName string `json:"displayName,omitempty"`

	// Email: @OutputOnly The email address of the service account.
	Email string `json:"email,omitempty"`

	// Etag: Optional. Note: `etag` is an inoperable legacy field that is
	// only returned
	// for backwards compatibility.
	Etag string `json:"etag,omitempty"`

	// Name: The resource name of the service account in the following
	// format:
	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
	//
	// Requests using `-` as a wildcard for the `PROJECT_ID` will infer
	// the
	// project from the `account` and the `ACCOUNT` value can be the
	// `email`
	// address or the `unique_id` of the service account.
	//
	// In responses the resource name will always be in the
	// format
	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
	Name string `json:"name,omitempty"`

	// Oauth2ClientId: @OutputOnly The OAuth2 client id for the service
	// account.
	// This is used in conjunction with the OAuth2 clientconfig API to
	// make
	// three legged OAuth2 (3LO) flows to access the data of Google users.
	Oauth2ClientId string `json:"oauth2ClientId,omitempty"`

	// ProjectId: @OutputOnly The id of the project that owns the service
	// account.
	ProjectId string `json:"projectId,omitempty"`

	// UniqueId: @OutputOnly The unique and stable id of the service
	// account.
	UniqueId string `json:"uniqueId,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:"-"`
}

ServiceAccount: A service account in the Identity and Access Management API.

To create a service account, specify the `project_id` and the `account_id` for the account. The `account_id` is unique within the project, and is used to generate the service account email address and a stable `unique_id`.

If the account already exists, the account's resource name is returned in the format of projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}. The caller can use the name in other methods to access the account.

All other methods can identify the service account using the format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.

func (*ServiceAccount) MarshalJSON

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

type ServiceAccountKey

type ServiceAccountKey struct {
	// KeyAlgorithm: Specifies the algorithm (and possibly key size) for the
	// key.
	//
	// Possible values:
	//   "KEY_ALG_UNSPECIFIED" - An unspecified key algorithm.
	//   "KEY_ALG_RSA_1024" - 1k RSA Key.
	//   "KEY_ALG_RSA_2048" - 2k RSA Key.
	KeyAlgorithm string `json:"keyAlgorithm,omitempty"`

	// KeyOrigin: The key origin.
	//
	// Possible values:
	//   "ORIGIN_UNSPECIFIED" - Unspecified key origin.
	//   "USER_PROVIDED" - Key is provided by user.
	//   "GOOGLE_PROVIDED" - Key is provided by Google.
	KeyOrigin string `json:"keyOrigin,omitempty"`

	// KeyType: The key type.
	//
	// Possible values:
	//   "KEY_TYPE_UNSPECIFIED" - Unspecified key type. The presence of this
	// in the
	// message will immediately result in an error.
	//   "USER_MANAGED" - User-managed keys (managed and rotated by the
	// user).
	//   "SYSTEM_MANAGED" - System-managed keys (managed and rotated by
	// Google).
	KeyType string `json:"keyType,omitempty"`

	// Name: The resource name of the service account key in the following
	// format
	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
	Name string `json:"name,omitempty"`

	// PrivateKeyData: The private key data. Only provided in
	// `CreateServiceAccountKey`
	// responses. Make sure to keep the private key data secure because
	// it
	// allows for the assertion of the service account identity.
	// When base64 decoded, the private key data can be used to authenticate
	// with
	// Google API client libraries and with
	// <a
	// href="/sdk/gcloud/reference/auth/activate-service-account">gcloud
	// auth
	//  activate-service-account</a>.
	PrivateKeyData string `json:"privateKeyData,omitempty"`

	// PrivateKeyType: The output format for the private key.
	// Only provided in `CreateServiceAccountKey` responses, not
	// in `GetServiceAccountKey` or `ListServiceAccountKey`
	// responses.
	//
	// Google never exposes system-managed private keys, and never
	// retains
	// user-managed private keys.
	//
	// Possible values:
	//   "TYPE_UNSPECIFIED" - Unspecified. Equivalent to
	// `TYPE_GOOGLE_CREDENTIALS_FILE`.
	//   "TYPE_PKCS12_FILE" - PKCS12 format.
	// The password for the PKCS12 file is `notasecret`.
	// For more information, see https://tools.ietf.org/html/rfc7292.
	//   "TYPE_GOOGLE_CREDENTIALS_FILE" - Google Credentials File format.
	PrivateKeyType string `json:"privateKeyType,omitempty"`

	// PublicKeyData: The public key data. Only provided in
	// `GetServiceAccountKey` responses.
	PublicKeyData string `json:"publicKeyData,omitempty"`

	// ValidAfterTime: The key can be used after this timestamp.
	ValidAfterTime string `json:"validAfterTime,omitempty"`

	// ValidBeforeTime: The key can be used before this timestamp.
	// For system-managed key pairs, this timestamp is the end time for
	// the
	// private key signing operation. The public key could still be used
	// for verification for a few hours after this time.
	ValidBeforeTime string `json:"validBeforeTime,omitempty"`

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

	// ForceSendFields is a list of field names (e.g. "KeyAlgorithm") 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. "KeyAlgorithm") 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:"-"`
}

ServiceAccountKey: Represents a service account key.

A service account has two sets of key-pairs: user-managed, and system-managed.

User-managed key-pairs can be created and deleted by users. Users are responsible for rotating these keys periodically to ensure security of their service accounts. Users retain the private key of these key-pairs, and Google retains ONLY the public key.

System-managed keys are automatically rotated by Google, and are used for signing for a maximum of two weeks. The rotation process is probabilistic, and usage of the new key will gradually ramp up and down over the key's lifetime. We recommend caching the public key set for a service account for no more than 24 hours to ensure you have access to the latest keys.

Public keys for all service accounts are also published at the OAuth2 Service Account API.

func (*ServiceAccountKey) MarshalJSON

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

type SetIamPolicyRequest

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:"-"`
}

SetIamPolicyRequest: Request message for `SetIamPolicy` method.

func (*SetIamPolicyRequest) MarshalJSON

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

type SignBlobRequest

type SignBlobRequest struct {
	// BytesToSign: Required. The bytes to sign.
	BytesToSign string `json:"bytesToSign,omitempty"`

	// ForceSendFields is a list of field names (e.g. "BytesToSign") 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. "BytesToSign") 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:"-"`
}

SignBlobRequest: The service account sign blob request.

func (*SignBlobRequest) MarshalJSON

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

type SignBlobResponse

type SignBlobResponse struct {
	// KeyId: The id of the key used to sign the blob.
	KeyId string `json:"keyId,omitempty"`

	// Signature: The signed blob.
	Signature string `json:"signature,omitempty"`

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

	// ForceSendFields is a list of field names (e.g. "KeyId") 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. "KeyId") 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:"-"`
}

SignBlobResponse: The service account sign blob response.

func (*SignBlobResponse) MarshalJSON

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

type SignJwtRequest

type SignJwtRequest struct {
	// Payload: Required. The JWT payload to sign, a JSON JWT Claim set.
	Payload string `json:"payload,omitempty"`

	// ForceSendFields is a list of field names (e.g. "Payload") 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. "Payload") 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:"-"`
}

SignJwtRequest: The service account sign JWT request.

func (*SignJwtRequest) MarshalJSON

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

type SignJwtResponse

type SignJwtResponse struct {
	// KeyId: The id of the key used to sign the JWT.
	KeyId string `json:"keyId,omitempty"`

	// SignedJwt: The signed JWT.
	SignedJwt string `json:"signedJwt,omitempty"`

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

	// ForceSendFields is a list of field names (e.g. "KeyId") 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. "KeyId") 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:"-"`
}

SignJwtResponse: The service account sign JWT response.

func (*SignJwtResponse) MarshalJSON

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

type TestIamPermissionsRequest

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:"-"`
}

TestIamPermissionsRequest: Request message for `TestIamPermissions` method.

func (*TestIamPermissionsRequest) MarshalJSON

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

type TestIamPermissionsResponse

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:"-"`
}

TestIamPermissionsResponse: Response message for `TestIamPermissions` method.

func (*TestIamPermissionsResponse) MarshalJSON

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

type UndeleteRoleRequest

type UndeleteRoleRequest struct {
	// Etag: Used to perform a consistent read-modify-write.
	Etag string `json:"etag,omitempty"`

	// ForceSendFields is a list of field names (e.g. "Etag") 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. "Etag") 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:"-"`
}

UndeleteRoleRequest: The request to undelete an existing role.

func (*UndeleteRoleRequest) MarshalJSON

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

type UndeleteServiceAccountRequest

type UndeleteServiceAccountRequest struct {
}

UndeleteServiceAccountRequest: The service account undelete request.

type UndeleteServiceAccountResponse

type UndeleteServiceAccountResponse struct {
	// RestoredAccount: Metadata for the restored service account.
	RestoredAccount *ServiceAccount `json:"restoredAccount,omitempty"`

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

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

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

type UploadServiceAccountKeyRequest

type UploadServiceAccountKeyRequest struct {
	// PublicKeyData: A field that allows clients to upload their own public
	// key. If set,
	// use this public key data to create a service account key for
	// given
	// service account.
	// Please note, the expected format for this field is X509_PEM.
	PublicKeyData string `json:"publicKeyData,omitempty"`

	// ForceSendFields is a list of field names (e.g. "PublicKeyData") 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. "PublicKeyData") 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:"-"`
}

UploadServiceAccountKeyRequest: The service account key upload request.

func (*UploadServiceAccountKeyRequest) MarshalJSON

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL