// Source of truth: guildhouse monorepo // services/qm-proto/proto/quartermaster/v1/governance.proto // This file is a copy for Go code generation. Do not edit here. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.31.0 // protoc v3.21.12 // source: quartermaster/v1/governance.proto package quartermasterv1 import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" 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 CreateIntentRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RegistryType string `protobuf:"bytes,1,opt,name=registry_type,json=registryType,proto3" json:"registry_type,omitempty"` Verb string `protobuf:"bytes,2,opt,name=verb,proto3" json:"verb,omitempty"` ArtifactScope string `protobuf:"bytes,3,opt,name=artifact_scope,json=artifactScope,proto3" json:"artifact_scope,omitempty"` TenantId string `protobuf:"bytes,4,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` // Identity claim — one of these should be set. // // Types that are assignable to IdentityClaim: // // *CreateIntentRequest_OidcToken // *CreateIntentRequest_ExternalEvent IdentityClaim isCreateIntentRequest_IdentityClaim `protobuf_oneof:"identity_claim"` TtlSeconds uint32 `protobuf:"varint,7,opt,name=ttl_seconds,json=ttlSeconds,proto3" json:"ttl_seconds,omitempty"` MaxRedemptions uint32 `protobuf:"varint,8,opt,name=max_redemptions,json=maxRedemptions,proto3" json:"max_redemptions,omitempty"` IdempotencyKey string `protobuf:"bytes,9,opt,name=idempotency_key,json=idempotencyKey,proto3" json:"idempotency_key,omitempty"` } func (x *CreateIntentRequest) Reset() { *x = CreateIntentRequest{} if protoimpl.UnsafeEnabled { mi := &file_quartermaster_v1_governance_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateIntentRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateIntentRequest) ProtoMessage() {} func (x *CreateIntentRequest) ProtoReflect() protoreflect.Message { mi := &file_quartermaster_v1_governance_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 CreateIntentRequest.ProtoReflect.Descriptor instead. func (*CreateIntentRequest) Descriptor() ([]byte, []int) { return file_quartermaster_v1_governance_proto_rawDescGZIP(), []int{0} } func (x *CreateIntentRequest) GetRegistryType() string { if x != nil { return x.RegistryType } return "" } func (x *CreateIntentRequest) GetVerb() string { if x != nil { return x.Verb } return "" } func (x *CreateIntentRequest) GetArtifactScope() string { if x != nil { return x.ArtifactScope } return "" } func (x *CreateIntentRequest) GetTenantId() string { if x != nil { return x.TenantId } return "" } func (m *CreateIntentRequest) GetIdentityClaim() isCreateIntentRequest_IdentityClaim { if m != nil { return m.IdentityClaim } return nil } func (x *CreateIntentRequest) GetOidcToken() string { if x, ok := x.GetIdentityClaim().(*CreateIntentRequest_OidcToken); ok { return x.OidcToken } return "" } func (x *CreateIntentRequest) GetExternalEvent() *ExternalEventClaim { if x, ok := x.GetIdentityClaim().(*CreateIntentRequest_ExternalEvent); ok { return x.ExternalEvent } return nil } func (x *CreateIntentRequest) GetTtlSeconds() uint32 { if x != nil { return x.TtlSeconds } return 0 } func (x *CreateIntentRequest) GetMaxRedemptions() uint32 { if x != nil { return x.MaxRedemptions } return 0 } func (x *CreateIntentRequest) GetIdempotencyKey() string { if x != nil { return x.IdempotencyKey } return "" } type isCreateIntentRequest_IdentityClaim interface { isCreateIntentRequest_IdentityClaim() } type CreateIntentRequest_OidcToken struct { OidcToken string `protobuf:"bytes,5,opt,name=oidc_token,json=oidcToken,proto3,oneof"` } type CreateIntentRequest_ExternalEvent struct { ExternalEvent *ExternalEventClaim `protobuf:"bytes,6,opt,name=external_event,json=externalEvent,proto3,oneof"` } func (*CreateIntentRequest_OidcToken) isCreateIntentRequest_IdentityClaim() {} func (*CreateIntentRequest_ExternalEvent) isCreateIntentRequest_IdentityClaim() {} type ExternalEventClaim struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` EventId string `protobuf:"bytes,2,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"` EventType string `protobuf:"bytes,3,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` Verification string `protobuf:"bytes,4,opt,name=verification,proto3" json:"verification,omitempty"` } func (x *ExternalEventClaim) Reset() { *x = ExternalEventClaim{} if protoimpl.UnsafeEnabled { mi := &file_quartermaster_v1_governance_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExternalEventClaim) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExternalEventClaim) ProtoMessage() {} func (x *ExternalEventClaim) ProtoReflect() protoreflect.Message { mi := &file_quartermaster_v1_governance_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 ExternalEventClaim.ProtoReflect.Descriptor instead. func (*ExternalEventClaim) Descriptor() ([]byte, []int) { return file_quartermaster_v1_governance_proto_rawDescGZIP(), []int{1} } func (x *ExternalEventClaim) GetSource() string { if x != nil { return x.Source } return "" } func (x *ExternalEventClaim) GetEventId() string { if x != nil { return x.EventId } return "" } func (x *ExternalEventClaim) GetEventType() string { if x != nil { return x.EventType } return "" } func (x *ExternalEventClaim) GetVerification() string { if x != nil { return x.Verification } return "" } type CreateIntentResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IntentId string `protobuf:"bytes,1,opt,name=intent_id,json=intentId,proto3" json:"intent_id,omitempty"` ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` IntentHash []byte `protobuf:"bytes,3,opt,name=intent_hash,json=intentHash,proto3" json:"intent_hash,omitempty"` Error string `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"` Denied bool `protobuf:"varint,5,opt,name=denied,proto3" json:"denied,omitempty"` DenialReason string `protobuf:"bytes,6,opt,name=denial_reason,json=denialReason,proto3" json:"denial_reason,omitempty"` // If a governance ceremony is required, this field contains the // ceremony ID. The intent status is "ceremony_pending" and cannot // be redeemed until the ceremony resolves. CeremonyId string `protobuf:"bytes,7,opt,name=ceremony_id,json=ceremonyId,proto3" json:"ceremony_id,omitempty"` } func (x *CreateIntentResponse) Reset() { *x = CreateIntentResponse{} if protoimpl.UnsafeEnabled { mi := &file_quartermaster_v1_governance_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CreateIntentResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateIntentResponse) ProtoMessage() {} func (x *CreateIntentResponse) ProtoReflect() protoreflect.Message { mi := &file_quartermaster_v1_governance_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 CreateIntentResponse.ProtoReflect.Descriptor instead. func (*CreateIntentResponse) Descriptor() ([]byte, []int) { return file_quartermaster_v1_governance_proto_rawDescGZIP(), []int{2} } func (x *CreateIntentResponse) GetIntentId() string { if x != nil { return x.IntentId } return "" } func (x *CreateIntentResponse) GetExpiresAt() *timestamppb.Timestamp { if x != nil { return x.ExpiresAt } return nil } func (x *CreateIntentResponse) GetIntentHash() []byte { if x != nil { return x.IntentHash } return nil } func (x *CreateIntentResponse) GetError() string { if x != nil { return x.Error } return "" } func (x *CreateIntentResponse) GetDenied() bool { if x != nil { return x.Denied } return false } func (x *CreateIntentResponse) GetDenialReason() string { if x != nil { return x.DenialReason } return "" } func (x *CreateIntentResponse) GetCeremonyId() string { if x != nil { return x.CeremonyId } return "" } type RedeemIntentRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IntentId string `protobuf:"bytes,1,opt,name=intent_id,json=intentId,proto3" json:"intent_id,omitempty"` } func (x *RedeemIntentRequest) Reset() { *x = RedeemIntentRequest{} if protoimpl.UnsafeEnabled { mi := &file_quartermaster_v1_governance_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedeemIntentRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedeemIntentRequest) ProtoMessage() {} func (x *RedeemIntentRequest) ProtoReflect() protoreflect.Message { mi := &file_quartermaster_v1_governance_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 RedeemIntentRequest.ProtoReflect.Descriptor instead. func (*RedeemIntentRequest) Descriptor() ([]byte, []int) { return file_quartermaster_v1_governance_proto_rawDescGZIP(), []int{3} } func (x *RedeemIntentRequest) GetIntentId() string { if x != nil { return x.IntentId } return "" } type RedeemIntentResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` Sat *SatToken `protobuf:"bytes,2,opt,name=sat,proto3" json:"sat,omitempty"` RemainingRedemptions int32 `protobuf:"varint,3,opt,name=remaining_redemptions,json=remainingRedemptions,proto3" json:"remaining_redemptions,omitempty"` Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` Error string `protobuf:"bytes,5,opt,name=error,proto3" json:"error,omitempty"` } func (x *RedeemIntentResponse) Reset() { *x = RedeemIntentResponse{} if protoimpl.UnsafeEnabled { mi := &file_quartermaster_v1_governance_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RedeemIntentResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RedeemIntentResponse) ProtoMessage() {} func (x *RedeemIntentResponse) ProtoReflect() protoreflect.Message { mi := &file_quartermaster_v1_governance_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 RedeemIntentResponse.ProtoReflect.Descriptor instead. func (*RedeemIntentResponse) Descriptor() ([]byte, []int) { return file_quartermaster_v1_governance_proto_rawDescGZIP(), []int{4} } func (x *RedeemIntentResponse) GetSuccess() bool { if x != nil { return x.Success } return false } func (x *RedeemIntentResponse) GetSat() *SatToken { if x != nil { return x.Sat } return nil } func (x *RedeemIntentResponse) GetRemainingRedemptions() int32 { if x != nil { return x.RemainingRedemptions } return 0 } func (x *RedeemIntentResponse) GetStatus() string { if x != nil { return x.Status } return "" } func (x *RedeemIntentResponse) GetError() string { if x != nil { return x.Error } return "" } type SatToken struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SatHash []byte `protobuf:"bytes,1,opt,name=sat_hash,json=satHash,proto3" json:"sat_hash,omitempty"` BearerSvid string `protobuf:"bytes,2,opt,name=bearer_svid,json=bearerSvid,proto3" json:"bearer_svid,omitempty"` Scopes []*SatScopeMsg `protobuf:"bytes,3,rep,name=scopes,proto3" json:"scopes,omitempty"` IssuedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=issued_at,json=issuedAt,proto3" json:"issued_at,omitempty"` ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` Signature []byte `protobuf:"bytes,6,opt,name=signature,proto3" json:"signature,omitempty"` SatBytes []byte `protobuf:"bytes,7,opt,name=sat_bytes,json=satBytes,proto3" json:"sat_bytes,omitempty"` } func (x *SatToken) Reset() { *x = SatToken{} if protoimpl.UnsafeEnabled { mi := &file_quartermaster_v1_governance_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SatToken) String() string { return protoimpl.X.MessageStringOf(x) } func (*SatToken) ProtoMessage() {} func (x *SatToken) ProtoReflect() protoreflect.Message { mi := &file_quartermaster_v1_governance_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 SatToken.ProtoReflect.Descriptor instead. func (*SatToken) Descriptor() ([]byte, []int) { return file_quartermaster_v1_governance_proto_rawDescGZIP(), []int{5} } func (x *SatToken) GetSatHash() []byte { if x != nil { return x.SatHash } return nil } func (x *SatToken) GetBearerSvid() string { if x != nil { return x.BearerSvid } return "" } func (x *SatToken) GetScopes() []*SatScopeMsg { if x != nil { return x.Scopes } return nil } func (x *SatToken) GetIssuedAt() *timestamppb.Timestamp { if x != nil { return x.IssuedAt } return nil } func (x *SatToken) GetExpiresAt() *timestamppb.Timestamp { if x != nil { return x.ExpiresAt } return nil } func (x *SatToken) GetSignature() []byte { if x != nil { return x.Signature } return nil } func (x *SatToken) GetSatBytes() []byte { if x != nil { return x.SatBytes } return nil } type SatScopeMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RegistryType string `protobuf:"bytes,1,opt,name=registry_type,json=registryType,proto3" json:"registry_type,omitempty"` Verbs []string `protobuf:"bytes,2,rep,name=verbs,proto3" json:"verbs,omitempty"` ResourcePattern string `protobuf:"bytes,3,opt,name=resource_pattern,json=resourcePattern,proto3" json:"resource_pattern,omitempty"` } func (x *SatScopeMsg) Reset() { *x = SatScopeMsg{} if protoimpl.UnsafeEnabled { mi := &file_quartermaster_v1_governance_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SatScopeMsg) String() string { return protoimpl.X.MessageStringOf(x) } func (*SatScopeMsg) ProtoMessage() {} func (x *SatScopeMsg) ProtoReflect() protoreflect.Message { mi := &file_quartermaster_v1_governance_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 SatScopeMsg.ProtoReflect.Descriptor instead. func (*SatScopeMsg) Descriptor() ([]byte, []int) { return file_quartermaster_v1_governance_proto_rawDescGZIP(), []int{6} } func (x *SatScopeMsg) GetRegistryType() string { if x != nil { return x.RegistryType } return "" } func (x *SatScopeMsg) GetVerbs() []string { if x != nil { return x.Verbs } return nil } func (x *SatScopeMsg) GetResourcePattern() string { if x != nil { return x.ResourcePattern } return "" } type RevokeIntentRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IntentId string `protobuf:"bytes,1,opt,name=intent_id,json=intentId,proto3" json:"intent_id,omitempty"` } func (x *RevokeIntentRequest) Reset() { *x = RevokeIntentRequest{} if protoimpl.UnsafeEnabled { mi := &file_quartermaster_v1_governance_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RevokeIntentRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RevokeIntentRequest) ProtoMessage() {} func (x *RevokeIntentRequest) ProtoReflect() protoreflect.Message { mi := &file_quartermaster_v1_governance_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 RevokeIntentRequest.ProtoReflect.Descriptor instead. func (*RevokeIntentRequest) Descriptor() ([]byte, []int) { return file_quartermaster_v1_governance_proto_rawDescGZIP(), []int{7} } func (x *RevokeIntentRequest) GetIntentId() string { if x != nil { return x.IntentId } return "" } type RevokeIntentResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` } func (x *RevokeIntentResponse) Reset() { *x = RevokeIntentResponse{} if protoimpl.UnsafeEnabled { mi := &file_quartermaster_v1_governance_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RevokeIntentResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RevokeIntentResponse) ProtoMessage() {} func (x *RevokeIntentResponse) ProtoReflect() protoreflect.Message { mi := &file_quartermaster_v1_governance_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 RevokeIntentResponse.ProtoReflect.Descriptor instead. func (*RevokeIntentResponse) Descriptor() ([]byte, []int) { return file_quartermaster_v1_governance_proto_rawDescGZIP(), []int{8} } func (x *RevokeIntentResponse) GetSuccess() bool { if x != nil { return x.Success } return false } func (x *RevokeIntentResponse) GetError() string { if x != nil { return x.Error } return "" } type ListIntentsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TenantId string `protobuf:"bytes,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` StatusFilter string `protobuf:"bytes,2,opt,name=status_filter,json=statusFilter,proto3" json:"status_filter,omitempty"` Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` } func (x *ListIntentsRequest) Reset() { *x = ListIntentsRequest{} if protoimpl.UnsafeEnabled { mi := &file_quartermaster_v1_governance_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListIntentsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListIntentsRequest) ProtoMessage() {} func (x *ListIntentsRequest) ProtoReflect() protoreflect.Message { mi := &file_quartermaster_v1_governance_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 ListIntentsRequest.ProtoReflect.Descriptor instead. func (*ListIntentsRequest) Descriptor() ([]byte, []int) { return file_quartermaster_v1_governance_proto_rawDescGZIP(), []int{9} } func (x *ListIntentsRequest) GetTenantId() string { if x != nil { return x.TenantId } return "" } func (x *ListIntentsRequest) GetStatusFilter() string { if x != nil { return x.StatusFilter } return "" } func (x *ListIntentsRequest) GetLimit() int32 { if x != nil { return x.Limit } return 0 } type ListIntentsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Intents []*IntentSummary `protobuf:"bytes,1,rep,name=intents,proto3" json:"intents,omitempty"` } func (x *ListIntentsResponse) Reset() { *x = ListIntentsResponse{} if protoimpl.UnsafeEnabled { mi := &file_quartermaster_v1_governance_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListIntentsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListIntentsResponse) ProtoMessage() {} func (x *ListIntentsResponse) ProtoReflect() protoreflect.Message { mi := &file_quartermaster_v1_governance_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 ListIntentsResponse.ProtoReflect.Descriptor instead. func (*ListIntentsResponse) Descriptor() ([]byte, []int) { return file_quartermaster_v1_governance_proto_rawDescGZIP(), []int{10} } func (x *ListIntentsResponse) GetIntents() []*IntentSummary { if x != nil { return x.Intents } return nil } type IntentSummary struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IntentId string `protobuf:"bytes,1,opt,name=intent_id,json=intentId,proto3" json:"intent_id,omitempty"` RegistryType string `protobuf:"bytes,2,opt,name=registry_type,json=registryType,proto3" json:"registry_type,omitempty"` Verb string `protobuf:"bytes,3,opt,name=verb,proto3" json:"verb,omitempty"` ArtifactScope string `protobuf:"bytes,4,opt,name=artifact_scope,json=artifactScope,proto3" json:"artifact_scope,omitempty"` TenantId string `protobuf:"bytes,5,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"` ClaimType string `protobuf:"bytes,6,opt,name=claim_type,json=claimType,proto3" json:"claim_type,omitempty"` ClaimSubject string `protobuf:"bytes,7,opt,name=claim_subject,json=claimSubject,proto3" json:"claim_subject,omitempty"` Status string `protobuf:"bytes,8,opt,name=status,proto3" json:"status,omitempty"` MaxRedemptions int32 `protobuf:"varint,9,opt,name=max_redemptions,json=maxRedemptions,proto3" json:"max_redemptions,omitempty"` RedeemedCount int32 `protobuf:"varint,10,opt,name=redeemed_count,json=redeemedCount,proto3" json:"redeemed_count,omitempty"` AuthorizedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=authorized_at,json=authorizedAt,proto3" json:"authorized_at,omitempty"` ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` } func (x *IntentSummary) Reset() { *x = IntentSummary{} if protoimpl.UnsafeEnabled { mi := &file_quartermaster_v1_governance_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IntentSummary) String() string { return protoimpl.X.MessageStringOf(x) } func (*IntentSummary) ProtoMessage() {} func (x *IntentSummary) ProtoReflect() protoreflect.Message { mi := &file_quartermaster_v1_governance_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 IntentSummary.ProtoReflect.Descriptor instead. func (*IntentSummary) Descriptor() ([]byte, []int) { return file_quartermaster_v1_governance_proto_rawDescGZIP(), []int{11} } func (x *IntentSummary) GetIntentId() string { if x != nil { return x.IntentId } return "" } func (x *IntentSummary) GetRegistryType() string { if x != nil { return x.RegistryType } return "" } func (x *IntentSummary) GetVerb() string { if x != nil { return x.Verb } return "" } func (x *IntentSummary) GetArtifactScope() string { if x != nil { return x.ArtifactScope } return "" } func (x *IntentSummary) GetTenantId() string { if x != nil { return x.TenantId } return "" } func (x *IntentSummary) GetClaimType() string { if x != nil { return x.ClaimType } return "" } func (x *IntentSummary) GetClaimSubject() string { if x != nil { return x.ClaimSubject } return "" } func (x *IntentSummary) GetStatus() string { if x != nil { return x.Status } return "" } func (x *IntentSummary) GetMaxRedemptions() int32 { if x != nil { return x.MaxRedemptions } return 0 } func (x *IntentSummary) GetRedeemedCount() int32 { if x != nil { return x.RedeemedCount } return 0 } func (x *IntentSummary) GetAuthorizedAt() *timestamppb.Timestamp { if x != nil { return x.AuthorizedAt } return nil } func (x *IntentSummary) GetExpiresAt() *timestamppb.Timestamp { if x != nil { return x.ExpiresAt } return nil } var File_quartermaster_v1_governance_proto protoreflect.FileDescriptor var file_quartermaster_v1_governance_proto_rawDesc = []byte{ 0x0a, 0x21, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 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, 0x22, 0x87, 0x03, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x65, 0x72, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x69, 0x64, 0x63, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4d, 0x0a, 0x0e, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x74, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x74, 0x6c, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4b, 0x65, 0x79, 0x42, 0x10, 0x0a, 0x0e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 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, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6e, 0x69, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x6e, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x65, 0x6d, 0x6f, 0x6e, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x65, 0x72, 0x65, 0x6d, 0x6f, 0x6e, 0x79, 0x49, 0x64, 0x22, 0x32, 0x0a, 0x13, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xc1, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x03, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x03, 0x73, 0x61, 0x74, 0x12, 0x33, 0x0a, 0x15, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xac, 0x02, 0x0a, 0x08, 0x53, 0x61, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x61, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x73, 0x61, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x5f, 0x73, 0x76, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x53, 0x76, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4d, 0x73, 0x67, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 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, 0x52, 0x08, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x05, 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, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x61, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x61, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x73, 0x0a, 0x0b, 0x53, 0x61, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x65, 0x72, 0x62, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x76, 0x65, 0x72, 0x62, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x22, 0x32, 0x0a, 0x13, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x14, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x6c, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x50, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xd1, 0x03, 0x0a, 0x0d, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x65, 0x72, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x5f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 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, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x0c, 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, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x32, 0x8c, 0x03, 0x0a, 0x11, 0x47, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5d, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0c, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0c, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x2e, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x61, 0x5a, 0x5f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x2d, 0x63, 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x2f, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x2d, 0x73, 0x70, 0x69, 0x72, 0x65, 0x2d, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x3b, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_quartermaster_v1_governance_proto_rawDescOnce sync.Once file_quartermaster_v1_governance_proto_rawDescData = file_quartermaster_v1_governance_proto_rawDesc ) func file_quartermaster_v1_governance_proto_rawDescGZIP() []byte { file_quartermaster_v1_governance_proto_rawDescOnce.Do(func() { file_quartermaster_v1_governance_proto_rawDescData = protoimpl.X.CompressGZIP(file_quartermaster_v1_governance_proto_rawDescData) }) return file_quartermaster_v1_governance_proto_rawDescData } var file_quartermaster_v1_governance_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_quartermaster_v1_governance_proto_goTypes = []interface{}{ (*CreateIntentRequest)(nil), // 0: quartermaster.v1.CreateIntentRequest (*ExternalEventClaim)(nil), // 1: quartermaster.v1.ExternalEventClaim (*CreateIntentResponse)(nil), // 2: quartermaster.v1.CreateIntentResponse (*RedeemIntentRequest)(nil), // 3: quartermaster.v1.RedeemIntentRequest (*RedeemIntentResponse)(nil), // 4: quartermaster.v1.RedeemIntentResponse (*SatToken)(nil), // 5: quartermaster.v1.SatToken (*SatScopeMsg)(nil), // 6: quartermaster.v1.SatScopeMsg (*RevokeIntentRequest)(nil), // 7: quartermaster.v1.RevokeIntentRequest (*RevokeIntentResponse)(nil), // 8: quartermaster.v1.RevokeIntentResponse (*ListIntentsRequest)(nil), // 9: quartermaster.v1.ListIntentsRequest (*ListIntentsResponse)(nil), // 10: quartermaster.v1.ListIntentsResponse (*IntentSummary)(nil), // 11: quartermaster.v1.IntentSummary (*timestamppb.Timestamp)(nil), // 12: google.protobuf.Timestamp } var file_quartermaster_v1_governance_proto_depIdxs = []int32{ 1, // 0: quartermaster.v1.CreateIntentRequest.external_event:type_name -> quartermaster.v1.ExternalEventClaim 12, // 1: quartermaster.v1.CreateIntentResponse.expires_at:type_name -> google.protobuf.Timestamp 5, // 2: quartermaster.v1.RedeemIntentResponse.sat:type_name -> quartermaster.v1.SatToken 6, // 3: quartermaster.v1.SatToken.scopes:type_name -> quartermaster.v1.SatScopeMsg 12, // 4: quartermaster.v1.SatToken.issued_at:type_name -> google.protobuf.Timestamp 12, // 5: quartermaster.v1.SatToken.expires_at:type_name -> google.protobuf.Timestamp 11, // 6: quartermaster.v1.ListIntentsResponse.intents:type_name -> quartermaster.v1.IntentSummary 12, // 7: quartermaster.v1.IntentSummary.authorized_at:type_name -> google.protobuf.Timestamp 12, // 8: quartermaster.v1.IntentSummary.expires_at:type_name -> google.protobuf.Timestamp 0, // 9: quartermaster.v1.GovernanceService.CreateIntent:input_type -> quartermaster.v1.CreateIntentRequest 3, // 10: quartermaster.v1.GovernanceService.RedeemIntent:input_type -> quartermaster.v1.RedeemIntentRequest 7, // 11: quartermaster.v1.GovernanceService.RevokeIntent:input_type -> quartermaster.v1.RevokeIntentRequest 9, // 12: quartermaster.v1.GovernanceService.ListIntents:input_type -> quartermaster.v1.ListIntentsRequest 2, // 13: quartermaster.v1.GovernanceService.CreateIntent:output_type -> quartermaster.v1.CreateIntentResponse 4, // 14: quartermaster.v1.GovernanceService.RedeemIntent:output_type -> quartermaster.v1.RedeemIntentResponse 8, // 15: quartermaster.v1.GovernanceService.RevokeIntent:output_type -> quartermaster.v1.RevokeIntentResponse 10, // 16: quartermaster.v1.GovernanceService.ListIntents:output_type -> quartermaster.v1.ListIntentsResponse 13, // [13:17] is the sub-list for method output_type 9, // [9:13] is the sub-list for method input_type 9, // [9:9] is the sub-list for extension type_name 9, // [9:9] is the sub-list for extension extendee 0, // [0:9] is the sub-list for field type_name } func init() { file_quartermaster_v1_governance_proto_init() } func file_quartermaster_v1_governance_proto_init() { if File_quartermaster_v1_governance_proto != nil { return } if !protoimpl.UnsafeEnabled { file_quartermaster_v1_governance_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateIntentRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_quartermaster_v1_governance_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExternalEventClaim); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_quartermaster_v1_governance_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateIntentResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_quartermaster_v1_governance_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedeemIntentRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_quartermaster_v1_governance_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RedeemIntentResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_quartermaster_v1_governance_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SatToken); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_quartermaster_v1_governance_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SatScopeMsg); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_quartermaster_v1_governance_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RevokeIntentRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_quartermaster_v1_governance_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RevokeIntentResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_quartermaster_v1_governance_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListIntentsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_quartermaster_v1_governance_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListIntentsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_quartermaster_v1_governance_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IntentSummary); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_quartermaster_v1_governance_proto_msgTypes[0].OneofWrappers = []interface{}{ (*CreateIntentRequest_OidcToken)(nil), (*CreateIntentRequest_ExternalEvent)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_quartermaster_v1_governance_proto_rawDesc, NumEnums: 0, NumMessages: 12, NumExtensions: 0, NumServices: 1, }, GoTypes: file_quartermaster_v1_governance_proto_goTypes, DependencyIndexes: file_quartermaster_v1_governance_proto_depIdxs, MessageInfos: file_quartermaster_v1_governance_proto_msgTypes, }.Build() File_quartermaster_v1_governance_proto = out.File file_quartermaster_v1_governance_proto_rawDesc = nil file_quartermaster_v1_governance_proto_goTypes = nil file_quartermaster_v1_governance_proto_depIdxs = nil }