Home | History | Annotate | Download | only in v1
      1 // Code generated by protoc-gen-go. DO NOT EDIT.
      2 // source: google/iam/v1/policy.proto
      3 
      4 package iam
      5 
      6 import proto "github.com/golang/protobuf/proto"
      7 import fmt "fmt"
      8 import math "math"
      9 import _ "google.golang.org/genproto/googleapis/api/annotations"
     10 
     11 // Reference imports to suppress errors if they are not otherwise used.
     12 var _ = proto.Marshal
     13 var _ = fmt.Errorf
     14 var _ = math.Inf
     15 
     16 // This is a compile-time assertion to ensure that this generated file
     17 // is compatible with the proto package it is being compiled against.
     18 // A compilation error at this line likely means your copy of the
     19 // proto package needs to be updated.
     20 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
     21 
     22 // The type of action performed on a Binding in a policy.
     23 type BindingDelta_Action int32
     24 
     25 const (
     26 	// Unspecified.
     27 	BindingDelta_ACTION_UNSPECIFIED BindingDelta_Action = 0
     28 	// Addition of a Binding.
     29 	BindingDelta_ADD BindingDelta_Action = 1
     30 	// Removal of a Binding.
     31 	BindingDelta_REMOVE BindingDelta_Action = 2
     32 )
     33 
     34 var BindingDelta_Action_name = map[int32]string{
     35 	0: "ACTION_UNSPECIFIED",
     36 	1: "ADD",
     37 	2: "REMOVE",
     38 }
     39 var BindingDelta_Action_value = map[string]int32{
     40 	"ACTION_UNSPECIFIED": 0,
     41 	"ADD":                1,
     42 	"REMOVE":             2,
     43 }
     44 
     45 func (x BindingDelta_Action) String() string {
     46 	return proto.EnumName(BindingDelta_Action_name, int32(x))
     47 }
     48 func (BindingDelta_Action) EnumDescriptor() ([]byte, []int) {
     49 	return fileDescriptor_policy_d61b385c3386eaea, []int{3, 0}
     50 }
     51 
     52 // Defines an Identity and Access Management (IAM) policy. It is used to
     53 // specify access control policies for Cloud Platform resources.
     54 //
     55 //
     56 // A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
     57 // `members` to a `role`, where the members can be user accounts, Google groups,
     58 // Google domains, and service accounts. A `role` is a named list of permissions
     59 // defined by IAM.
     60 //
     61 // **Example**
     62 //
     63 //     {
     64 //       "bindings": [
     65 //         {
     66 //           "role": "roles/owner",
     67 //           "members": [
     68 //             "user:mike (a] example.com",
     69 //             "group:admins (a] example.com",
     70 //             "domain:google.com",
     71 //             "serviceAccount:my-other-app (a] appspot.gserviceaccount.com",
     72 //           ]
     73 //         },
     74 //         {
     75 //           "role": "roles/viewer",
     76 //           "members": ["user:sean (a] example.com"]
     77 //         }
     78 //       ]
     79 //     }
     80 //
     81 // For a description of IAM and its features, see the
     82 // [IAM developer's guide](https://cloud.google.com/iam).
     83 type Policy struct {
     84 	// Version of the `Policy`. The default version is 0.
     85 	Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
     86 	// Associates a list of `members` to a `role`.
     87 	// Multiple `bindings` must not be specified for the same `role`.
     88 	// `bindings` with no members will result in an error.
     89 	Bindings []*Binding `protobuf:"bytes,4,rep,name=bindings,proto3" json:"bindings,omitempty"`
     90 	// `etag` is used for optimistic concurrency control as a way to help
     91 	// prevent simultaneous updates of a policy from overwriting each other.
     92 	// It is strongly suggested that systems make use of the `etag` in the
     93 	// read-modify-write cycle to perform policy updates in order to avoid race
     94 	// conditions: An `etag` is returned in the response to `getIamPolicy`, and
     95 	// systems are expected to put that etag in the request to `setIamPolicy` to
     96 	// ensure that their change will be applied to the same version of the policy.
     97 	//
     98 	// If no `etag` is provided in the call to `setIamPolicy`, then the existing
     99 	// policy is overwritten blindly.
    100 	Etag                 []byte   `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"`
    101 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
    102 	XXX_unrecognized     []byte   `json:"-"`
    103 	XXX_sizecache        int32    `json:"-"`
    104 }
    105 
    106 func (m *Policy) Reset()         { *m = Policy{} }
    107 func (m *Policy) String() string { return proto.CompactTextString(m) }
    108 func (*Policy) ProtoMessage()    {}
    109 func (*Policy) Descriptor() ([]byte, []int) {
    110 	return fileDescriptor_policy_d61b385c3386eaea, []int{0}
    111 }
    112 func (m *Policy) XXX_Unmarshal(b []byte) error {
    113 	return xxx_messageInfo_Policy.Unmarshal(m, b)
    114 }
    115 func (m *Policy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    116 	return xxx_messageInfo_Policy.Marshal(b, m, deterministic)
    117 }
    118 func (dst *Policy) XXX_Merge(src proto.Message) {
    119 	xxx_messageInfo_Policy.Merge(dst, src)
    120 }
    121 func (m *Policy) XXX_Size() int {
    122 	return xxx_messageInfo_Policy.Size(m)
    123 }
    124 func (m *Policy) XXX_DiscardUnknown() {
    125 	xxx_messageInfo_Policy.DiscardUnknown(m)
    126 }
    127 
    128 var xxx_messageInfo_Policy proto.InternalMessageInfo
    129 
    130 func (m *Policy) GetVersion() int32 {
    131 	if m != nil {
    132 		return m.Version
    133 	}
    134 	return 0
    135 }
    136 
    137 func (m *Policy) GetBindings() []*Binding {
    138 	if m != nil {
    139 		return m.Bindings
    140 	}
    141 	return nil
    142 }
    143 
    144 func (m *Policy) GetEtag() []byte {
    145 	if m != nil {
    146 		return m.Etag
    147 	}
    148 	return nil
    149 }
    150 
    151 // Associates `members` with a `role`.
    152 type Binding struct {
    153 	// Role that is assigned to `members`.
    154 	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
    155 	// Required
    156 	Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"`
    157 	// Specifies the identities requesting access for a Cloud Platform resource.
    158 	// `members` can have the following values:
    159 	//
    160 	// * `allUsers`: A special identifier that represents anyone who is
    161 	//    on the internet; with or without a Google account.
    162 	//
    163 	// * `allAuthenticatedUsers`: A special identifier that represents anyone
    164 	//    who is authenticated with a Google account or a service account.
    165 	//
    166 	// * `user:{emailid}`: An email address that represents a specific Google
    167 	//    account. For example, `alice (a] gmail.com` or `joe (a] example.com`.
    168 	//
    169 	//
    170 	// * `serviceAccount:{emailid}`: An email address that represents a service
    171 	//    account. For example, `my-other-app (a] appspot.gserviceaccount.com`.
    172 	//
    173 	// * `group:{emailid}`: An email address that represents a Google group.
    174 	//    For example, `admins (a] example.com`.
    175 	//
    176 	// * `domain:{domain}`: A Google Apps domain name that represents all the
    177 	//    users of that domain. For example, `google.com` or `example.com`.
    178 	//
    179 	//
    180 	Members              []string `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"`
    181 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
    182 	XXX_unrecognized     []byte   `json:"-"`
    183 	XXX_sizecache        int32    `json:"-"`
    184 }
    185 
    186 func (m *Binding) Reset()         { *m = Binding{} }
    187 func (m *Binding) String() string { return proto.CompactTextString(m) }
    188 func (*Binding) ProtoMessage()    {}
    189 func (*Binding) Descriptor() ([]byte, []int) {
    190 	return fileDescriptor_policy_d61b385c3386eaea, []int{1}
    191 }
    192 func (m *Binding) XXX_Unmarshal(b []byte) error {
    193 	return xxx_messageInfo_Binding.Unmarshal(m, b)
    194 }
    195 func (m *Binding) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    196 	return xxx_messageInfo_Binding.Marshal(b, m, deterministic)
    197 }
    198 func (dst *Binding) XXX_Merge(src proto.Message) {
    199 	xxx_messageInfo_Binding.Merge(dst, src)
    200 }
    201 func (m *Binding) XXX_Size() int {
    202 	return xxx_messageInfo_Binding.Size(m)
    203 }
    204 func (m *Binding) XXX_DiscardUnknown() {
    205 	xxx_messageInfo_Binding.DiscardUnknown(m)
    206 }
    207 
    208 var xxx_messageInfo_Binding proto.InternalMessageInfo
    209 
    210 func (m *Binding) GetRole() string {
    211 	if m != nil {
    212 		return m.Role
    213 	}
    214 	return ""
    215 }
    216 
    217 func (m *Binding) GetMembers() []string {
    218 	if m != nil {
    219 		return m.Members
    220 	}
    221 	return nil
    222 }
    223 
    224 // The difference delta between two policies.
    225 type PolicyDelta struct {
    226 	// The delta for Bindings between two policies.
    227 	BindingDeltas        []*BindingDelta `protobuf:"bytes,1,rep,name=binding_deltas,json=bindingDeltas,proto3" json:"binding_deltas,omitempty"`
    228 	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
    229 	XXX_unrecognized     []byte          `json:"-"`
    230 	XXX_sizecache        int32           `json:"-"`
    231 }
    232 
    233 func (m *PolicyDelta) Reset()         { *m = PolicyDelta{} }
    234 func (m *PolicyDelta) String() string { return proto.CompactTextString(m) }
    235 func (*PolicyDelta) ProtoMessage()    {}
    236 func (*PolicyDelta) Descriptor() ([]byte, []int) {
    237 	return fileDescriptor_policy_d61b385c3386eaea, []int{2}
    238 }
    239 func (m *PolicyDelta) XXX_Unmarshal(b []byte) error {
    240 	return xxx_messageInfo_PolicyDelta.Unmarshal(m, b)
    241 }
    242 func (m *PolicyDelta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    243 	return xxx_messageInfo_PolicyDelta.Marshal(b, m, deterministic)
    244 }
    245 func (dst *PolicyDelta) XXX_Merge(src proto.Message) {
    246 	xxx_messageInfo_PolicyDelta.Merge(dst, src)
    247 }
    248 func (m *PolicyDelta) XXX_Size() int {
    249 	return xxx_messageInfo_PolicyDelta.Size(m)
    250 }
    251 func (m *PolicyDelta) XXX_DiscardUnknown() {
    252 	xxx_messageInfo_PolicyDelta.DiscardUnknown(m)
    253 }
    254 
    255 var xxx_messageInfo_PolicyDelta proto.InternalMessageInfo
    256 
    257 func (m *PolicyDelta) GetBindingDeltas() []*BindingDelta {
    258 	if m != nil {
    259 		return m.BindingDeltas
    260 	}
    261 	return nil
    262 }
    263 
    264 // One delta entry for Binding. Each individual change (only one member in each
    265 // entry) to a binding will be a separate entry.
    266 type BindingDelta struct {
    267 	// The action that was performed on a Binding.
    268 	// Required
    269 	Action BindingDelta_Action `protobuf:"varint,1,opt,name=action,proto3,enum=google.iam.v1.BindingDelta_Action" json:"action,omitempty"`
    270 	// Role that is assigned to `members`.
    271 	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
    272 	// Required
    273 	Role string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"`
    274 	// A single identity requesting access for a Cloud Platform resource.
    275 	// Follows the same format of Binding.members.
    276 	// Required
    277 	Member               string   `protobuf:"bytes,3,opt,name=member,proto3" json:"member,omitempty"`
    278 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
    279 	XXX_unrecognized     []byte   `json:"-"`
    280 	XXX_sizecache        int32    `json:"-"`
    281 }
    282 
    283 func (m *BindingDelta) Reset()         { *m = BindingDelta{} }
    284 func (m *BindingDelta) String() string { return proto.CompactTextString(m) }
    285 func (*BindingDelta) ProtoMessage()    {}
    286 func (*BindingDelta) Descriptor() ([]byte, []int) {
    287 	return fileDescriptor_policy_d61b385c3386eaea, []int{3}
    288 }
    289 func (m *BindingDelta) XXX_Unmarshal(b []byte) error {
    290 	return xxx_messageInfo_BindingDelta.Unmarshal(m, b)
    291 }
    292 func (m *BindingDelta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    293 	return xxx_messageInfo_BindingDelta.Marshal(b, m, deterministic)
    294 }
    295 func (dst *BindingDelta) XXX_Merge(src proto.Message) {
    296 	xxx_messageInfo_BindingDelta.Merge(dst, src)
    297 }
    298 func (m *BindingDelta) XXX_Size() int {
    299 	return xxx_messageInfo_BindingDelta.Size(m)
    300 }
    301 func (m *BindingDelta) XXX_DiscardUnknown() {
    302 	xxx_messageInfo_BindingDelta.DiscardUnknown(m)
    303 }
    304 
    305 var xxx_messageInfo_BindingDelta proto.InternalMessageInfo
    306 
    307 func (m *BindingDelta) GetAction() BindingDelta_Action {
    308 	if m != nil {
    309 		return m.Action
    310 	}
    311 	return BindingDelta_ACTION_UNSPECIFIED
    312 }
    313 
    314 func (m *BindingDelta) GetRole() string {
    315 	if m != nil {
    316 		return m.Role
    317 	}
    318 	return ""
    319 }
    320 
    321 func (m *BindingDelta) GetMember() string {
    322 	if m != nil {
    323 		return m.Member
    324 	}
    325 	return ""
    326 }
    327 
    328 func init() {
    329 	proto.RegisterType((*Policy)(nil), "google.iam.v1.Policy")
    330 	proto.RegisterType((*Binding)(nil), "google.iam.v1.Binding")
    331 	proto.RegisterType((*PolicyDelta)(nil), "google.iam.v1.PolicyDelta")
    332 	proto.RegisterType((*BindingDelta)(nil), "google.iam.v1.BindingDelta")
    333 	proto.RegisterEnum("google.iam.v1.BindingDelta_Action", BindingDelta_Action_name, BindingDelta_Action_value)
    334 }
    335 
    336 func init() { proto.RegisterFile("google/iam/v1/policy.proto", fileDescriptor_policy_d61b385c3386eaea) }
    337 
    338 var fileDescriptor_policy_d61b385c3386eaea = []byte{
    339 	// 403 bytes of a gzipped FileDescriptorProto
    340 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x52, 0x4d, 0xab, 0x13, 0x31,
    341 	0x14, 0x35, 0xed, 0x73, 0x6a, 0xef, 0xfb, 0xa0, 0x46, 0x28, 0xc3, 0xd3, 0x45, 0x99, 0x55, 0x57,
    342 	0x19, 0x5b, 0x11, 0x41, 0x57, 0xfd, 0x18, 0x65, 0x16, 0xbe, 0x37, 0x46, 0xed, 0x42, 0x0a, 0x8f,
    343 	0x4c, 0x1b, 0x42, 0x64, 0x92, 0x0c, 0x33, 0x63, 0xc1, 0xb5, 0xff, 0x46, 0xf0, 0x8f, 0xf8, 0x8b,
    344 	0x5c, 0xca, 0x24, 0x99, 0x47, 0x0b, 0xe2, 0x2e, 0xe7, 0x9e, 0x73, 0x72, 0xcf, 0xcd, 0x0d, 0x5c,
    345 	0x0b, 0x63, 0x44, 0xc1, 0x63, 0xc9, 0x54, 0x7c, 0x98, 0xc5, 0xa5, 0x29, 0xe4, 0xee, 0x3b, 0x29,
    346 	0x2b, 0xd3, 0x18, 0x7c, 0xe9, 0x38, 0x22, 0x99, 0x22, 0x87, 0xd9, 0xf5, 0x33, 0x2f, 0x65, 0xa5,
    347 	0x8c, 0x99, 0xd6, 0xa6, 0x61, 0x8d, 0x34, 0xba, 0x76, 0xe2, 0xe8, 0x2b, 0x04, 0x99, 0x35, 0xe3,
    348 	0x10, 0x06, 0x07, 0x5e, 0xd5, 0xd2, 0xe8, 0x10, 0x4d, 0xd0, 0xf4, 0x21, 0xed, 0x20, 0x9e, 0xc3,
    349 	0xa3, 0x5c, 0xea, 0xbd, 0xd4, 0xa2, 0x0e, 0xcf, 0x26, 0xfd, 0xe9, 0xf9, 0x7c, 0x4c, 0x4e, 0x7a,
    350 	0x90, 0xa5, 0xa3, 0xe9, 0xbd, 0x0e, 0x63, 0x38, 0xe3, 0x0d, 0x13, 0x61, 0x7f, 0x82, 0xa6, 0x17,
    351 	0xd4, 0x9e, 0xa3, 0x57, 0x30, 0xf0, 0xc2, 0x96, 0xae, 0x4c, 0xc1, 0x6d, 0xa7, 0x21, 0xb5, 0xe7,
    352 	0x36, 0x80, 0xe2, 0x2a, 0xe7, 0x55, 0x1d, 0xf6, 0x26, 0xfd, 0xe9, 0x90, 0x76, 0x30, 0xfa, 0x00,
    353 	0xe7, 0x2e, 0xe4, 0x9a, 0x17, 0x0d, 0xc3, 0x4b, 0xb8, 0xf2, 0x7d, 0xee, 0xf6, 0x6d, 0xa1, 0x0e,
    354 	0x91, 0x4d, 0xf5, 0xf4, 0xdf, 0xa9, 0xac, 0x89, 0x5e, 0xe6, 0x47, 0xa8, 0x8e, 0x7e, 0x21, 0xb8,
    355 	0x38, 0xe6, 0xf1, 0x6b, 0x08, 0xd8, 0xae, 0xe9, 0xa6, 0xbf, 0x9a, 0x47, 0xff, 0xb9, 0x8c, 0x2c,
    356 	0xac, 0x92, 0x7a, 0xc7, 0xfd, 0x34, 0xbd, 0xa3, 0x69, 0xc6, 0x10, 0xb8, 0xf8, 0xf6, 0x09, 0x86,
    357 	0xd4, 0xa3, 0xe8, 0x25, 0x04, 0xce, 0x8d, 0xc7, 0x80, 0x17, 0xab, 0x4f, 0xe9, 0xed, 0xcd, 0xdd,
    358 	0xe7, 0x9b, 0x8f, 0x59, 0xb2, 0x4a, 0xdf, 0xa6, 0xc9, 0x7a, 0xf4, 0x00, 0x0f, 0xa0, 0xbf, 0x58,
    359 	0xaf, 0x47, 0x08, 0x03, 0x04, 0x34, 0x79, 0x7f, 0xbb, 0x49, 0x46, 0xbd, 0xe5, 0x0f, 0x04, 0x8f,
    360 	0x77, 0x46, 0x9d, 0x86, 0x5a, 0xfa, 0x67, 0xc9, 0xda, 0x55, 0x66, 0xe8, 0xcb, 0x73, 0xcf, 0x0a,
    361 	0x53, 0x30, 0x2d, 0x88, 0xa9, 0x44, 0x2c, 0xb8, 0xb6, 0x8b, 0x8e, 0x1d, 0xc5, 0x4a, 0x59, 0xfb,
    362 	0x4f, 0xf3, 0x46, 0x32, 0xf5, 0x07, 0xa1, 0x9f, 0xbd, 0x27, 0xef, 0x9c, 0x6b, 0x55, 0x98, 0x6f,
    363 	0x7b, 0x92, 0x32, 0x45, 0x36, 0xb3, 0xdf, 0x5d, 0x75, 0x6b, 0xab, 0xdb, 0x94, 0xa9, 0xed, 0x66,
    364 	0x96, 0x07, 0xf6, 0xae, 0x17, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x18, 0xca, 0xaa, 0x7f,
    365 	0x02, 0x00, 0x00,
    366 }
    367