Documentation
¶
Index ¶
- Variables
- func RegisterIAMPolicyServer(s *grpc.Server, srv IAMPolicyServer)
- type AuditConfigDelta
- func (*AuditConfigDelta) Descriptor() ([]byte, []int)
- func (m *AuditConfigDelta) GetAction() AuditConfigDelta_Action
- func (m *AuditConfigDelta) GetExemptedMember() string
- func (m *AuditConfigDelta) GetLogType() string
- func (m *AuditConfigDelta) GetService() string
- func (*AuditConfigDelta) ProtoMessage()
- func (m *AuditConfigDelta) Reset()
- func (m *AuditConfigDelta) String() string
- func (m *AuditConfigDelta) XXX_DiscardUnknown()
- func (m *AuditConfigDelta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *AuditConfigDelta) XXX_Merge(src proto.Message)
- func (m *AuditConfigDelta) XXX_Size() int
- func (m *AuditConfigDelta) XXX_Unmarshal(b []byte) error
- type AuditConfigDelta_Action
- type Binding
- func (*Binding) Descriptor() ([]byte, []int)
- func (m *Binding) GetCondition() *expr.Expr
- func (m *Binding) GetMembers() []string
- func (m *Binding) GetRole() string
- func (*Binding) ProtoMessage()
- func (m *Binding) Reset()
- func (m *Binding) String() string
- func (m *Binding) XXX_DiscardUnknown()
- func (m *Binding) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Binding) XXX_Merge(src proto.Message)
- func (m *Binding) XXX_Size() int
- func (m *Binding) XXX_Unmarshal(b []byte) error
- type BindingDelta
- func (*BindingDelta) Descriptor() ([]byte, []int)
- func (m *BindingDelta) GetAction() BindingDelta_Action
- func (m *BindingDelta) GetCondition() *expr.Expr
- func (m *BindingDelta) GetMember() string
- func (m *BindingDelta) GetRole() string
- func (*BindingDelta) ProtoMessage()
- func (m *BindingDelta) Reset()
- func (m *BindingDelta) String() string
- func (m *BindingDelta) XXX_DiscardUnknown()
- func (m *BindingDelta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *BindingDelta) XXX_Merge(src proto.Message)
- func (m *BindingDelta) XXX_Size() int
- func (m *BindingDelta) XXX_Unmarshal(b []byte) error
- type BindingDelta_Action
- type GetIamPolicyRequest
- func (*GetIamPolicyRequest) Descriptor() ([]byte, []int)
- func (m *GetIamPolicyRequest) GetOptions() *GetPolicyOptions
- func (m *GetIamPolicyRequest) GetResource() string
- func (*GetIamPolicyRequest) ProtoMessage()
- func (m *GetIamPolicyRequest) Reset()
- func (m *GetIamPolicyRequest) String() string
- func (m *GetIamPolicyRequest) XXX_DiscardUnknown()
- func (m *GetIamPolicyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *GetIamPolicyRequest) XXX_Merge(src proto.Message)
- func (m *GetIamPolicyRequest) XXX_Size() int
- func (m *GetIamPolicyRequest) XXX_Unmarshal(b []byte) error
- type GetPolicyOptions
- func (*GetPolicyOptions) Descriptor() ([]byte, []int)
- func (m *GetPolicyOptions) GetRequestedPolicyVersion() int32
- func (*GetPolicyOptions) ProtoMessage()
- func (m *GetPolicyOptions) Reset()
- func (m *GetPolicyOptions) String() string
- func (m *GetPolicyOptions) XXX_DiscardUnknown()
- func (m *GetPolicyOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *GetPolicyOptions) XXX_Merge(src proto.Message)
- func (m *GetPolicyOptions) XXX_Size() int
- func (m *GetPolicyOptions) XXX_Unmarshal(b []byte) error
- type IAMPolicyClient
- type IAMPolicyServer
- type Policy
- func (*Policy) Descriptor() ([]byte, []int)
- func (m *Policy) GetBindings() []*Binding
- func (m *Policy) GetEtag() []byte
- func (m *Policy) GetVersion() int32
- func (*Policy) ProtoMessage()
- func (m *Policy) Reset()
- func (m *Policy) String() string
- func (m *Policy) XXX_DiscardUnknown()
- func (m *Policy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Policy) XXX_Merge(src proto.Message)
- func (m *Policy) XXX_Size() int
- func (m *Policy) XXX_Unmarshal(b []byte) error
- type PolicyDelta
- func (*PolicyDelta) Descriptor() ([]byte, []int)
- func (m *PolicyDelta) GetAuditConfigDeltas() []*AuditConfigDelta
- func (m *PolicyDelta) GetBindingDeltas() []*BindingDelta
- func (*PolicyDelta) ProtoMessage()
- func (m *PolicyDelta) Reset()
- func (m *PolicyDelta) String() string
- func (m *PolicyDelta) XXX_DiscardUnknown()
- func (m *PolicyDelta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *PolicyDelta) XXX_Merge(src proto.Message)
- func (m *PolicyDelta) XXX_Size() int
- func (m *PolicyDelta) XXX_Unmarshal(b []byte) error
- type SetIamPolicyRequest
- func (*SetIamPolicyRequest) Descriptor() ([]byte, []int)
- func (m *SetIamPolicyRequest) GetPolicy() *Policy
- func (m *SetIamPolicyRequest) GetResource() string
- func (*SetIamPolicyRequest) ProtoMessage()
- func (m *SetIamPolicyRequest) Reset()
- func (m *SetIamPolicyRequest) String() string
- func (m *SetIamPolicyRequest) XXX_DiscardUnknown()
- func (m *SetIamPolicyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *SetIamPolicyRequest) XXX_Merge(src proto.Message)
- func (m *SetIamPolicyRequest) XXX_Size() int
- func (m *SetIamPolicyRequest) XXX_Unmarshal(b []byte) error
- type TestIamPermissionsRequest
- func (*TestIamPermissionsRequest) Descriptor() ([]byte, []int)
- func (m *TestIamPermissionsRequest) GetPermissions() []string
- func (m *TestIamPermissionsRequest) GetResource() string
- func (*TestIamPermissionsRequest) ProtoMessage()
- func (m *TestIamPermissionsRequest) Reset()
- func (m *TestIamPermissionsRequest) String() string
- func (m *TestIamPermissionsRequest) XXX_DiscardUnknown()
- func (m *TestIamPermissionsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *TestIamPermissionsRequest) XXX_Merge(src proto.Message)
- func (m *TestIamPermissionsRequest) XXX_Size() int
- func (m *TestIamPermissionsRequest) XXX_Unmarshal(b []byte) error
- type TestIamPermissionsResponse
- func (*TestIamPermissionsResponse) Descriptor() ([]byte, []int)
- func (m *TestIamPermissionsResponse) GetPermissions() []string
- func (*TestIamPermissionsResponse) ProtoMessage()
- func (m *TestIamPermissionsResponse) Reset()
- func (m *TestIamPermissionsResponse) String() string
- func (m *TestIamPermissionsResponse) XXX_DiscardUnknown()
- func (m *TestIamPermissionsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *TestIamPermissionsResponse) XXX_Merge(src proto.Message)
- func (m *TestIamPermissionsResponse) XXX_Size() int
- func (m *TestIamPermissionsResponse) XXX_Unmarshal(b []byte) error
- type UnimplementedIAMPolicyServer
- func (*UnimplementedIAMPolicyServer) GetIamPolicy(ctx context.Context, req *GetIamPolicyRequest) (*Policy, error)
- func (*UnimplementedIAMPolicyServer) SetIamPolicy(ctx context.Context, req *SetIamPolicyRequest) (*Policy, error)
- func (*UnimplementedIAMPolicyServer) TestIamPermissions(ctx context.Context, req *TestIamPermissionsRequest) (*TestIamPermissionsResponse, error)
Constants ¶
This section is empty.
Variables ¶
var AuditConfigDelta_Action_name = map[int32]string{
0: "ACTION_UNSPECIFIED",
1: "ADD",
2: "REMOVE",
}
var AuditConfigDelta_Action_value = map[string]int32{
"ACTION_UNSPECIFIED": 0,
"ADD": 1,
"REMOVE": 2,
}
var BindingDelta_Action_name = map[int32]string{
0: "ACTION_UNSPECIFIED",
1: "ADD",
2: "REMOVE",
}
var BindingDelta_Action_value = map[string]int32{
"ACTION_UNSPECIFIED": 0,
"ADD": 1,
"REMOVE": 2,
}
Functions ¶
func RegisterIAMPolicyServer ¶
func RegisterIAMPolicyServer(s *grpc.Server, srv IAMPolicyServer)
Types ¶
type AuditConfigDelta ¶
type AuditConfigDelta struct {
// The action that was performed on an audit configuration in a policy.
// Required
Action AuditConfigDelta_Action `protobuf:"varint,1,opt,name=action,proto3,enum=google.iam.v1.AuditConfigDelta_Action" json:"action,omitempty"`
// Specifies a service that was configured for Cloud Audit Logging.
// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
// `allServices` is a special value that covers all services.
// Required
Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"`
// A single identity that is exempted from "data access" audit
// logging for the `service` specified above.
// Follows the same format of Binding.members.
ExemptedMember string `protobuf:"bytes,3,opt,name=exempted_member,json=exemptedMember,proto3" json:"exempted_member,omitempty"`
// Specifies the log_type that was be enabled. ADMIN_ACTIVITY is always
// enabled, and cannot be configured.
// Required
LogType string `protobuf:"bytes,4,opt,name=log_type,json=logType,proto3" json:"log_type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
One delta entry for AuditConfig. Each individual change (only one exempted_member in each entry) to a AuditConfig will be a separate entry.
func (*AuditConfigDelta) Descriptor ¶
func (*AuditConfigDelta) Descriptor() ([]byte, []int)
func (*AuditConfigDelta) GetAction ¶
func (m *AuditConfigDelta) GetAction() AuditConfigDelta_Action
func (*AuditConfigDelta) GetExemptedMember ¶
func (m *AuditConfigDelta) GetExemptedMember() string
func (*AuditConfigDelta) GetLogType ¶
func (m *AuditConfigDelta) GetLogType() string
func (*AuditConfigDelta) GetService ¶
func (m *AuditConfigDelta) GetService() string
func (*AuditConfigDelta) ProtoMessage ¶
func (*AuditConfigDelta) ProtoMessage()
func (*AuditConfigDelta) Reset ¶
func (m *AuditConfigDelta) Reset()
func (*AuditConfigDelta) String ¶
func (m *AuditConfigDelta) String() string
func (*AuditConfigDelta) XXX_DiscardUnknown ¶
func (m *AuditConfigDelta) XXX_DiscardUnknown()
func (*AuditConfigDelta) XXX_Marshal ¶
func (m *AuditConfigDelta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*AuditConfigDelta) XXX_Merge ¶
func (m *AuditConfigDelta) XXX_Merge(src proto.Message)
func (*AuditConfigDelta) XXX_Size ¶
func (m *AuditConfigDelta) XXX_Size() int
func (*AuditConfigDelta) XXX_Unmarshal ¶
func (m *AuditConfigDelta) XXX_Unmarshal(b []byte) error
type AuditConfigDelta_Action ¶
type AuditConfigDelta_Action int32
The type of action performed on an audit configuration in a policy.
const ( // Unspecified. AuditConfigDelta_ACTION_UNSPECIFIED AuditConfigDelta_Action = 0 // Addition of an audit configuration. AuditConfigDelta_ADD AuditConfigDelta_Action = 1 // Removal of an audit configuration. AuditConfigDelta_REMOVE AuditConfigDelta_Action = 2 )
func (AuditConfigDelta_Action) EnumDescriptor ¶
func (AuditConfigDelta_Action) EnumDescriptor() ([]byte, []int)
func (AuditConfigDelta_Action) String ¶
func (x AuditConfigDelta_Action) String() string
type Binding ¶
type Binding struct {
// Role that is assigned to `members`.
// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"`
// 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`.
//
//
// * `domain:{domain}`: The G Suite domain (primary) that represents all the
// users of that domain. For example, `google.com` or `example.com`.
//
//
Members []string `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"`
// 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.Expr `protobuf:"bytes,3,opt,name=condition,proto3" json:"condition,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
Associates `members` with a `role`.
func (*Binding) Descriptor ¶
func (*Binding) GetCondition ¶
func (*Binding) GetMembers ¶
func (*Binding) ProtoMessage ¶
func (*Binding) ProtoMessage()
func (*Binding) XXX_DiscardUnknown ¶
func (m *Binding) XXX_DiscardUnknown()
func (*Binding) XXX_Marshal ¶
func (*Binding) XXX_Unmarshal ¶
type BindingDelta ¶
type BindingDelta struct {
// The action that was performed on a Binding.
// Required
Action BindingDelta_Action `protobuf:"varint,1,opt,name=action,proto3,enum=google.iam.v1.BindingDelta_Action" json:"action,omitempty"`
// Role that is assigned to `members`.
// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
// Required
Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"`
// A single identity requesting access for a Cloud Platform resource.
// Follows the same format of Binding.members.
// Required
Member string `protobuf:"bytes,3,opt,name=member,proto3" json:"member,omitempty"`
// The condition that is associated with this binding.
Condition *expr.Expr `protobuf:"bytes,4,opt,name=condition,proto3" json:"condition,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
One delta entry for Binding. Each individual change (only one member in each entry) to a binding will be a separate entry.
func (*BindingDelta) Descriptor ¶
func (*BindingDelta) Descriptor() ([]byte, []int)
func (*BindingDelta) GetAction ¶
func (m *BindingDelta) GetAction() BindingDelta_Action
func (*BindingDelta) GetCondition ¶
func (m *BindingDelta) GetCondition() *expr.Expr
func (*BindingDelta) GetMember ¶
func (m *BindingDelta) GetMember() string
func (*BindingDelta) GetRole ¶
func (m *BindingDelta) GetRole() string
func (*BindingDelta) ProtoMessage ¶
func (*BindingDelta) ProtoMessage()
func (*BindingDelta) Reset ¶
func (m *BindingDelta) Reset()
func (*BindingDelta) String ¶
func (m *BindingDelta) String() string
func (*BindingDelta) XXX_DiscardUnknown ¶
func (m *BindingDelta) XXX_DiscardUnknown()
func (*BindingDelta) XXX_Marshal ¶
func (m *BindingDelta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*BindingDelta) XXX_Merge ¶
func (m *BindingDelta) XXX_Merge(src proto.Message)
func (*BindingDelta) XXX_Size ¶
func (m *BindingDelta) XXX_Size() int
func (*BindingDelta) XXX_Unmarshal ¶
func (m *BindingDelta) XXX_Unmarshal(b []byte) error
type BindingDelta_Action ¶
type BindingDelta_Action int32
The type of action performed on a Binding in a policy.
const ( // Unspecified. BindingDelta_ACTION_UNSPECIFIED BindingDelta_Action = 0 // Addition of a Binding. BindingDelta_ADD BindingDelta_Action = 1 // Removal of a Binding. BindingDelta_REMOVE BindingDelta_Action = 2 )
func (BindingDelta_Action) EnumDescriptor ¶
func (BindingDelta_Action) EnumDescriptor() ([]byte, []int)
func (BindingDelta_Action) String ¶
func (x BindingDelta_Action) String() string
type GetIamPolicyRequest ¶
type GetIamPolicyRequest struct {
// REQUIRED: The resource for which the policy is being requested.
// See the operation documentation for the appropriate value for this field.
Resource string `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
// OPTIONAL: A `GetPolicyOptions` object for specifying options to
// `GetIamPolicy`. This field is only used by Cloud IAM.
Options *GetPolicyOptions `protobuf:"bytes,2,opt,name=options,proto3" json:"options,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
Request message for `GetIamPolicy` method.
func (*GetIamPolicyRequest) Descriptor ¶
func (*GetIamPolicyRequest) Descriptor() ([]byte, []int)
func (*GetIamPolicyRequest) GetOptions ¶
func (m *GetIamPolicyRequest) GetOptions() *GetPolicyOptions
func (*GetIamPolicyRequest) GetResource ¶
func (m *GetIamPolicyRequest) GetResource() string
func (*GetIamPolicyRequest) ProtoMessage ¶
func (*GetIamPolicyRequest) ProtoMessage()
func (*GetIamPolicyRequest) Reset ¶
func (m *GetIamPolicyRequest) Reset()
func (*GetIamPolicyRequest) String ¶
func (m *GetIamPolicyRequest) String() string
func (*GetIamPolicyRequest) XXX_DiscardUnknown ¶
func (m *GetIamPolicyRequest) XXX_DiscardUnknown()
func (*GetIamPolicyRequest) XXX_Marshal ¶
func (m *GetIamPolicyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*GetIamPolicyRequest) XXX_Merge ¶
func (m *GetIamPolicyRequest) XXX_Merge(src proto.Message)
func (*GetIamPolicyRequest) XXX_Size ¶
func (m *GetIamPolicyRequest) XXX_Size() int
func (*GetIamPolicyRequest) XXX_Unmarshal ¶
func (m *GetIamPolicyRequest) XXX_Unmarshal(b []byte) error
type GetPolicyOptions ¶
type GetPolicyOptions struct {
// Optional. 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.
RequestedPolicyVersion int32 `` /* 130-byte string literal not displayed */
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
Encapsulates settings provided to GetIamPolicy.
func (*GetPolicyOptions) Descriptor ¶
func (*GetPolicyOptions) Descriptor() ([]byte, []int)
func (*GetPolicyOptions) GetRequestedPolicyVersion ¶
func (m *GetPolicyOptions) GetRequestedPolicyVersion() int32
func (*GetPolicyOptions) ProtoMessage ¶
func (*GetPolicyOptions) ProtoMessage()
func (*GetPolicyOptions) Reset ¶
func (m *GetPolicyOptions) Reset()
func (*GetPolicyOptions) String ¶
func (m *GetPolicyOptions) String() string
func (*GetPolicyOptions) XXX_DiscardUnknown ¶
func (m *GetPolicyOptions) XXX_DiscardUnknown()
func (*GetPolicyOptions) XXX_Marshal ¶
func (m *GetPolicyOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*GetPolicyOptions) XXX_Merge ¶
func (m *GetPolicyOptions) XXX_Merge(src proto.Message)
func (*GetPolicyOptions) XXX_Size ¶
func (m *GetPolicyOptions) XXX_Size() int
func (*GetPolicyOptions) XXX_Unmarshal ¶
func (m *GetPolicyOptions) XXX_Unmarshal(b []byte) error
type IAMPolicyClient ¶
type IAMPolicyClient interface {
// Sets the access control policy on the specified resource. Replaces any
// existing policy.
SetIamPolicy(ctx context.Context, in *SetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error)
// Gets the access control policy for a resource.
// Returns an empty policy if the resource exists and does not have a policy
// set.
GetIamPolicy(ctx context.Context, in *GetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error)
// Returns permissions that a caller has on the specified resource.
// If the resource does not exist, this will return an empty set of
// permissions, not a NOT_FOUND error.
//
// Note: This operation is designed to be used for building permission-aware
// UIs and command-line tools, not for authorization checking. This operation
// may "fail open" without warning.
TestIamPermissions(ctx context.Context, in *TestIamPermissionsRequest, opts ...grpc.CallOption) (*TestIamPermissionsResponse, error)
}
IAMPolicyClient is the client API for IAMPolicy service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewIAMPolicyClient ¶
func NewIAMPolicyClient(cc grpc.ClientConnInterface) IAMPolicyClient
type IAMPolicyServer ¶
type IAMPolicyServer interface {
// Sets the access control policy on the specified resource. Replaces any
// existing policy.
SetIamPolicy(context.Context, *SetIamPolicyRequest) (*Policy, error)
// Gets the access control policy for a resource.
// Returns an empty policy if the resource exists and does not have a policy
// set.
GetIamPolicy(context.Context, *GetIamPolicyRequest) (*Policy, error)
// Returns permissions that a caller has on the specified resource.
// If the resource does not exist, this will return an empty set of
// permissions, not a NOT_FOUND error.
//
// Note: This operation is designed to be used for building permission-aware
// UIs and command-line tools, not for authorization checking. This operation
// may "fail open" without warning.
TestIamPermissions(context.Context, *TestIamPermissionsRequest) (*TestIamPermissionsResponse, error)
}
IAMPolicyServer is the server API for IAMPolicy service.
type Policy ¶
type Policy struct {
// Specifies the format of the policy.
//
// Valid values are 0, 1, and 3. Requests specifying an invalid value will be
// rejected.
//
// Operations affecting conditional bindings must specify version 3. This can
// be either setting a conditional policy, modifying a conditional binding,
// or removing a binding (conditional or unconditional) from the stored
// conditional policy.
// Operations on non-conditional policies may specify any valid value or
// leave the field unset.
//
// If no etag is provided in the call to `setIamPolicy`, version compliance
// checks against the stored policy is skipped.
Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
// Associates a list of `members` to a `role`. Optionally may specify a
// `condition` that determines when binding is in effect.
// `bindings` with no members will result in an error.
Bindings []*Binding `protobuf:"bytes,4,rep,name=bindings,proto3" json:"bindings,omitempty"`
// `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. Due to blind-set semantics of an etag-less policy,
// 'setIamPolicy' will not fail even if the incoming policy version does not
// meet the requirements for modifying the stored policy.
Etag []byte `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform 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 (defined by IAM or configured by users). A `binding` can optionally specify a `condition`, which is a logic expression that further constrains the role binding based on attributes about the request and/or target resource.
**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')",
}
}
]
}
**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')
For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam/docs).
func (*Policy) Descriptor ¶
func (*Policy) GetBindings ¶
func (*Policy) GetVersion ¶
func (*Policy) ProtoMessage ¶
func (*Policy) ProtoMessage()
func (*Policy) XXX_DiscardUnknown ¶
func (m *Policy) XXX_DiscardUnknown()
func (*Policy) XXX_Marshal ¶
func (*Policy) XXX_Unmarshal ¶
type PolicyDelta ¶
type PolicyDelta struct {
// The delta for Bindings between two policies.
BindingDeltas []*BindingDelta `protobuf:"bytes,1,rep,name=binding_deltas,json=bindingDeltas,proto3" json:"binding_deltas,omitempty"`
// The delta for AuditConfigs between two policies.
AuditConfigDeltas []*AuditConfigDelta `protobuf:"bytes,2,rep,name=audit_config_deltas,json=auditConfigDeltas,proto3" json:"audit_config_deltas,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
The difference delta between two policies.
func (*PolicyDelta) Descriptor ¶
func (*PolicyDelta) Descriptor() ([]byte, []int)
func (*PolicyDelta) GetAuditConfigDeltas ¶
func (m *PolicyDelta) GetAuditConfigDeltas() []*AuditConfigDelta
func (*PolicyDelta) GetBindingDeltas ¶
func (m *PolicyDelta) GetBindingDeltas() []*BindingDelta
func (*PolicyDelta) ProtoMessage ¶
func (*PolicyDelta) ProtoMessage()
func (*PolicyDelta) Reset ¶
func (m *PolicyDelta) Reset()
func (*PolicyDelta) String ¶
func (m *PolicyDelta) String() string
func (*PolicyDelta) XXX_DiscardUnknown ¶
func (m *PolicyDelta) XXX_DiscardUnknown()
func (*PolicyDelta) XXX_Marshal ¶
func (m *PolicyDelta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*PolicyDelta) XXX_Merge ¶
func (m *PolicyDelta) XXX_Merge(src proto.Message)
func (*PolicyDelta) XXX_Size ¶
func (m *PolicyDelta) XXX_Size() int
func (*PolicyDelta) XXX_Unmarshal ¶
func (m *PolicyDelta) XXX_Unmarshal(b []byte) error
type SetIamPolicyRequest ¶
type SetIamPolicyRequest struct {
// REQUIRED: The resource for which the policy is being specified.
// See the operation documentation for the appropriate value for this field.
Resource string `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
// 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 `protobuf:"bytes,2,opt,name=policy,proto3" json:"policy,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
Request message for `SetIamPolicy` method.
func (*SetIamPolicyRequest) Descriptor ¶
func (*SetIamPolicyRequest) Descriptor() ([]byte, []int)
func (*SetIamPolicyRequest) GetPolicy ¶
func (m *SetIamPolicyRequest) GetPolicy() *Policy
func (*SetIamPolicyRequest) GetResource ¶
func (m *SetIamPolicyRequest) GetResource() string
func (*SetIamPolicyRequest) ProtoMessage ¶
func (*SetIamPolicyRequest) ProtoMessage()
func (*SetIamPolicyRequest) Reset ¶
func (m *SetIamPolicyRequest) Reset()
func (*SetIamPolicyRequest) String ¶
func (m *SetIamPolicyRequest) String() string
func (*SetIamPolicyRequest) XXX_DiscardUnknown ¶
func (m *SetIamPolicyRequest) XXX_DiscardUnknown()
func (*SetIamPolicyRequest) XXX_Marshal ¶
func (m *SetIamPolicyRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*SetIamPolicyRequest) XXX_Merge ¶
func (m *SetIamPolicyRequest) XXX_Merge(src proto.Message)
func (*SetIamPolicyRequest) XXX_Size ¶
func (m *SetIamPolicyRequest) XXX_Size() int
func (*SetIamPolicyRequest) XXX_Unmarshal ¶
func (m *SetIamPolicyRequest) XXX_Unmarshal(b []byte) error
type TestIamPermissionsRequest ¶
type TestIamPermissionsRequest struct {
// REQUIRED: The resource for which the policy detail is being requested.
// See the operation documentation for the appropriate value for this field.
Resource string `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
// 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 `protobuf:"bytes,2,rep,name=permissions,proto3" json:"permissions,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
Request message for `TestIamPermissions` method.
func (*TestIamPermissionsRequest) Descriptor ¶
func (*TestIamPermissionsRequest) Descriptor() ([]byte, []int)
func (*TestIamPermissionsRequest) GetPermissions ¶
func (m *TestIamPermissionsRequest) GetPermissions() []string
func (*TestIamPermissionsRequest) GetResource ¶
func (m *TestIamPermissionsRequest) GetResource() string
func (*TestIamPermissionsRequest) ProtoMessage ¶
func (*TestIamPermissionsRequest) ProtoMessage()
func (*TestIamPermissionsRequest) Reset ¶
func (m *TestIamPermissionsRequest) Reset()
func (*TestIamPermissionsRequest) String ¶
func (m *TestIamPermissionsRequest) String() string
func (*TestIamPermissionsRequest) XXX_DiscardUnknown ¶
func (m *TestIamPermissionsRequest) XXX_DiscardUnknown()
func (*TestIamPermissionsRequest) XXX_Marshal ¶
func (m *TestIamPermissionsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*TestIamPermissionsRequest) XXX_Merge ¶
func (m *TestIamPermissionsRequest) XXX_Merge(src proto.Message)
func (*TestIamPermissionsRequest) XXX_Size ¶
func (m *TestIamPermissionsRequest) XXX_Size() int
func (*TestIamPermissionsRequest) XXX_Unmarshal ¶
func (m *TestIamPermissionsRequest) XXX_Unmarshal(b []byte) error
type TestIamPermissionsResponse ¶
type TestIamPermissionsResponse struct {
// A subset of `TestPermissionsRequest.permissions` that the caller is
// allowed.
Permissions []string `protobuf:"bytes,1,rep,name=permissions,proto3" json:"permissions,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
Response message for `TestIamPermissions` method.
func (*TestIamPermissionsResponse) Descriptor ¶
func (*TestIamPermissionsResponse) Descriptor() ([]byte, []int)
func (*TestIamPermissionsResponse) GetPermissions ¶
func (m *TestIamPermissionsResponse) GetPermissions() []string
func (*TestIamPermissionsResponse) ProtoMessage ¶
func (*TestIamPermissionsResponse) ProtoMessage()
func (*TestIamPermissionsResponse) Reset ¶
func (m *TestIamPermissionsResponse) Reset()
func (*TestIamPermissionsResponse) String ¶
func (m *TestIamPermissionsResponse) String() string
func (*TestIamPermissionsResponse) XXX_DiscardUnknown ¶
func (m *TestIamPermissionsResponse) XXX_DiscardUnknown()
func (*TestIamPermissionsResponse) XXX_Marshal ¶
func (m *TestIamPermissionsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*TestIamPermissionsResponse) XXX_Merge ¶
func (m *TestIamPermissionsResponse) XXX_Merge(src proto.Message)
func (*TestIamPermissionsResponse) XXX_Size ¶
func (m *TestIamPermissionsResponse) XXX_Size() int
func (*TestIamPermissionsResponse) XXX_Unmarshal ¶
func (m *TestIamPermissionsResponse) XXX_Unmarshal(b []byte) error
type UnimplementedIAMPolicyServer ¶
type UnimplementedIAMPolicyServer struct {
}
UnimplementedIAMPolicyServer can be embedded to have forward compatible implementations.
func (*UnimplementedIAMPolicyServer) GetIamPolicy ¶
func (*UnimplementedIAMPolicyServer) GetIamPolicy(ctx context.Context, req *GetIamPolicyRequest) (*Policy, error)
func (*UnimplementedIAMPolicyServer) SetIamPolicy ¶
func (*UnimplementedIAMPolicyServer) SetIamPolicy(ctx context.Context, req *SetIamPolicyRequest) (*Policy, error)
func (*UnimplementedIAMPolicyServer) TestIamPermissions ¶
func (*UnimplementedIAMPolicyServer) TestIamPermissions(ctx context.Context, req *TestIamPermissionsRequest) (*TestIamPermissionsResponse, error)