Update vendored dependencies

This commit is contained in:
Nick Sardo 2017-07-31 13:35:10 -07:00
parent 65e8cecbac
commit 9b22796383
666 changed files with 38921 additions and 47120 deletions

View file

@ -2304,61 +2304,61 @@ func init() {
}
var fileDescriptorGenerated = []byte{
// 883 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x56, 0xcf, 0x6f, 0xdc, 0x44,
0x14, 0x5e, 0xef, 0xaf, 0xec, 0x4e, 0x80, 0x94, 0xa9, 0x4a, 0xdc, 0x54, 0xf2, 0xae, 0x16, 0x09,
0x82, 0x04, 0x36, 0x09, 0xa5, 0x44, 0x95, 0x10, 0x8a, 0x45, 0x84, 0x90, 0xa0, 0xa0, 0x89, 0xc8,
0xa1, 0x48, 0x88, 0xb1, 0xf7, 0x75, 0xd7, 0xec, 0xae, 0xc7, 0x9a, 0x19, 0x3b, 0x84, 0x53, 0x25,
0xfe, 0x01, 0x8e, 0x1c, 0x38, 0x70, 0xe3, 0x88, 0x90, 0x90, 0xb8, 0x71, 0xce, 0xb1, 0xc7, 0x1e,
0xd0, 0x8a, 0x98, 0x7f, 0x04, 0xcd, 0x78, 0xb2, 0xee, 0x36, 0xce, 0x56, 0xed, 0xa5, 0x97, 0xde,
0x3c, 0xef, 0x7d, 0xdf, 0x7b, 0x6f, 0x9e, 0xbf, 0x99, 0x37, 0xe8, 0xe3, 0xc9, 0x9e, 0x70, 0x23,
0xe6, 0x4d, 0xd2, 0x00, 0x78, 0x0c, 0x12, 0x84, 0x97, 0x41, 0x3c, 0x64, 0xdc, 0x33, 0x0e, 0x9a,
0x44, 0x1e, 0x4d, 0xe5, 0x98, 0xf1, 0xe8, 0x07, 0x2a, 0x23, 0x16, 0x7b, 0xd9, 0x8e, 0x37, 0x82,
0x18, 0x38, 0x95, 0x30, 0x74, 0x13, 0xce, 0x24, 0xc3, 0x37, 0x0a, 0xb0, 0x4b, 0x93, 0xc8, 0x5d,
0x02, 0xbb, 0xd9, 0xce, 0xd6, 0x3b, 0xa3, 0x48, 0x8e, 0xd3, 0xc0, 0x0d, 0xd9, 0xcc, 0x1b, 0xb1,
0x11, 0xf3, 0x34, 0x27, 0x48, 0xef, 0xe9, 0x95, 0x5e, 0xe8, 0xaf, 0x22, 0xd6, 0xd6, 0xcd, 0x32,
0xf1, 0x8c, 0x86, 0xe3, 0x28, 0x06, 0x7e, 0xe2, 0x25, 0x93, 0x91, 0x32, 0x08, 0x6f, 0x06, 0x92,
0x56, 0x54, 0xb0, 0xe5, 0x5d, 0xc6, 0xe2, 0x69, 0x2c, 0xa3, 0x19, 0x5c, 0x20, 0xdc, 0x7a, 0x12,
0x41, 0x84, 0x63, 0x98, 0xd1, 0x0b, 0xbc, 0xf7, 0x2e, 0xe3, 0xa5, 0x32, 0x9a, 0x7a, 0x51, 0x2c,
0x85, 0xe4, 0x8f, 0x93, 0x06, 0x1f, 0x20, 0x74, 0xf0, 0xbd, 0xe4, 0xf4, 0x88, 0x4e, 0x53, 0xc0,
0x3d, 0xd4, 0x8a, 0x24, 0xcc, 0x84, 0x6d, 0xf5, 0x1b, 0xdb, 0x5d, 0xbf, 0x9b, 0xcf, 0x7b, 0xad,
0x4f, 0x95, 0x81, 0x14, 0xf6, 0xdb, 0x9d, 0x9f, 0x7f, 0xed, 0xd5, 0xee, 0xff, 0xd3, 0xaf, 0x0d,
0xfe, 0xac, 0x23, 0xfb, 0x33, 0x16, 0xd2, 0xe9, 0x61, 0x1a, 0x7c, 0x07, 0xa1, 0xdc, 0x0f, 0x43,
0x10, 0x82, 0x40, 0x16, 0xc1, 0x31, 0xfe, 0x16, 0x75, 0x54, 0x3b, 0x86, 0x54, 0x52, 0xdb, 0xea,
0x5b, 0xdb, 0xeb, 0xbb, 0xef, 0xba, 0xe5, 0x8f, 0x58, 0x54, 0xe7, 0x26, 0x93, 0x91, 0x32, 0x08,
0x57, 0xa1, 0xdd, 0x6c, 0xc7, 0xfd, 0x42, 0xc7, 0xfa, 0x1c, 0x24, 0xf5, 0xf1, 0xe9, 0xbc, 0x57,
0xcb, 0xe7, 0x3d, 0x54, 0xda, 0xc8, 0x22, 0x2a, 0x3e, 0x42, 0x4d, 0x91, 0x40, 0x68, 0xd7, 0x75,
0xf4, 0x9b, 0xee, 0x8a, 0xdf, 0xec, 0x56, 0x54, 0x78, 0x98, 0x40, 0xe8, 0xbf, 0x64, 0x32, 0x34,
0xd5, 0x8a, 0xe8, 0x78, 0xf8, 0x1b, 0xd4, 0x16, 0x92, 0xca, 0x54, 0xd8, 0x0d, 0x1d, 0xf9, 0xd6,
0x53, 0x47, 0xd6, 0x6c, 0xff, 0x15, 0x13, 0xbb, 0x5d, 0xac, 0x89, 0x89, 0x3a, 0xf8, 0x1a, 0x5d,
0xbb, 0xc3, 0x62, 0x02, 0x82, 0xa5, 0x3c, 0x84, 0x7d, 0x29, 0x79, 0x14, 0xa4, 0x12, 0x04, 0xee,
0xa3, 0x66, 0x42, 0xe5, 0x58, 0xb7, 0xab, 0x5b, 0x96, 0xf6, 0x25, 0x95, 0x63, 0xa2, 0x3d, 0x0a,
0x91, 0x01, 0x0f, 0xf4, 0x96, 0x1f, 0x41, 0x1c, 0x01, 0x0f, 0x88, 0xf6, 0x0c, 0xfe, 0xae, 0x23,
0x5c, 0x11, 0xda, 0x43, 0xdd, 0x98, 0xce, 0x40, 0x24, 0x34, 0x04, 0x13, 0xff, 0x55, 0xc3, 0xee,
0xde, 0x39, 0x77, 0x90, 0x12, 0xf3, 0xe4, 0x4c, 0xf8, 0x75, 0xd4, 0x1a, 0x71, 0x96, 0x26, 0xba,
0x4b, 0x5d, 0xff, 0x65, 0x03, 0x69, 0x7d, 0xa2, 0x8c, 0xa4, 0xf0, 0xe1, 0xb7, 0xd0, 0x5a, 0x06,
0x5c, 0x44, 0x2c, 0xb6, 0x9b, 0x1a, 0xb6, 0x61, 0x60, 0x6b, 0x47, 0x85, 0x99, 0x9c, 0xfb, 0xf1,
0xdb, 0xa8, 0xc3, 0x4d, 0xe1, 0x76, 0x4b, 0x63, 0xaf, 0x18, 0x6c, 0xe7, 0x7c, 0x43, 0x64, 0x81,
0xc0, 0xef, 0xa3, 0x75, 0x91, 0x06, 0x0b, 0x42, 0x5b, 0x13, 0xae, 0x1a, 0xc2, 0xfa, 0x61, 0xe9,
0x22, 0x8f, 0xe2, 0xd4, 0xb6, 0xd4, 0x1e, 0xed, 0xb5, 0xe5, 0x6d, 0xa9, 0x16, 0x10, 0xed, 0x19,
0xfc, 0x55, 0x47, 0x9b, 0x87, 0x30, 0xbd, 0xf7, 0x7c, 0x34, 0x7d, 0x77, 0x49, 0xd3, 0x7b, 0xab,
0x95, 0x57, 0x5d, 0xe5, 0x73, 0xd3, 0xf5, 0x2f, 0x75, 0x74, 0x63, 0x45, 0x4d, 0xf8, 0x18, 0x61,
0x7e, 0x41, 0x99, 0xa6, 0x8f, 0xde, 0xca, 0x5a, 0x2e, 0x0a, 0xda, 0x7f, 0x2d, 0x9f, 0xf7, 0x2a,
0x84, 0x4e, 0x2a, 0x52, 0xe0, 0x1f, 0x2d, 0x74, 0x2d, 0xae, 0x3a, 0x71, 0xa6, 0xcd, 0xbb, 0x2b,
0x93, 0x57, 0x9e, 0x55, 0xff, 0x7a, 0x3e, 0xef, 0x55, 0x1f, 0x63, 0x52, 0x9d, 0x6b, 0xf0, 0x7b,
0x1d, 0x5d, 0x7d, 0x71, 0x51, 0x3e, 0x8d, 0xa0, 0x7e, 0x6b, 0xa2, 0xcd, 0x17, 0x62, 0xba, 0x6c,
0x54, 0xe8, 0xeb, 0xb9, 0xb1, 0x7c, 0x8f, 0x7d, 0x25, 0x80, 0x9b, 0xeb, 0x79, 0x80, 0xda, 0xfa,
0x0a, 0x16, 0x76, 0x53, 0x0f, 0x72, 0xa4, 0x1a, 0xac, 0xef, 0x66, 0x41, 0x8c, 0x07, 0x0f, 0x51,
0x0b, 0xd4, 0xe4, 0xb7, 0x5b, 0xfd, 0xc6, 0xf6, 0xfa, 0xee, 0x47, 0xcf, 0xa2, 0x0c, 0x57, 0xbf,
0x1d, 0x0e, 0x62, 0xc9, 0x4f, 0xca, 0x19, 0xa0, 0x6d, 0xa4, 0x08, 0xbe, 0x45, 0xcd, 0xfb, 0x42,
0x63, 0xf0, 0x15, 0xd4, 0x98, 0xc0, 0x49, 0x31, 0x83, 0x88, 0xfa, 0xc4, 0x1f, 0xa2, 0x56, 0xa6,
0x9e, 0x1e, 0xa6, 0x81, 0x6f, 0xae, 0xac, 0xa2, 0x7c, 0xa9, 0x90, 0x82, 0x75, 0xbb, 0xbe, 0x67,
0x0d, 0xfe, 0xb0, 0xd0, 0xf5, 0x4b, 0xf5, 0xa5, 0x86, 0x10, 0x9d, 0x4e, 0xd9, 0x31, 0x0c, 0x75,
0xda, 0x4e, 0x39, 0x84, 0xf6, 0x0b, 0x33, 0x39, 0xf7, 0xe3, 0x37, 0x50, 0x9b, 0x03, 0x15, 0x2c,
0x36, 0x83, 0x6f, 0x21, 0x4d, 0xa2, 0xad, 0xc4, 0x78, 0xf1, 0x3e, 0xda, 0x00, 0x95, 0x5e, 0xd7,
0x75, 0xc0, 0x39, 0xe3, 0xe6, 0x57, 0x6c, 0x1a, 0xc2, 0xc6, 0xc1, 0xb2, 0x9b, 0x3c, 0x8e, 0xf7,
0xb7, 0x4f, 0xcf, 0x9c, 0xda, 0x83, 0x33, 0xa7, 0xf6, 0xf0, 0xcc, 0xa9, 0xdd, 0xcf, 0x1d, 0xeb,
0x34, 0x77, 0xac, 0x07, 0xb9, 0x63, 0x3d, 0xcc, 0x1d, 0xeb, 0xdf, 0xdc, 0xb1, 0x7e, 0xfa, 0xcf,
0xa9, 0xdd, 0xad, 0x67, 0x3b, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0x8e, 0x4b, 0x76, 0x9e, 0x07,
0x0b, 0x00, 0x00,
// 885 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x56, 0x41, 0x6f, 0x1b, 0x45,
0x14, 0xf6, 0x3a, 0xb6, 0x63, 0x4f, 0x80, 0x94, 0xa9, 0x4a, 0xb6, 0xa9, 0xb4, 0xb6, 0x8c, 0x04,
0x41, 0x82, 0x5d, 0x12, 0x4a, 0x89, 0x2a, 0x21, 0x94, 0x15, 0x11, 0x42, 0x82, 0x82, 0x26, 0x22,
0x87, 0x22, 0x21, 0x66, 0xd7, 0xaf, 0xf6, 0x62, 0x7b, 0x67, 0x35, 0x33, 0xbb, 0x21, 0x9c, 0x2a,
0xf1, 0x07, 0x38, 0x72, 0xe0, 0xc0, 0x8d, 0x23, 0x42, 0x42, 0xe2, 0xc6, 0x39, 0xc7, 0x1e, 0x7b,
0x40, 0x16, 0x59, 0xfe, 0x08, 0x9a, 0xd9, 0xb1, 0xb7, 0x69, 0xd6, 0xae, 0xda, 0x4b, 0x2f, 0xbd,
0xed, 0xbc, 0xef, 0xfb, 0xde, 0x7b, 0xf3, 0xe6, 0xed, 0xbc, 0x41, 0x1f, 0x8f, 0xf7, 0x85, 0x1b,
0x31, 0x6f, 0x9c, 0x06, 0xc0, 0x63, 0x90, 0x20, 0xbc, 0x0c, 0xe2, 0x01, 0xe3, 0x9e, 0x01, 0x68,
0x12, 0x79, 0x34, 0x95, 0x23, 0xc6, 0xa3, 0x1f, 0xa8, 0x8c, 0x58, 0xec, 0x65, 0xbb, 0xde, 0x10,
0x62, 0xe0, 0x54, 0xc2, 0xc0, 0x4d, 0x38, 0x93, 0x0c, 0xdf, 0x28, 0xc8, 0x2e, 0x4d, 0x22, 0xf7,
0x02, 0xd9, 0xcd, 0x76, 0xb7, 0xdf, 0x19, 0x46, 0x72, 0x94, 0x06, 0x6e, 0xc8, 0xa6, 0xde, 0x90,
0x0d, 0x99, 0xa7, 0x35, 0x41, 0x7a, 0x4f, 0xaf, 0xf4, 0x42, 0x7f, 0x15, 0xbe, 0xb6, 0x6f, 0x96,
0x81, 0xa7, 0x34, 0x1c, 0x45, 0x31, 0xf0, 0x53, 0x2f, 0x19, 0x0f, 0x95, 0x41, 0x78, 0x53, 0x90,
0xb4, 0x22, 0x83, 0x6d, 0x6f, 0x99, 0x8a, 0xa7, 0xb1, 0x8c, 0xa6, 0x70, 0x49, 0x70, 0xeb, 0x49,
0x02, 0x11, 0x8e, 0x60, 0x4a, 0x2f, 0xe9, 0xde, 0x5b, 0xa6, 0x4b, 0x65, 0x34, 0xf1, 0xa2, 0x58,
0x0a, 0xc9, 0x1f, 0x17, 0xf5, 0x3f, 0x40, 0xe8, 0xf0, 0x7b, 0xc9, 0xe9, 0x31, 0x9d, 0xa4, 0x80,
0xbb, 0xa8, 0x19, 0x49, 0x98, 0x0a, 0xdb, 0xea, 0xad, 0xed, 0x74, 0xfc, 0x4e, 0x3e, 0xeb, 0x36,
0x3f, 0x55, 0x06, 0x52, 0xd8, 0x6f, 0xb7, 0x7f, 0xfe, 0xb5, 0x5b, 0xbb, 0xff, 0x4f, 0xaf, 0xd6,
0xff, 0xb3, 0x8e, 0xec, 0xcf, 0x58, 0x48, 0x27, 0x47, 0x69, 0xf0, 0x1d, 0x84, 0xf2, 0x20, 0x0c,
0x41, 0x08, 0x02, 0x59, 0x04, 0x27, 0xf8, 0x5b, 0xd4, 0x56, 0xe5, 0x18, 0x50, 0x49, 0x6d, 0xab,
0x67, 0xed, 0x6c, 0xec, 0xbd, 0xeb, 0x96, 0x07, 0xb1, 0xc8, 0xce, 0x4d, 0xc6, 0x43, 0x65, 0x10,
0xae, 0x62, 0xbb, 0xd9, 0xae, 0xfb, 0x85, 0xf6, 0xf5, 0x39, 0x48, 0xea, 0xe3, 0xb3, 0x59, 0xb7,
0x96, 0xcf, 0xba, 0xa8, 0xb4, 0x91, 0x85, 0x57, 0x7c, 0x8c, 0x1a, 0x22, 0x81, 0xd0, 0xae, 0x6b,
0xef, 0x37, 0xdd, 0x15, 0xc7, 0xec, 0x56, 0x64, 0x78, 0x94, 0x40, 0xe8, 0xbf, 0x64, 0x22, 0x34,
0xd4, 0x8a, 0x68, 0x7f, 0xf8, 0x1b, 0xd4, 0x12, 0x92, 0xca, 0x54, 0xd8, 0x6b, 0xda, 0xf3, 0xad,
0xa7, 0xf6, 0xac, 0xd5, 0xfe, 0x2b, 0xc6, 0x77, 0xab, 0x58, 0x13, 0xe3, 0xb5, 0xff, 0x35, 0xba,
0x76, 0x87, 0xc5, 0x04, 0x04, 0x4b, 0x79, 0x08, 0x07, 0x52, 0xf2, 0x28, 0x48, 0x25, 0x08, 0xdc,
0x43, 0x8d, 0x84, 0xca, 0x91, 0x2e, 0x57, 0xa7, 0x4c, 0xed, 0x4b, 0x2a, 0x47, 0x44, 0x23, 0x8a,
0x91, 0x01, 0x0f, 0xf4, 0x96, 0x1f, 0x61, 0x1c, 0x03, 0x0f, 0x88, 0x46, 0xfa, 0x7f, 0xd7, 0x11,
0xae, 0x70, 0xed, 0xa1, 0x4e, 0x4c, 0xa7, 0x20, 0x12, 0x1a, 0x82, 0xf1, 0xff, 0xaa, 0x51, 0x77,
0xee, 0xcc, 0x01, 0x52, 0x72, 0x9e, 0x1c, 0x09, 0xbf, 0x8e, 0x9a, 0x43, 0xce, 0xd2, 0x44, 0x57,
0xa9, 0xe3, 0xbf, 0x6c, 0x28, 0xcd, 0x4f, 0x94, 0x91, 0x14, 0x18, 0x7e, 0x0b, 0xad, 0x67, 0xc0,
0x45, 0xc4, 0x62, 0xbb, 0xa1, 0x69, 0x9b, 0x86, 0xb6, 0x7e, 0x5c, 0x98, 0xc9, 0x1c, 0xc7, 0x6f,
0xa3, 0x36, 0x37, 0x89, 0xdb, 0x4d, 0xcd, 0xbd, 0x62, 0xb8, 0xed, 0xf9, 0x86, 0xc8, 0x82, 0x81,
0xdf, 0x47, 0x1b, 0x22, 0x0d, 0x16, 0x82, 0x96, 0x16, 0x5c, 0x35, 0x82, 0x8d, 0xa3, 0x12, 0x22,
0x8f, 0xf2, 0xd4, 0xb6, 0xd4, 0x1e, 0xed, 0xf5, 0x8b, 0xdb, 0x52, 0x25, 0x20, 0x1a, 0xe9, 0xff,
0x55, 0x47, 0x5b, 0x47, 0x30, 0xb9, 0xf7, 0x7c, 0x7a, 0xfa, 0xee, 0x85, 0x9e, 0xde, 0x5f, 0xdd,
0x79, 0xd5, 0x59, 0x3e, 0xb7, 0xbe, 0xfe, 0xa5, 0x8e, 0x6e, 0xac, 0xc8, 0x09, 0x9f, 0x20, 0xcc,
0x2f, 0x75, 0xa6, 0xa9, 0xa3, 0xb7, 0x32, 0x97, 0xcb, 0x0d, 0xed, 0xbf, 0x96, 0xcf, 0xba, 0x15,
0x8d, 0x4e, 0x2a, 0x42, 0xe0, 0x1f, 0x2d, 0x74, 0x2d, 0xae, 0xfa, 0xe3, 0x4c, 0x99, 0xf7, 0x56,
0x06, 0xaf, 0xfc, 0x57, 0xfd, 0xeb, 0xf9, 0xac, 0x5b, 0xfd, 0x1b, 0x93, 0xea, 0x58, 0xfd, 0xdf,
0xeb, 0xe8, 0xea, 0x8b, 0x8b, 0xf2, 0x69, 0x1a, 0xea, 0xb7, 0x06, 0xda, 0x7a, 0xd1, 0x4c, 0xcb,
0x46, 0x45, 0x2a, 0x80, 0x9b, 0xbb, 0x77, 0x71, 0x38, 0x5f, 0x09, 0xe0, 0x44, 0x23, 0xb8, 0x8f,
0x5a, 0xfa, 0x0a, 0x16, 0x76, 0x43, 0x0f, 0x72, 0xa4, 0x0a, 0xac, 0xef, 0x66, 0x41, 0x0c, 0x82,
0x07, 0xa8, 0x09, 0x6a, 0xf2, 0xdb, 0xcd, 0xde, 0xda, 0xce, 0xc6, 0xde, 0x47, 0xcf, 0xd2, 0x19,
0xae, 0x7e, 0x3b, 0x1c, 0xc6, 0x92, 0x9f, 0x96, 0x33, 0x40, 0xdb, 0x48, 0xe1, 0x7c, 0x9b, 0x9a,
0xf7, 0x85, 0xe6, 0xe0, 0x2b, 0x68, 0x6d, 0x0c, 0xa7, 0xc5, 0x0c, 0x22, 0xea, 0x13, 0x7f, 0x88,
0x9a, 0x99, 0x7a, 0x7a, 0x98, 0x02, 0xbe, 0xb9, 0x32, 0x8b, 0xf2, 0xa5, 0x42, 0x0a, 0xd5, 0xed,
0xfa, 0xbe, 0xd5, 0xff, 0xc3, 0x42, 0xd7, 0x97, 0xf6, 0x97, 0x1a, 0x42, 0x74, 0x32, 0x61, 0x27,
0x30, 0xd0, 0x61, 0xdb, 0xe5, 0x10, 0x3a, 0x28, 0xcc, 0x64, 0x8e, 0xe3, 0x37, 0x50, 0x8b, 0x03,
0x15, 0x2c, 0x36, 0x83, 0x6f, 0xd1, 0x9a, 0x44, 0x5b, 0x89, 0x41, 0xf1, 0x01, 0xda, 0x04, 0x15,
0x5e, 0xe7, 0x75, 0xc8, 0x39, 0x9b, 0x1f, 0xc5, 0x96, 0x11, 0x6c, 0x1e, 0x5e, 0x84, 0xc9, 0xe3,
0x7c, 0x7f, 0xe7, 0xec, 0xdc, 0xa9, 0x3d, 0x38, 0x77, 0x6a, 0x0f, 0xcf, 0x9d, 0xda, 0xfd, 0xdc,
0xb1, 0xce, 0x72, 0xc7, 0x7a, 0x90, 0x3b, 0xd6, 0xc3, 0xdc, 0xb1, 0xfe, 0xcd, 0x1d, 0xeb, 0xa7,
0xff, 0x9c, 0xda, 0xdd, 0x7a, 0xb6, 0xfb, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x68, 0x24, 0x86,
0x65, 0x07, 0x0b, 0x00, 0x00,
}

