iam

package
v0.0.0-...-adba394 Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2016 License: BSD-3-Clause Imports: 13 Imported by: 0

Documentation

Overview

Package iam provides access to the Google Identity and Access Management API.

See https://cloud.google.com/iam/

Usage example:

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

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 Binding

type Binding struct {
	// Members: Specifies the identities requesting access for a Cloud
	// Platform resource. `members` can have the following values: *
	// `allUsers`: A special identifier that represents anyone who is on the
	// internet; with or without a Google account. *
	// `allAuthenticatedUsers`: A special identifier that represents anyone
	// who is authenticated with a Google account or a service account. *
	// `user:{emailid}`: An email address that represents a specific Google
	// account. For example, `alice@gmail.com` or `joe@example.com`. *
	// `serviceAccount:{emailid}`: An email address that represents a
	// service account. For example,
	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
	// email address that represents a Google group. For example,
	// `admins@example.com`. * `domain:{domain}`: A Google Apps domain name
	// that represents all the users of that domain. For example,
	// `google.com` or `example.com`.
	Members []string `json:"members,omitempty"`

	// Role: Role that is assigned to `members`. For example,
	// `roles/viewer`, `roles/editor`, or `roles/owner`. Required
	Role string `json:"role,omitempty"`

	// ForceSendFields is a list of field names (e.g. "Members") to
	// unconditionally include in API requests. By default, fields with
	// empty values are omitted from API requests. However, any non-pointer,
	// non-interface field appearing in ForceSendFields will be sent to the
	// server regardless of whether the field is empty or not. This may be
	// used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`
}

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

func (*Binding) MarshalJSON

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

type CloudAuditOptions

type CloudAuditOptions struct {
}

CloudAuditOptions: Write a Cloud Audit log

type Condition

type Condition struct {
	// Iam: Trusted attributes supplied by the IAM system.
	//
	// Possible values:
	//   "NO_ATTR"
	//   "AUTHORITY"
	//   "ATTRIBUTION"
	Iam string `json:"iam,omitempty"`

	// Op: An operator to apply the subject with.
	//
	// Possible values:
	//   "NO_OP"
	//   "EQUALS"
	//   "NOT_EQUALS"
	//   "IN"
	//   "NOT_IN"
	//   "DISCHARGED"
	Op string `json:"op,omitempty"`

	// Svc: Trusted attributes discharged by the service.
	Svc string `json:"svc,omitempty"`

	// Sys: Trusted attributes supplied by any service that owns resources
	// and uses the IAM system for access control.
	//
	// Possible values:
	//   "NO_ATTR"
	//   "REGION"
	//   "SERVICE"
	//   "NAME"
	//   "IP"
	Sys string `json:"sys,omitempty"`

	// Value: The object of the condition. Exactly one of these must be set.
	Value string `json:"value,omitempty"`

	// Values: The objects of the condition. This is mutually exclusive with
	// 'value'.
	Values []string `json:"values,omitempty"`

	// ForceSendFields is a list of field names (e.g. "Iam") to
	// unconditionally include in API requests. By default, fields with
	// empty values are omitted from API requests. However, any non-pointer,
	// non-interface field appearing in ForceSendFields will be sent to the
	// server regardless of whether the field is empty or not. This may be
	// used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`
}

Condition: A condition to be met.

func (*Condition) MarshalJSON

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

type CounterOptions

type CounterOptions struct {
	// Field: The field value to attribute.
	Field string `json:"field,omitempty"`

	// Metric: The metric to update.
	Metric string `json:"metric,omitempty"`

	// ForceSendFields is a list of field names (e.g. "Field") to
	// unconditionally include in API requests. By default, fields with
	// empty values are omitted from API requests. However, any non-pointer,
	// non-interface field appearing in ForceSendFields will be sent to the
	// server regardless of whether the field is empty or not. This may be
	// used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`
}

CounterOptions: Options for counters

func (*CounterOptions) MarshalJSON

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

type CreateServiceAccountKeyRequest

