...
1
2// This file was autogenerated by go-to-protobuf. Do not edit it manually!
3
4syntax = "proto2";
5
6package github.com.openshift.api.user.v1;
7
8import "k8s.io/api/core/v1/generated.proto";
9import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
10import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
11
12// Package-wide variables from generator "generated".
13option go_package = "github.com/openshift/api/user/v1";
14
15// Group represents a referenceable set of Users
16//
17// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
18// +openshift:compatibility-gen:level=1
19message Group {
20 // metadata is the standard object's metadata.
21 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
22 optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
23
24 // Users is the list of users in this group.
25 optional OptionalNames users = 2;
26}
27
28// GroupList is a collection of Groups
29//
30// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
31// +openshift:compatibility-gen:level=1
32message GroupList {
33 // metadata is the standard list's metadata.
34 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
35 optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
36
37 // Items is the list of groups
38 repeated Group items = 2;
39}
40
41// Identity records a successful authentication of a user with an identity provider. The
42// information about the source of authentication is stored on the identity, and the identity
43// is then associated with a single user object. Multiple identities can reference a single
44// user. Information retrieved from the authentication provider is stored in the extra field
45// using a schema determined by the provider.
46//
47// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
48// +openshift:compatibility-gen:level=1
49message Identity {
50 // metadata is the standard object's metadata.
51 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
52 optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
53
54 // ProviderName is the source of identity information
55 optional string providerName = 2;
56
57 // ProviderUserName uniquely represents this identity in the scope of the provider
58 optional string providerUserName = 3;
59
60 // User is a reference to the user this identity is associated with
61 // Both Name and UID must be set
62 optional k8s.io.api.core.v1.ObjectReference user = 4;
63
64 // Extra holds extra information about this identity
65 map<string, string> extra = 5;
66}
67
68// IdentityList is a collection of Identities
69//
70// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
71// +openshift:compatibility-gen:level=1
72message IdentityList {
73 // metadata is the standard list's metadata.
74 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
75 optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
76
77 // Items is the list of identities
78 repeated Identity items = 2;
79}
80
81// OptionalNames is an array that may also be left nil to distinguish between set and unset.
82// +protobuf.nullable=true
83// +protobuf.options.(gogoproto.goproto_stringer)=false
84message OptionalNames {
85 // items, if empty, will result in an empty slice
86
87 repeated string items = 1;
88}
89
90// Upon log in, every user of the system receives a User and Identity resource. Administrators
91// may directly manipulate the attributes of the users for their own tracking, or set groups
92// via the API. The user name is unique and is chosen based on the value provided by the
93// identity provider - if a user already exists with the incoming name, the user name may have
94// a number appended to it depending on the configuration of the system.
95//
96// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
97// +openshift:compatibility-gen:level=1
98message User {
99 // metadata is the standard object's metadata.
100 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
101 optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
102
103 // FullName is the full name of user
104 optional string fullName = 2;
105
106 // Identities are the identities associated with this user
107 // +optional
108 repeated string identities = 3;
109
110 // Groups specifies group names this user is a member of.
111 // This field is deprecated and will be removed in a future release.
112 // Instead, create a Group object containing the name of this User.
113 repeated string groups = 4;
114}
115
116// UserIdentityMapping maps a user to an identity
117//
118// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
119// +openshift:compatibility-gen:level=1
120message UserIdentityMapping {
121 // metadata is the standard object's metadata.
122 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
123 optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
124
125 // Identity is a reference to an identity
126 optional k8s.io.api.core.v1.ObjectReference identity = 2;
127
128 // User is a reference to a user
129 optional k8s.io.api.core.v1.ObjectReference user = 3;
130}
131
132// UserList is a collection of Users
133//
134// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
135// +openshift:compatibility-gen:level=1
136message UserList {
137 // metadata is the standard list's metadata.
138 // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
139 optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
140
141 // Items is the list of users
142 repeated User items = 2;
143}
144
View as plain text