diff --git a/pkg/client/zitadel/idp/v2/idp.pb.go b/pkg/client/zitadel/idp/v2/idp.pb.go new file mode 100644 index 0000000..da2c6fb --- /dev/null +++ b/pkg/client/zitadel/idp/v2/idp.pb.go @@ -0,0 +1,2638 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.25.1 +// source: zitadel/idp/v2/idp.proto + +package idp + +import ( + _ "github.com/envoyproxy/protoc-gen-validate/validate" + _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" + v2 "github.com/zitadel/zitadel-go/v3/pkg/client/zitadel/object/v2" + _ "github.com/zitadel/zitadel-go/v3/pkg/client/zitadel/protoc/v2" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type IDPState int32 + +const ( + IDPState_IDP_STATE_UNSPECIFIED IDPState = 0 + IDPState_IDP_STATE_ACTIVE IDPState = 1 + IDPState_IDP_STATE_INACTIVE IDPState = 2 + IDPState_IDP_STATE_REMOVED IDPState = 3 + IDPState_IDP_STATE_MIGRATED IDPState = 4 +) + +// Enum value maps for IDPState. +var ( + IDPState_name = map[int32]string{ + 0: "IDP_STATE_UNSPECIFIED", + 1: "IDP_STATE_ACTIVE", + 2: "IDP_STATE_INACTIVE", + 3: "IDP_STATE_REMOVED", + 4: "IDP_STATE_MIGRATED", + } + IDPState_value = map[string]int32{ + "IDP_STATE_UNSPECIFIED": 0, + "IDP_STATE_ACTIVE": 1, + "IDP_STATE_INACTIVE": 2, + "IDP_STATE_REMOVED": 3, + "IDP_STATE_MIGRATED": 4, + } +) + +func (x IDPState) Enum() *IDPState { + p := new(IDPState) + *p = x + return p +} + +func (x IDPState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IDPState) Descriptor() protoreflect.EnumDescriptor { + return file_zitadel_idp_v2_idp_proto_enumTypes[0].Descriptor() +} + +func (IDPState) Type() protoreflect.EnumType { + return &file_zitadel_idp_v2_idp_proto_enumTypes[0] +} + +func (x IDPState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IDPState.Descriptor instead. +func (IDPState) EnumDescriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{0} +} + +type IDPType int32 + +const ( + IDPType_IDP_TYPE_UNSPECIFIED IDPType = 0 + IDPType_IDP_TYPE_OIDC IDPType = 1 + IDPType_IDP_TYPE_JWT IDPType = 2 + IDPType_IDP_TYPE_LDAP IDPType = 3 + IDPType_IDP_TYPE_OAUTH IDPType = 4 + IDPType_IDP_TYPE_AZURE_AD IDPType = 5 + IDPType_IDP_TYPE_GITHUB IDPType = 6 + IDPType_IDP_TYPE_GITHUB_ES IDPType = 7 + IDPType_IDP_TYPE_GITLAB IDPType = 8 + IDPType_IDP_TYPE_GITLAB_SELF_HOSTED IDPType = 9 + IDPType_IDP_TYPE_GOOGLE IDPType = 10 + IDPType_IDP_TYPE_APPLE IDPType = 11 + IDPType_IDP_TYPE_SAML IDPType = 12 +) + +// Enum value maps for IDPType. +var ( + IDPType_name = map[int32]string{ + 0: "IDP_TYPE_UNSPECIFIED", + 1: "IDP_TYPE_OIDC", + 2: "IDP_TYPE_JWT", + 3: "IDP_TYPE_LDAP", + 4: "IDP_TYPE_OAUTH", + 5: "IDP_TYPE_AZURE_AD", + 6: "IDP_TYPE_GITHUB", + 7: "IDP_TYPE_GITHUB_ES", + 8: "IDP_TYPE_GITLAB", + 9: "IDP_TYPE_GITLAB_SELF_HOSTED", + 10: "IDP_TYPE_GOOGLE", + 11: "IDP_TYPE_APPLE", + 12: "IDP_TYPE_SAML", + } + IDPType_value = map[string]int32{ + "IDP_TYPE_UNSPECIFIED": 0, + "IDP_TYPE_OIDC": 1, + "IDP_TYPE_JWT": 2, + "IDP_TYPE_LDAP": 3, + "IDP_TYPE_OAUTH": 4, + "IDP_TYPE_AZURE_AD": 5, + "IDP_TYPE_GITHUB": 6, + "IDP_TYPE_GITHUB_ES": 7, + "IDP_TYPE_GITLAB": 8, + "IDP_TYPE_GITLAB_SELF_HOSTED": 9, + "IDP_TYPE_GOOGLE": 10, + "IDP_TYPE_APPLE": 11, + "IDP_TYPE_SAML": 12, + } +) + +func (x IDPType) Enum() *IDPType { + p := new(IDPType) + *p = x + return p +} + +func (x IDPType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IDPType) Descriptor() protoreflect.EnumDescriptor { + return file_zitadel_idp_v2_idp_proto_enumTypes[1].Descriptor() +} + +func (IDPType) Type() protoreflect.EnumType { + return &file_zitadel_idp_v2_idp_proto_enumTypes[1] +} + +func (x IDPType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IDPType.Descriptor instead. +func (IDPType) EnumDescriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{1} +} + +type SAMLBinding int32 + +const ( + SAMLBinding_SAML_BINDING_UNSPECIFIED SAMLBinding = 0 + SAMLBinding_SAML_BINDING_POST SAMLBinding = 1 + SAMLBinding_SAML_BINDING_REDIRECT SAMLBinding = 2 + SAMLBinding_SAML_BINDING_ARTIFACT SAMLBinding = 3 +) + +// Enum value maps for SAMLBinding. +var ( + SAMLBinding_name = map[int32]string{ + 0: "SAML_BINDING_UNSPECIFIED", + 1: "SAML_BINDING_POST", + 2: "SAML_BINDING_REDIRECT", + 3: "SAML_BINDING_ARTIFACT", + } + SAMLBinding_value = map[string]int32{ + "SAML_BINDING_UNSPECIFIED": 0, + "SAML_BINDING_POST": 1, + "SAML_BINDING_REDIRECT": 2, + "SAML_BINDING_ARTIFACT": 3, + } +) + +func (x SAMLBinding) Enum() *SAMLBinding { + p := new(SAMLBinding) + *p = x + return p +} + +func (x SAMLBinding) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SAMLBinding) Descriptor() protoreflect.EnumDescriptor { + return file_zitadel_idp_v2_idp_proto_enumTypes[2].Descriptor() +} + +func (SAMLBinding) Type() protoreflect.EnumType { + return &file_zitadel_idp_v2_idp_proto_enumTypes[2] +} + +func (x SAMLBinding) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SAMLBinding.Descriptor instead. +func (SAMLBinding) EnumDescriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{2} +} + +type SAMLNameIDFormat int32 + +const ( + SAMLNameIDFormat_SAML_NAME_ID_FORMAT_UNSPECIFIED SAMLNameIDFormat = 0 + SAMLNameIDFormat_SAML_NAME_ID_FORMAT_EMAIL_ADDRESS SAMLNameIDFormat = 1 + SAMLNameIDFormat_SAML_NAME_ID_FORMAT_PERSISTENT SAMLNameIDFormat = 2 + SAMLNameIDFormat_SAML_NAME_ID_FORMAT_TRANSIENT SAMLNameIDFormat = 3 +) + +// Enum value maps for SAMLNameIDFormat. +var ( + SAMLNameIDFormat_name = map[int32]string{ + 0: "SAML_NAME_ID_FORMAT_UNSPECIFIED", + 1: "SAML_NAME_ID_FORMAT_EMAIL_ADDRESS", + 2: "SAML_NAME_ID_FORMAT_PERSISTENT", + 3: "SAML_NAME_ID_FORMAT_TRANSIENT", + } + SAMLNameIDFormat_value = map[string]int32{ + "SAML_NAME_ID_FORMAT_UNSPECIFIED": 0, + "SAML_NAME_ID_FORMAT_EMAIL_ADDRESS": 1, + "SAML_NAME_ID_FORMAT_PERSISTENT": 2, + "SAML_NAME_ID_FORMAT_TRANSIENT": 3, + } +) + +func (x SAMLNameIDFormat) Enum() *SAMLNameIDFormat { + p := new(SAMLNameIDFormat) + *p = x + return p +} + +func (x SAMLNameIDFormat) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SAMLNameIDFormat) Descriptor() protoreflect.EnumDescriptor { + return file_zitadel_idp_v2_idp_proto_enumTypes[3].Descriptor() +} + +func (SAMLNameIDFormat) Type() protoreflect.EnumType { + return &file_zitadel_idp_v2_idp_proto_enumTypes[3] +} + +func (x SAMLNameIDFormat) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SAMLNameIDFormat.Descriptor instead. +func (SAMLNameIDFormat) EnumDescriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{3} +} + +type AutoLinkingOption int32 + +const ( + // AUTO_LINKING_OPTION_UNSPECIFIED disables the auto linking prompt. + AutoLinkingOption_AUTO_LINKING_OPTION_UNSPECIFIED AutoLinkingOption = 0 + // AUTO_LINKING_OPTION_USERNAME will use the username of the external user to check for a corresponding ZITADEL user. + AutoLinkingOption_AUTO_LINKING_OPTION_USERNAME AutoLinkingOption = 1 + // AUTO_LINKING_OPTION_EMAIL will use the email of the external user to check for a corresponding ZITADEL user with the same verified email + // Note that in case multiple users match, no prompt will be shown. + AutoLinkingOption_AUTO_LINKING_OPTION_EMAIL AutoLinkingOption = 2 +) + +// Enum value maps for AutoLinkingOption. +var ( + AutoLinkingOption_name = map[int32]string{ + 0: "AUTO_LINKING_OPTION_UNSPECIFIED", + 1: "AUTO_LINKING_OPTION_USERNAME", + 2: "AUTO_LINKING_OPTION_EMAIL", + } + AutoLinkingOption_value = map[string]int32{ + "AUTO_LINKING_OPTION_UNSPECIFIED": 0, + "AUTO_LINKING_OPTION_USERNAME": 1, + "AUTO_LINKING_OPTION_EMAIL": 2, + } +) + +func (x AutoLinkingOption) Enum() *AutoLinkingOption { + p := new(AutoLinkingOption) + *p = x + return p +} + +func (x AutoLinkingOption) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AutoLinkingOption) Descriptor() protoreflect.EnumDescriptor { + return file_zitadel_idp_v2_idp_proto_enumTypes[4].Descriptor() +} + +func (AutoLinkingOption) Type() protoreflect.EnumType { + return &file_zitadel_idp_v2_idp_proto_enumTypes[4] +} + +func (x AutoLinkingOption) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AutoLinkingOption.Descriptor instead. +func (AutoLinkingOption) EnumDescriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{4} +} + +type AzureADTenantType int32 + +const ( + AzureADTenantType_AZURE_AD_TENANT_TYPE_COMMON AzureADTenantType = 0 + AzureADTenantType_AZURE_AD_TENANT_TYPE_ORGANISATIONS AzureADTenantType = 1 + AzureADTenantType_AZURE_AD_TENANT_TYPE_CONSUMERS AzureADTenantType = 2 +) + +// Enum value maps for AzureADTenantType. +var ( + AzureADTenantType_name = map[int32]string{ + 0: "AZURE_AD_TENANT_TYPE_COMMON", + 1: "AZURE_AD_TENANT_TYPE_ORGANISATIONS", + 2: "AZURE_AD_TENANT_TYPE_CONSUMERS", + } + AzureADTenantType_value = map[string]int32{ + "AZURE_AD_TENANT_TYPE_COMMON": 0, + "AZURE_AD_TENANT_TYPE_ORGANISATIONS": 1, + "AZURE_AD_TENANT_TYPE_CONSUMERS": 2, + } +) + +func (x AzureADTenantType) Enum() *AzureADTenantType { + p := new(AzureADTenantType) + *p = x + return p +} + +func (x AzureADTenantType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AzureADTenantType) Descriptor() protoreflect.EnumDescriptor { + return file_zitadel_idp_v2_idp_proto_enumTypes[5].Descriptor() +} + +func (AzureADTenantType) Type() protoreflect.EnumType { + return &file_zitadel_idp_v2_idp_proto_enumTypes[5] +} + +func (x AzureADTenantType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AzureADTenantType.Descriptor instead. +func (AzureADTenantType) EnumDescriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{5} +} + +type IDP struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Unique identifier for the identity provider. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Details *v2.Details `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` + // Current state of the identity provider. + State IDPState `protobuf:"varint,3,opt,name=state,proto3,enum=zitadel.idp.v2.IDPState" json:"state,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + // Type of the identity provider, for example OIDC, JWT, LDAP and SAML. + Type IDPType `protobuf:"varint,5,opt,name=type,proto3,enum=zitadel.idp.v2.IDPType" json:"type,omitempty"` + // Configuration for the type of the identity provider. + Config *IDPConfig `protobuf:"bytes,6,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *IDP) Reset() { + *x = IDP{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IDP) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IDP) ProtoMessage() {} + +func (x *IDP) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IDP.ProtoReflect.Descriptor instead. +func (*IDP) Descriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{0} +} + +func (x *IDP) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *IDP) GetDetails() *v2.Details { + if x != nil { + return x.Details + } + return nil +} + +func (x *IDP) GetState() IDPState { + if x != nil { + return x.State + } + return IDPState_IDP_STATE_UNSPECIFIED +} + +func (x *IDP) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *IDP) GetType() IDPType { + if x != nil { + return x.Type + } + return IDPType_IDP_TYPE_UNSPECIFIED +} + +func (x *IDP) GetConfig() *IDPConfig { + if x != nil { + return x.Config + } + return nil +} + +type IDPConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Options *Options `protobuf:"bytes,1,opt,name=options,proto3" json:"options,omitempty"` + // Types that are assignable to Config: + // + // *IDPConfig_Ldap + // *IDPConfig_Google + // *IDPConfig_Oauth + // *IDPConfig_Oidc + // *IDPConfig_Jwt + // *IDPConfig_Github + // *IDPConfig_GithubEs + // *IDPConfig_Gitlab + // *IDPConfig_GitlabSelfHosted + // *IDPConfig_AzureAd + // *IDPConfig_Apple + // *IDPConfig_Saml + Config isIDPConfig_Config `protobuf_oneof:"config"` +} + +func (x *IDPConfig) Reset() { + *x = IDPConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IDPConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IDPConfig) ProtoMessage() {} + +func (x *IDPConfig) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IDPConfig.ProtoReflect.Descriptor instead. +func (*IDPConfig) Descriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{1} +} + +func (x *IDPConfig) GetOptions() *Options { + if x != nil { + return x.Options + } + return nil +} + +func (m *IDPConfig) GetConfig() isIDPConfig_Config { + if m != nil { + return m.Config + } + return nil +} + +func (x *IDPConfig) GetLdap() *LDAPConfig { + if x, ok := x.GetConfig().(*IDPConfig_Ldap); ok { + return x.Ldap + } + return nil +} + +func (x *IDPConfig) GetGoogle() *GoogleConfig { + if x, ok := x.GetConfig().(*IDPConfig_Google); ok { + return x.Google + } + return nil +} + +func (x *IDPConfig) GetOauth() *OAuthConfig { + if x, ok := x.GetConfig().(*IDPConfig_Oauth); ok { + return x.Oauth + } + return nil +} + +func (x *IDPConfig) GetOidc() *GenericOIDCConfig { + if x, ok := x.GetConfig().(*IDPConfig_Oidc); ok { + return x.Oidc + } + return nil +} + +func (x *IDPConfig) GetJwt() *JWTConfig { + if x, ok := x.GetConfig().(*IDPConfig_Jwt); ok { + return x.Jwt + } + return nil +} + +func (x *IDPConfig) GetGithub() *GitHubConfig { + if x, ok := x.GetConfig().(*IDPConfig_Github); ok { + return x.Github + } + return nil +} + +func (x *IDPConfig) GetGithubEs() *GitHubEnterpriseServerConfig { + if x, ok := x.GetConfig().(*IDPConfig_GithubEs); ok { + return x.GithubEs + } + return nil +} + +func (x *IDPConfig) GetGitlab() *GitLabConfig { + if x, ok := x.GetConfig().(*IDPConfig_Gitlab); ok { + return x.Gitlab + } + return nil +} + +func (x *IDPConfig) GetGitlabSelfHosted() *GitLabSelfHostedConfig { + if x, ok := x.GetConfig().(*IDPConfig_GitlabSelfHosted); ok { + return x.GitlabSelfHosted + } + return nil +} + +func (x *IDPConfig) GetAzureAd() *AzureADConfig { + if x, ok := x.GetConfig().(*IDPConfig_AzureAd); ok { + return x.AzureAd + } + return nil +} + +func (x *IDPConfig) GetApple() *AppleConfig { + if x, ok := x.GetConfig().(*IDPConfig_Apple); ok { + return x.Apple + } + return nil +} + +func (x *IDPConfig) GetSaml() *SAMLConfig { + if x, ok := x.GetConfig().(*IDPConfig_Saml); ok { + return x.Saml + } + return nil +} + +type isIDPConfig_Config interface { + isIDPConfig_Config() +} + +type IDPConfig_Ldap struct { + Ldap *LDAPConfig `protobuf:"bytes,2,opt,name=ldap,proto3,oneof"` +} + +type IDPConfig_Google struct { + Google *GoogleConfig `protobuf:"bytes,3,opt,name=google,proto3,oneof"` +} + +type IDPConfig_Oauth struct { + Oauth *OAuthConfig `protobuf:"bytes,4,opt,name=oauth,proto3,oneof"` +} + +type IDPConfig_Oidc struct { + Oidc *GenericOIDCConfig `protobuf:"bytes,5,opt,name=oidc,proto3,oneof"` +} + +type IDPConfig_Jwt struct { + Jwt *JWTConfig `protobuf:"bytes,6,opt,name=jwt,proto3,oneof"` +} + +type IDPConfig_Github struct { + Github *GitHubConfig `protobuf:"bytes,7,opt,name=github,proto3,oneof"` +} + +type IDPConfig_GithubEs struct { + GithubEs *GitHubEnterpriseServerConfig `protobuf:"bytes,8,opt,name=github_es,json=githubEs,proto3,oneof"` +} + +type IDPConfig_Gitlab struct { + Gitlab *GitLabConfig `protobuf:"bytes,9,opt,name=gitlab,proto3,oneof"` +} + +type IDPConfig_GitlabSelfHosted struct { + GitlabSelfHosted *GitLabSelfHostedConfig `protobuf:"bytes,10,opt,name=gitlab_self_hosted,json=gitlabSelfHosted,proto3,oneof"` +} + +type IDPConfig_AzureAd struct { + AzureAd *AzureADConfig `protobuf:"bytes,11,opt,name=azure_ad,json=azureAd,proto3,oneof"` +} + +type IDPConfig_Apple struct { + Apple *AppleConfig `protobuf:"bytes,12,opt,name=apple,proto3,oneof"` +} + +type IDPConfig_Saml struct { + Saml *SAMLConfig `protobuf:"bytes,13,opt,name=saml,proto3,oneof"` +} + +func (*IDPConfig_Ldap) isIDPConfig_Config() {} + +func (*IDPConfig_Google) isIDPConfig_Config() {} + +func (*IDPConfig_Oauth) isIDPConfig_Config() {} + +func (*IDPConfig_Oidc) isIDPConfig_Config() {} + +func (*IDPConfig_Jwt) isIDPConfig_Config() {} + +func (*IDPConfig_Github) isIDPConfig_Config() {} + +func (*IDPConfig_GithubEs) isIDPConfig_Config() {} + +func (*IDPConfig_Gitlab) isIDPConfig_Config() {} + +func (*IDPConfig_GitlabSelfHosted) isIDPConfig_Config() {} + +func (*IDPConfig_AzureAd) isIDPConfig_Config() {} + +func (*IDPConfig_Apple) isIDPConfig_Config() {} + +func (*IDPConfig_Saml) isIDPConfig_Config() {} + +type JWTConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The endpoint where the JWT can be extracted. + JwtEndpoint string `protobuf:"bytes,1,opt,name=jwt_endpoint,json=jwtEndpoint,proto3" json:"jwt_endpoint,omitempty"` + // The issuer of the JWT (for validation). + Issuer string `protobuf:"bytes,2,opt,name=issuer,proto3" json:"issuer,omitempty"` + // The endpoint to the key (JWK) which is used to sign the JWT with. + KeysEndpoint string `protobuf:"bytes,3,opt,name=keys_endpoint,json=keysEndpoint,proto3" json:"keys_endpoint,omitempty"` + // The name of the header where the JWT is sent in, default is authorization. + HeaderName string `protobuf:"bytes,4,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"` +} + +func (x *JWTConfig) Reset() { + *x = JWTConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JWTConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JWTConfig) ProtoMessage() {} + +func (x *JWTConfig) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JWTConfig.ProtoReflect.Descriptor instead. +func (*JWTConfig) Descriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{2} +} + +func (x *JWTConfig) GetJwtEndpoint() string { + if x != nil { + return x.JwtEndpoint + } + return "" +} + +func (x *JWTConfig) GetIssuer() string { + if x != nil { + return x.Issuer + } + return "" +} + +func (x *JWTConfig) GetKeysEndpoint() string { + if x != nil { + return x.KeysEndpoint + } + return "" +} + +func (x *JWTConfig) GetHeaderName() string { + if x != nil { + return x.HeaderName + } + return "" +} + +type OAuthConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Client id generated by the identity provider. + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // The endpoint where ZITADEL send the user to authenticate. + AuthorizationEndpoint string `protobuf:"bytes,2,opt,name=authorization_endpoint,json=authorizationEndpoint,proto3" json:"authorization_endpoint,omitempty"` + // The endpoint where ZITADEL can get the token. + TokenEndpoint string `protobuf:"bytes,3,opt,name=token_endpoint,json=tokenEndpoint,proto3" json:"token_endpoint,omitempty"` + // The endpoint where ZITADEL can get the user information. + UserEndpoint string `protobuf:"bytes,4,opt,name=user_endpoint,json=userEndpoint,proto3" json:"user_endpoint,omitempty"` + // The scopes requested by ZITADEL during the request on the identity provider. + Scopes []string `protobuf:"bytes,5,rep,name=scopes,proto3" json:"scopes,omitempty"` + // Defines how the attribute is called where ZITADEL can get the id of the user. + IdAttribute string `protobuf:"bytes,6,opt,name=id_attribute,json=idAttribute,proto3" json:"id_attribute,omitempty"` +} + +func (x *OAuthConfig) Reset() { + *x = OAuthConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OAuthConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OAuthConfig) ProtoMessage() {} + +func (x *OAuthConfig) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OAuthConfig.ProtoReflect.Descriptor instead. +func (*OAuthConfig) Descriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{3} +} + +func (x *OAuthConfig) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *OAuthConfig) GetAuthorizationEndpoint() string { + if x != nil { + return x.AuthorizationEndpoint + } + return "" +} + +func (x *OAuthConfig) GetTokenEndpoint() string { + if x != nil { + return x.TokenEndpoint + } + return "" +} + +func (x *OAuthConfig) GetUserEndpoint() string { + if x != nil { + return x.UserEndpoint + } + return "" +} + +func (x *OAuthConfig) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +func (x *OAuthConfig) GetIdAttribute() string { + if x != nil { + return x.IdAttribute + } + return "" +} + +type GenericOIDCConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The OIDC issuer of the identity provider. + Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` + // Client id generated by the identity provider. + ClientId string `protobuf:"bytes,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // The scopes requested by ZITADEL during the request on the identity provider. + Scopes []string `protobuf:"bytes,3,rep,name=scopes,proto3" json:"scopes,omitempty"` + // If true, provider information get mapped from the id token, not from the userinfo endpoint. + IsIdTokenMapping bool `protobuf:"varint,4,opt,name=is_id_token_mapping,json=isIdTokenMapping,proto3" json:"is_id_token_mapping,omitempty"` +} + +func (x *GenericOIDCConfig) Reset() { + *x = GenericOIDCConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GenericOIDCConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GenericOIDCConfig) ProtoMessage() {} + +func (x *GenericOIDCConfig) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GenericOIDCConfig.ProtoReflect.Descriptor instead. +func (*GenericOIDCConfig) Descriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{4} +} + +func (x *GenericOIDCConfig) GetIssuer() string { + if x != nil { + return x.Issuer + } + return "" +} + +func (x *GenericOIDCConfig) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *GenericOIDCConfig) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +func (x *GenericOIDCConfig) GetIsIdTokenMapping() bool { + if x != nil { + return x.IsIdTokenMapping + } + return false +} + +type GitHubConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The client ID of the GitHub App. + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // The scopes requested by ZITADEL during the request to GitHub. + Scopes []string `protobuf:"bytes,2,rep,name=scopes,proto3" json:"scopes,omitempty"` +} + +func (x *GitHubConfig) Reset() { + *x = GitHubConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GitHubConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GitHubConfig) ProtoMessage() {} + +func (x *GitHubConfig) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GitHubConfig.ProtoReflect.Descriptor instead. +func (*GitHubConfig) Descriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{5} +} + +func (x *GitHubConfig) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *GitHubConfig) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +type GitHubEnterpriseServerConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The client ID of the GitHub App. + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + AuthorizationEndpoint string `protobuf:"bytes,2,opt,name=authorization_endpoint,json=authorizationEndpoint,proto3" json:"authorization_endpoint,omitempty"` + TokenEndpoint string `protobuf:"bytes,3,opt,name=token_endpoint,json=tokenEndpoint,proto3" json:"token_endpoint,omitempty"` + UserEndpoint string `protobuf:"bytes,4,opt,name=user_endpoint,json=userEndpoint,proto3" json:"user_endpoint,omitempty"` + // The scopes requested by ZITADEL during the request to GitHub. + Scopes []string `protobuf:"bytes,5,rep,name=scopes,proto3" json:"scopes,omitempty"` +} + +func (x *GitHubEnterpriseServerConfig) Reset() { + *x = GitHubEnterpriseServerConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GitHubEnterpriseServerConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GitHubEnterpriseServerConfig) ProtoMessage() {} + +func (x *GitHubEnterpriseServerConfig) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GitHubEnterpriseServerConfig.ProtoReflect.Descriptor instead. +func (*GitHubEnterpriseServerConfig) Descriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{6} +} + +func (x *GitHubEnterpriseServerConfig) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *GitHubEnterpriseServerConfig) GetAuthorizationEndpoint() string { + if x != nil { + return x.AuthorizationEndpoint + } + return "" +} + +func (x *GitHubEnterpriseServerConfig) GetTokenEndpoint() string { + if x != nil { + return x.TokenEndpoint + } + return "" +} + +func (x *GitHubEnterpriseServerConfig) GetUserEndpoint() string { + if x != nil { + return x.UserEndpoint + } + return "" +} + +func (x *GitHubEnterpriseServerConfig) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +type GoogleConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Client id of the Google application. + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // The scopes requested by ZITADEL during the request to Google. + Scopes []string `protobuf:"bytes,2,rep,name=scopes,proto3" json:"scopes,omitempty"` +} + +func (x *GoogleConfig) Reset() { + *x = GoogleConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GoogleConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GoogleConfig) ProtoMessage() {} + +func (x *GoogleConfig) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GoogleConfig.ProtoReflect.Descriptor instead. +func (*GoogleConfig) Descriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{7} +} + +func (x *GoogleConfig) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *GoogleConfig) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +type GitLabConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Client id of the GitLab application. + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // The scopes requested by ZITADEL during the request to GitLab. + Scopes []string `protobuf:"bytes,2,rep,name=scopes,proto3" json:"scopes,omitempty"` +} + +func (x *GitLabConfig) Reset() { + *x = GitLabConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GitLabConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GitLabConfig) ProtoMessage() {} + +func (x *GitLabConfig) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GitLabConfig.ProtoReflect.Descriptor instead. +func (*GitLabConfig) Descriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{8} +} + +func (x *GitLabConfig) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *GitLabConfig) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +type GitLabSelfHostedConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"` + // Client id of the GitLab application. + ClientId string `protobuf:"bytes,2,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // The scopes requested by ZITADEL during the request to GitLab. + Scopes []string `protobuf:"bytes,3,rep,name=scopes,proto3" json:"scopes,omitempty"` +} + +func (x *GitLabSelfHostedConfig) Reset() { + *x = GitLabSelfHostedConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GitLabSelfHostedConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GitLabSelfHostedConfig) ProtoMessage() {} + +func (x *GitLabSelfHostedConfig) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GitLabSelfHostedConfig.ProtoReflect.Descriptor instead. +func (*GitLabSelfHostedConfig) Descriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{9} +} + +func (x *GitLabSelfHostedConfig) GetIssuer() string { + if x != nil { + return x.Issuer + } + return "" +} + +func (x *GitLabSelfHostedConfig) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *GitLabSelfHostedConfig) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +type LDAPConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Servers []string `protobuf:"bytes,1,rep,name=servers,proto3" json:"servers,omitempty"` + StartTls bool `protobuf:"varint,2,opt,name=start_tls,json=startTls,proto3" json:"start_tls,omitempty"` + BaseDn string `protobuf:"bytes,3,opt,name=base_dn,json=baseDn,proto3" json:"base_dn,omitempty"` + BindDn string `protobuf:"bytes,4,opt,name=bind_dn,json=bindDn,proto3" json:"bind_dn,omitempty"` + UserBase string `protobuf:"bytes,5,opt,name=user_base,json=userBase,proto3" json:"user_base,omitempty"` + UserObjectClasses []string `protobuf:"bytes,6,rep,name=user_object_classes,json=userObjectClasses,proto3" json:"user_object_classes,omitempty"` + UserFilters []string `protobuf:"bytes,7,rep,name=user_filters,json=userFilters,proto3" json:"user_filters,omitempty"` + Timeout *durationpb.Duration `protobuf:"bytes,8,opt,name=timeout,proto3" json:"timeout,omitempty"` + Attributes *LDAPAttributes `protobuf:"bytes,9,opt,name=attributes,proto3" json:"attributes,omitempty"` +} + +func (x *LDAPConfig) Reset() { + *x = LDAPConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LDAPConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LDAPConfig) ProtoMessage() {} + +func (x *LDAPConfig) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LDAPConfig.ProtoReflect.Descriptor instead. +func (*LDAPConfig) Descriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{10} +} + +func (x *LDAPConfig) GetServers() []string { + if x != nil { + return x.Servers + } + return nil +} + +func (x *LDAPConfig) GetStartTls() bool { + if x != nil { + return x.StartTls + } + return false +} + +func (x *LDAPConfig) GetBaseDn() string { + if x != nil { + return x.BaseDn + } + return "" +} + +func (x *LDAPConfig) GetBindDn() string { + if x != nil { + return x.BindDn + } + return "" +} + +func (x *LDAPConfig) GetUserBase() string { + if x != nil { + return x.UserBase + } + return "" +} + +func (x *LDAPConfig) GetUserObjectClasses() []string { + if x != nil { + return x.UserObjectClasses + } + return nil +} + +func (x *LDAPConfig) GetUserFilters() []string { + if x != nil { + return x.UserFilters + } + return nil +} + +func (x *LDAPConfig) GetTimeout() *durationpb.Duration { + if x != nil { + return x.Timeout + } + return nil +} + +func (x *LDAPConfig) GetAttributes() *LDAPAttributes { + if x != nil { + return x.Attributes + } + return nil +} + +type SAMLConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Metadata of the SAML identity provider. + MetadataXml []byte `protobuf:"bytes,1,opt,name=metadata_xml,json=metadataXml,proto3" json:"metadata_xml,omitempty"` + // Binding which defines the type of communication with the identity provider. + Binding SAMLBinding `protobuf:"varint,2,opt,name=binding,proto3,enum=zitadel.idp.v2.SAMLBinding" json:"binding,omitempty"` + // Boolean which defines if the authentication requests are signed. + WithSignedRequest bool `protobuf:"varint,3,opt,name=with_signed_request,json=withSignedRequest,proto3" json:"with_signed_request,omitempty"` + // `nameid-format` for the SAML Request. + NameIdFormat SAMLNameIDFormat `protobuf:"varint,4,opt,name=name_id_format,json=nameIdFormat,proto3,enum=zitadel.idp.v2.SAMLNameIDFormat" json:"name_id_format,omitempty"` + // Optional name of the attribute, which will be used to map the user + // in case the nameid-format returned is `urn:oasis:names:tc:SAML:2.0:nameid-format:transient`. + TransientMappingAttributeName *string `protobuf:"bytes,5,opt,name=transient_mapping_attribute_name,json=transientMappingAttributeName,proto3,oneof" json:"transient_mapping_attribute_name,omitempty"` +} + +func (x *SAMLConfig) Reset() { + *x = SAMLConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SAMLConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SAMLConfig) ProtoMessage() {} + +func (x *SAMLConfig) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SAMLConfig.ProtoReflect.Descriptor instead. +func (*SAMLConfig) Descriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{11} +} + +func (x *SAMLConfig) GetMetadataXml() []byte { + if x != nil { + return x.MetadataXml + } + return nil +} + +func (x *SAMLConfig) GetBinding() SAMLBinding { + if x != nil { + return x.Binding + } + return SAMLBinding_SAML_BINDING_UNSPECIFIED +} + +func (x *SAMLConfig) GetWithSignedRequest() bool { + if x != nil { + return x.WithSignedRequest + } + return false +} + +func (x *SAMLConfig) GetNameIdFormat() SAMLNameIDFormat { + if x != nil { + return x.NameIdFormat + } + return SAMLNameIDFormat_SAML_NAME_ID_FORMAT_UNSPECIFIED +} + +func (x *SAMLConfig) GetTransientMappingAttributeName() string { + if x != nil && x.TransientMappingAttributeName != nil { + return *x.TransientMappingAttributeName + } + return "" +} + +type AzureADConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Client id of the Azure AD application + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // Defines what user accounts should be able to login (Personal, Organizational, All). + Tenant *AzureADTenant `protobuf:"bytes,2,opt,name=tenant,proto3" json:"tenant,omitempty"` + // Azure AD doesn't send if the email has been verified. Enable this if the user email should always be added verified in ZITADEL (no verification emails will be sent). + EmailVerified bool `protobuf:"varint,3,opt,name=email_verified,json=emailVerified,proto3" json:"email_verified,omitempty"` + // The scopes requested by ZITADEL during the request to Azure AD. + Scopes []string `protobuf:"bytes,4,rep,name=scopes,proto3" json:"scopes,omitempty"` +} + +func (x *AzureADConfig) Reset() { + *x = AzureADConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AzureADConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AzureADConfig) ProtoMessage() {} + +func (x *AzureADConfig) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AzureADConfig.ProtoReflect.Descriptor instead. +func (*AzureADConfig) Descriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{12} +} + +func (x *AzureADConfig) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *AzureADConfig) GetTenant() *AzureADTenant { + if x != nil { + return x.Tenant + } + return nil +} + +func (x *AzureADConfig) GetEmailVerified() bool { + if x != nil { + return x.EmailVerified + } + return false +} + +func (x *AzureADConfig) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +type Options struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Enable if users should be able to link an existing ZITADEL user with an external account. + IsLinkingAllowed bool `protobuf:"varint,1,opt,name=is_linking_allowed,json=isLinkingAllowed,proto3" json:"is_linking_allowed,omitempty"` + // Enable if users should be able to create a new account in ZITADEL when using an external account. + IsCreationAllowed bool `protobuf:"varint,2,opt,name=is_creation_allowed,json=isCreationAllowed,proto3" json:"is_creation_allowed,omitempty"` + // Enable if a new account in ZITADEL should be created automatically when login with an external account. + IsAutoCreation bool `protobuf:"varint,3,opt,name=is_auto_creation,json=isAutoCreation,proto3" json:"is_auto_creation,omitempty"` + // Enable if a the ZITADEL account fields should be updated automatically on each login. + IsAutoUpdate bool `protobuf:"varint,4,opt,name=is_auto_update,json=isAutoUpdate,proto3" json:"is_auto_update,omitempty"` + // Enable if users should get prompted to link an existing ZITADEL user to an external account if the selected attribute matches. + AutoLinking AutoLinkingOption `protobuf:"varint,5,opt,name=auto_linking,json=autoLinking,proto3,enum=zitadel.idp.v2.AutoLinkingOption" json:"auto_linking,omitempty"` +} + +func (x *Options) Reset() { + *x = Options{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Options) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Options) ProtoMessage() {} + +func (x *Options) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Options.ProtoReflect.Descriptor instead. +func (*Options) Descriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{13} +} + +func (x *Options) GetIsLinkingAllowed() bool { + if x != nil { + return x.IsLinkingAllowed + } + return false +} + +func (x *Options) GetIsCreationAllowed() bool { + if x != nil { + return x.IsCreationAllowed + } + return false +} + +func (x *Options) GetIsAutoCreation() bool { + if x != nil { + return x.IsAutoCreation + } + return false +} + +func (x *Options) GetIsAutoUpdate() bool { + if x != nil { + return x.IsAutoUpdate + } + return false +} + +func (x *Options) GetAutoLinking() AutoLinkingOption { + if x != nil { + return x.AutoLinking + } + return AutoLinkingOption_AUTO_LINKING_OPTION_UNSPECIFIED +} + +type LDAPAttributes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IdAttribute string `protobuf:"bytes,1,opt,name=id_attribute,json=idAttribute,proto3" json:"id_attribute,omitempty"` + FirstNameAttribute string `protobuf:"bytes,2,opt,name=first_name_attribute,json=firstNameAttribute,proto3" json:"first_name_attribute,omitempty"` + LastNameAttribute string `protobuf:"bytes,3,opt,name=last_name_attribute,json=lastNameAttribute,proto3" json:"last_name_attribute,omitempty"` + DisplayNameAttribute string `protobuf:"bytes,4,opt,name=display_name_attribute,json=displayNameAttribute,proto3" json:"display_name_attribute,omitempty"` + NickNameAttribute string `protobuf:"bytes,5,opt,name=nick_name_attribute,json=nickNameAttribute,proto3" json:"nick_name_attribute,omitempty"` + PreferredUsernameAttribute string `protobuf:"bytes,6,opt,name=preferred_username_attribute,json=preferredUsernameAttribute,proto3" json:"preferred_username_attribute,omitempty"` + EmailAttribute string `protobuf:"bytes,7,opt,name=email_attribute,json=emailAttribute,proto3" json:"email_attribute,omitempty"` + EmailVerifiedAttribute string `protobuf:"bytes,8,opt,name=email_verified_attribute,json=emailVerifiedAttribute,proto3" json:"email_verified_attribute,omitempty"` + PhoneAttribute string `protobuf:"bytes,9,opt,name=phone_attribute,json=phoneAttribute,proto3" json:"phone_attribute,omitempty"` + PhoneVerifiedAttribute string `protobuf:"bytes,10,opt,name=phone_verified_attribute,json=phoneVerifiedAttribute,proto3" json:"phone_verified_attribute,omitempty"` + PreferredLanguageAttribute string `protobuf:"bytes,11,opt,name=preferred_language_attribute,json=preferredLanguageAttribute,proto3" json:"preferred_language_attribute,omitempty"` + AvatarUrlAttribute string `protobuf:"bytes,12,opt,name=avatar_url_attribute,json=avatarUrlAttribute,proto3" json:"avatar_url_attribute,omitempty"` + ProfileAttribute string `protobuf:"bytes,13,opt,name=profile_attribute,json=profileAttribute,proto3" json:"profile_attribute,omitempty"` +} + +func (x *LDAPAttributes) Reset() { + *x = LDAPAttributes{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LDAPAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LDAPAttributes) ProtoMessage() {} + +func (x *LDAPAttributes) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LDAPAttributes.ProtoReflect.Descriptor instead. +func (*LDAPAttributes) Descriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{14} +} + +func (x *LDAPAttributes) GetIdAttribute() string { + if x != nil { + return x.IdAttribute + } + return "" +} + +func (x *LDAPAttributes) GetFirstNameAttribute() string { + if x != nil { + return x.FirstNameAttribute + } + return "" +} + +func (x *LDAPAttributes) GetLastNameAttribute() string { + if x != nil { + return x.LastNameAttribute + } + return "" +} + +func (x *LDAPAttributes) GetDisplayNameAttribute() string { + if x != nil { + return x.DisplayNameAttribute + } + return "" +} + +func (x *LDAPAttributes) GetNickNameAttribute() string { + if x != nil { + return x.NickNameAttribute + } + return "" +} + +func (x *LDAPAttributes) GetPreferredUsernameAttribute() string { + if x != nil { + return x.PreferredUsernameAttribute + } + return "" +} + +func (x *LDAPAttributes) GetEmailAttribute() string { + if x != nil { + return x.EmailAttribute + } + return "" +} + +func (x *LDAPAttributes) GetEmailVerifiedAttribute() string { + if x != nil { + return x.EmailVerifiedAttribute + } + return "" +} + +func (x *LDAPAttributes) GetPhoneAttribute() string { + if x != nil { + return x.PhoneAttribute + } + return "" +} + +func (x *LDAPAttributes) GetPhoneVerifiedAttribute() string { + if x != nil { + return x.PhoneVerifiedAttribute + } + return "" +} + +func (x *LDAPAttributes) GetPreferredLanguageAttribute() string { + if x != nil { + return x.PreferredLanguageAttribute + } + return "" +} + +func (x *LDAPAttributes) GetAvatarUrlAttribute() string { + if x != nil { + return x.AvatarUrlAttribute + } + return "" +} + +func (x *LDAPAttributes) GetProfileAttribute() string { + if x != nil { + return x.ProfileAttribute + } + return "" +} + +type AzureADTenant struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Type: + // + // *AzureADTenant_TenantType + // *AzureADTenant_TenantId + Type isAzureADTenant_Type `protobuf_oneof:"type"` +} + +func (x *AzureADTenant) Reset() { + *x = AzureADTenant{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AzureADTenant) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AzureADTenant) ProtoMessage() {} + +func (x *AzureADTenant) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AzureADTenant.ProtoReflect.Descriptor instead. +func (*AzureADTenant) Descriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{15} +} + +func (m *AzureADTenant) GetType() isAzureADTenant_Type { + if m != nil { + return m.Type + } + return nil +} + +func (x *AzureADTenant) GetTenantType() AzureADTenantType { + if x, ok := x.GetType().(*AzureADTenant_TenantType); ok { + return x.TenantType + } + return AzureADTenantType_AZURE_AD_TENANT_TYPE_COMMON +} + +func (x *AzureADTenant) GetTenantId() string { + if x, ok := x.GetType().(*AzureADTenant_TenantId); ok { + return x.TenantId + } + return "" +} + +type isAzureADTenant_Type interface { + isAzureADTenant_Type() +} + +type AzureADTenant_TenantType struct { + TenantType AzureADTenantType `protobuf:"varint,1,opt,name=tenant_type,json=tenantType,proto3,enum=zitadel.idp.v2.AzureADTenantType,oneof"` +} + +type AzureADTenant_TenantId struct { + TenantId string `protobuf:"bytes,2,opt,name=tenant_id,json=tenantId,proto3,oneof"` +} + +func (*AzureADTenant_TenantType) isAzureADTenant_Type() {} + +func (*AzureADTenant_TenantId) isAzureADTenant_Type() {} + +type AppleConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Client id (App ID or Service ID) provided by Apple. + ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` + // Team ID provided by Apple. + TeamId string `protobuf:"bytes,2,opt,name=team_id,json=teamId,proto3" json:"team_id,omitempty"` + // ID of the private key generated by Apple. + KeyId string `protobuf:"bytes,3,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"` + // The scopes requested by ZITADEL during the request to Apple. + Scopes []string `protobuf:"bytes,4,rep,name=scopes,proto3" json:"scopes,omitempty"` +} + +func (x *AppleConfig) Reset() { + *x = AppleConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AppleConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AppleConfig) ProtoMessage() {} + +func (x *AppleConfig) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_idp_v2_idp_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AppleConfig.ProtoReflect.Descriptor instead. +func (*AppleConfig) Descriptor() ([]byte, []int) { + return file_zitadel_idp_v2_idp_proto_rawDescGZIP(), []int{16} +} + +func (x *AppleConfig) GetClientId() string { + if x != nil { + return x.ClientId + } + return "" +} + +func (x *AppleConfig) GetTeamId() string { + if x != nil { + return x.TeamId + } + return "" +} + +func (x *AppleConfig) GetKeyId() string { + if x != nil { + return x.KeyId + } + return "" +} + +func (x *AppleConfig) GetScopes() []string { + if x != nil { + return x.Scopes + } + return nil +} + +var File_zitadel_idp_v2_idp_proto protoreflect.FileDescriptor + +var file_zitadel_idp_v2_idp_proto_rawDesc = []byte{ + 0x0a, 0x18, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x69, 0x64, 0x70, 0x2f, 0x76, 0x32, + 0x2f, 0x69, 0x64, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x7a, 0x69, 0x74, 0x61, + 0x64, 0x65, 0x6c, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, 0x32, 0x1a, 0x2b, 0x7a, 0x69, 0x74, 0x61, + 0x64, 0x65, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x7a, + 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, + 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, + 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0x98, 0x02, 0x0a, 0x03, 0x49, 0x44, 0x50, 0x12, 0x28, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x18, 0x92, 0x41, 0x15, 0x4a, 0x13, 0x22, 0x36, 0x39, 0x36, 0x32, 0x39, + 0x30, 0x32, 0x33, 0x39, 0x30, 0x36, 0x34, 0x38, 0x38, 0x33, 0x33, 0x34, 0x22, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x34, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, + 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x44, 0x50, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0x92, 0x41, 0x0a, 0x4a, 0x08, 0x22, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x22, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, + 0x65, 0x6c, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x44, 0x50, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, + 0x6c, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x44, 0x50, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x87, 0x06, 0x0a, 0x09, 0x49, + 0x44, 0x50, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x7a, 0x69, 0x74, 0x61, + 0x64, 0x65, 0x6c, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x04, 0x6c, + 0x64, 0x61, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x7a, 0x69, 0x74, 0x61, + 0x64, 0x65, 0x6c, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x44, 0x41, 0x50, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x04, 0x6c, 0x64, 0x61, 0x70, 0x12, 0x36, 0x0a, + 0x06, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x06, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x12, 0x33, 0x0a, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x69, + 0x64, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x12, 0x37, 0x0a, 0x04, 0x6f, 0x69, + 0x64, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, + 0x65, 0x6c, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x4f, 0x49, 0x44, 0x43, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x04, 0x6f, + 0x69, 0x64, 0x63, 0x12, 0x2d, 0x0a, 0x03, 0x6a, 0x77, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, + 0x32, 0x2e, 0x4a, 0x57, 0x54, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x03, 0x6a, + 0x77, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x69, 0x64, 0x70, + 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x48, 0x00, 0x52, 0x06, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x12, 0x4b, 0x0a, 0x09, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x5f, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x47, + 0x69, 0x74, 0x48, 0x75, 0x62, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x08, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x45, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x67, 0x69, 0x74, 0x6c, 0x61, + 0x62, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, + 0x6c, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x61, 0x62, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x06, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x12, + 0x56, 0x0a, 0x12, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x68, + 0x6f, 0x73, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x7a, 0x69, + 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x69, 0x74, + 0x4c, 0x61, 0x62, 0x53, 0x65, 0x6c, 0x66, 0x48, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x10, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x53, 0x65, 0x6c, + 0x66, 0x48, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x08, 0x61, 0x7a, 0x75, 0x72, 0x65, + 0x5f, 0x61, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x7a, 0x69, 0x74, 0x61, + 0x64, 0x65, 0x6c, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, + 0x41, 0x44, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x07, 0x61, 0x7a, 0x75, 0x72, + 0x65, 0x41, 0x64, 0x12, 0x33, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x69, 0x64, 0x70, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, + 0x00, 0x52, 0x05, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x73, 0x61, 0x6d, 0x6c, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, + 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x41, 0x4d, 0x4c, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x48, 0x00, 0x52, 0x04, 0x73, 0x61, 0x6d, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x22, 0xba, 0x02, 0x0a, 0x09, 0x4a, 0x57, 0x54, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0c, 0x6a, 0x77, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0x92, 0x41, 0x1f, 0x4a, 0x1d, 0x22, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0xfa, 0x42, 0x07, 0x72, + 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x0b, 0x6a, 0x77, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x44, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2c, 0x92, 0x41, 0x1f, 0x4a, 0x1d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, + 0x01, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x56, 0x0a, 0x0d, 0x6b, 0x65, 0x79, + 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x31, 0x92, 0x41, 0x24, 0x4a, 0x22, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x22, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, + 0x18, 0xc8, 0x01, 0x52, 0x0c, 0x6b, 0x65, 0x79, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x3e, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1d, 0x92, 0x41, 0x10, 0x4a, 0x0e, 0x22, 0x78, 0x2d, + 0x61, 0x75, 0x74, 0x68, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xfa, 0x42, 0x07, 0x72, 0x05, + 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0xc9, 0x03, 0x0a, 0x0b, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x2d, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0x92, 0x41, 0x0d, 0x4a, 0x0b, 0x22, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x2d, 0x69, 0x64, 0x22, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x6a, 0x0a, 0x16, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x33, 0x92, 0x41, 0x30, 0x4a, 0x2e, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x2f, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2f, 0x76, 0x32, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x22, 0x52, 0x15, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x0e, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0x92, 0x41, 0x27, 0x4a, 0x25, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x5c, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0x92, 0x41, 0x34, 0x4a, 0x32, 0x22, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x52, + 0x0c, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3b, 0x0a, + 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x23, 0x92, + 0x41, 0x20, 0x4a, 0x1e, 0x5b, 0x22, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x22, 0x2c, 0x20, 0x22, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x2c, 0x20, 0x22, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x22, 0x5d, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x0c, 0x69, 0x64, + 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0e, 0x92, 0x41, 0x0b, 0x4a, 0x09, 0x22, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, + 0x52, 0x0b, 0x69, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x22, 0xf6, 0x01, + 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x49, 0x44, 0x43, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x23, 0x92, 0x41, 0x20, 0x4a, 0x1e, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x22, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x12, 0x2d, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x10, 0x92, 0x41, 0x0d, 0x4a, 0x0b, 0x22, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x2d, 0x69, 0x64, 0x22, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x3b, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, + 0x23, 0x92, 0x41, 0x20, 0x4a, 0x1e, 0x5b, 0x22, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x22, 0x2c, + 0x20, 0x22, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x2c, 0x20, 0x22, 0x65, 0x6d, 0x61, + 0x69, 0x6c, 0x22, 0x5d, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x13, + 0x69, 0x73, 0x5f, 0x69, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x6d, 0x61, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x09, 0x92, 0x41, 0x06, 0x4a, 0x04, + 0x74, 0x72, 0x75, 0x65, 0x52, 0x10, 0x69, 0x73, 0x49, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4d, + 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x22, 0x7a, 0x0a, 0x0c, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2d, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0x92, 0x41, 0x0d, 0x4a, 0x0b, + 0x22, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2d, 0x69, 0x64, 0x22, 0x52, 0x08, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x23, 0x92, 0x41, 0x20, 0x4a, 0x1e, 0x5b, 0x22, 0x6f, 0x70, + 0x65, 0x6e, 0x69, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, + 0x2c, 0x20, 0x22, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x5d, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, + 0x65, 0x73, 0x22, 0x8d, 0x02, 0x0a, 0x1c, 0x47, 0x69, 0x74, 0x48, 0x75, 0x62, 0x45, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x2d, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0x92, 0x41, 0x0d, 0x4a, 0x0b, 0x22, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x2d, 0x69, 0x64, 0x22, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x35, 0x0a, 0x16, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x15, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x23, 0x92, 0x41, 0x20, 0x4a, 0x1e, 0x5b, 0x22, 0x6f, 0x70, + 0x65, 0x6e, 0x69, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, + 0x2c, 0x20, 0x22, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x5d, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, + 0x65, 0x73, 0x22, 0x7a, 0x0a, 0x0c, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x2d, 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0x92, 0x41, 0x0d, 0x4a, 0x0b, 0x22, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x2d, 0x69, 0x64, 0x22, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x23, 0x92, 0x41, 0x20, 0x4a, 0x1e, 0x5b, 0x22, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, + 0x22, 0x2c, 0x20, 0x22, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x2c, 0x20, 0x22, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x5d, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x7a, + 0x0a, 0x0c, 0x47, 0x69, 0x74, 0x4c, 0x61, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2d, + 0x0a, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x10, 0x92, 0x41, 0x0d, 0x4a, 0x0b, 0x22, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2d, + 0x69, 0x64, 0x22, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3b, 0x0a, + 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x23, 0x92, + 0x41, 0x20, 0x4a, 0x1e, 0x5b, 0x22, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x22, 0x2c, 0x20, 0x22, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x2c, 0x20, 0x22, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x22, 0x5d, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x16, 0x47, + 0x69, 0x74, 0x4c, 0x61, 0x62, 0x53, 0x65, 0x6c, 0x66, 0x48, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x2d, 0x0a, + 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x10, 0x92, 0x41, 0x0d, 0x4a, 0x0b, 0x22, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2d, 0x69, + 0x64, 0x22, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x06, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x23, 0x92, 0x41, + 0x20, 0x4a, 0x1e, 0x5b, 0x22, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x2c, 0x20, 0x22, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, + 0x5d, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x22, 0xda, 0x02, 0x0a, 0x0a, 0x4c, 0x44, + 0x41, 0x50, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x6c, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x6c, 0x73, 0x12, + 0x17, 0x0a, 0x07, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x62, 0x61, 0x73, 0x65, 0x44, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x62, 0x69, 0x6e, 0x64, + 0x5f, 0x64, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x69, 0x6e, 0x64, 0x44, + 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x42, 0x61, 0x73, 0x65, 0x12, 0x2e, + 0x0a, 0x13, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x75, 0x73, 0x65, + 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x21, + 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x73, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x7a, 0x69, 0x74, + 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x44, 0x41, 0x50, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0xd1, 0x02, 0x0a, 0x0a, 0x53, 0x41, 0x4d, 0x4c, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x78, 0x6d, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x58, 0x6d, 0x6c, 0x12, 0x35, 0x0a, 0x07, 0x62, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x7a, 0x69, 0x74, 0x61, + 0x64, 0x65, 0x6c, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x41, 0x4d, 0x4c, 0x42, + 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, + 0x2e, 0x0a, 0x13, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x77, 0x69, + 0x74, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x46, 0x0a, 0x0e, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x69, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, + 0x6c, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x41, 0x4d, 0x4c, 0x4e, 0x61, 0x6d, + 0x65, 0x49, 0x44, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x49, + 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x4c, 0x0a, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x1d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x61, + 0x70, 0x70, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe6, 0x01, 0x0a, 0x0d, 0x41, + 0x7a, 0x75, 0x72, 0x65, 0x41, 0x44, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2d, 0x0a, 0x09, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x10, 0x92, 0x41, 0x0d, 0x4a, 0x0b, 0x22, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2d, 0x69, 0x64, + 0x22, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x06, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x7a, 0x69, + 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x69, 0x64, 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x7a, 0x75, + 0x72, 0x65, 0x41, 0x44, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x61, + 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x6d, 0x61, 0x69, + 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x30, 0x92, 0x41, 0x2d, 0x4a, 0x2b, + 0x5b, 0x22, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x22, 0x2c, 0x20, 0x22, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x2c, 0x20, 0x22, + 0x55, 0x73, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x22, 0x5d, 0x52, 0x06, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x73, 0x22, 0xfd, 0x01, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x4c, + 0x69, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x2e, 0x0a, + 0x13, 0x69, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x28, 0x0a, + 0x10, 0x69, 0x73, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x61, 0x75, + 0x74, 0x6f, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0c, 0x69, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, + 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x69, 0x64, + 0x70, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x69, 0x6e, 0x67, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, + 0x69, 0x6e, 0x67, 0x22, 0xa6, 0x06, 0x0a, 0x0e, 0x4c, 0x44, 0x41, 0x50, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x0c, 0x69, 0x64, 0x5f, 0x61, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, + 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x0b, 0x69, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x14, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x12, 0x66, 0x69, 0x72, + 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, + 0x38, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x61, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, + 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x3e, 0x0a, 0x16, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, + 0x18, 0xc8, 0x01, 0x52, 0x14, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x13, 0x6e, 0x69, 0x63, + 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, + 0x52, 0x11, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x12, 0x4a, 0x0a, 0x1c, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, + 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, + 0x18, 0xc8, 0x01, 0x52, 0x1a, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x55, 0x73, + 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, + 0x31, 0x0a, 0x0f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, + 0xc8, 0x01, 0x52, 0x0e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x12, 0x42, 0x0a, 0x18, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x16, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x31, 0x0a, 0x0f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x5f, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x0e, 0x70, 0x68, 0x6f, 0x6e, 0x65, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x18, 0x70, 0x68, 0x6f, + 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, + 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x16, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x4a, 0x0a, + 0x1c, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x1a, 0x70, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x14, 0x61, 0x76, 0x61, + 0x74, 0x61, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, + 0x01, 0x52, 0x12, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x18, 0xc8, 0x01, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x22, 0x7c, 0x0a, 0x0d, + 0x41, 0x7a, 0x75, 0x72, 0x65, 0x41, 0x44, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x12, 0x44, 0x0a, + 0x0b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x69, 0x64, 0x70, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x41, 0x44, 0x54, 0x65, 0x6e, 0x61, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, + 0x49, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc5, 0x01, 0x0a, 0x0b, 0x41, + 0x70, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x0a, 0x09, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0x92, + 0x41, 0x11, 0x4a, 0x0f, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, + 0x69, 0x64, 0x22, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a, + 0x07, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x11, + 0x92, 0x41, 0x0e, 0x4a, 0x0c, 0x22, 0x41, 0x4c, 0x54, 0x30, 0x33, 0x4a, 0x56, 0x33, 0x4f, 0x53, + 0x22, 0x52, 0x06, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x06, 0x6b, 0x65, 0x79, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0x92, 0x41, 0x0d, 0x4a, 0x0b, + 0x22, 0x4f, 0x47, 0x4b, 0x44, 0x4b, 0x32, 0x35, 0x4b, 0x44, 0x22, 0x52, 0x05, 0x6b, 0x65, 0x79, + 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x09, 0x42, 0x16, 0x92, 0x41, 0x13, 0x4a, 0x11, 0x5b, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x2c, 0x20, 0x22, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x5d, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, + 0x65, 0x73, 0x2a, 0x82, 0x01, 0x0a, 0x08, 0x49, 0x44, 0x50, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x19, 0x0a, 0x15, 0x49, 0x44, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x44, + 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, + 0x12, 0x16, 0x0a, 0x12, 0x49, 0x44, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, + 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x44, 0x50, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x03, 0x12, + 0x16, 0x0a, 0x12, 0x49, 0x44, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4d, 0x49, 0x47, + 0x52, 0x41, 0x54, 0x45, 0x44, 0x10, 0x04, 0x2a, 0xa5, 0x02, 0x0a, 0x07, 0x49, 0x44, 0x50, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x44, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, + 0x0d, 0x49, 0x44, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x49, 0x44, 0x43, 0x10, 0x01, + 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x44, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4a, 0x57, 0x54, + 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x44, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, + 0x44, 0x41, 0x50, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x44, 0x50, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x4f, 0x41, 0x55, 0x54, 0x48, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x44, 0x50, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x5a, 0x55, 0x52, 0x45, 0x5f, 0x41, 0x44, 0x10, 0x05, + 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x44, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, + 0x48, 0x55, 0x42, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x44, 0x50, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x5f, 0x45, 0x53, 0x10, 0x07, 0x12, 0x13, 0x0a, + 0x0f, 0x49, 0x44, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, 0x49, 0x54, 0x4c, 0x41, 0x42, + 0x10, 0x08, 0x12, 0x1f, 0x0a, 0x1b, 0x49, 0x44, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x47, + 0x49, 0x54, 0x4c, 0x41, 0x42, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x45, + 0x44, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x44, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x10, 0x0a, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x44, 0x50, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x45, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, + 0x49, 0x44, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x41, 0x4d, 0x4c, 0x10, 0x0c, 0x2a, + 0x78, 0x0a, 0x0b, 0x53, 0x41, 0x4d, 0x4c, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1c, + 0x0a, 0x18, 0x53, 0x41, 0x4d, 0x4c, 0x5f, 0x42, 0x49, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, + 0x53, 0x41, 0x4d, 0x4c, 0x5f, 0x42, 0x49, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x53, + 0x54, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x41, 0x4d, 0x4c, 0x5f, 0x42, 0x49, 0x4e, 0x44, + 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x19, + 0x0a, 0x15, 0x53, 0x41, 0x4d, 0x4c, 0x5f, 0x42, 0x49, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x41, + 0x52, 0x54, 0x49, 0x46, 0x41, 0x43, 0x54, 0x10, 0x03, 0x2a, 0xa5, 0x01, 0x0a, 0x10, 0x53, 0x41, + 0x4d, 0x4c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x23, + 0x0a, 0x1f, 0x53, 0x41, 0x4d, 0x4c, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x46, + 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x41, 0x4d, 0x4c, 0x5f, 0x4e, 0x41, 0x4d, 0x45, + 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, + 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x41, + 0x4d, 0x4c, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, + 0x54, 0x5f, 0x50, 0x45, 0x52, 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x21, + 0x0a, 0x1d, 0x53, 0x41, 0x4d, 0x4c, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x49, 0x44, 0x5f, 0x46, + 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x45, 0x4e, 0x54, 0x10, + 0x03, 0x2a, 0x79, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x6f, 0x4c, 0x69, 0x6e, 0x6b, 0x69, 0x6e, 0x67, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4c, + 0x49, 0x4e, 0x4b, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x41, + 0x55, 0x54, 0x4f, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x50, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x01, 0x12, 0x1d, 0x0a, + 0x19, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x50, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x4d, 0x41, 0x49, 0x4c, 0x10, 0x02, 0x2a, 0x80, 0x01, 0x0a, + 0x11, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x41, 0x44, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x5a, 0x55, 0x52, 0x45, 0x5f, 0x41, 0x44, 0x5f, 0x54, + 0x45, 0x4e, 0x41, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x4f, + 0x4e, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x41, 0x5a, 0x55, 0x52, 0x45, 0x5f, 0x41, 0x44, 0x5f, + 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x52, 0x47, 0x41, + 0x4e, 0x49, 0x53, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x41, + 0x5a, 0x55, 0x52, 0x45, 0x5f, 0x41, 0x44, 0x5f, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x54, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, 0x45, 0x52, 0x53, 0x10, 0x02, 0x42, + 0x30, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x7a, 0x69, + 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x69, 0x64, 0x70, 0x2f, 0x76, 0x32, 0x3b, 0x69, 0x64, + 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_zitadel_idp_v2_idp_proto_rawDescOnce sync.Once + file_zitadel_idp_v2_idp_proto_rawDescData = file_zitadel_idp_v2_idp_proto_rawDesc +) + +func file_zitadel_idp_v2_idp_proto_rawDescGZIP() []byte { + file_zitadel_idp_v2_idp_proto_rawDescOnce.Do(func() { + file_zitadel_idp_v2_idp_proto_rawDescData = protoimpl.X.CompressGZIP(file_zitadel_idp_v2_idp_proto_rawDescData) + }) + return file_zitadel_idp_v2_idp_proto_rawDescData +} + +var file_zitadel_idp_v2_idp_proto_enumTypes = make([]protoimpl.EnumInfo, 6) +var file_zitadel_idp_v2_idp_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_zitadel_idp_v2_idp_proto_goTypes = []interface{}{ + (IDPState)(0), // 0: zitadel.idp.v2.IDPState + (IDPType)(0), // 1: zitadel.idp.v2.IDPType + (SAMLBinding)(0), // 2: zitadel.idp.v2.SAMLBinding + (SAMLNameIDFormat)(0), // 3: zitadel.idp.v2.SAMLNameIDFormat + (AutoLinkingOption)(0), // 4: zitadel.idp.v2.AutoLinkingOption + (AzureADTenantType)(0), // 5: zitadel.idp.v2.AzureADTenantType + (*IDP)(nil), // 6: zitadel.idp.v2.IDP + (*IDPConfig)(nil), // 7: zitadel.idp.v2.IDPConfig + (*JWTConfig)(nil), // 8: zitadel.idp.v2.JWTConfig + (*OAuthConfig)(nil), // 9: zitadel.idp.v2.OAuthConfig + (*GenericOIDCConfig)(nil), // 10: zitadel.idp.v2.GenericOIDCConfig + (*GitHubConfig)(nil), // 11: zitadel.idp.v2.GitHubConfig + (*GitHubEnterpriseServerConfig)(nil), // 12: zitadel.idp.v2.GitHubEnterpriseServerConfig + (*GoogleConfig)(nil), // 13: zitadel.idp.v2.GoogleConfig + (*GitLabConfig)(nil), // 14: zitadel.idp.v2.GitLabConfig + (*GitLabSelfHostedConfig)(nil), // 15: zitadel.idp.v2.GitLabSelfHostedConfig + (*LDAPConfig)(nil), // 16: zitadel.idp.v2.LDAPConfig + (*SAMLConfig)(nil), // 17: zitadel.idp.v2.SAMLConfig + (*AzureADConfig)(nil), // 18: zitadel.idp.v2.AzureADConfig + (*Options)(nil), // 19: zitadel.idp.v2.Options + (*LDAPAttributes)(nil), // 20: zitadel.idp.v2.LDAPAttributes + (*AzureADTenant)(nil), // 21: zitadel.idp.v2.AzureADTenant + (*AppleConfig)(nil), // 22: zitadel.idp.v2.AppleConfig + (*v2.Details)(nil), // 23: zitadel.object.v2.Details + (*durationpb.Duration)(nil), // 24: google.protobuf.Duration +} +var file_zitadel_idp_v2_idp_proto_depIdxs = []int32{ + 23, // 0: zitadel.idp.v2.IDP.details:type_name -> zitadel.object.v2.Details + 0, // 1: zitadel.idp.v2.IDP.state:type_name -> zitadel.idp.v2.IDPState + 1, // 2: zitadel.idp.v2.IDP.type:type_name -> zitadel.idp.v2.IDPType + 7, // 3: zitadel.idp.v2.IDP.config:type_name -> zitadel.idp.v2.IDPConfig + 19, // 4: zitadel.idp.v2.IDPConfig.options:type_name -> zitadel.idp.v2.Options + 16, // 5: zitadel.idp.v2.IDPConfig.ldap:type_name -> zitadel.idp.v2.LDAPConfig + 13, // 6: zitadel.idp.v2.IDPConfig.google:type_name -> zitadel.idp.v2.GoogleConfig + 9, // 7: zitadel.idp.v2.IDPConfig.oauth:type_name -> zitadel.idp.v2.OAuthConfig + 10, // 8: zitadel.idp.v2.IDPConfig.oidc:type_name -> zitadel.idp.v2.GenericOIDCConfig + 8, // 9: zitadel.idp.v2.IDPConfig.jwt:type_name -> zitadel.idp.v2.JWTConfig + 11, // 10: zitadel.idp.v2.IDPConfig.github:type_name -> zitadel.idp.v2.GitHubConfig + 12, // 11: zitadel.idp.v2.IDPConfig.github_es:type_name -> zitadel.idp.v2.GitHubEnterpriseServerConfig + 14, // 12: zitadel.idp.v2.IDPConfig.gitlab:type_name -> zitadel.idp.v2.GitLabConfig + 15, // 13: zitadel.idp.v2.IDPConfig.gitlab_self_hosted:type_name -> zitadel.idp.v2.GitLabSelfHostedConfig + 18, // 14: zitadel.idp.v2.IDPConfig.azure_ad:type_name -> zitadel.idp.v2.AzureADConfig + 22, // 15: zitadel.idp.v2.IDPConfig.apple:type_name -> zitadel.idp.v2.AppleConfig + 17, // 16: zitadel.idp.v2.IDPConfig.saml:type_name -> zitadel.idp.v2.SAMLConfig + 24, // 17: zitadel.idp.v2.LDAPConfig.timeout:type_name -> google.protobuf.Duration + 20, // 18: zitadel.idp.v2.LDAPConfig.attributes:type_name -> zitadel.idp.v2.LDAPAttributes + 2, // 19: zitadel.idp.v2.SAMLConfig.binding:type_name -> zitadel.idp.v2.SAMLBinding + 3, // 20: zitadel.idp.v2.SAMLConfig.name_id_format:type_name -> zitadel.idp.v2.SAMLNameIDFormat + 21, // 21: zitadel.idp.v2.AzureADConfig.tenant:type_name -> zitadel.idp.v2.AzureADTenant + 4, // 22: zitadel.idp.v2.Options.auto_linking:type_name -> zitadel.idp.v2.AutoLinkingOption + 5, // 23: zitadel.idp.v2.AzureADTenant.tenant_type:type_name -> zitadel.idp.v2.AzureADTenantType + 24, // [24:24] is the sub-list for method output_type + 24, // [24:24] is the sub-list for method input_type + 24, // [24:24] is the sub-list for extension type_name + 24, // [24:24] is the sub-list for extension extendee + 0, // [0:24] is the sub-list for field type_name +} + +func init() { file_zitadel_idp_v2_idp_proto_init() } +func file_zitadel_idp_v2_idp_proto_init() { + if File_zitadel_idp_v2_idp_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_zitadel_idp_v2_idp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IDP); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_idp_v2_idp_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IDPConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_idp_v2_idp_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JWTConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_idp_v2_idp_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OAuthConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_idp_v2_idp_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GenericOIDCConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_idp_v2_idp_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GitHubConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_idp_v2_idp_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GitHubEnterpriseServerConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_idp_v2_idp_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GoogleConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_idp_v2_idp_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GitLabConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_idp_v2_idp_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GitLabSelfHostedConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_idp_v2_idp_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LDAPConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_idp_v2_idp_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SAMLConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_idp_v2_idp_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AzureADConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_idp_v2_idp_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Options); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_idp_v2_idp_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LDAPAttributes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_idp_v2_idp_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AzureADTenant); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_idp_v2_idp_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AppleConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_zitadel_idp_v2_idp_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*IDPConfig_Ldap)(nil), + (*IDPConfig_Google)(nil), + (*IDPConfig_Oauth)(nil), + (*IDPConfig_Oidc)(nil), + (*IDPConfig_Jwt)(nil), + (*IDPConfig_Github)(nil), + (*IDPConfig_GithubEs)(nil), + (*IDPConfig_Gitlab)(nil), + (*IDPConfig_GitlabSelfHosted)(nil), + (*IDPConfig_AzureAd)(nil), + (*IDPConfig_Apple)(nil), + (*IDPConfig_Saml)(nil), + } + file_zitadel_idp_v2_idp_proto_msgTypes[11].OneofWrappers = []interface{}{} + file_zitadel_idp_v2_idp_proto_msgTypes[15].OneofWrappers = []interface{}{ + (*AzureADTenant_TenantType)(nil), + (*AzureADTenant_TenantId)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_zitadel_idp_v2_idp_proto_rawDesc, + NumEnums: 6, + NumMessages: 17, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_zitadel_idp_v2_idp_proto_goTypes, + DependencyIndexes: file_zitadel_idp_v2_idp_proto_depIdxs, + EnumInfos: file_zitadel_idp_v2_idp_proto_enumTypes, + MessageInfos: file_zitadel_idp_v2_idp_proto_msgTypes, + }.Build() + File_zitadel_idp_v2_idp_proto = out.File + file_zitadel_idp_v2_idp_proto_rawDesc = nil + file_zitadel_idp_v2_idp_proto_goTypes = nil + file_zitadel_idp_v2_idp_proto_depIdxs = nil +} diff --git a/pkg/client/zitadel/saml/v2/authorization.pb.go b/pkg/client/zitadel/saml/v2/authorization.pb.go new file mode 100644 index 0000000..b07f8db --- /dev/null +++ b/pkg/client/zitadel/saml/v2/authorization.pb.go @@ -0,0 +1,406 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.25.1 +// source: zitadel/saml/v2/authorization.proto + +package saml + +import ( + _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/known/durationpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ErrorReason int32 + +const ( + ErrorReason_ERROR_REASON_UNSPECIFIED ErrorReason = 0 + ErrorReason_ERROR_REASON_VERSION_MISSMATCH ErrorReason = 1 + ErrorReason_ERROR_REASON_AUTH_N_FAILED ErrorReason = 2 + ErrorReason_ERROR_REASON_INVALID_ATTR_NAME_OR_VALUE ErrorReason = 3 + ErrorReason_ERROR_REASON_INVALID_NAMEID_POLICY ErrorReason = 4 + ErrorReason_ERROR_REASON_REQUEST_DENIED ErrorReason = 5 + ErrorReason_ERROR_REASON_REQUEST_UNSUPPORTED ErrorReason = 6 + ErrorReason_ERROR_REASON_UNSUPPORTED_BINDING ErrorReason = 7 +) + +// Enum value maps for ErrorReason. +var ( + ErrorReason_name = map[int32]string{ + 0: "ERROR_REASON_UNSPECIFIED", + 1: "ERROR_REASON_VERSION_MISSMATCH", + 2: "ERROR_REASON_AUTH_N_FAILED", + 3: "ERROR_REASON_INVALID_ATTR_NAME_OR_VALUE", + 4: "ERROR_REASON_INVALID_NAMEID_POLICY", + 5: "ERROR_REASON_REQUEST_DENIED", + 6: "ERROR_REASON_REQUEST_UNSUPPORTED", + 7: "ERROR_REASON_UNSUPPORTED_BINDING", + } + ErrorReason_value = map[string]int32{ + "ERROR_REASON_UNSPECIFIED": 0, + "ERROR_REASON_VERSION_MISSMATCH": 1, + "ERROR_REASON_AUTH_N_FAILED": 2, + "ERROR_REASON_INVALID_ATTR_NAME_OR_VALUE": 3, + "ERROR_REASON_INVALID_NAMEID_POLICY": 4, + "ERROR_REASON_REQUEST_DENIED": 5, + "ERROR_REASON_REQUEST_UNSUPPORTED": 6, + "ERROR_REASON_UNSUPPORTED_BINDING": 7, + } +) + +func (x ErrorReason) Enum() *ErrorReason { + p := new(ErrorReason) + *p = x + return p +} + +func (x ErrorReason) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ErrorReason) Descriptor() protoreflect.EnumDescriptor { + return file_zitadel_saml_v2_authorization_proto_enumTypes[0].Descriptor() +} + +func (ErrorReason) Type() protoreflect.EnumType { + return &file_zitadel_saml_v2_authorization_proto_enumTypes[0] +} + +func (x ErrorReason) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ErrorReason.Descriptor instead. +func (ErrorReason) EnumDescriptor() ([]byte, []int) { + return file_zitadel_saml_v2_authorization_proto_rawDescGZIP(), []int{0} +} + +type SAMLRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + CreationDate *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` + Issuer string `protobuf:"bytes,3,opt,name=issuer,proto3" json:"issuer,omitempty"` + AssertionConsumerService string `protobuf:"bytes,4,opt,name=assertion_consumer_service,json=assertionConsumerService,proto3" json:"assertion_consumer_service,omitempty"` + RelayState string `protobuf:"bytes,5,opt,name=relay_state,json=relayState,proto3" json:"relay_state,omitempty"` + Binding string `protobuf:"bytes,6,opt,name=binding,proto3" json:"binding,omitempty"` +} + +func (x *SAMLRequest) Reset() { + *x = SAMLRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_saml_v2_authorization_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SAMLRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SAMLRequest) ProtoMessage() {} + +func (x *SAMLRequest) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_saml_v2_authorization_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SAMLRequest.ProtoReflect.Descriptor instead. +func (*SAMLRequest) Descriptor() ([]byte, []int) { + return file_zitadel_saml_v2_authorization_proto_rawDescGZIP(), []int{0} +} + +func (x *SAMLRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *SAMLRequest) GetCreationDate() *timestamppb.Timestamp { + if x != nil { + return x.CreationDate + } + return nil +} + +func (x *SAMLRequest) GetIssuer() string { + if x != nil { + return x.Issuer + } + return "" +} + +func (x *SAMLRequest) GetAssertionConsumerService() string { + if x != nil { + return x.AssertionConsumerService + } + return "" +} + +func (x *SAMLRequest) GetRelayState() string { + if x != nil { + return x.RelayState + } + return "" +} + +func (x *SAMLRequest) GetBinding() string { + if x != nil { + return x.Binding + } + return "" +} + +type AuthorizationError struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Error ErrorReason `protobuf:"varint,1,opt,name=error,proto3,enum=zitadel.saml.v2.ErrorReason" json:"error,omitempty"` + ErrorDescription *string `protobuf:"bytes,2,opt,name=error_description,json=errorDescription,proto3,oneof" json:"error_description,omitempty"` +} + +func (x *AuthorizationError) Reset() { + *x = AuthorizationError{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_saml_v2_authorization_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthorizationError) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthorizationError) ProtoMessage() {} + +func (x *AuthorizationError) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_saml_v2_authorization_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthorizationError.ProtoReflect.Descriptor instead. +func (*AuthorizationError) Descriptor() ([]byte, []int) { + return file_zitadel_saml_v2_authorization_proto_rawDescGZIP(), []int{1} +} + +func (x *AuthorizationError) GetError() ErrorReason { + if x != nil { + return x.Error + } + return ErrorReason_ERROR_REASON_UNSPECIFIED +} + +func (x *AuthorizationError) GetErrorDescription() string { + if x != nil && x.ErrorDescription != nil { + return *x.ErrorDescription + } + return "" +} + +var File_zitadel_saml_v2_authorization_proto protoreflect.FileDescriptor + +var file_zitadel_saml_v2_authorization_proto_rawDesc = []byte{ + 0x0a, 0x23, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x73, 0x61, 0x6d, 0x6c, 0x2f, 0x76, + 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x73, + 0x61, 0x6d, 0x6c, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, + 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xca, 0x05, 0x0a, 0x0b, 0x53, 0x41, 0x4d, 0x4c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x1a, 0x92, 0x41, 0x17, 0x32, 0x15, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x6b, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x2a, 0x92, 0x41, 0x27, 0x32, 0x25, 0x54, 0x69, 0x6d, + 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x4c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, + 0x12, 0x5a, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x42, 0x92, 0x41, 0x3f, 0x32, 0x3d, 0x53, 0x41, 0x4d, 0x4c, 0x20, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x4c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x8d, 0x01, 0x0a, + 0x1a, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, + 0x6d, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x4f, 0x92, 0x41, 0x4c, 0x32, 0x4a, 0x55, 0x52, 0x4c, 0x20, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x74, 0x6f, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, + 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x18, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x73, 0x75, 0x6d, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5c, 0x0a, 0x0b, + 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x3b, 0x92, 0x41, 0x38, 0x32, 0x36, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, + 0x72, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x07, 0x62, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0x92, 0x41, 0x31, + 0x32, 0x2f, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x07, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x87, 0x01, 0x92, 0x41, 0x83, + 0x01, 0x2a, 0x80, 0x01, 0x0a, 0x2a, 0x46, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x6d, + 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x53, 0x41, 0x4d, 0x4c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x12, 0x52, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2e, 0x6f, + 0x61, 0x73, 0x69, 0x73, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x73, 0x61, 0x6d, 0x6c, 0x2f, 0x50, 0x6f, 0x73, 0x74, + 0x32, 0x2e, 0x30, 0x2f, 0x73, 0x73, 0x74, 0x63, 0x2d, 0x73, 0x61, 0x6d, 0x6c, 0x2d, 0x74, 0x65, + 0x63, 0x68, 0x2d, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x2d, 0x32, 0x2e, 0x30, 0x2e, + 0x68, 0x74, 0x6d, 0x6c, 0x22, 0x90, 0x01, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x32, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x7a, 0x69, 0x74, + 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x73, 0x61, 0x6d, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, + 0x30, 0x0a, 0x11, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0xb1, 0x02, 0x0a, 0x0b, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x52, 0x52, 0x4f, 0x52, + 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x52, + 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x49, + 0x53, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x4e, + 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x2b, 0x0a, 0x27, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, + 0x44, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x4f, 0x52, 0x5f, 0x56, + 0x41, 0x4c, 0x55, 0x45, 0x10, 0x03, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4e, + 0x41, 0x4d, 0x45, 0x49, 0x44, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x04, 0x12, 0x1f, + 0x0a, 0x1b, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x52, + 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x05, 0x12, + 0x24, 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, + 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, + 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, 0x24, 0x0a, 0x20, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x52, + 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, + 0x44, 0x5f, 0x42, 0x49, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x42, 0x32, 0x5a, 0x30, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, + 0x6c, 0x2f, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x72, + 0x70, 0x63, 0x2f, 0x73, 0x61, 0x6d, 0x6c, 0x2f, 0x76, 0x32, 0x3b, 0x73, 0x61, 0x6d, 0x6c, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_zitadel_saml_v2_authorization_proto_rawDescOnce sync.Once + file_zitadel_saml_v2_authorization_proto_rawDescData = file_zitadel_saml_v2_authorization_proto_rawDesc +) + +func file_zitadel_saml_v2_authorization_proto_rawDescGZIP() []byte { + file_zitadel_saml_v2_authorization_proto_rawDescOnce.Do(func() { + file_zitadel_saml_v2_authorization_proto_rawDescData = protoimpl.X.CompressGZIP(file_zitadel_saml_v2_authorization_proto_rawDescData) + }) + return file_zitadel_saml_v2_authorization_proto_rawDescData +} + +var file_zitadel_saml_v2_authorization_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_zitadel_saml_v2_authorization_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_zitadel_saml_v2_authorization_proto_goTypes = []interface{}{ + (ErrorReason)(0), // 0: zitadel.saml.v2.ErrorReason + (*SAMLRequest)(nil), // 1: zitadel.saml.v2.SAMLRequest + (*AuthorizationError)(nil), // 2: zitadel.saml.v2.AuthorizationError + (*timestamppb.Timestamp)(nil), // 3: google.protobuf.Timestamp +} +var file_zitadel_saml_v2_authorization_proto_depIdxs = []int32{ + 3, // 0: zitadel.saml.v2.SAMLRequest.creation_date:type_name -> google.protobuf.Timestamp + 0, // 1: zitadel.saml.v2.AuthorizationError.error:type_name -> zitadel.saml.v2.ErrorReason + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_zitadel_saml_v2_authorization_proto_init() } +func file_zitadel_saml_v2_authorization_proto_init() { + if File_zitadel_saml_v2_authorization_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_zitadel_saml_v2_authorization_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SAMLRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_saml_v2_authorization_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthorizationError); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_zitadel_saml_v2_authorization_proto_msgTypes[1].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_zitadel_saml_v2_authorization_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_zitadel_saml_v2_authorization_proto_goTypes, + DependencyIndexes: file_zitadel_saml_v2_authorization_proto_depIdxs, + EnumInfos: file_zitadel_saml_v2_authorization_proto_enumTypes, + MessageInfos: file_zitadel_saml_v2_authorization_proto_msgTypes, + }.Build() + File_zitadel_saml_v2_authorization_proto = out.File + file_zitadel_saml_v2_authorization_proto_rawDesc = nil + file_zitadel_saml_v2_authorization_proto_goTypes = nil + file_zitadel_saml_v2_authorization_proto_depIdxs = nil +} diff --git a/pkg/client/zitadel/saml/v2/saml_service.pb.go b/pkg/client/zitadel/saml/v2/saml_service.pb.go new file mode 100644 index 0000000..128bcb4 --- /dev/null +++ b/pkg/client/zitadel/saml/v2/saml_service.pb.go @@ -0,0 +1,826 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.25.1 +// source: zitadel/saml/v2/saml_service.proto + +package saml + +import ( + _ "github.com/envoyproxy/protoc-gen-validate/validate" + _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" + v2 "github.com/zitadel/zitadel-go/v3/pkg/client/zitadel/object/v2" + _ "github.com/zitadel/zitadel-go/v3/pkg/client/zitadel/protoc/v2" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type GetSAMLRequestRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ID of the SAML Request, as obtained from the redirect URL. + SamlRequestId string `protobuf:"bytes,1,opt,name=saml_request_id,json=samlRequestId,proto3" json:"saml_request_id,omitempty"` +} + +func (x *GetSAMLRequestRequest) Reset() { + *x = GetSAMLRequestRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_saml_v2_saml_service_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSAMLRequestRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSAMLRequestRequest) ProtoMessage() {} + +func (x *GetSAMLRequestRequest) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_saml_v2_saml_service_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSAMLRequestRequest.ProtoReflect.Descriptor instead. +func (*GetSAMLRequestRequest) Descriptor() ([]byte, []int) { + return file_zitadel_saml_v2_saml_service_proto_rawDescGZIP(), []int{0} +} + +func (x *GetSAMLRequestRequest) GetSamlRequestId() string { + if x != nil { + return x.SamlRequestId + } + return "" +} + +type GetSAMLRequestResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SamlRequest *SAMLRequest `protobuf:"bytes,1,opt,name=saml_request,json=samlRequest,proto3" json:"saml_request,omitempty"` +} + +func (x *GetSAMLRequestResponse) Reset() { + *x = GetSAMLRequestResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_saml_v2_saml_service_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSAMLRequestResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSAMLRequestResponse) ProtoMessage() {} + +func (x *GetSAMLRequestResponse) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_saml_v2_saml_service_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSAMLRequestResponse.ProtoReflect.Descriptor instead. +func (*GetSAMLRequestResponse) Descriptor() ([]byte, []int) { + return file_zitadel_saml_v2_saml_service_proto_rawDescGZIP(), []int{1} +} + +func (x *GetSAMLRequestResponse) GetSamlRequest() *SAMLRequest { + if x != nil { + return x.SamlRequest + } + return nil +} + +type CreateResponseRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ID of the SAML Request. + SamlRequestId string `protobuf:"bytes,1,opt,name=saml_request_id,json=samlRequestId,proto3" json:"saml_request_id,omitempty"` + // Types that are assignable to ResponseKind: + // + // *CreateResponseRequest_Session + // *CreateResponseRequest_Error + ResponseKind isCreateResponseRequest_ResponseKind `protobuf_oneof:"response_kind"` +} + +func (x *CreateResponseRequest) Reset() { + *x = CreateResponseRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_saml_v2_saml_service_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateResponseRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateResponseRequest) ProtoMessage() {} + +func (x *CreateResponseRequest) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_saml_v2_saml_service_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateResponseRequest.ProtoReflect.Descriptor instead. +func (*CreateResponseRequest) Descriptor() ([]byte, []int) { + return file_zitadel_saml_v2_saml_service_proto_rawDescGZIP(), []int{2} +} + +func (x *CreateResponseRequest) GetSamlRequestId() string { + if x != nil { + return x.SamlRequestId + } + return "" +} + +func (m *CreateResponseRequest) GetResponseKind() isCreateResponseRequest_ResponseKind { + if m != nil { + return m.ResponseKind + } + return nil +} + +func (x *CreateResponseRequest) GetSession() *Session { + if x, ok := x.GetResponseKind().(*CreateResponseRequest_Session); ok { + return x.Session + } + return nil +} + +func (x *CreateResponseRequest) GetError() *AuthorizationError { + if x, ok := x.GetResponseKind().(*CreateResponseRequest_Error); ok { + return x.Error + } + return nil +} + +type isCreateResponseRequest_ResponseKind interface { + isCreateResponseRequest_ResponseKind() +} + +type CreateResponseRequest_Session struct { + Session *Session `protobuf:"bytes,2,opt,name=session,proto3,oneof"` +} + +type CreateResponseRequest_Error struct { + // Set this field when the authorization flow failed. It creates a response depending on the SP, with the error details set. + Error *AuthorizationError `protobuf:"bytes,3,opt,name=error,proto3,oneof"` +} + +func (*CreateResponseRequest_Session) isCreateResponseRequest_ResponseKind() {} + +func (*CreateResponseRequest_Error) isCreateResponseRequest_ResponseKind() {} + +type Session struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // ID of the session, used to login the user. Connects the session to the SAML Request. + SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"` + // Token to verify the session is valid. + SessionToken string `protobuf:"bytes,2,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"` +} + +func (x *Session) Reset() { + *x = Session{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_saml_v2_saml_service_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Session) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Session) ProtoMessage() {} + +func (x *Session) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_saml_v2_saml_service_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Session.ProtoReflect.Descriptor instead. +func (*Session) Descriptor() ([]byte, []int) { + return file_zitadel_saml_v2_saml_service_proto_rawDescGZIP(), []int{3} +} + +func (x *Session) GetSessionId() string { + if x != nil { + return x.SessionId + } + return "" +} + +func (x *Session) GetSessionToken() string { + if x != nil { + return x.SessionToken + } + return "" +} + +type CreateResponseResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Details *v2.Details `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"` + // URL including the Assertion Consumer Service where the user should be redirected or has to call per POST, depending on the binding. Contains details for the application to obtain the response on success, or error details on failure. Note that this field must be treated as credentials, as the contained SAMLResponse or code can be used on behalve of the user. + Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` + // Binding is defined through the request, what the IDP is able to use and what bindings are available for the SP. + // + // Types that are assignable to Binding: + // + // *CreateResponseResponse_Redirect + // *CreateResponseResponse_Post + Binding isCreateResponseResponse_Binding `protobuf_oneof:"binding"` +} + +func (x *CreateResponseResponse) Reset() { + *x = CreateResponseResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_saml_v2_saml_service_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateResponseResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateResponseResponse) ProtoMessage() {} + +func (x *CreateResponseResponse) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_saml_v2_saml_service_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateResponseResponse.ProtoReflect.Descriptor instead. +func (*CreateResponseResponse) Descriptor() ([]byte, []int) { + return file_zitadel_saml_v2_saml_service_proto_rawDescGZIP(), []int{4} +} + +func (x *CreateResponseResponse) GetDetails() *v2.Details { + if x != nil { + return x.Details + } + return nil +} + +func (x *CreateResponseResponse) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (m *CreateResponseResponse) GetBinding() isCreateResponseResponse_Binding { + if m != nil { + return m.Binding + } + return nil +} + +func (x *CreateResponseResponse) GetRedirect() *RedirectResponse { + if x, ok := x.GetBinding().(*CreateResponseResponse_Redirect); ok { + return x.Redirect + } + return nil +} + +func (x *CreateResponseResponse) GetPost() *PostResponse { + if x, ok := x.GetBinding().(*CreateResponseResponse_Post); ok { + return x.Post + } + return nil +} + +type isCreateResponseResponse_Binding interface { + isCreateResponseResponse_Binding() +} + +type CreateResponseResponse_Redirect struct { + // Set if the binding is Redirect-Binding, where the user can directly be redirected to the application, using a \"302 FOUND\" status to the URL. + Redirect *RedirectResponse `protobuf:"bytes,3,opt,name=redirect,proto3,oneof"` +} + +type CreateResponseResponse_Post struct { + // Set if the binding is POST-Binding, where the application expects to be called per HTTP POST with the SAMLResponse and RelayState in the form body. + Post *PostResponse `protobuf:"bytes,4,opt,name=post,proto3,oneof"` +} + +func (*CreateResponseResponse_Redirect) isCreateResponseResponse_Binding() {} + +func (*CreateResponseResponse_Post) isCreateResponseResponse_Binding() {} + +type RedirectResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RedirectResponse) Reset() { + *x = RedirectResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_saml_v2_saml_service_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RedirectResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RedirectResponse) ProtoMessage() {} + +func (x *RedirectResponse) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_saml_v2_saml_service_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RedirectResponse.ProtoReflect.Descriptor instead. +func (*RedirectResponse) Descriptor() ([]byte, []int) { + return file_zitadel_saml_v2_saml_service_proto_rawDescGZIP(), []int{5} +} + +type PostResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RelayState string `protobuf:"bytes,1,opt,name=relay_state,json=relayState,proto3" json:"relay_state,omitempty"` + SamlResponse string `protobuf:"bytes,2,opt,name=saml_response,json=samlResponse,proto3" json:"saml_response,omitempty"` +} + +func (x *PostResponse) Reset() { + *x = PostResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_zitadel_saml_v2_saml_service_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostResponse) ProtoMessage() {} + +func (x *PostResponse) ProtoReflect() protoreflect.Message { + mi := &file_zitadel_saml_v2_saml_service_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostResponse.ProtoReflect.Descriptor instead. +func (*PostResponse) Descriptor() ([]byte, []int) { + return file_zitadel_saml_v2_saml_service_proto_rawDescGZIP(), []int{6} +} + +func (x *PostResponse) GetRelayState() string { + if x != nil { + return x.RelayState + } + return "" +} + +func (x *PostResponse) GetSamlResponse() string { + if x != nil { + return x.SamlResponse + } + return "" +} + +var File_zitadel_saml_v2_saml_service_proto protoreflect.FileDescriptor + +var file_zitadel_saml_v2_saml_service_proto_rawDesc = []byte{ + 0x0a, 0x22, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x73, 0x61, 0x6d, 0x6c, 0x2f, 0x76, + 0x32, 0x2f, 0x73, 0x61, 0x6d, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x73, 0x61, + 0x6d, 0x6c, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, + 0x6c, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x23, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x73, 0x61, 0x6d, 0x6c, + 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, + 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0x6a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x41, 0x4d, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x0f, 0x73, 0x61, 0x6d, 0x6c, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x29, 0x92, 0x41, 0x1c, 0x4a, 0x14, 0x22, 0x31, 0x36, 0x33, 0x38, 0x34, 0x30, 0x37, + 0x37, 0x36, 0x38, 0x33, 0x35, 0x34, 0x33, 0x32, 0x37, 0x30, 0x35, 0x22, 0x78, 0xc8, 0x01, 0x80, + 0x01, 0x01, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x0d, 0x73, 0x61, + 0x6d, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x59, 0x0a, 0x16, 0x47, + 0x65, 0x74, 0x53, 0x41, 0x4d, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x61, 0x6d, 0x6c, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x7a, 0x69, + 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x73, 0x61, 0x6d, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x41, + 0x4d, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0b, 0x73, 0x61, 0x6d, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xed, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x4b, 0x0a, 0x0f, 0x73, 0x61, 0x6d, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0x92, 0x41, 0x16, 0x4a, 0x14, + 0x22, 0x31, 0x36, 0x33, 0x38, 0x34, 0x30, 0x37, 0x37, 0x36, 0x38, 0x33, 0x35, 0x34, 0x33, 0x32, + 0x37, 0x30, 0x35, 0x22, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x0d, + 0x73, 0x61, 0x6d, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x34, 0x0a, + 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x73, 0x61, 0x6d, 0x6c, 0x2e, 0x76, 0x32, + 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x73, 0x61, 0x6d, + 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x42, 0x14, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6b, 0x69, 0x6e, + 0x64, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x8d, 0x01, 0x0a, 0x07, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0x92, 0x41, 0x1c, 0x4a, 0x14, 0x22, 0x31, 0x36, + 0x33, 0x38, 0x34, 0x30, 0x37, 0x37, 0x36, 0x38, 0x33, 0x35, 0x34, 0x33, 0x32, 0x37, 0x30, 0x35, + 0x22, 0x78, 0xc8, 0x01, 0x80, 0x01, 0x01, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, + 0x01, 0x52, 0x09, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x0d, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x13, 0x92, 0x41, 0x06, 0x78, 0xc8, 0x01, 0x80, 0x01, 0x01, 0xfa, 0x42, + 0x07, 0x72, 0x05, 0x10, 0x01, 0x18, 0xc8, 0x01, 0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x87, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x34, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x36, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0x92, 0x41, 0x21, 0x4a, 0x1f, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x63, 0x62, 0x22, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, + 0x3f, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x73, 0x61, 0x6d, 0x6c, + 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x12, 0x33, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x73, 0x61, 0x6d, 0x6c, 0x2e, 0x76, 0x32, + 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, + 0x04, 0x70, 0x6f, 0x73, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x22, 0x12, 0x0a, 0x10, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x79, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x61, 0x6d, 0x6c, 0x5f, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x61, + 0x6d, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x8e, 0x07, 0x0a, 0x0b, 0x53, + 0x41, 0x4d, 0x4c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xba, 0x02, 0x0a, 0x0e, 0x47, + 0x65, 0x74, 0x53, 0x41, 0x4d, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x2e, + 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x73, 0x61, 0x6d, 0x6c, 0x2e, 0x76, 0x32, 0x2e, + 0x47, 0x65, 0x74, 0x53, 0x41, 0x4d, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, + 0x73, 0x61, 0x6d, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x41, 0x4d, 0x4c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd6, + 0x01, 0x92, 0x41, 0x8d, 0x01, 0x12, 0x18, 0x47, 0x65, 0x74, 0x20, 0x53, 0x41, 0x4d, 0x4c, 0x20, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, + 0x64, 0x47, 0x65, 0x74, 0x20, 0x53, 0x41, 0x4d, 0x4c, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x62, 0x79, 0x20, 0x49, 0x44, 0x2e, + 0x20, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, + 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x53, 0x41, 0x4d, 0x4c, 0x20, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4a, 0x0b, 0x0a, 0x03, 0x32, 0x30, 0x30, 0x12, 0x04, 0x0a, 0x02, + 0x4f, 0x4b, 0x8a, 0xb5, 0x18, 0x11, 0x0a, 0x0f, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, + 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, + 0x76, 0x32, 0x2f, 0x73, 0x61, 0x6d, 0x6c, 0x2f, 0x73, 0x61, 0x6d, 0x6c, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x61, 0x6d, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xc1, 0x04, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x2e, 0x7a, 0x69, 0x74, + 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x73, 0x61, 0x6d, 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x73, 0x61, 0x6d, + 0x6c, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdd, 0x03, 0x92, 0x41, + 0x91, 0x03, 0x12, 0x2d, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x61, 0x20, 0x53, + 0x41, 0x4d, 0x4c, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x67, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x2e, 0x1a, 0xd2, 0x02, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x61, 0x20, 0x53, + 0x41, 0x4d, 0x4c, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x67, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x75, + 0x72, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x64, + 0x20, 0x61, 0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x41, 0x4d, 0x4c, + 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x69, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x75, + 0x72, 0x65, 0x2e, 0x20, 0x4f, 0x6e, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2c, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x53, 0x41, 0x4d, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x20, 0x54, 0x68, + 0x69, 0x73, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x6f, 0x6e, + 0x6c, 0x79, 0x20, 0x62, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x63, + 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x53, 0x41, 0x4d, 0x4c, 0x20, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4a, 0x0b, 0x0a, 0x03, 0x32, 0x30, 0x30, 0x12, 0x04, 0x0a, + 0x02, 0x4f, 0x4b, 0x8a, 0xb5, 0x18, 0x11, 0x0a, 0x0f, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, + 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x3a, 0x01, + 0x2a, 0x22, 0x28, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x61, 0x6d, 0x6c, 0x2f, 0x73, 0x61, 0x6d, 0x6c, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x61, 0x6d, 0x6c, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x42, 0x98, 0x07, 0x92, 0x41, + 0xe2, 0x06, 0x12, 0xc0, 0x01, 0x0a, 0x0c, 0x53, 0x41, 0x4d, 0x4c, 0x20, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x37, 0x47, 0x65, 0x74, 0x20, 0x53, 0x41, 0x4d, 0x4c, 0x20, 0x41, 0x75, + 0x74, 0x68, 0x20, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x63, 0x61, + 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x55, 0x52, 0x4c, 0x73, 0x2e, 0x22, 0x2e, 0x0a, 0x07, + 0x5a, 0x49, 0x54, 0x41, 0x44, 0x45, 0x4c, 0x12, 0x13, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x1a, 0x0e, 0x68, 0x69, + 0x40, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x2a, 0x42, 0x0a, 0x0a, + 0x41, 0x70, 0x61, 0x63, 0x68, 0x65, 0x20, 0x32, 0x2e, 0x30, 0x12, 0x34, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x7a, + 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x62, + 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x69, 0x6e, 0x2f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, + 0x32, 0x03, 0x32, 0x2e, 0x30, 0x1a, 0x0e, 0x24, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x2d, 0x44, + 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x22, 0x01, 0x2f, 0x2a, 0x02, 0x02, 0x01, 0x32, 0x10, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, 0x70, 0x63, + 0x32, 0x1a, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, + 0x70, 0x63, 0x2d, 0x77, 0x65, 0x62, 0x2b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3a, 0x10, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, 0x70, 0x63, + 0x3a, 0x1a, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, + 0x70, 0x63, 0x2d, 0x77, 0x65, 0x62, 0x2b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x52, 0x6d, 0x0a, 0x03, + 0x34, 0x30, 0x33, 0x12, 0x66, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, + 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, + 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x12, 0x1b, + 0x0a, 0x19, 0x1a, 0x17, 0x23, 0x2f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x50, 0x0a, 0x03, 0x34, + 0x30, 0x34, 0x12, 0x49, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, + 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, + 0x12, 0x1b, 0x0a, 0x19, 0x1a, 0x17, 0x23, 0x2f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5a, 0xc2, 0x01, + 0x0a, 0xbf, 0x01, 0x0a, 0x06, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x12, 0xb4, 0x01, 0x08, 0x03, + 0x28, 0x04, 0x32, 0x21, 0x24, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x2d, 0x44, 0x4f, 0x4d, 0x41, + 0x49, 0x4e, 0x2f, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x3a, 0x1d, 0x24, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x2d, 0x44, + 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x2f, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x32, 0x2f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x6c, 0x0a, 0x10, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, + 0x12, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x0a, 0x58, 0x0a, 0x2a, 0x75, 0x72, 0x6e, 0x3a, + 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x3a, 0x69, 0x61, 0x6d, 0x3a, 0x6f, 0x72, 0x67, 0x3a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x69, 0x64, 0x3a, 0x7a, 0x69, 0x74, 0x61, 0x64, + 0x65, 0x6c, 0x3a, 0x61, 0x75, 0x64, 0x12, 0x2a, 0x75, 0x72, 0x6e, 0x3a, 0x7a, 0x69, 0x74, 0x61, + 0x64, 0x65, 0x6c, 0x3a, 0x69, 0x61, 0x6d, 0x3a, 0x6f, 0x72, 0x67, 0x3a, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x3a, 0x69, 0x64, 0x3a, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x3a, 0x61, + 0x75, 0x64, 0x62, 0x40, 0x0a, 0x3e, 0x0a, 0x06, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x12, 0x34, + 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x0a, 0x2a, 0x75, 0x72, 0x6e, 0x3a, 0x7a, 0x69, + 0x74, 0x61, 0x64, 0x65, 0x6c, 0x3a, 0x69, 0x61, 0x6d, 0x3a, 0x6f, 0x72, 0x67, 0x3a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x69, 0x64, 0x3a, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, + 0x3a, 0x61, 0x75, 0x64, 0x72, 0x3e, 0x0a, 0x22, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, + 0x75, 0x74, 0x20, 0x5a, 0x49, 0x54, 0x41, 0x44, 0x45, 0x4c, 0x12, 0x18, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x64, 0x6f, 0x63, 0x73, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, 0x2f, 0x7a, 0x69, 0x74, 0x61, 0x64, 0x65, 0x6c, + 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x61, 0x6d, 0x6c, 0x2f, 0x76, + 0x32, 0x3b, 0x73, 0x61, 0x6d, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_zitadel_saml_v2_saml_service_proto_rawDescOnce sync.Once + file_zitadel_saml_v2_saml_service_proto_rawDescData = file_zitadel_saml_v2_saml_service_proto_rawDesc +) + +func file_zitadel_saml_v2_saml_service_proto_rawDescGZIP() []byte { + file_zitadel_saml_v2_saml_service_proto_rawDescOnce.Do(func() { + file_zitadel_saml_v2_saml_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_zitadel_saml_v2_saml_service_proto_rawDescData) + }) + return file_zitadel_saml_v2_saml_service_proto_rawDescData +} + +var file_zitadel_saml_v2_saml_service_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_zitadel_saml_v2_saml_service_proto_goTypes = []interface{}{ + (*GetSAMLRequestRequest)(nil), // 0: zitadel.saml.v2.GetSAMLRequestRequest + (*GetSAMLRequestResponse)(nil), // 1: zitadel.saml.v2.GetSAMLRequestResponse + (*CreateResponseRequest)(nil), // 2: zitadel.saml.v2.CreateResponseRequest + (*Session)(nil), // 3: zitadel.saml.v2.Session + (*CreateResponseResponse)(nil), // 4: zitadel.saml.v2.CreateResponseResponse + (*RedirectResponse)(nil), // 5: zitadel.saml.v2.RedirectResponse + (*PostResponse)(nil), // 6: zitadel.saml.v2.PostResponse + (*SAMLRequest)(nil), // 7: zitadel.saml.v2.SAMLRequest + (*AuthorizationError)(nil), // 8: zitadel.saml.v2.AuthorizationError + (*v2.Details)(nil), // 9: zitadel.object.v2.Details +} +var file_zitadel_saml_v2_saml_service_proto_depIdxs = []int32{ + 7, // 0: zitadel.saml.v2.GetSAMLRequestResponse.saml_request:type_name -> zitadel.saml.v2.SAMLRequest + 3, // 1: zitadel.saml.v2.CreateResponseRequest.session:type_name -> zitadel.saml.v2.Session + 8, // 2: zitadel.saml.v2.CreateResponseRequest.error:type_name -> zitadel.saml.v2.AuthorizationError + 9, // 3: zitadel.saml.v2.CreateResponseResponse.details:type_name -> zitadel.object.v2.Details + 5, // 4: zitadel.saml.v2.CreateResponseResponse.redirect:type_name -> zitadel.saml.v2.RedirectResponse + 6, // 5: zitadel.saml.v2.CreateResponseResponse.post:type_name -> zitadel.saml.v2.PostResponse + 0, // 6: zitadel.saml.v2.SAMLService.GetSAMLRequest:input_type -> zitadel.saml.v2.GetSAMLRequestRequest + 2, // 7: zitadel.saml.v2.SAMLService.CreateResponse:input_type -> zitadel.saml.v2.CreateResponseRequest + 1, // 8: zitadel.saml.v2.SAMLService.GetSAMLRequest:output_type -> zitadel.saml.v2.GetSAMLRequestResponse + 4, // 9: zitadel.saml.v2.SAMLService.CreateResponse:output_type -> zitadel.saml.v2.CreateResponseResponse + 8, // [8:10] is the sub-list for method output_type + 6, // [6:8] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_zitadel_saml_v2_saml_service_proto_init() } +func file_zitadel_saml_v2_saml_service_proto_init() { + if File_zitadel_saml_v2_saml_service_proto != nil { + return + } + file_zitadel_saml_v2_authorization_proto_init() + if !protoimpl.UnsafeEnabled { + file_zitadel_saml_v2_saml_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSAMLRequestRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_saml_v2_saml_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSAMLRequestResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_saml_v2_saml_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateResponseRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_saml_v2_saml_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Session); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_saml_v2_saml_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateResponseResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_saml_v2_saml_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RedirectResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_zitadel_saml_v2_saml_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PostResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_zitadel_saml_v2_saml_service_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*CreateResponseRequest_Session)(nil), + (*CreateResponseRequest_Error)(nil), + } + file_zitadel_saml_v2_saml_service_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*CreateResponseResponse_Redirect)(nil), + (*CreateResponseResponse_Post)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_zitadel_saml_v2_saml_service_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_zitadel_saml_v2_saml_service_proto_goTypes, + DependencyIndexes: file_zitadel_saml_v2_saml_service_proto_depIdxs, + MessageInfos: file_zitadel_saml_v2_saml_service_proto_msgTypes, + }.Build() + File_zitadel_saml_v2_saml_service_proto = out.File + file_zitadel_saml_v2_saml_service_proto_rawDesc = nil + file_zitadel_saml_v2_saml_service_proto_goTypes = nil + file_zitadel_saml_v2_saml_service_proto_depIdxs = nil +} diff --git a/pkg/client/zitadel/settings/v2/login_settings.pb.go b/pkg/client/zitadel/settings/v2/login_settings.pb.go index 6be57b5..8b0e8ad 100644 --- a/pkg/client/zitadel/settings/v2/login_settings.pb.go +++ b/pkg/client/zitadel/settings/v2/login_settings.pb.go @@ -8,7 +8,7 @@ package settings import ( _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" - v2 "github.com/zitadel/zitadel/pkg/grpc/idp/v2" + v2 "github.com/zitadel/zitadel-go/v3/pkg/client/zitadel/idp/v2" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" durationpb "google.golang.org/protobuf/types/known/durationpb"