type CreateServiceAccountKeyRequest struct {
	// PrivateKeyType: The type of the key requested. GOOGLE_CREDENTIALS is
	// the default key type.
	//
	// Possible values:
	//   "TYPE_UNSPECIFIED"
	//   "TYPE_PKCS12_FILE"
	//   "TYPE_GOOGLE_CREDENTIALS_FILE"
	PrivateKeyType string `json:"privateKeyType,omitempty"`

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

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

CreateServiceAccountRequest: The service account create request.

func (*CreateServiceAccountRequest) MarshalJSON

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

type DataAccessOptions

type DataAccessOptions struct {
}

DataAccessOptions: Write a Data Access (Gin) log

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

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

ListServiceAccountsResponse: The service account list response.

func (*ListServiceAccountsResponse) MarshalJSON

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

type LogConfig

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

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

	// DataAccess: Data access options.
	DataAccess *DataAccessOptions `json:"dataAccess,omitempty"`

	// ForceSendFields is a list of field names (e.g. "CloudAudit") to
	// unconditionally include in API requests. By default, fields with
	// empty values are omitted from API requests. However, any non-pointer,
	// non-interface field appearing in ForceSendFields will be sent to the
	// server regardless of whether the field is empty or not. This may be
	// used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`
}

LogConfig: Specifies what kind of log the caller must write Increment a streamz counter with the specified metric and field names. Metric names should start with a '/', generally be lowercase-only, and end in "_count". Field names should not contain an initial slash. The actual exported metric names will have "/iam/policy" prepended. Field names correspond to IAM request parameters and field values are their respective values. At present only "iam_principal", corresponding to IAMContext.principal, is supported. Examples: counter { metric: "/debug_access_count" field: "iam_principal" } ==> increment counter /iam/policy/backend_debug_access_count {iam_principal=[value of IAMContext.principal]} At this time we do not support: * multiple field names (though this may be supported in the future) * decrementing the counter * incrementing it by anything other than 1

func (*LogConfig) MarshalJSON

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

type Policy

type Policy struct {
	// Bindings: Associates a list of `members` to a `role`. Multiple
	// `bindings` must not be specified for the same `role`. `bindings` with
	// no members will result in an error.
	Bindings []*Binding `json:"bindings,omitempty"`

	// Etag: `etag` is used for optimistic concurrency control as a way to
	// help prevent simultaneous updates of a policy from overwriting each
	// other. It is strongly suggested that systems make use of the `etag`
	// in the read-modify-write cycle to perform policy updates in order to
	// avoid race conditions: An `etag` is returned in the response to
	// `getIamPolicy`, and systems are expected to put that etag in the
	// request to `setIamPolicy` to ensure that their change will be applied
	// to the same version of the policy. If no `etag` is provided in the
	// call to `setIamPolicy`, then the existing policy is overwritten
	// blindly.
	Etag string `json:"etag,omitempty"`

	Rules []*Rule `json:"rules,omitempty"`

	// Version: Version of the `Policy`. The default version is 0.
	Version int64 `json:"version,omitempty"`

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

	// ForceSendFields is a list of field names (e.g. "Bindings") to
	// unconditionally include in API requests. By default, fields with
	// empty values are omitted from API requests. However, any non-pointer,
	// non-interface field appearing in ForceSendFields will be sent to the
	// server regardless of whether the field is empty or not. This may be
	// used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`
}

Policy: Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { "bindings": [ { "role": "roles/owner", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-other-app@appspot.gserviceaccount.com"] }, { "role": "roles/viewer", "members": ["user:sean@example.com"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam).

func (*Policy) MarshalJSON

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

type ProjectsService

type ProjectsService struct {
	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.

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.

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) 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.

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.

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.

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) 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 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) 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": The type of keys the user wants to list. If empty, all key types are included in the response. Duplicate key types are not allowed.

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 service account key and returns it.

func (*ProjectsServiceAccountsKeysService) Delete

Delete: Deletes a service account key.

func (*ProjectsServiceAccountsKeysService) Get

Get: Gets the ServiceAccountKey by key id.

func (*ProjectsServiceAccountsKeysService) List

List: Lists service account keys

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) 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 ProjectsServiceAccountsService

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

func NewProjectsServiceAccountsService

func NewProjectsServiceAccountsService(s *Service) *ProjectsServiceAccountsService

func (*ProjectsServiceAccountsService) Create

Create: Creates a service account and returns it.

func (*ProjectsServiceAccountsService) Delete

Delete: Deletes a service acount.

func (*ProjectsServiceAccountsService) Get

Get: Gets a ServiceAccount

func (*ProjectsServiceAccountsService) GetIamPolicy