View file

@ -153,7 +153,7 @@ message SubjectAccessReviewSpec {
// User is the user you're testing for.
// If you specify "User" but not "Groups", then is it interpreted as "What if User were not a member of any groups
// +optional
optional string verb = 3;
optional string user = 3;
// Groups is the groups you're testing for.
// +optional

View file

@ -22,9 +22,10 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
// +genclient=true
// +nonNamespaced=true
// +noMethods=true
// +genclient
// +genclient:nonNamespaced
// +genclient:noVerbs
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// SubjectAccessReview checks whether or not a user or group can perform an action.
type SubjectAccessReview struct {
@ -40,9 +41,10 @@ type SubjectAccessReview struct {
Status SubjectAccessReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
// +genclient=true
// +nonNamespaced=true
// +noMethods=true
// +genclient
// +genclient:nonNamespaced
// +genclient:noVerbs
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a
// spec.namespace means "in all namespaces". Self is a special case, because users should always be able
@ -60,8 +62,9 @@ type SelfSubjectAccessReview struct {
Status SubjectAccessReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
// +genclient=true
// +noMethods=true
// +genclient
// +genclient:noVerbs
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace.
// Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions
@ -131,7 +134,7 @@ type SubjectAccessReviewSpec struct {
// User is the user you're testing for.
// If you specify "User" but not "Groups", then is it interpreted as "What if User were not a member of any groups
// +optional
User string `json:"user,omitempty" protobuf:"bytes,3,opt,name=verb"`
User string `json:"user,omitempty" protobuf:"bytes,3,opt,name=user"`
// Groups is the groups you're testing for.
// +optional
Groups []string `json:"groups,omitempty" protobuf:"bytes,4,rep,name=groups"`

View file

@ -21,167 +21,267 @@ limitations under the License.
package v1
import (
meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
conversion "k8s.io/apimachinery/pkg/conversion"
runtime "k8s.io/apimachinery/pkg/runtime"
reflect "reflect"
)
// Deprecated: register deep-copy functions.
func init() {
SchemeBuilder.Register(RegisterDeepCopies)
}
// RegisterDeepCopies adds deep-copy functions to the given scheme. Public
// Deprecated: RegisterDeepCopies adds deep-copy functions to the given scheme. Public
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
return scheme.AddGeneratedDeepCopyFuncs(
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_LocalSubjectAccessReview, InType: reflect.TypeOf(&LocalSubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_NonResourceAttributes, InType: reflect.TypeOf(&NonResourceAttributes{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_ResourceAttributes, InType: reflect.TypeOf(&ResourceAttributes{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_SelfSubjectAccessReview, InType: reflect.TypeOf(&SelfSubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_SelfSubjectAccessReviewSpec, InType: reflect.TypeOf(&SelfSubjectAccessReviewSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_SubjectAccessReview, InType: reflect.TypeOf(&SubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_SubjectAccessReviewSpec, InType: reflect.TypeOf(&SubjectAccessReviewSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_SubjectAccessReviewStatus, InType: reflect.TypeOf(&SubjectAccessReviewStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*LocalSubjectAccessReview).DeepCopyInto(out.(*LocalSubjectAccessReview))
return nil
}, InType: reflect.TypeOf(&LocalSubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*NonResourceAttributes).DeepCopyInto(out.(*NonResourceAttributes))
return nil
}, InType: reflect.TypeOf(&NonResourceAttributes{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*ResourceAttributes).DeepCopyInto(out.(*ResourceAttributes))
return nil
}, InType: reflect.TypeOf(&ResourceAttributes{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*SelfSubjectAccessReview).DeepCopyInto(out.(*SelfSubjectAccessReview))
return nil
}, InType: reflect.TypeOf(&SelfSubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*SelfSubjectAccessReviewSpec).DeepCopyInto(out.(*SelfSubjectAccessReviewSpec))
return nil
}, InType: reflect.TypeOf(&SelfSubjectAccessReviewSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*SubjectAccessReview).DeepCopyInto(out.(*SubjectAccessReview))
return nil
}, InType: reflect.TypeOf(&SubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*SubjectAccessReviewSpec).DeepCopyInto(out.(*SubjectAccessReviewSpec))
return nil
}, InType: reflect.TypeOf(&SubjectAccessReviewSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*SubjectAccessReviewStatus).DeepCopyInto(out.(*SubjectAccessReviewStatus))
return nil
}, InType: reflect.TypeOf(&SubjectAccessReviewStatus{})},
)
}
// DeepCopy_v1_LocalSubjectAccessReview is an autogenerated deepcopy function.
func DeepCopy_v1_LocalSubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*LocalSubjectAccessReview)
out := out.(*LocalSubjectAccessReview)
*out = *in
if newVal, err := c.DeepCopy(&in.ObjectMeta); err != nil {
return err
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LocalSubjectAccessReview) DeepCopyInto(out *LocalSubjectAccessReview) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
in.Spec.DeepCopyInto(&out.Spec)
out.Status = in.Status
return
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, creating a new LocalSubjectAccessReview.
func (x *LocalSubjectAccessReview) DeepCopy() *LocalSubjectAccessReview {
if x == nil {
return nil
}
out := new(LocalSubjectAccessReview)
x.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (x *LocalSubjectAccessReview) DeepCopyObject() runtime.Object {
if c := x.DeepCopy(); c != nil {
return c
} else {
return nil
}
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NonResourceAttributes) DeepCopyInto(out *NonResourceAttributes) {
*out = *in
return
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, creating a new NonResourceAttributes.
func (x *NonResourceAttributes) DeepCopy() *NonResourceAttributes {
if x == nil {
return nil
}
out := new(NonResourceAttributes)
x.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceAttributes) DeepCopyInto(out *ResourceAttributes) {
*out = *in
return
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, creating a new ResourceAttributes.
func (x *ResourceAttributes) DeepCopy() *ResourceAttributes {
if x == nil {
return nil
}
out := new(ResourceAttributes)
x.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SelfSubjectAccessReview) DeepCopyInto(out *SelfSubjectAccessReview) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
in.Spec.DeepCopyInto(&out.Spec)
out.Status = in.Status
return
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, creating a new SelfSubjectAccessReview.
func (x *SelfSubjectAccessReview) DeepCopy() *SelfSubjectAccessReview {
if x == nil {
return nil
}
out := new(SelfSubjectAccessReview)
x.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (x *SelfSubjectAccessReview) DeepCopyObject() runtime.Object {
if c := x.DeepCopy(); c != nil {
return c
} else {
return nil
}
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SelfSubjectAccessReviewSpec) DeepCopyInto(out *SelfSubjectAccessReviewSpec) {
*out = *in
if in.ResourceAttributes != nil {
in, out := &in.ResourceAttributes, &out.ResourceAttributes
if *in == nil {
*out = nil
} else {
out.ObjectMeta = *newVal.(*meta_v1.ObjectMeta)
}
if err := DeepCopy_v1_SubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
return nil
}
}
// DeepCopy_v1_NonResourceAttributes is an autogenerated deepcopy function.
func DeepCopy_v1_NonResourceAttributes(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*NonResourceAttributes)
out := out.(*NonResourceAttributes)
*out = *in
return nil
}
}
// DeepCopy_v1_ResourceAttributes is an autogenerated deepcopy function.
func DeepCopy_v1_ResourceAttributes(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ResourceAttributes)
out := out.(*ResourceAttributes)
*out = *in
return nil
}
}
// DeepCopy_v1_SelfSubjectAccessReview is an autogenerated deepcopy function.
func DeepCopy_v1_SelfSubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SelfSubjectAccessReview)
out := out.(*SelfSubjectAccessReview)
*out = *in
if newVal, err := c.DeepCopy(&in.ObjectMeta); err != nil {
return err
} else {
out.ObjectMeta = *newVal.(*meta_v1.ObjectMeta)
}
if err := DeepCopy_v1_SelfSubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
return nil
}
}
// DeepCopy_v1_SelfSubjectAccessReviewSpec is an autogenerated deepcopy function.
func DeepCopy_v1_SelfSubjectAccessReviewSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SelfSubjectAccessReviewSpec)
out := out.(*SelfSubjectAccessReviewSpec)
*out = *in
if in.ResourceAttributes != nil {
in, out := &in.ResourceAttributes, &out.ResourceAttributes
*out = new(ResourceAttributes)
**out = **in
}
if in.NonResourceAttributes != nil {
in, out := &in.NonResourceAttributes, &out.NonResourceAttributes
}
if in.NonResourceAttributes != nil {
in, out := &in.NonResourceAttributes, &out.NonResourceAttributes
if *in == nil {
*out = nil
} else {
*out = new(NonResourceAttributes)
**out = **in
}
}
return
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, creating a new SelfSubjectAccessReviewSpec.
func (x *SelfSubjectAccessReviewSpec) DeepCopy() *SelfSubjectAccessReviewSpec {
if x == nil {
return nil
}
out := new(SelfSubjectAccessReviewSpec)
x.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SubjectAccessReview) DeepCopyInto(out *SubjectAccessReview) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
in.Spec.DeepCopyInto(&out.Spec)
out.Status = in.Status
return
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, creating a new SubjectAccessReview.
func (x *SubjectAccessReview) DeepCopy() *SubjectAccessReview {
if x == nil {
return nil
}
out := new(SubjectAccessReview)
x.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (x *SubjectAccessReview) DeepCopyObject() runtime.Object {
if c := x.DeepCopy(); c != nil {
return c
} else {
return nil
}
}
// DeepCopy_v1_SubjectAccessReview is an autogenerated deepcopy function.
func DeepCopy_v1_SubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SubjectAccessReview)
out := out.(*SubjectAccessReview)
*out = *in
if newVal, err := c.DeepCopy(&in.ObjectMeta); err != nil {
return err
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SubjectAccessReviewSpec) DeepCopyInto(out *SubjectAccessReviewSpec) {
*out = *in
if in.ResourceAttributes != nil {
in, out := &in.ResourceAttributes, &out.ResourceAttributes
if *in == nil {
*out = nil
} else {
out.ObjectMeta = *newVal.(*meta_v1.ObjectMeta)
}
if err := DeepCopy_v1_SubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
return nil
}
}
// DeepCopy_v1_SubjectAccessReviewSpec is an autogenerated deepcopy function.
func DeepCopy_v1_SubjectAccessReviewSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SubjectAccessReviewSpec)
out := out.(*SubjectAccessReviewSpec)
*out = *in
if in.ResourceAttributes != nil {
in, out := &in.ResourceAttributes, &out.ResourceAttributes
*out = new(ResourceAttributes)
**out = **in
}
if in.NonResourceAttributes != nil {
in, out := &in.NonResourceAttributes, &out.NonResourceAttributes
}
if in.NonResourceAttributes != nil {
in, out := &in.NonResourceAttributes, &out.NonResourceAttributes
if *in == nil {
*out = nil
} else {
*out = new(NonResourceAttributes)
**out = **in
}
if in.Groups != nil {
in, out := &in.Groups, &out.Groups
*out = make([]string, len(*in))
copy(*out, *in)
}
if in.Extra != nil {
in, out := &in.Extra, &out.Extra
*out = make(map[string]ExtraValue)
for key, val := range *in {
if newVal, err := c.DeepCopy(&val); err != nil {
return err
} else {
(*out)[key] = *newVal.(*ExtraValue)
}
}
}
return nil
}
if in.Groups != nil {
in, out := &in.Groups, &out.Groups
*out = make([]string, len(*in))
copy(*out, *in)
}
if in.Extra != nil {
in, out := &in.Extra, &out.Extra
*out = make(map[string]ExtraValue, len(*in))
for key, val := range *in {
(*out)[key] = make(ExtraValue, len(val))
copy((*out)[key], val)
}
}
return
}
// DeepCopy_v1_SubjectAccessReviewStatus is an autogenerated deepcopy function.
func DeepCopy_v1_SubjectAccessReviewStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SubjectAccessReviewStatus)
out := out.(*SubjectAccessReviewStatus)
*out = *in
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, creating a new SubjectAccessReviewSpec.
func (x *SubjectAccessReviewSpec) DeepCopy() *SubjectAccessReviewSpec {
if x == nil {
return nil
}
out := new(SubjectAccessReviewSpec)
x.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SubjectAccessReviewStatus) DeepCopyInto(out *SubjectAccessReviewStatus) {
*out = *in
return
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, creating a new SubjectAccessReviewStatus.
func (x *SubjectAccessReviewStatus) DeepCopy() *SubjectAccessReviewStatus {
if x == nil {
return nil
}
out := new(SubjectAccessReviewStatus)
x.DeepCopyInto(out)
return out
}

View file

@ -2304,61 +2304,61 @@ func init() {
}
var fileDescriptorGenerated = []byte{
// 883 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x56, 0xbf, 0x6f, 0x1c, 0x45,
0x14, 0xbe, 0xbd, 0x1f, 0xf6, 0xdd, 0x18, 0x70, 0x98, 0x28, 0x78, 0x63, 0xa4, 0xbd, 0xd3, 0x21,
0x21, 0x23, 0x25, 0xbb, 0x38, 0x04, 0x12, 0x82, 0x28, 0xbc, 0xc2, 0x42, 0x91, 0x20, 0xa0, 0xb1,
0x70, 0x41, 0x0a, 0x98, 0x5d, 0x3f, 0xdf, 0x2d, 0x77, 0xb7, 0xb3, 0x9a, 0x99, 0xdd, 0x60, 0x44,
0x91, 0x92, 0x92, 0x92, 0x92, 0x8a, 0x9e, 0x32, 0x0d, 0x12, 0x9d, 0xcb, 0x94, 0x29, 0xd0, 0x09,
0x2f, 0xff, 0x08, 0x9a, 0xd9, 0xb9, 0xdb, 0x5c, 0x6e, 0x9d, 0x8b, 0xdc, 0xa4, 0x49, 0xb7, 0xf3,
0xde, 0xf7, 0xbd, 0xf7, 0xe6, 0xcd, 0xb7, 0x6f, 0x06, 0xdd, 0x1d, 0xdd, 0x16, 0x6e, 0xc4, 0xbc,
0x51, 0x1a, 0x00, 0x8f, 0x41, 0x82, 0xf0, 0x32, 0x88, 0x8f, 0x18, 0xf7, 0x8c, 0x83, 0x26, 0x91,
0x47, 0x53, 0x39, 0x64, 0x3c, 0xfa, 0x89, 0xca, 0x88, 0xc5, 0x5e, 0xb6, 0x1b, 0x80, 0xa4, 0xbb,
0xde, 0x00, 0x62, 0xe0, 0x54, 0xc2, 0x91, 0x9b, 0x70, 0x26, 0x19, 0xee, 0x15, 0x0c, 0x97, 0x26,
0x91, 0xbb, 0xc0, 0x70, 0x0d, 0x63, 0xfb, 0xfa, 0x20, 0x92, 0xc3, 0x34, 0x70, 0x43, 0x36, 0xf1,
0x06, 0x6c, 0xc0, 0x3c, 0x4d, 0x0c, 0xd2, 0x63, 0xbd, 0xd2, 0x0b, 0xfd, 0x55, 0x04, 0xdc, 0xbe,
0x59, 0x96, 0x30, 0xa1, 0xe1, 0x30, 0x8a, 0x81, 0x9f, 0x78, 0xc9, 0x68, 0xa0, 0x0c, 0xc2, 0x9b,
0x80, 0xa4, 0x5e, 0xb6, 0x54, 0xc6, 0xb6, 0x77, 0x1e, 0x8b, 0xa7, 0xb1, 0x8c, 0x26, 0xb0, 0x44,
0xf8, 0x68, 0x15, 0x41, 0x84, 0x43, 0x98, 0xd0, 0x25, 0xde, 0x07, 0xe7, 0xf1, 0x52, 0x19, 0x8d,
0xbd, 0x28, 0x96, 0x42, 0xf2, 0x67, 0x49, 0xfd, 0x5b, 0x08, 0xed, 0xff, 0x28, 0x39, 0x3d, 0xa4,
0xe3, 0x14, 0x70, 0x17, 0xb5, 0x22, 0x09, 0x13, 0x61, 0x5b, 0xbd, 0xc6, 0x4e, 0xc7, 0xef, 0xe4,
0xd3, 0x6e, 0xeb, 0xae, 0x32, 0x90, 0xc2, 0x7e, 0xa7, 0xfd, 0xdb, 0xef, 0xdd, 0xda, 0xc3, 0x7f,
0x7a, 0xb5, 0xfe, 0x5f, 0x75, 0x64, 0x7f, 0xc1, 0x42, 0x3a, 0x3e, 0x48, 0x83, 0x1f, 0x20, 0x94,
0x7b, 0x61, 0x08, 0x42, 0x10, 0xc8, 0x22, 0x78, 0x80, 0xbf, 0x47, 0x6d, 0xd5, 0x8e, 0x23, 0x2a,
0xa9, 0x6d, 0xf5, 0xac, 0x9d, 0x8d, 0x1b, 0xef, 0xbb, 0xe5, 0x69, 0xcc, 0xab, 0x73, 0x93, 0xd1,
0x40, 0x19, 0x84, 0xab, 0xd0, 0x6e, 0xb6, 0xeb, 0x7e, 0xa5, 0x63, 0x7d, 0x09, 0x92, 0xfa, 0xf8,
0x74, 0xda, 0xad, 0xe5, 0xd3, 0x2e, 0x2a, 0x6d, 0x64, 0x1e, 0x15, 0xdf, 0x47, 0x4d, 0x91, 0x40,
0x68, 0xd7, 0x75, 0xf4, 0x8f, 0xdd, 0x55, 0x67, 0xed, 0x56, 0x94, 0x79, 0x90, 0x40, 0xe8, 0xbf,
0x66, 0xd2, 0x34, 0xd5, 0x8a, 0xe8, 0xa0, 0x38, 0x44, 0x6b, 0x42, 0x52, 0x99, 0x0a, 0xbb, 0xa1,
0xc3, 0x7f, 0x72, 0xb1, 0xf0, 0x3a, 0x84, 0xff, 0x86, 0x49, 0xb0, 0x56, 0xac, 0x89, 0x09, 0xdd,
0xbf, 0x8f, 0xae, 0xdc, 0x63, 0x31, 0x01, 0xc1, 0x52, 0x1e, 0xc2, 0x9e, 0x94, 0x3c, 0x0a, 0x52,
0x09, 0x02, 0xf7, 0x50, 0x33, 0xa1, 0x72, 0xa8, 0x1b, 0xd7, 0x29, 0xeb, 0xfb, 0x9a, 0xca, 0x21,
0xd1, 0x1e, 0x85, 0xc8, 0x80, 0x07, 0x7a, 0xf3, 0x4f, 0x21, 0x0e, 0x81, 0x07, 0x44, 0x7b, 0xd4,
0xe9, 0xe0, 0x8a, 0xd0, 0x1e, 0xea, 0xc4, 0x74, 0x02, 0x22, 0xa1, 0x21, 0x98, 0xf8, 0x6f, 0x1a,
0x76, 0xe7, 0xde, 0xcc, 0x41, 0x4a, 0xcc, 0xea, 0x4c, 0xf8, 0x1d, 0xd4, 0x1a, 0x70, 0x96, 0x26,
0xba, 0x55, 0x1d, 0xff, 0x75, 0x03, 0x69, 0x7d, 0xae, 0x8c, 0xa4, 0xf0, 0xe1, 0xf7, 0xd0, 0x7a,
0x06, 0x5c, 0x44, 0x2c, 0xb6, 0x9b, 0x1a, 0xb6, 0x69, 0x60, 0xeb, 0x87, 0x85, 0x99, 0xcc, 0xfc,
0xf8, 0x1a, 0x6a, 0x73, 0x53, 0xb8, 0xdd, 0xd2, 0xd8, 0x4b, 0x06, 0xdb, 0x9e, 0x6d, 0x88, 0xcc,
0x11, 0xf8, 0x43, 0xb4, 0x21, 0xd2, 0x60, 0x4e, 0x58, 0xd3, 0x84, 0xcb, 0x86, 0xb0, 0x71, 0x50,
0xba, 0xc8, 0xd3, 0x38, 0xb5, 0x2d, 0xb5, 0x47, 0x7b, 0x7d, 0x71, 0x5b, 0xaa, 0x05, 0x44, 0x7b,
0xfa, 0x7f, 0xd7, 0xd1, 0xd6, 0x01, 0x8c, 0x8f, 0x5f, 0x8e, 0xba, 0xbf, 0x5b, 0x50, 0xf7, 0xa7,
0x2f, 0x20, 0xbf, 0xea, 0x52, 0x5f, 0xae, 0xc2, 0xff, 0xa8, 0xa3, 0xb7, 0x9f, 0x53, 0x18, 0xfe,
0x19, 0x61, 0xbe, 0xa4, 0x51, 0xd3, 0xd1, 0x9b, 0xab, 0x0b, 0x5a, 0xd6, 0xb7, 0xff, 0x56, 0x3e,
0xed, 0x56, 0xe8, 0x9e, 0x54, 0xe4, 0xc1, 0xbf, 0x58, 0xe8, 0x4a, 0x5c, 0xf5, 0x03, 0x9a, 0xae,
0xdf, 0x5a, 0x5d, 0x41, 0xe5, 0xff, 0xeb, 0x5f, 0xcd, 0xa7, 0xdd, 0xea, 0x5f, 0x9b, 0x54, 0x27,
0xec, 0x3f, 0xaa, 0xa3, 0xcb, 0xaf, 0xc6, 0xe8, 0xc5, 0x44, 0xf6, 0xa8, 0x89, 0xb6, 0x5e, 0x09,
0xec, 0xf9, 0x02, 0x9b, 0x8f, 0xf1, 0xc6, 0xe2, 0xbc, 0xfb, 0x46, 0x00, 0x37, 0x63, 0xbc, 0x37,
0x1b, 0xe3, 0x4d, 0x7d, 0xf3, 0x23, 0xd5, 0x69, 0x3d, 0xc2, 0xc5, 0x6c, 0x86, 0x47, 0xa8, 0x05,
0xea, 0xa5, 0x60, 0xb7, 0x7a, 0x8d, 0x9d, 0x8d, 0x1b, 0x9f, 0x5d, 0x58, 0x2b, 0xae, 0x7e, 0x70,
0xec, 0xc7, 0x92, 0x9f, 0x94, 0xd7, 0x85, 0xb6, 0x91, 0x22, 0xc3, 0xf6, 0xb1, 0x79, 0x94, 0x68,
0x0c, 0xbe, 0x84, 0x1a, 0x23, 0x38, 0x29, 0xae, 0x2b, 0xa2, 0x3e, 0xb1, 0x8f, 0x5a, 0x99, 0x7a,
0xaf, 0x98, 0x46, 0x5e, 0x5b, 0x5d, 0x4a, 0xf9, 0xc6, 0x21, 0x05, 0xf5, 0x4e, 0xfd, 0xb6, 0xd5,
0xff, 0xd3, 0x42, 0x57, 0xcf, 0x55, 0x9c, 0xba, 0xb4, 0xe8, 0x78, 0xcc, 0x1e, 0xc0, 0x91, 0xce,
0xdd, 0x2e, 0x2f, 0xad, 0xbd, 0xc2, 0x4c, 0x66, 0x7e, 0xfc, 0x2e, 0x5a, 0xe3, 0x40, 0x05, 0x8b,
0xcd, 0x45, 0x39, 0x17, 0x2b, 0xd1, 0x56, 0x62, 0xbc, 0x78, 0x0f, 0x6d, 0x82, 0x4a, 0xaf, 0x8b,
0xdb, 0xe7, 0x9c, 0x71, 0x73, 0x24, 0x5b, 0x86, 0xb0, 0xb9, 0xbf, 0xe8, 0x26, 0xcf, 0xe2, 0xfd,
0xeb, 0xa7, 0x67, 0x4e, 0xed, 0xf1, 0x99, 0x53, 0x7b, 0x72, 0xe6, 0xd4, 0x1e, 0xe6, 0x8e, 0x75,
0x9a, 0x3b, 0xd6, 0xe3, 0xdc, 0xb1, 0x9e, 0xe4, 0x8e, 0xf5, 0x6f, 0xee, 0x58, 0xbf, 0xfe, 0xe7,
0xd4, 0xbe, 0x5d, 0x37, 0x1b, 0xff, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xf6, 0xa0, 0x82, 0xfc, 0x50,
0x0b, 0x00, 0x00,
// 887 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x56, 0x41, 0x6f, 0xdc, 0x44,
0x14, 0x5e, 0x6f, 0xd6, 0xc9, 0xee, 0x04, 0x48, 0x99, 0xaa, 0xc4, 0x0d, 0x92, 0x77, 0xb5, 0x48,
0x28, 0x48, 0xad, 0x4d, 0x4a, 0xa1, 0xa5, 0x88, 0x43, 0x2c, 0x22, 0x54, 0x09, 0x0a, 0x9a, 0x88,
0x1c, 0xe8, 0x01, 0xc6, 0xce, 0xcb, 0xae, 0xd9, 0x5d, 0x8f, 0x35, 0x33, 0x76, 0x09, 0xe2, 0xd0,
0x23, 0x47, 0x8e, 0x1c, 0x39, 0x71, 0xe7, 0xd8, 0x0b, 0x12, 0xb7, 0x1c, 0x7b, 0xec, 0x01, 0xad,
0x88, 0xf9, 0x23, 0x68, 0xc6, 0xb3, 0xeb, 0xa6, 0xeb, 0x74, 0xab, 0x5c, 0x7a, 0xe9, 0xcd, 0xf3,
0xde, 0xf7, 0xbd, 0xf7, 0xe6, 0xcd, 0xe7, 0x79, 0x83, 0xee, 0x8e, 0x6e, 0x0b, 0x2f, 0x66, 0xfe,
0x28, 0x0b, 0x81, 0x27, 0x20, 0x41, 0xf8, 0x39, 0x24, 0x87, 0x8c, 0xfb, 0xc6, 0x41, 0xd3, 0xd8,
0xa7, 0x99, 0x1c, 0x32, 0x1e, 0xff, 0x44, 0x65, 0xcc, 0x12, 0x3f, 0xdf, 0x09, 0x41, 0xd2, 0x1d,
0x7f, 0x00, 0x09, 0x70, 0x2a, 0xe1, 0xd0, 0x4b, 0x39, 0x93, 0x0c, 0xf7, 0x4a, 0x86, 0x47, 0xd3,
0xd8, 0x3b, 0xc3, 0xf0, 0x0c, 0x63, 0xeb, 0xfa, 0x20, 0x96, 0xc3, 0x2c, 0xf4, 0x22, 0x36, 0xf1,
0x07, 0x6c, 0xc0, 0x7c, 0x4d, 0x0c, 0xb3, 0x23, 0xbd, 0xd2, 0x0b, 0xfd, 0x55, 0x06, 0xdc, 0xba,
0x59, 0x95, 0x30, 0xa1, 0xd1, 0x30, 0x4e, 0x80, 0x1f, 0xfb, 0xe9, 0x68, 0xa0, 0x0c, 0xc2, 0x9f,
0x80, 0xa4, 0x7e, 0xbe, 0x50, 0xc6, 0x96, 0x7f, 0x1e, 0x8b, 0x67, 0x89, 0x8c, 0x27, 0xb0, 0x40,
0xf8, 0x68, 0x19, 0x41, 0x44, 0x43, 0x98, 0xd0, 0x05, 0xde, 0x07, 0xe7, 0xf1, 0x32, 0x19, 0x8f,
0xfd, 0x38, 0x91, 0x42, 0xf2, 0x67, 0x49, 0xfd, 0x5b, 0x08, 0xed, 0xfd, 0x28, 0x39, 0x3d, 0xa0,
0xe3, 0x0c, 0x70, 0x17, 0xd9, 0xb1, 0x84, 0x89, 0x70, 0xac, 0xde, 0xca, 0x76, 0x27, 0xe8, 0x14,
0xd3, 0xae, 0x7d, 0x57, 0x19, 0x48, 0x69, 0xbf, 0xd3, 0xfe, 0xed, 0xf7, 0x6e, 0xe3, 0xe1, 0x3f,
0xbd, 0x46, 0xff, 0xaf, 0x26, 0x72, 0xbe, 0x60, 0x11, 0x1d, 0xef, 0x67, 0xe1, 0x0f, 0x10, 0xc9,
0xdd, 0x28, 0x02, 0x21, 0x08, 0xe4, 0x31, 0x3c, 0xc0, 0xdf, 0xa3, 0xb6, 0x6a, 0xc7, 0x21, 0x95,
0xd4, 0xb1, 0x7a, 0xd6, 0xf6, 0xfa, 0x8d, 0xf7, 0xbd, 0xea, 0x34, 0xe6, 0xd5, 0x79, 0xe9, 0x68,
0xa0, 0x0c, 0xc2, 0x53, 0x68, 0x2f, 0xdf, 0xf1, 0xbe, 0xd2, 0xb1, 0xbe, 0x04, 0x49, 0x03, 0x7c,
0x32, 0xed, 0x36, 0x8a, 0x69, 0x17, 0x55, 0x36, 0x32, 0x8f, 0x8a, 0xef, 0xa3, 0x96, 0x48, 0x21,
0x72, 0x9a, 0x3a, 0xfa, 0xc7, 0xde, 0xb2, 0xb3, 0xf6, 0x6a, 0xca, 0xdc, 0x4f, 0x21, 0x0a, 0x5e,
0x33, 0x69, 0x5a, 0x6a, 0x45, 0x74, 0x50, 0x1c, 0xa1, 0x55, 0x21, 0xa9, 0xcc, 0x84, 0xb3, 0xa2,
0xc3, 0x7f, 0x72, 0xb1, 0xf0, 0x3a, 0x44, 0xf0, 0x86, 0x49, 0xb0, 0x5a, 0xae, 0x89, 0x09, 0xdd,
0xbf, 0x8f, 0xae, 0xdc, 0x63, 0x09, 0x01, 0xc1, 0x32, 0x1e, 0xc1, 0xae, 0x94, 0x3c, 0x0e, 0x33,
0x09, 0x02, 0xf7, 0x50, 0x2b, 0xa5, 0x72, 0xa8, 0x1b, 0xd7, 0xa9, 0xea, 0xfb, 0x9a, 0xca, 0x21,
0xd1, 0x1e, 0x85, 0xc8, 0x81, 0x87, 0x7a, 0xf3, 0x4f, 0x21, 0x0e, 0x80, 0x87, 0x44, 0x7b, 0xd4,
0xe9, 0xe0, 0x9a, 0xd0, 0x3e, 0xea, 0x24, 0x74, 0x02, 0x22, 0xa5, 0x11, 0x98, 0xf8, 0x6f, 0x1a,
0x76, 0xe7, 0xde, 0xcc, 0x41, 0x2a, 0xcc, 0xf2, 0x4c, 0xf8, 0x1d, 0x64, 0x0f, 0x38, 0xcb, 0x52,
0xdd, 0xaa, 0x4e, 0xf0, 0xba, 0x81, 0xd8, 0x9f, 0x2b, 0x23, 0x29, 0x7d, 0xf8, 0x3d, 0xb4, 0x96,
0x03, 0x17, 0x31, 0x4b, 0x9c, 0x96, 0x86, 0x6d, 0x18, 0xd8, 0xda, 0x41, 0x69, 0x26, 0x33, 0x3f,
0xbe, 0x86, 0xda, 0xdc, 0x14, 0xee, 0xd8, 0x1a, 0x7b, 0xc9, 0x60, 0xdb, 0xb3, 0x0d, 0x91, 0x39,
0x02, 0x7f, 0x88, 0xd6, 0x45, 0x16, 0xce, 0x09, 0xab, 0x9a, 0x70, 0xd9, 0x10, 0xd6, 0xf7, 0x2b,
0x17, 0x79, 0x1a, 0xa7, 0xb6, 0xa5, 0xf6, 0xe8, 0xac, 0x9d, 0xdd, 0x96, 0x6a, 0x01, 0xd1, 0x9e,
0xfe, 0xdf, 0x4d, 0xb4, 0xb9, 0x0f, 0xe3, 0xa3, 0x97, 0xa3, 0xee, 0xef, 0xce, 0xa8, 0xfb, 0xd3,
0x17, 0x90, 0x5f, 0x7d, 0xa9, 0x2f, 0x57, 0xe1, 0x7f, 0x34, 0xd1, 0xdb, 0xcf, 0x29, 0x0c, 0xff,
0x8c, 0x30, 0x5f, 0xd0, 0xa8, 0xe9, 0xe8, 0xcd, 0xe5, 0x05, 0x2d, 0xea, 0x3b, 0x78, 0xab, 0x98,
0x76, 0x6b, 0x74, 0x4f, 0x6a, 0xf2, 0xe0, 0x5f, 0x2c, 0x74, 0x25, 0xa9, 0xfb, 0x01, 0x4d, 0xd7,
0x6f, 0x2d, 0xaf, 0xa0, 0xf6, 0xff, 0x0d, 0xae, 0x16, 0xd3, 0x6e, 0xfd, 0xaf, 0x4d, 0xea, 0x13,
0xf6, 0x1f, 0x35, 0xd1, 0xe5, 0x57, 0xd7, 0xe8, 0xc5, 0x44, 0xf6, 0xa8, 0x85, 0x36, 0x5f, 0x09,
0xec, 0xf9, 0x02, 0x53, 0xf7, 0x5d, 0x26, 0x80, 0x9b, 0x3b, 0x7a, 0x7e, 0x56, 0xdf, 0x08, 0xe0,
0x44, 0x7b, 0x70, 0x6f, 0x76, 0x8d, 0xb7, 0xf4, 0xe4, 0x47, 0xaa, 0xd3, 0xfa, 0x0a, 0x17, 0xb3,
0x3b, 0x3c, 0x46, 0x36, 0xa8, 0x97, 0x82, 0x63, 0xf7, 0x56, 0xb6, 0xd7, 0x6f, 0x7c, 0x76, 0x61,
0xad, 0x78, 0xfa, 0xc1, 0xb1, 0x97, 0x48, 0x7e, 0x5c, 0x8d, 0x0b, 0x6d, 0x23, 0x65, 0x86, 0xad,
0x23, 0xf3, 0x28, 0xd1, 0x18, 0x7c, 0x09, 0xad, 0x8c, 0xe0, 0xb8, 0x1c, 0x57, 0x44, 0x7d, 0xe2,
0x00, 0xd9, 0xb9, 0x7a, 0xaf, 0x98, 0x46, 0x5e, 0x5b, 0x5e, 0x4a, 0xf5, 0xc6, 0x21, 0x25, 0xf5,
0x4e, 0xf3, 0xb6, 0xd5, 0xff, 0xd3, 0x42, 0x57, 0xcf, 0x55, 0x9c, 0x1a, 0x5a, 0x74, 0x3c, 0x66,
0x0f, 0xe0, 0x50, 0xe7, 0x6e, 0x57, 0x43, 0x6b, 0xb7, 0x34, 0x93, 0x99, 0x1f, 0xbf, 0x8b, 0x56,
0x39, 0x50, 0xc1, 0x12, 0x33, 0x28, 0xe7, 0x62, 0x25, 0xda, 0x4a, 0x8c, 0x17, 0xef, 0xa2, 0x0d,
0x50, 0xe9, 0x75, 0x71, 0x7b, 0x9c, 0xb3, 0xd9, 0x91, 0x6c, 0x1a, 0xc2, 0xc6, 0xde, 0x59, 0x37,
0x79, 0x16, 0x1f, 0x5c, 0x3f, 0x39, 0x75, 0x1b, 0x8f, 0x4f, 0xdd, 0xc6, 0x93, 0x53, 0xb7, 0xf1,
0xb0, 0x70, 0xad, 0x93, 0xc2, 0xb5, 0x1e, 0x17, 0xae, 0xf5, 0xa4, 0x70, 0xad, 0x7f, 0x0b, 0xd7,
0xfa, 0xf5, 0x3f, 0xb7, 0xf1, 0xed, 0x9a, 0xd9, 0xf8, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x19,
0x63, 0x57, 0xc9, 0x50, 0x0b, 0x00, 0x00,
}

View file

@ -153,7 +153,7 @@ message SubjectAccessReviewSpec {
// User is the user you're testing for.
// If you specify "User" but not "Group", then is it interpreted as "What if User were not a member of any groups
// +optional
optional string verb = 3;
optional string user = 3;
// Groups is the groups you're testing for.
// +optional

View file

@ -22,9 +22,10 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
// +genclient=true
// +nonNamespaced=true
// +noMethods=true
// +genclient
// +genclient:nonNamespaced
// +genclient:noVerbs
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// SubjectAccessReview checks whether or not a user or group can perform an action.
type SubjectAccessReview struct {
@ -40,9 +41,10 @@ type SubjectAccessReview struct {
Status SubjectAccessReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
// +genclient=true
// +nonNamespaced=true
// +noMethods=true
// +genclient
// +genclient:nonNamespaced
// +genclient:noVerbs
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// SelfSubjectAccessReview checks whether or the current user can perform an action. Not filling in a
// spec.namespace means "in all namespaces". Self is a special case, because users should always be able
@ -60,8 +62,9 @@ type SelfSubjectAccessReview struct {
Status SubjectAccessReviewStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
// +genclient=true
// +noMethods=true
// +genclient
// +genclient:noVerbs
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace.
// Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions
@ -131,7 +134,7 @@ type SubjectAccessReviewSpec struct {
// User is the user you're testing for.
// If you specify "User" but not "Group", then is it interpreted as "What if User were not a member of any groups
// +optional
User string `json:"user,omitempty" protobuf:"bytes,3,opt,name=verb"`
User string `json:"user,omitempty" protobuf:"bytes,3,opt,name=user"`
// Groups is the groups you're testing for.
// +optional
Groups []string `json:"group,omitempty" protobuf:"bytes,4,rep,name=group"`

View file

@ -21,167 +21,267 @@ limitations under the License.
package v1beta1
import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
conversion "k8s.io/apimachinery/pkg/conversion"
runtime "k8s.io/apimachinery/pkg/runtime"
reflect "reflect"
)
// Deprecated: register deep-copy functions.
func init() {
SchemeBuilder.Register(RegisterDeepCopies)
}
// RegisterDeepCopies adds deep-copy functions to the given scheme. Public
// Deprecated: RegisterDeepCopies adds deep-copy functions to the given scheme. Public
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
return scheme.AddGeneratedDeepCopyFuncs(
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_LocalSubjectAccessReview, InType: reflect.TypeOf(&LocalSubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_NonResourceAttributes, InType: reflect.TypeOf(&NonResourceAttributes{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_ResourceAttributes, InType: reflect.TypeOf(&ResourceAttributes{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_SelfSubjectAccessReview, InType: reflect.TypeOf(&SelfSubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_SelfSubjectAccessReviewSpec, InType: reflect.TypeOf(&SelfSubjectAccessReviewSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_SubjectAccessReview, InType: reflect.TypeOf(&SubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_SubjectAccessReviewSpec, InType: reflect.TypeOf(&SubjectAccessReviewSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_SubjectAccessReviewStatus, InType: reflect.TypeOf(&SubjectAccessReviewStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*LocalSubjectAccessReview).DeepCopyInto(out.(*LocalSubjectAccessReview))
return nil
}, InType: reflect.TypeOf(&LocalSubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*NonResourceAttributes).DeepCopyInto(out.(*NonResourceAttributes))
return nil
}, InType: reflect.TypeOf(&NonResourceAttributes{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*ResourceAttributes).DeepCopyInto(out.(*ResourceAttributes))
return nil
}, InType: reflect.TypeOf(&ResourceAttributes{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*SelfSubjectAccessReview).DeepCopyInto(out.(*SelfSubjectAccessReview))
return nil
}, InType: reflect.TypeOf(&SelfSubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*SelfSubjectAccessReviewSpec).DeepCopyInto(out.(*SelfSubjectAccessReviewSpec))
return nil
}, InType: reflect.TypeOf(&SelfSubjectAccessReviewSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*SubjectAccessReview).DeepCopyInto(out.(*SubjectAccessReview))
return nil
}, InType: reflect.TypeOf(&SubjectAccessReview{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*SubjectAccessReviewSpec).DeepCopyInto(out.(*SubjectAccessReviewSpec))
return nil
}, InType: reflect.TypeOf(&SubjectAccessReviewSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*SubjectAccessReviewStatus).DeepCopyInto(out.(*SubjectAccessReviewStatus))
return nil
}, InType: reflect.TypeOf(&SubjectAccessReviewStatus{})},
)
}
// DeepCopy_v1beta1_LocalSubjectAccessReview is an autogenerated deepcopy function.
func DeepCopy_v1beta1_LocalSubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*LocalSubjectAccessReview)
out := out.(*LocalSubjectAccessReview)
*out = *in
if newVal, err := c.DeepCopy(&in.ObjectMeta); err != nil {
return err
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LocalSubjectAccessReview) DeepCopyInto(out *LocalSubjectAccessReview) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
in.Spec.DeepCopyInto(&out.Spec)
out.Status = in.Status
return
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, creating a new LocalSubjectAccessReview.
func (x *LocalSubjectAccessReview) DeepCopy() *LocalSubjectAccessReview {
if x == nil {
return nil
}
out := new(LocalSubjectAccessReview)
x.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (x *LocalSubjectAccessReview) DeepCopyObject() runtime.Object {
if c := x.DeepCopy(); c != nil {
return c
} else {
return nil
}
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NonResourceAttributes) DeepCopyInto(out *NonResourceAttributes) {
*out = *in
return
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, creating a new NonResourceAttributes.
func (x *NonResourceAttributes) DeepCopy() *NonResourceAttributes {
if x == nil {
return nil
}
out := new(NonResourceAttributes)
x.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceAttributes) DeepCopyInto(out *ResourceAttributes) {
*out = *in
return
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, creating a new ResourceAttributes.
func (x *ResourceAttributes) DeepCopy() *ResourceAttributes {
if x == nil {
return nil
}
out := new(ResourceAttributes)
x.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SelfSubjectAccessReview) DeepCopyInto(out *SelfSubjectAccessReview) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
in.Spec.DeepCopyInto(&out.Spec)
out.Status = in.Status
return
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, creating a new SelfSubjectAccessReview.
func (x *SelfSubjectAccessReview) DeepCopy() *SelfSubjectAccessReview {
if x == nil {
return nil
}
out := new(SelfSubjectAccessReview)
x.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (x *SelfSubjectAccessReview) DeepCopyObject() runtime.Object {
if c := x.DeepCopy(); c != nil {
return c
} else {
return nil
}
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SelfSubjectAccessReviewSpec) DeepCopyInto(out *SelfSubjectAccessReviewSpec) {
*out = *in
if in.ResourceAttributes != nil {
in, out := &in.ResourceAttributes, &out.ResourceAttributes
if *in == nil {
*out = nil
} else {
out.ObjectMeta = *newVal.(*v1.ObjectMeta)
}
if err := DeepCopy_v1beta1_SubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
return nil
}
}
// DeepCopy_v1beta1_NonResourceAttributes is an autogenerated deepcopy function.
func DeepCopy_v1beta1_NonResourceAttributes(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*NonResourceAttributes)
out := out.(*NonResourceAttributes)
*out = *in
return nil
}
}
// DeepCopy_v1beta1_ResourceAttributes is an autogenerated deepcopy function.
func DeepCopy_v1beta1_ResourceAttributes(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ResourceAttributes)
out := out.(*ResourceAttributes)
*out = *in
return nil
}
}
// DeepCopy_v1beta1_SelfSubjectAccessReview is an autogenerated deepcopy function.
func DeepCopy_v1beta1_SelfSubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SelfSubjectAccessReview)
out := out.(*SelfSubjectAccessReview)
*out = *in
if newVal, err := c.DeepCopy(&in.ObjectMeta); err != nil {
return err
} else {
out.ObjectMeta = *newVal.(*v1.ObjectMeta)
}
if err := DeepCopy_v1beta1_SelfSubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
return nil
}
}
// DeepCopy_v1beta1_SelfSubjectAccessReviewSpec is an autogenerated deepcopy function.
func DeepCopy_v1beta1_SelfSubjectAccessReviewSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SelfSubjectAccessReviewSpec)
out := out.(*SelfSubjectAccessReviewSpec)
*out = *in
if in.ResourceAttributes != nil {
in, out := &in.ResourceAttributes, &out.ResourceAttributes
*out = new(ResourceAttributes)
**out = **in
}
if in.NonResourceAttributes != nil {
in, out := &in.NonResourceAttributes, &out.NonResourceAttributes
}
if in.NonResourceAttributes != nil {
in, out := &in.NonResourceAttributes, &out.NonResourceAttributes
if *in == nil {
*out = nil
} else {
*out = new(NonResourceAttributes)
**out = **in
}
}
return
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, creating a new SelfSubjectAccessReviewSpec.
func (x *SelfSubjectAccessReviewSpec) DeepCopy() *SelfSubjectAccessReviewSpec {
if x == nil {
return nil
}
out := new(SelfSubjectAccessReviewSpec)
x.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SubjectAccessReview) DeepCopyInto(out *SubjectAccessReview) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
in.Spec.DeepCopyInto(&out.Spec)
out.Status = in.Status
return
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, creating a new SubjectAccessReview.
func (x *SubjectAccessReview) DeepCopy() *SubjectAccessReview {
if x == nil {
return nil
}
out := new(SubjectAccessReview)
x.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (x *SubjectAccessReview) DeepCopyObject() runtime.Object {
if c := x.DeepCopy(); c != nil {
return c
} else {
return nil
}
}
// DeepCopy_v1beta1_SubjectAccessReview is an autogenerated deepcopy function.
func DeepCopy_v1beta1_SubjectAccessReview(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SubjectAccessReview)
out := out.(*SubjectAccessReview)
*out = *in
if newVal, err := c.DeepCopy(&in.ObjectMeta); err != nil {
return err
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SubjectAccessReviewSpec) DeepCopyInto(out *SubjectAccessReviewSpec) {
*out = *in
if in.ResourceAttributes != nil {
in, out := &in.ResourceAttributes, &out.ResourceAttributes
if *in == nil {
*out = nil
} else {
out.ObjectMeta = *newVal.(*v1.ObjectMeta)
}
if err := DeepCopy_v1beta1_SubjectAccessReviewSpec(&in.Spec, &out.Spec, c); err != nil {
return err
}
return nil
}
}
// DeepCopy_v1beta1_SubjectAccessReviewSpec is an autogenerated deepcopy function.
func DeepCopy_v1beta1_SubjectAccessReviewSpec(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SubjectAccessReviewSpec)
out := out.(*SubjectAccessReviewSpec)
*out = *in
if in.ResourceAttributes != nil {
in, out := &in.ResourceAttributes, &out.ResourceAttributes
*out = new(ResourceAttributes)
**out = **in
}
if in.NonResourceAttributes != nil {
in, out := &in.NonResourceAttributes, &out.NonResourceAttributes
}
if in.NonResourceAttributes != nil {
in, out := &in.NonResourceAttributes, &out.NonResourceAttributes
if *in == nil {
*out = nil
} else {
*out = new(NonResourceAttributes)
**out = **in
}
if in.Groups != nil {
in, out := &in.Groups, &out.Groups
*out = make([]string, len(*in))
copy(*out, *in)
}
if in.Extra != nil {
in, out := &in.Extra, &out.Extra
*out = make(map[string]ExtraValue)
for key, val := range *in {
if newVal, err := c.DeepCopy(&val); err != nil {
return err
} else {
(*out)[key] = *newVal.(*ExtraValue)
}
}
}
return nil
}
if in.Groups != nil {
in, out := &in.Groups, &out.Groups
*out = make([]string, len(*in))
copy(*out, *in)
}
if in.Extra != nil {
in, out := &in.Extra, &out.Extra
*out = make(map[string]ExtraValue, len(*in))
for key, val := range *in {
(*out)[key] = make(ExtraValue, len(val))
copy((*out)[key], val)
}
}
return
}
// DeepCopy_v1beta1_SubjectAccessReviewStatus is an autogenerated deepcopy function.
func DeepCopy_v1beta1_SubjectAccessReviewStatus(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*SubjectAccessReviewStatus)
out := out.(*SubjectAccessReviewStatus)
*out = *in
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, creating a new SubjectAccessReviewSpec.
func (x *SubjectAccessReviewSpec) DeepCopy() *SubjectAccessReviewSpec {
if x == nil {
return nil
}
out := new(SubjectAccessReviewSpec)
x.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SubjectAccessReviewStatus) DeepCopyInto(out *SubjectAccessReviewStatus) {
*out = *in
return
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, creating a new SubjectAccessReviewStatus.
func (x *SubjectAccessReviewStatus) DeepCopy() *SubjectAccessReviewStatus {
if x == nil {
return nil
}
out := new(SubjectAccessReviewStatus)
x.DeepCopyInto(out)
return out
}