GetIamPolicy: Returns the IAM access control policy for specified IAM resource.

func (*ProjectsServiceAccountsService) List

List: Lists service accounts for a project.

func (*ProjectsServiceAccountsService) SetIamPolicy

SetIamPolicy: Sets the IAM access control policy for the specified IAM resource.

func (*ProjectsServiceAccountsService) SignBlob

SignBlob: Signs a blob using a service account.

func (*ProjectsServiceAccountsService) TestIamPermissions

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

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

func (*ProjectsServiceAccountsService) Update

Update: Updates a service account. Currently, only the following fields are updatable: 'display_name' . The 'etag' is mandatory.

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.

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.

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.

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.

type Rule

type Rule struct {
	// Action: Required
	//
	// Possible values:
	//   "NO_ACTION"
	//   "ALLOW"
	//   "ALLOW_WITH_LOG"
	//   "DENY"
	//   "DENY_WITH_LOG"
	//   "LOG"
	Action string `json:"action,omitempty"`

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

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

	// In: The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in this
	// set of entries.
	In []string `json:"in,omitempty"`

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

	// NotIn: The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is not in
	// this set of entries. The format for in and not_in entries is the same
	// as for members in a Binding (see google/iam/v1/policy.proto).
	NotIn []string `json:"notIn,omitempty"`

	// Permissions: A permission is a string of form '..' (e.g.,
	// 'storage.buckets.list'). A value of '*' matches all permissions, and
	// a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.
	Permissions []string `json:"permissions,omitempty"`

	// ForceSendFields is a list of field names (e.g. "Action") to
	// unconditionally include in API requests. By default, fields with
	// empty values are omitted from API requests. However, any non-pointer,
	// non-interface field appearing in ForceSendFields will be sent to the
	// server regardless of whether the field is empty or not. This may be
	// used to include empty fields in Patch requests.
	ForceSendFields []string `json:"-"`
}

Rule: A rule to be applied in a Policy.

func (*Rule) MarshalJSON

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

type Service

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

	Projects *ProjectsService
	// contains filtered or unexported fields
}

func New

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

type ServiceAccount

type ServiceAccount struct {
	// DisplayName: Optional. A user-specified description of the service
	// account. Must be fewer than 100 UTF-8 bytes.
	DisplayName string `json:"displayName,omitempty"`

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

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

	// Name: The resource name of the service account in the format
	// "projects/{project}/serviceAccounts/{account}". In requests using '-'
	// as a wildcard for the project, 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}/serviceAccounts/{email}".
	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 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. "DisplayName") 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:"-"`
}

ServiceAccount: A service account in the Identity and Access Management API. To create a service account, you specify the project_id and account_id for the account. The account_id is unique within the project, and used to generate the service account email address and a stable unique id. All other methods can identify accounts using the format "projects/{project}/serviceAccounts/{account}". Using '-' as a wildcard for the project, 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 {
	// Name: The resource name of the service account key in the format
	// "projects/{project}/serviceAccounts/{email}/keys/{key}".
	Name string `json:"name,omitempty"`

	// PrivateKeyData: The key data.
	PrivateKeyData string `json:"privateKeyData,omitempty"`

	// PrivateKeyType: The type of the private key.
	//
	// Possible values:
	//   "TYPE_UNSPECIFIED"
	//   "TYPE_PKCS12_FILE"
	//   "TYPE_GOOGLE_CREDENTIALS_FILE"
	PrivateKeyType string `json:"privateKeyType,omitempty"`

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

	// ValidBeforeTime: The key can be used before this timestamp.
	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. "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:"-"`
}

ServiceAccountKey: Represents a service account key. A service account can have 0 or more key pairs. The private keys for these are not stored by Google. ServiceAccountKeys are immutable.

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

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

SetIamPolicyRequest: Request message for `SetIamPolicy` method.

func (*SetIamPolicyRequest) MarshalJSON

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

type SignBlobRequest

type SignBlobRequest struct {
	// BytesToSign: 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:"-"`
}

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

SignBlobResponse: The service account sign blob response.

func (*SignBlobResponse) MarshalJSON

func (s *SignBlobResponse) 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.
	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:"-"`
}

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

TestIamPermissionsResponse: Response message for `TestIamPermissions` method.

func (*TestIamPermissionsResponse) MarshalJSON

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

Jump to

Keyboard shortcuts

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