From 6f0ac311454025158e83614d897015c6c64acfcc Mon Sep 17 00:00:00 2001 From: cloudforet-admin Date: Sun, 3 Nov 2024 10:51:07 +0000 Subject: [PATCH] [CI] api has been built --- .../api/mzc-service-api/v1/contract.pb.gw.go | 550 +++++++++ .../api/mzc-service-api/v1/offering.pb.gw.go | 550 +++++++++ .../mzc-service-api/v1/organization.pb.gw.go | 704 +++++++++++ dist/go.mod | 6 +- dist/go.sum | 12 +- .../api/mzc-service-api/v1/contract.pb.go | 1027 +++++++++++++++++ .../mzc-service-api/v1/contract_grpc.pb.go | 313 +++++ .../api/mzc-service-api/v1/offering.pb.go | 921 +++++++++++++++ .../mzc-service-api/v1/offering_grpc.pb.go | 313 +++++ .../api/mzc-service-api/v1/organization.pb.go | 1014 ++++++++++++++++ .../v1/organization_grpc.pb.go | 389 +++++++ .../api/mzc_service_api/v1/Contract.json | 965 ++++++++++++++++ .../api/mzc_service_api/v1/Offering.json | 901 +++++++++++++++ .../api/mzc_service_api/v1/Organization.json | 1014 ++++++++++++++++ .../api/mzc_service_api/v1/openapi.json | 947 +++++++++++++++ .../spaceone/api/mzc_service_api/__init__.py | 0 .../api/mzc_service_api/v1/__init__.py | 0 .../api/mzc_service_api/v1/contract_pb2.py | 61 + .../mzc_service_api/v1/contract_pb2_grpc.py | 319 +++++ .../api/mzc_service_api/v1/offering_pb2.py | 59 + .../mzc_service_api/v1/offering_pb2_grpc.py | 319 +++++ .../mzc_service_api/v1/organization_pb2.py | 63 + .../v1/organization_pb2_grpc.py | 405 +++++++ dist/python/dist/spaceone-api-2.0.288.tar.gz | Bin 216425 -> 0 bytes dist/python/dist/spaceone-api-2.0.289.tar.gz | Bin 0 -> 221173 bytes ... => spaceone_api-2.0.289-py3-none-any.whl} | Bin 479435 -> 491245 bytes .../spaceone/api/mzc_service_api/__init__.py | 0 .../api/mzc_service_api/v1/__init__.py | 0 .../api/mzc_service_api/v1/contract_pb2.py | 61 + .../mzc_service_api/v1/contract_pb2_grpc.py | 319 +++++ .../api/mzc_service_api/v1/offering_pb2.py | 59 + .../mzc_service_api/v1/offering_pb2_grpc.py | 319 +++++ .../mzc_service_api/v1/organization_pb2.py | 63 + .../v1/organization_pb2_grpc.py | 405 +++++++ dist/python/spaceone_api.egg-info/PKG-INFO | 2 +- dist/python/spaceone_api.egg-info/SOURCES.txt | 8 + 36 files changed, 12078 insertions(+), 10 deletions(-) create mode 100755 dist/gateway/spaceone/api/mzc-service-api/v1/contract.pb.gw.go create mode 100755 dist/gateway/spaceone/api/mzc-service-api/v1/offering.pb.gw.go create mode 100755 dist/gateway/spaceone/api/mzc-service-api/v1/organization.pb.gw.go create mode 100755 dist/go/spaceone/api/mzc-service-api/v1/contract.pb.go create mode 100755 dist/go/spaceone/api/mzc-service-api/v1/contract_grpc.pb.go create mode 100755 dist/go/spaceone/api/mzc-service-api/v1/offering.pb.go create mode 100755 dist/go/spaceone/api/mzc-service-api/v1/offering_grpc.pb.go create mode 100755 dist/go/spaceone/api/mzc-service-api/v1/organization.pb.go create mode 100755 dist/go/spaceone/api/mzc-service-api/v1/organization_grpc.pb.go create mode 100755 dist/json/cloudforet/api/mzc_service_api/v1/Contract.json create mode 100755 dist/json/cloudforet/api/mzc_service_api/v1/Offering.json create mode 100755 dist/json/cloudforet/api/mzc_service_api/v1/Organization.json create mode 100755 dist/openapi/cloudforet/api/mzc_service_api/v1/openapi.json create mode 100644 dist/python/build/lib/spaceone/api/mzc_service_api/__init__.py create mode 100644 dist/python/build/lib/spaceone/api/mzc_service_api/v1/__init__.py create mode 100644 dist/python/build/lib/spaceone/api/mzc_service_api/v1/contract_pb2.py create mode 100644 dist/python/build/lib/spaceone/api/mzc_service_api/v1/contract_pb2_grpc.py create mode 100644 dist/python/build/lib/spaceone/api/mzc_service_api/v1/offering_pb2.py create mode 100644 dist/python/build/lib/spaceone/api/mzc_service_api/v1/offering_pb2_grpc.py create mode 100644 dist/python/build/lib/spaceone/api/mzc_service_api/v1/organization_pb2.py create mode 100644 dist/python/build/lib/spaceone/api/mzc_service_api/v1/organization_pb2_grpc.py delete mode 100644 dist/python/dist/spaceone-api-2.0.288.tar.gz create mode 100644 dist/python/dist/spaceone-api-2.0.289.tar.gz rename dist/python/dist/{spaceone_api-2.0.288-py3-none-any.whl => spaceone_api-2.0.289-py3-none-any.whl} (87%) create mode 100755 dist/python/spaceone/api/mzc_service_api/__init__.py create mode 100755 dist/python/spaceone/api/mzc_service_api/v1/__init__.py create mode 100755 dist/python/spaceone/api/mzc_service_api/v1/contract_pb2.py create mode 100755 dist/python/spaceone/api/mzc_service_api/v1/contract_pb2_grpc.py create mode 100755 dist/python/spaceone/api/mzc_service_api/v1/offering_pb2.py create mode 100755 dist/python/spaceone/api/mzc_service_api/v1/offering_pb2_grpc.py create mode 100755 dist/python/spaceone/api/mzc_service_api/v1/organization_pb2.py create mode 100755 dist/python/spaceone/api/mzc_service_api/v1/organization_pb2_grpc.py diff --git a/dist/gateway/spaceone/api/mzc-service-api/v1/contract.pb.gw.go b/dist/gateway/spaceone/api/mzc-service-api/v1/contract.pb.gw.go new file mode 100755 index 000000000..87096015e --- /dev/null +++ b/dist/gateway/spaceone/api/mzc-service-api/v1/contract.pb.gw.go @@ -0,0 +1,550 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: spaceone/api/mzc_service_api/v1/contract.proto + +/* +Package v1 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v1 + +import ( + "context" + "io" + "net/http" + + extV1 "github.com/cloudforet-io/api/dist/go/spaceone/api/mzc-service-api/v1" + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_Contract_Create_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.ContractClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.ContractCreateRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Create(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Contract_Create_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.ContractServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.ContractCreateRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Create(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Contract_Update_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.ContractClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.ContractUpdateRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Update(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Contract_Update_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.ContractServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.ContractUpdateRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Update(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Contract_Terminate_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.ContractClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.ContractRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Terminate(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Contract_Terminate_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.ContractServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.ContractRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Terminate(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Contract_Get_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.ContractClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.ContractRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Get(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Contract_Get_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.ContractServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.ContractRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Get(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Contract_List_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.ContractClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.ContractSearchQuery + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.List(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Contract_List_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.ContractServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.ContractSearchQuery + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.List(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Contract_Stat_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.ContractClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.ContractStatQuery + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Stat(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Contract_Stat_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.ContractServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.ContractStatQuery + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Stat(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterContractHandlerServer registers the http handlers for service Contract to "mux". +// UnaryRPC :call ContractServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterContractHandlerFromEndpoint instead. +// GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call. +func RegisterContractHandlerServer(ctx context.Context, mux *runtime.ServeMux, server extV1.ContractServer) error { + + mux.Handle("POST", pattern_Contract_Create_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Contract/Create", runtime.WithHTTPPathPattern("/mzc-service-api/v1/contract/create")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Contract_Create_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Contract_Create_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Contract_Update_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Contract/Update", runtime.WithHTTPPathPattern("/mzc-service-api/v1/contract/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Contract_Update_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Contract_Update_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Contract_Terminate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Contract/Terminate", runtime.WithHTTPPathPattern("/mzc-service-api/v1/contract/terminate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Contract_Terminate_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Contract_Terminate_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Contract_Get_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Contract/Get", runtime.WithHTTPPathPattern("/mzc-service-api/v1/contract/get")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Contract_Get_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Contract_Get_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Contract_List_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Contract/List", runtime.WithHTTPPathPattern("/mzc-service-api/v1/contract/list")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Contract_List_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Contract_List_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Contract_Stat_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Contract/Stat", runtime.WithHTTPPathPattern("/mzc-service-api/v1/contract/stat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Contract_Stat_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Contract_Stat_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterContractHandlerFromEndpoint is same as RegisterContractHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterContractHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.NewClient(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterContractHandler(ctx, mux, conn) +} + +// RegisterContractHandler registers the http handlers for service Contract to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterContractHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterContractHandlerClient(ctx, mux, extV1.NewContractClient(conn)) +} + +// RegisterContractHandlerClient registers the http handlers for service Contract +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "extV1.ContractClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "extV1.ContractClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "extV1.ContractClient" to call the correct interceptors. This client ignores the HTTP middlewares. +func RegisterContractHandlerClient(ctx context.Context, mux *runtime.ServeMux, client extV1.ContractClient) error { + + mux.Handle("POST", pattern_Contract_Create_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Contract/Create", runtime.WithHTTPPathPattern("/mzc-service-api/v1/contract/create")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Contract_Create_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Contract_Create_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Contract_Update_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Contract/Update", runtime.WithHTTPPathPattern("/mzc-service-api/v1/contract/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Contract_Update_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Contract_Update_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Contract_Terminate_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Contract/Terminate", runtime.WithHTTPPathPattern("/mzc-service-api/v1/contract/terminate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Contract_Terminate_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Contract_Terminate_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Contract_Get_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Contract/Get", runtime.WithHTTPPathPattern("/mzc-service-api/v1/contract/get")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Contract_Get_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Contract_Get_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Contract_List_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Contract/List", runtime.WithHTTPPathPattern("/mzc-service-api/v1/contract/list")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Contract_List_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Contract_List_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Contract_Stat_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Contract/Stat", runtime.WithHTTPPathPattern("/mzc-service-api/v1/contract/stat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Contract_Stat_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Contract_Stat_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_Contract_Create_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "contract", "create"}, "")) + + pattern_Contract_Update_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "contract", "update"}, "")) + + pattern_Contract_Terminate_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "contract", "terminate"}, "")) + + pattern_Contract_Get_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "contract", "get"}, "")) + + pattern_Contract_List_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "contract", "list"}, "")) + + pattern_Contract_Stat_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "contract", "stat"}, "")) +) + +var ( + forward_Contract_Create_0 = runtime.ForwardResponseMessage + + forward_Contract_Update_0 = runtime.ForwardResponseMessage + + forward_Contract_Terminate_0 = runtime.ForwardResponseMessage + + forward_Contract_Get_0 = runtime.ForwardResponseMessage + + forward_Contract_List_0 = runtime.ForwardResponseMessage + + forward_Contract_Stat_0 = runtime.ForwardResponseMessage +) diff --git a/dist/gateway/spaceone/api/mzc-service-api/v1/offering.pb.gw.go b/dist/gateway/spaceone/api/mzc-service-api/v1/offering.pb.gw.go new file mode 100755 index 000000000..348bcef98 --- /dev/null +++ b/dist/gateway/spaceone/api/mzc-service-api/v1/offering.pb.gw.go @@ -0,0 +1,550 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: spaceone/api/mzc_service_api/v1/offering.proto + +/* +Package v1 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v1 + +import ( + "context" + "io" + "net/http" + + extV1 "github.com/cloudforet-io/api/dist/go/spaceone/api/mzc-service-api/v1" + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_Offering_Create_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.OfferingClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OfferingCreateRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Create(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Offering_Create_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.OfferingServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OfferingCreateRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Create(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Offering_Update_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.OfferingClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OfferingUpdateRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Update(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Offering_Update_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.OfferingServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OfferingUpdateRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Update(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Offering_Delete_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.OfferingClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OfferingRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Delete(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Offering_Delete_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.OfferingServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OfferingRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Delete(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Offering_Get_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.OfferingClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OfferingRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Get(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Offering_Get_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.OfferingServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OfferingRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Get(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Offering_List_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.OfferingClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OfferingSearchQuery + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.List(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Offering_List_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.OfferingServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OfferingSearchQuery + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.List(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Offering_Stat_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.OfferingClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OfferingStatQuery + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Stat(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Offering_Stat_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.OfferingServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OfferingStatQuery + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Stat(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterOfferingHandlerServer registers the http handlers for service Offering to "mux". +// UnaryRPC :call OfferingServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterOfferingHandlerFromEndpoint instead. +// GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call. +func RegisterOfferingHandlerServer(ctx context.Context, mux *runtime.ServeMux, server extV1.OfferingServer) error { + + mux.Handle("POST", pattern_Offering_Create_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Offering/Create", runtime.WithHTTPPathPattern("/mzc-service-api/v1/offering/create")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Offering_Create_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Offering_Create_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Offering_Update_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Offering/Update", runtime.WithHTTPPathPattern("/mzc-service-api/v1/offering/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Offering_Update_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Offering_Update_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Offering_Delete_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Offering/Delete", runtime.WithHTTPPathPattern("/mzc-service-api/v1/offering/delete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Offering_Delete_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Offering_Delete_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Offering_Get_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Offering/Get", runtime.WithHTTPPathPattern("/mzc-service-api/v1/offering/get")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Offering_Get_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Offering_Get_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Offering_List_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Offering/List", runtime.WithHTTPPathPattern("/mzc-service-api/v1/offering/list")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Offering_List_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Offering_List_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Offering_Stat_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Offering/Stat", runtime.WithHTTPPathPattern("/mzc-service-api/v1/offering/stat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Offering_Stat_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Offering_Stat_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterOfferingHandlerFromEndpoint is same as RegisterOfferingHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterOfferingHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.NewClient(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterOfferingHandler(ctx, mux, conn) +} + +// RegisterOfferingHandler registers the http handlers for service Offering to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterOfferingHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterOfferingHandlerClient(ctx, mux, extV1.NewOfferingClient(conn)) +} + +// RegisterOfferingHandlerClient registers the http handlers for service Offering +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "extV1.OfferingClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "extV1.OfferingClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "extV1.OfferingClient" to call the correct interceptors. This client ignores the HTTP middlewares. +func RegisterOfferingHandlerClient(ctx context.Context, mux *runtime.ServeMux, client extV1.OfferingClient) error { + + mux.Handle("POST", pattern_Offering_Create_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Offering/Create", runtime.WithHTTPPathPattern("/mzc-service-api/v1/offering/create")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Offering_Create_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Offering_Create_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Offering_Update_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Offering/Update", runtime.WithHTTPPathPattern("/mzc-service-api/v1/offering/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Offering_Update_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Offering_Update_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Offering_Delete_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Offering/Delete", runtime.WithHTTPPathPattern("/mzc-service-api/v1/offering/delete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Offering_Delete_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Offering_Delete_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Offering_Get_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Offering/Get", runtime.WithHTTPPathPattern("/mzc-service-api/v1/offering/get")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Offering_Get_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Offering_Get_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Offering_List_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Offering/List", runtime.WithHTTPPathPattern("/mzc-service-api/v1/offering/list")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Offering_List_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Offering_List_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Offering_Stat_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Offering/Stat", runtime.WithHTTPPathPattern("/mzc-service-api/v1/offering/stat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Offering_Stat_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Offering_Stat_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_Offering_Create_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "offering", "create"}, "")) + + pattern_Offering_Update_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "offering", "update"}, "")) + + pattern_Offering_Delete_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "offering", "delete"}, "")) + + pattern_Offering_Get_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "offering", "get"}, "")) + + pattern_Offering_List_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "offering", "list"}, "")) + + pattern_Offering_Stat_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "offering", "stat"}, "")) +) + +var ( + forward_Offering_Create_0 = runtime.ForwardResponseMessage + + forward_Offering_Update_0 = runtime.ForwardResponseMessage + + forward_Offering_Delete_0 = runtime.ForwardResponseMessage + + forward_Offering_Get_0 = runtime.ForwardResponseMessage + + forward_Offering_List_0 = runtime.ForwardResponseMessage + + forward_Offering_Stat_0 = runtime.ForwardResponseMessage +) diff --git a/dist/gateway/spaceone/api/mzc-service-api/v1/organization.pb.gw.go b/dist/gateway/spaceone/api/mzc-service-api/v1/organization.pb.gw.go new file mode 100755 index 000000000..f0876ecf0 --- /dev/null +++ b/dist/gateway/spaceone/api/mzc-service-api/v1/organization.pb.gw.go @@ -0,0 +1,704 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: spaceone/api/mzc_service_api/v1/organization.proto + +/* +Package v1 is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package v1 + +import ( + "context" + "io" + "net/http" + + extV1 "github.com/cloudforet-io/api/dist/go/spaceone/api/mzc-service-api/v1" + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_Organization_Create_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.OrganizationClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OrganizationCreateRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Create(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Organization_Create_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.OrganizationServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OrganizationCreateRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Create(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Organization_Update_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.OrganizationClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OrganizationUpdateRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Update(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Organization_Update_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.OrganizationServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OrganizationUpdateRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Update(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Organization_Enable_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.OrganizationClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OrganizationRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Enable(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Organization_Enable_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.OrganizationServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OrganizationRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Enable(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Organization_Disable_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.OrganizationClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OrganizationRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Disable(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Organization_Disable_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.OrganizationServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OrganizationRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Disable(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Organization_Delete_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.OrganizationClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OrganizationRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Delete(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Organization_Delete_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.OrganizationServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OrganizationRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Delete(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Organization_Get_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.OrganizationClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OrganizationRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Get(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Organization_Get_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.OrganizationServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OrganizationRequest + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Get(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Organization_List_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.OrganizationClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OrganizationSearchQuery + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.List(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Organization_List_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.OrganizationServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OrganizationSearchQuery + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.List(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Organization_Stat_0(ctx context.Context, marshaler runtime.Marshaler, client extV1.OrganizationClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OrganizationStatQuery + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.Stat(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Organization_Stat_0(ctx context.Context, marshaler runtime.Marshaler, server extV1.OrganizationServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq extV1.OrganizationStatQuery + var metadata runtime.ServerMetadata + + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.Stat(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterOrganizationHandlerServer registers the http handlers for service Organization to "mux". +// UnaryRPC :call OrganizationServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterOrganizationHandlerFromEndpoint instead. +// GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call. +func RegisterOrganizationHandlerServer(ctx context.Context, mux *runtime.ServeMux, server extV1.OrganizationServer) error { + + mux.Handle("POST", pattern_Organization_Create_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Organization/Create", runtime.WithHTTPPathPattern("/mzc-service-api/v1/organization/create")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Organization_Create_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Organization_Create_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Organization_Update_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Organization/Update", runtime.WithHTTPPathPattern("/mzc-service-api/v1/organization/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Organization_Update_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Organization_Update_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Organization_Enable_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Organization/Enable", runtime.WithHTTPPathPattern("/mzc-service-api/v1/organization/enable")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Organization_Enable_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Organization_Enable_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Organization_Disable_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Organization/Disable", runtime.WithHTTPPathPattern("/mzc-service-api/v1/organization/disable")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Organization_Disable_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Organization_Disable_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Organization_Delete_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Organization/Delete", runtime.WithHTTPPathPattern("/mzc-service-api/v1/organization/delete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Organization_Delete_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Organization_Delete_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Organization_Get_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Organization/Get", runtime.WithHTTPPathPattern("/mzc-service-api/v1/organization/get")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Organization_Get_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Organization_Get_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Organization_List_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Organization/List", runtime.WithHTTPPathPattern("/mzc-service-api/v1/organization/list")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Organization_List_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Organization_List_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Organization_Stat_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Organization/Stat", runtime.WithHTTPPathPattern("/mzc-service-api/v1/organization/stat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Organization_Stat_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Organization_Stat_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterOrganizationHandlerFromEndpoint is same as RegisterOrganizationHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterOrganizationHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.NewClient(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterOrganizationHandler(ctx, mux, conn) +} + +// RegisterOrganizationHandler registers the http handlers for service Organization to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterOrganizationHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterOrganizationHandlerClient(ctx, mux, extV1.NewOrganizationClient(conn)) +} + +// RegisterOrganizationHandlerClient registers the http handlers for service Organization +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "extV1.OrganizationClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "extV1.OrganizationClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "extV1.OrganizationClient" to call the correct interceptors. This client ignores the HTTP middlewares. +func RegisterOrganizationHandlerClient(ctx context.Context, mux *runtime.ServeMux, client extV1.OrganizationClient) error { + + mux.Handle("POST", pattern_Organization_Create_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Organization/Create", runtime.WithHTTPPathPattern("/mzc-service-api/v1/organization/create")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Organization_Create_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Organization_Create_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Organization_Update_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Organization/Update", runtime.WithHTTPPathPattern("/mzc-service-api/v1/organization/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Organization_Update_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Organization_Update_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Organization_Enable_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Organization/Enable", runtime.WithHTTPPathPattern("/mzc-service-api/v1/organization/enable")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Organization_Enable_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Organization_Enable_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Organization_Disable_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Organization/Disable", runtime.WithHTTPPathPattern("/mzc-service-api/v1/organization/disable")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Organization_Disable_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Organization_Disable_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Organization_Delete_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Organization/Delete", runtime.WithHTTPPathPattern("/mzc-service-api/v1/organization/delete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Organization_Delete_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Organization_Delete_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Organization_Get_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Organization/Get", runtime.WithHTTPPathPattern("/mzc-service-api/v1/organization/get")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Organization_Get_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Organization_Get_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Organization_List_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Organization/List", runtime.WithHTTPPathPattern("/mzc-service-api/v1/organization/list")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Organization_List_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Organization_List_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Organization_Stat_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/spaceone.api.mzc_service_api.v1.Organization/Stat", runtime.WithHTTPPathPattern("/mzc-service-api/v1/organization/stat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Organization_Stat_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Organization_Stat_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_Organization_Create_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "organization", "create"}, "")) + + pattern_Organization_Update_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "organization", "update"}, "")) + + pattern_Organization_Enable_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "organization", "enable"}, "")) + + pattern_Organization_Disable_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "organization", "disable"}, "")) + + pattern_Organization_Delete_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "organization", "delete"}, "")) + + pattern_Organization_Get_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "organization", "get"}, "")) + + pattern_Organization_List_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "organization", "list"}, "")) + + pattern_Organization_Stat_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"mzc-service-api", "v1", "organization", "stat"}, "")) +) + +var ( + forward_Organization_Create_0 = runtime.ForwardResponseMessage + + forward_Organization_Update_0 = runtime.ForwardResponseMessage + + forward_Organization_Enable_0 = runtime.ForwardResponseMessage + + forward_Organization_Disable_0 = runtime.ForwardResponseMessage + + forward_Organization_Delete_0 = runtime.ForwardResponseMessage + + forward_Organization_Get_0 = runtime.ForwardResponseMessage + + forward_Organization_List_0 = runtime.ForwardResponseMessage + + forward_Organization_Stat_0 = runtime.ForwardResponseMessage +) diff --git a/dist/go.mod b/dist/go.mod index 6402ee5de..c735d3468 100755 --- a/dist/go.mod +++ b/dist/go.mod @@ -6,7 +6,7 @@ replace github.com/cloudforet-io/api => ./ require ( github.com/golang/protobuf v1.5.4 - github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 + github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0 google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38 google.golang.org/grpc v1.67.1 google.golang.org/protobuf v1.35.1 @@ -15,6 +15,6 @@ require ( require ( golang.org/x/net v0.28.0 // indirect golang.org/x/sys v0.24.0 // indirect - golang.org/x/text v0.17.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 // indirect + golang.org/x/text v0.19.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38 // indirect ) diff --git a/dist/go.sum b/dist/go.sum index de53484ac..f6d51f274 100755 --- a/dist/go.sum +++ b/dist/go.sum @@ -2,18 +2,18 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 h1:asbCHRVmodnJTuQ3qamDwqVOIjwqUPTYmYuemVOx+Ys= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0/go.mod h1:ggCgvZ2r7uOoQjOyu2Y1NhHmEPPzzuhWgcza5M1Ji1I= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0 h1:ad0vkEBuk23VJzZR9nkLVG0YAoN9coASF1GusYX6AlU= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0/go.mod h1:igFoXX2ELCW06bol23DWPB5BEWfZISOzSP5K2sbLea0= golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38 h1:2oV8dfuIkM1Ti7DwXc0BJfnwr9csz4TDXI9EmiI+Rbw= google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38/go.mod h1:vuAjtvlwkDKF6L1GQ0SokiRLCGFfeBUXWr/aFFkHACc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 h1:X58yt85/IXCx0Y3ZwN6sEIKZzQtDEYaBWrDvErdXrRE= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38 h1:zciRKQ4kBpFgpfC5QQCVtnnNAcLIqweL7plyZRQHVpI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= diff --git a/dist/go/spaceone/api/mzc-service-api/v1/contract.pb.go b/dist/go/spaceone/api/mzc-service-api/v1/contract.pb.go new file mode 100755 index 000000000..cae0fcfa0 --- /dev/null +++ b/dist/go/spaceone/api/mzc-service-api/v1/contract.pb.go @@ -0,0 +1,1027 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.1 +// protoc v3.6.1 +// source: spaceone/api/mzc_service_api/v1/contract.proto + +package v1 + +import ( + v2 "github.com/cloudforet-io/api/dist/go/spaceone/api/core/v2" + empty "github.com/golang/protobuf/ptypes/empty" + _struct "github.com/golang/protobuf/ptypes/struct" + _ "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 ContractStatus int32 + +const ( + ContractStatus_CONTRACT_STATUS_NONE ContractStatus = 0 + ContractStatus_ACTIVE ContractStatus = 1 + ContractStatus_TERMINATED ContractStatus = 2 + ContractStatus_EXPIRED ContractStatus = 3 +) + +// Enum value maps for ContractStatus. +var ( + ContractStatus_name = map[int32]string{ + 0: "CONTRACT_STATUS_NONE", + 1: "ACTIVE", + 2: "TERMINATED", + 3: "EXPIRED", + } + ContractStatus_value = map[string]int32{ + "CONTRACT_STATUS_NONE": 0, + "ACTIVE": 1, + "TERMINATED": 2, + "EXPIRED": 3, + } +) + +func (x ContractStatus) Enum() *ContractStatus { + p := new(ContractStatus) + *p = x + return p +} + +func (x ContractStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ContractStatus) Descriptor() protoreflect.EnumDescriptor { + return file_spaceone_api_mzc_service_api_v1_contract_proto_enumTypes[0].Descriptor() +} + +func (ContractStatus) Type() protoreflect.EnumType { + return &file_spaceone_api_mzc_service_api_v1_contract_proto_enumTypes[0] +} + +func (x ContractStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ContractStatus.Descriptor instead. +func (ContractStatus) EnumDescriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_contract_proto_rawDescGZIP(), []int{0} +} + +type ContractRenewalType int32 + +const ( + ContractRenewalType_CONTRACT_RENEWAL_TYPE_NONE ContractRenewalType = 0 + ContractRenewalType_AUTO ContractRenewalType = 1 + ContractRenewalType_MANUAL ContractRenewalType = 2 + ContractRenewalType_NOT_RENEW ContractRenewalType = 3 +) + +// Enum value maps for ContractRenewalType. +var ( + ContractRenewalType_name = map[int32]string{ + 0: "CONTRACT_RENEWAL_TYPE_NONE", + 1: "AUTO", + 2: "MANUAL", + 3: "NOT_RENEW", + } + ContractRenewalType_value = map[string]int32{ + "CONTRACT_RENEWAL_TYPE_NONE": 0, + "AUTO": 1, + "MANUAL": 2, + "NOT_RENEW": 3, + } +) + +func (x ContractRenewalType) Enum() *ContractRenewalType { + p := new(ContractRenewalType) + *p = x + return p +} + +func (x ContractRenewalType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ContractRenewalType) Descriptor() protoreflect.EnumDescriptor { + return file_spaceone_api_mzc_service_api_v1_contract_proto_enumTypes[1].Descriptor() +} + +func (ContractRenewalType) Type() protoreflect.EnumType { + return &file_spaceone_api_mzc_service_api_v1_contract_proto_enumTypes[1] +} + +func (x ContractRenewalType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ContractRenewalType.Descriptor instead. +func (ContractRenewalType) EnumDescriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_contract_proto_rawDescGZIP(), []int{1} +} + +type ContractCreateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` + OfferingId string `protobuf:"bytes,2,opt,name=offering_id,json=offeringId,proto3" json:"offering_id,omitempty"` + // +optional + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // +optional + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + StartDate string `protobuf:"bytes,5,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"` + EndDate string `protobuf:"bytes,6,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"` + // +optional + SignedDate string `protobuf:"bytes,7,opt,name=signed_date,json=signedDate,proto3" json:"signed_date,omitempty"` + // +optional + RenewalType ContractRenewalType `protobuf:"varint,8,opt,name=renewal_type,json=renewalType,proto3,enum=spaceone.api.mzc_service_api.v1.ContractRenewalType" json:"renewal_type,omitempty"` + // +optional + Tags *_struct.Struct `protobuf:"bytes,15,opt,name=tags,proto3" json:"tags,omitempty"` +} + +func (x *ContractCreateRequest) Reset() { + *x = ContractCreateRequest{} + mi := &file_spaceone_api_mzc_service_api_v1_contract_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContractCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractCreateRequest) ProtoMessage() {} + +func (x *ContractCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_contract_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractCreateRequest.ProtoReflect.Descriptor instead. +func (*ContractCreateRequest) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_contract_proto_rawDescGZIP(), []int{0} +} + +func (x *ContractCreateRequest) GetOrgId() string { + if x != nil { + return x.OrgId + } + return "" +} + +func (x *ContractCreateRequest) GetOfferingId() string { + if x != nil { + return x.OfferingId + } + return "" +} + +func (x *ContractCreateRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ContractCreateRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ContractCreateRequest) GetStartDate() string { + if x != nil { + return x.StartDate + } + return "" +} + +func (x *ContractCreateRequest) GetEndDate() string { + if x != nil { + return x.EndDate + } + return "" +} + +func (x *ContractCreateRequest) GetSignedDate() string { + if x != nil { + return x.SignedDate + } + return "" +} + +func (x *ContractCreateRequest) GetRenewalType() ContractRenewalType { + if x != nil { + return x.RenewalType + } + return ContractRenewalType_CONTRACT_RENEWAL_TYPE_NONE +} + +func (x *ContractCreateRequest) GetTags() *_struct.Struct { + if x != nil { + return x.Tags + } + return nil +} + +type ContractUpdateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ContractId string `protobuf:"bytes,1,opt,name=contract_id,json=contractId,proto3" json:"contract_id,omitempty"` + // +optional + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // +optional + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // +optional + StartDate string `protobuf:"bytes,4,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"` + // +optional + EndDate string `protobuf:"bytes,5,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"` + // +optional + SignedDate string `protobuf:"bytes,6,opt,name=signed_date,json=signedDate,proto3" json:"signed_date,omitempty"` + // +optional + RenewalType ContractRenewalType `protobuf:"varint,7,opt,name=renewal_type,json=renewalType,proto3,enum=spaceone.api.mzc_service_api.v1.ContractRenewalType" json:"renewal_type,omitempty"` + // +optional + Tags *_struct.Struct `protobuf:"bytes,15,opt,name=tags,proto3" json:"tags,omitempty"` +} + +func (x *ContractUpdateRequest) Reset() { + *x = ContractUpdateRequest{} + mi := &file_spaceone_api_mzc_service_api_v1_contract_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContractUpdateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractUpdateRequest) ProtoMessage() {} + +func (x *ContractUpdateRequest) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_contract_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractUpdateRequest.ProtoReflect.Descriptor instead. +func (*ContractUpdateRequest) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_contract_proto_rawDescGZIP(), []int{1} +} + +func (x *ContractUpdateRequest) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *ContractUpdateRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ContractUpdateRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ContractUpdateRequest) GetStartDate() string { + if x != nil { + return x.StartDate + } + return "" +} + +func (x *ContractUpdateRequest) GetEndDate() string { + if x != nil { + return x.EndDate + } + return "" +} + +func (x *ContractUpdateRequest) GetSignedDate() string { + if x != nil { + return x.SignedDate + } + return "" +} + +func (x *ContractUpdateRequest) GetRenewalType() ContractRenewalType { + if x != nil { + return x.RenewalType + } + return ContractRenewalType_CONTRACT_RENEWAL_TYPE_NONE +} + +func (x *ContractUpdateRequest) GetTags() *_struct.Struct { + if x != nil { + return x.Tags + } + return nil +} + +type ContractRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ContractId string `protobuf:"bytes,1,opt,name=contract_id,json=contractId,proto3" json:"contract_id,omitempty"` +} + +func (x *ContractRequest) Reset() { + *x = ContractRequest{} + mi := &file_spaceone_api_mzc_service_api_v1_contract_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContractRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractRequest) ProtoMessage() {} + +func (x *ContractRequest) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_contract_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractRequest.ProtoReflect.Descriptor instead. +func (*ContractRequest) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_contract_proto_rawDescGZIP(), []int{2} +} + +func (x *ContractRequest) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +type ContractSearchQuery struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // +optional + Query *v2.Query `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + // +optional + ContractId string `protobuf:"bytes,2,opt,name=contract_id,json=contractId,proto3" json:"contract_id,omitempty"` + // +optional + OrgId string `protobuf:"bytes,3,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` + // +optional + OfferingId string `protobuf:"bytes,4,opt,name=offering_id,json=offeringId,proto3" json:"offering_id,omitempty"` + // +optional + Status ContractStatus `protobuf:"varint,5,opt,name=status,proto3,enum=spaceone.api.mzc_service_api.v1.ContractStatus" json:"status,omitempty"` + // +optional + RenewalType ContractRenewalType `protobuf:"varint,6,opt,name=renewal_type,json=renewalType,proto3,enum=spaceone.api.mzc_service_api.v1.ContractRenewalType" json:"renewal_type,omitempty"` +} + +func (x *ContractSearchQuery) Reset() { + *x = ContractSearchQuery{} + mi := &file_spaceone_api_mzc_service_api_v1_contract_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContractSearchQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractSearchQuery) ProtoMessage() {} + +func (x *ContractSearchQuery) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_contract_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractSearchQuery.ProtoReflect.Descriptor instead. +func (*ContractSearchQuery) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_contract_proto_rawDescGZIP(), []int{3} +} + +func (x *ContractSearchQuery) GetQuery() *v2.Query { + if x != nil { + return x.Query + } + return nil +} + +func (x *ContractSearchQuery) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *ContractSearchQuery) GetOrgId() string { + if x != nil { + return x.OrgId + } + return "" +} + +func (x *ContractSearchQuery) GetOfferingId() string { + if x != nil { + return x.OfferingId + } + return "" +} + +func (x *ContractSearchQuery) GetStatus() ContractStatus { + if x != nil { + return x.Status + } + return ContractStatus_CONTRACT_STATUS_NONE +} + +func (x *ContractSearchQuery) GetRenewalType() ContractRenewalType { + if x != nil { + return x.RenewalType + } + return ContractRenewalType_CONTRACT_RENEWAL_TYPE_NONE +} + +type ContractInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ContractId string `protobuf:"bytes,1,opt,name=contract_id,json=contractId,proto3" json:"contract_id,omitempty"` + OrgId string `protobuf:"bytes,2,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` + OfferingId string `protobuf:"bytes,3,opt,name=offering_id,json=offeringId,proto3" json:"offering_id,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + Status ContractStatus `protobuf:"varint,5,opt,name=status,proto3,enum=spaceone.api.mzc_service_api.v1.ContractStatus" json:"status,omitempty"` + Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` + StartDate string `protobuf:"bytes,7,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"` + EndDate string `protobuf:"bytes,8,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"` + SignedDate string `protobuf:"bytes,9,opt,name=signed_date,json=signedDate,proto3" json:"signed_date,omitempty"` + RenewalType ContractRenewalType `protobuf:"varint,10,opt,name=renewal_type,json=renewalType,proto3,enum=spaceone.api.mzc_service_api.v1.ContractRenewalType" json:"renewal_type,omitempty"` + Tags *_struct.Struct `protobuf:"bytes,15,opt,name=tags,proto3" json:"tags,omitempty"` + DomainId string `protobuf:"bytes,21,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` + CreatedAt string `protobuf:"bytes,31,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt string `protobuf:"bytes,32,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` +} + +func (x *ContractInfo) Reset() { + *x = ContractInfo{} + mi := &file_spaceone_api_mzc_service_api_v1_contract_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContractInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractInfo) ProtoMessage() {} + +func (x *ContractInfo) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_contract_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractInfo.ProtoReflect.Descriptor instead. +func (*ContractInfo) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_contract_proto_rawDescGZIP(), []int{4} +} + +func (x *ContractInfo) GetContractId() string { + if x != nil { + return x.ContractId + } + return "" +} + +func (x *ContractInfo) GetOrgId() string { + if x != nil { + return x.OrgId + } + return "" +} + +func (x *ContractInfo) GetOfferingId() string { + if x != nil { + return x.OfferingId + } + return "" +} + +func (x *ContractInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ContractInfo) GetStatus() ContractStatus { + if x != nil { + return x.Status + } + return ContractStatus_CONTRACT_STATUS_NONE +} + +func (x *ContractInfo) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ContractInfo) GetStartDate() string { + if x != nil { + return x.StartDate + } + return "" +} + +func (x *ContractInfo) GetEndDate() string { + if x != nil { + return x.EndDate + } + return "" +} + +func (x *ContractInfo) GetSignedDate() string { + if x != nil { + return x.SignedDate + } + return "" +} + +func (x *ContractInfo) GetRenewalType() ContractRenewalType { + if x != nil { + return x.RenewalType + } + return ContractRenewalType_CONTRACT_RENEWAL_TYPE_NONE +} + +func (x *ContractInfo) GetTags() *_struct.Struct { + if x != nil { + return x.Tags + } + return nil +} + +func (x *ContractInfo) GetDomainId() string { + if x != nil { + return x.DomainId + } + return "" +} + +func (x *ContractInfo) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *ContractInfo) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +type ContractsInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Results []*ContractInfo `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + TotalCount int32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` +} + +func (x *ContractsInfo) Reset() { + *x = ContractsInfo{} + mi := &file_spaceone_api_mzc_service_api_v1_contract_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContractsInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractsInfo) ProtoMessage() {} + +func (x *ContractsInfo) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_contract_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractsInfo.ProtoReflect.Descriptor instead. +func (*ContractsInfo) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_contract_proto_rawDescGZIP(), []int{5} +} + +func (x *ContractsInfo) GetResults() []*ContractInfo { + if x != nil { + return x.Results + } + return nil +} + +func (x *ContractsInfo) GetTotalCount() int32 { + if x != nil { + return x.TotalCount + } + return 0 +} + +type ContractStatQuery struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Query *v2.StatisticsQuery `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` +} + +func (x *ContractStatQuery) Reset() { + *x = ContractStatQuery{} + mi := &file_spaceone_api_mzc_service_api_v1_contract_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContractStatQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContractStatQuery) ProtoMessage() {} + +func (x *ContractStatQuery) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_contract_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContractStatQuery.ProtoReflect.Descriptor instead. +func (*ContractStatQuery) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_contract_proto_rawDescGZIP(), []int{6} +} + +func (x *ContractStatQuery) GetQuery() *v2.StatisticsQuery { + if x != nil { + return x.Query + } + return nil +} + +var File_spaceone_api_mzc_service_api_v1_contract_proto protoreflect.FileDescriptor + +var file_spaceone_api_mzc_service_api_v1_contract_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, + 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x1f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, + 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x73, 0x74, 0x72, 0x75, 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, 0x20, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x6f, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x32, + 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe6, 0x02, 0x0a, + 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1f, 0x0a, + 0x0b, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, + 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, + 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, + 0x57, 0x0a, 0x0c, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x52, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x6e, + 0x65, 0x77, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0xcf, 0x02, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x44, 0x61, 0x74, + 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, + 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x72, + 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x32, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x22, 0xc3, 0x02, 0x0a, 0x13, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, + 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1f, + 0x0a, 0x0b, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, + 0x47, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x2f, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, + 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x57, 0x0a, 0x0c, 0x72, 0x65, 0x6e, 0x65, + 0x77, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, + 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, + 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x22, 0xa2, 0x04, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x66, + 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x47, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x2f, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, + 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, + 0x44, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x64, + 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x0b, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, + 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x79, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x22, 0x50, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3b, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2a, 0x53, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x41, 0x43, + 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, + 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x54, + 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x45, + 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x5a, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1e, 0x0a, 0x1a, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x41, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x4e, 0x45, + 0x57, 0x41, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, + 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x41, 0x4e, + 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x4e, + 0x45, 0x57, 0x10, 0x03, 0x32, 0x90, 0x07, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x12, 0x9f, 0x01, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x36, 0x2e, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x3a, 0x01, 0x2a, 0x22, 0x23, + 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x12, 0x9f, 0x01, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x36, + 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, + 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, + 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x3a, 0x01, 0x2a, + 0x22, 0x23, 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x88, 0x01, 0x0a, 0x09, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x31, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x3a, 0x01, 0x2a, 0x22, 0x26, 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, + 0x12, 0x93, 0x01, 0x0a, 0x03, 0x67, 0x65, 0x74, 0x12, 0x30, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x72, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x2f, 0x67, 0x65, 0x74, 0x12, 0x9a, 0x01, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, + 0x34, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, + 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x2e, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, 0x2a, + 0x22, 0x21, 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x6c, + 0x69, 0x73, 0x74, 0x12, 0x81, 0x01, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x74, 0x12, 0x32, 0x2e, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x1a, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x26, 0x3a, 0x01, 0x2a, 0x22, 0x21, 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, + 0x63, 0x74, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x42, 0x46, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x66, 0x6f, 0x72, 0x65, 0x74, + 0x2d, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x2f, 0x67, 0x6f, 0x2f, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x7a, 0x63, + 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_spaceone_api_mzc_service_api_v1_contract_proto_rawDescOnce sync.Once + file_spaceone_api_mzc_service_api_v1_contract_proto_rawDescData = file_spaceone_api_mzc_service_api_v1_contract_proto_rawDesc +) + +func file_spaceone_api_mzc_service_api_v1_contract_proto_rawDescGZIP() []byte { + file_spaceone_api_mzc_service_api_v1_contract_proto_rawDescOnce.Do(func() { + file_spaceone_api_mzc_service_api_v1_contract_proto_rawDescData = protoimpl.X.CompressGZIP(file_spaceone_api_mzc_service_api_v1_contract_proto_rawDescData) + }) + return file_spaceone_api_mzc_service_api_v1_contract_proto_rawDescData +} + +var file_spaceone_api_mzc_service_api_v1_contract_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_spaceone_api_mzc_service_api_v1_contract_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_spaceone_api_mzc_service_api_v1_contract_proto_goTypes = []any{ + (ContractStatus)(0), // 0: spaceone.api.mzc_service_api.v1.ContractStatus + (ContractRenewalType)(0), // 1: spaceone.api.mzc_service_api.v1.ContractRenewalType + (*ContractCreateRequest)(nil), // 2: spaceone.api.mzc_service_api.v1.ContractCreateRequest + (*ContractUpdateRequest)(nil), // 3: spaceone.api.mzc_service_api.v1.ContractUpdateRequest + (*ContractRequest)(nil), // 4: spaceone.api.mzc_service_api.v1.ContractRequest + (*ContractSearchQuery)(nil), // 5: spaceone.api.mzc_service_api.v1.ContractSearchQuery + (*ContractInfo)(nil), // 6: spaceone.api.mzc_service_api.v1.ContractInfo + (*ContractsInfo)(nil), // 7: spaceone.api.mzc_service_api.v1.ContractsInfo + (*ContractStatQuery)(nil), // 8: spaceone.api.mzc_service_api.v1.ContractStatQuery + (*_struct.Struct)(nil), // 9: google.protobuf.Struct + (*v2.Query)(nil), // 10: spaceone.api.core.v2.Query + (*v2.StatisticsQuery)(nil), // 11: spaceone.api.core.v2.StatisticsQuery + (*empty.Empty)(nil), // 12: google.protobuf.Empty +} +var file_spaceone_api_mzc_service_api_v1_contract_proto_depIdxs = []int32{ + 1, // 0: spaceone.api.mzc_service_api.v1.ContractCreateRequest.renewal_type:type_name -> spaceone.api.mzc_service_api.v1.ContractRenewalType + 9, // 1: spaceone.api.mzc_service_api.v1.ContractCreateRequest.tags:type_name -> google.protobuf.Struct + 1, // 2: spaceone.api.mzc_service_api.v1.ContractUpdateRequest.renewal_type:type_name -> spaceone.api.mzc_service_api.v1.ContractRenewalType + 9, // 3: spaceone.api.mzc_service_api.v1.ContractUpdateRequest.tags:type_name -> google.protobuf.Struct + 10, // 4: spaceone.api.mzc_service_api.v1.ContractSearchQuery.query:type_name -> spaceone.api.core.v2.Query + 0, // 5: spaceone.api.mzc_service_api.v1.ContractSearchQuery.status:type_name -> spaceone.api.mzc_service_api.v1.ContractStatus + 1, // 6: spaceone.api.mzc_service_api.v1.ContractSearchQuery.renewal_type:type_name -> spaceone.api.mzc_service_api.v1.ContractRenewalType + 0, // 7: spaceone.api.mzc_service_api.v1.ContractInfo.status:type_name -> spaceone.api.mzc_service_api.v1.ContractStatus + 1, // 8: spaceone.api.mzc_service_api.v1.ContractInfo.renewal_type:type_name -> spaceone.api.mzc_service_api.v1.ContractRenewalType + 9, // 9: spaceone.api.mzc_service_api.v1.ContractInfo.tags:type_name -> google.protobuf.Struct + 6, // 10: spaceone.api.mzc_service_api.v1.ContractsInfo.results:type_name -> spaceone.api.mzc_service_api.v1.ContractInfo + 11, // 11: spaceone.api.mzc_service_api.v1.ContractStatQuery.query:type_name -> spaceone.api.core.v2.StatisticsQuery + 2, // 12: spaceone.api.mzc_service_api.v1.Contract.create:input_type -> spaceone.api.mzc_service_api.v1.ContractCreateRequest + 3, // 13: spaceone.api.mzc_service_api.v1.Contract.update:input_type -> spaceone.api.mzc_service_api.v1.ContractUpdateRequest + 4, // 14: spaceone.api.mzc_service_api.v1.Contract.terminate:input_type -> spaceone.api.mzc_service_api.v1.ContractRequest + 4, // 15: spaceone.api.mzc_service_api.v1.Contract.get:input_type -> spaceone.api.mzc_service_api.v1.ContractRequest + 5, // 16: spaceone.api.mzc_service_api.v1.Contract.list:input_type -> spaceone.api.mzc_service_api.v1.ContractSearchQuery + 8, // 17: spaceone.api.mzc_service_api.v1.Contract.stat:input_type -> spaceone.api.mzc_service_api.v1.ContractStatQuery + 6, // 18: spaceone.api.mzc_service_api.v1.Contract.create:output_type -> spaceone.api.mzc_service_api.v1.ContractInfo + 6, // 19: spaceone.api.mzc_service_api.v1.Contract.update:output_type -> spaceone.api.mzc_service_api.v1.ContractInfo + 12, // 20: spaceone.api.mzc_service_api.v1.Contract.terminate:output_type -> google.protobuf.Empty + 6, // 21: spaceone.api.mzc_service_api.v1.Contract.get:output_type -> spaceone.api.mzc_service_api.v1.ContractInfo + 7, // 22: spaceone.api.mzc_service_api.v1.Contract.list:output_type -> spaceone.api.mzc_service_api.v1.ContractsInfo + 9, // 23: spaceone.api.mzc_service_api.v1.Contract.stat:output_type -> google.protobuf.Struct + 18, // [18:24] is the sub-list for method output_type + 12, // [12:18] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name +} + +func init() { file_spaceone_api_mzc_service_api_v1_contract_proto_init() } +func file_spaceone_api_mzc_service_api_v1_contract_proto_init() { + if File_spaceone_api_mzc_service_api_v1_contract_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_spaceone_api_mzc_service_api_v1_contract_proto_rawDesc, + NumEnums: 2, + NumMessages: 7, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_spaceone_api_mzc_service_api_v1_contract_proto_goTypes, + DependencyIndexes: file_spaceone_api_mzc_service_api_v1_contract_proto_depIdxs, + EnumInfos: file_spaceone_api_mzc_service_api_v1_contract_proto_enumTypes, + MessageInfos: file_spaceone_api_mzc_service_api_v1_contract_proto_msgTypes, + }.Build() + File_spaceone_api_mzc_service_api_v1_contract_proto = out.File + file_spaceone_api_mzc_service_api_v1_contract_proto_rawDesc = nil + file_spaceone_api_mzc_service_api_v1_contract_proto_goTypes = nil + file_spaceone_api_mzc_service_api_v1_contract_proto_depIdxs = nil +} diff --git a/dist/go/spaceone/api/mzc-service-api/v1/contract_grpc.pb.go b/dist/go/spaceone/api/mzc-service-api/v1/contract_grpc.pb.go new file mode 100755 index 000000000..7e3359711 --- /dev/null +++ b/dist/go/spaceone/api/mzc-service-api/v1/contract_grpc.pb.go @@ -0,0 +1,313 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.5.1 +// - protoc v3.6.1 +// source: spaceone/api/mzc_service_api/v1/contract.proto + +package v1 + +import ( + context "context" + empty "github.com/golang/protobuf/ptypes/empty" + _struct "github.com/golang/protobuf/ptypes/struct" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + Contract_Create_FullMethodName = "/spaceone.api.mzc_service_api.v1.Contract/create" + Contract_Update_FullMethodName = "/spaceone.api.mzc_service_api.v1.Contract/update" + Contract_Terminate_FullMethodName = "/spaceone.api.mzc_service_api.v1.Contract/terminate" + Contract_Get_FullMethodName = "/spaceone.api.mzc_service_api.v1.Contract/get" + Contract_List_FullMethodName = "/spaceone.api.mzc_service_api.v1.Contract/list" + Contract_Stat_FullMethodName = "/spaceone.api.mzc_service_api.v1.Contract/stat" +) + +// ContractClient is the client API for Contract service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ContractClient interface { + Create(ctx context.Context, in *ContractCreateRequest, opts ...grpc.CallOption) (*ContractInfo, error) + Update(ctx context.Context, in *ContractUpdateRequest, opts ...grpc.CallOption) (*ContractInfo, error) + Terminate(ctx context.Context, in *ContractRequest, opts ...grpc.CallOption) (*empty.Empty, error) + Get(ctx context.Context, in *ContractRequest, opts ...grpc.CallOption) (*ContractInfo, error) + List(ctx context.Context, in *ContractSearchQuery, opts ...grpc.CallOption) (*ContractsInfo, error) + Stat(ctx context.Context, in *ContractStatQuery, opts ...grpc.CallOption) (*_struct.Struct, error) +} + +type contractClient struct { + cc grpc.ClientConnInterface +} + +func NewContractClient(cc grpc.ClientConnInterface) ContractClient { + return &contractClient{cc} +} + +func (c *contractClient) Create(ctx context.Context, in *ContractCreateRequest, opts ...grpc.CallOption) (*ContractInfo, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ContractInfo) + err := c.cc.Invoke(ctx, Contract_Create_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *contractClient) Update(ctx context.Context, in *ContractUpdateRequest, opts ...grpc.CallOption) (*ContractInfo, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ContractInfo) + err := c.cc.Invoke(ctx, Contract_Update_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *contractClient) Terminate(ctx context.Context, in *ContractRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(empty.Empty) + err := c.cc.Invoke(ctx, Contract_Terminate_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *contractClient) Get(ctx context.Context, in *ContractRequest, opts ...grpc.CallOption) (*ContractInfo, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ContractInfo) + err := c.cc.Invoke(ctx, Contract_Get_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *contractClient) List(ctx context.Context, in *ContractSearchQuery, opts ...grpc.CallOption) (*ContractsInfo, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ContractsInfo) + err := c.cc.Invoke(ctx, Contract_List_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *contractClient) Stat(ctx context.Context, in *ContractStatQuery, opts ...grpc.CallOption) (*_struct.Struct, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(_struct.Struct) + err := c.cc.Invoke(ctx, Contract_Stat_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ContractServer is the server API for Contract service. +// All implementations must embed UnimplementedContractServer +// for forward compatibility. +type ContractServer interface { + Create(context.Context, *ContractCreateRequest) (*ContractInfo, error) + Update(context.Context, *ContractUpdateRequest) (*ContractInfo, error) + Terminate(context.Context, *ContractRequest) (*empty.Empty, error) + Get(context.Context, *ContractRequest) (*ContractInfo, error) + List(context.Context, *ContractSearchQuery) (*ContractsInfo, error) + Stat(context.Context, *ContractStatQuery) (*_struct.Struct, error) + mustEmbedUnimplementedContractServer() +} + +// UnimplementedContractServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedContractServer struct{} + +func (UnimplementedContractServer) Create(context.Context, *ContractCreateRequest) (*ContractInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method Create not implemented") +} +func (UnimplementedContractServer) Update(context.Context, *ContractUpdateRequest) (*ContractInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") +} +func (UnimplementedContractServer) Terminate(context.Context, *ContractRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Terminate not implemented") +} +func (UnimplementedContractServer) Get(context.Context, *ContractRequest) (*ContractInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method Get not implemented") +} +func (UnimplementedContractServer) List(context.Context, *ContractSearchQuery) (*ContractsInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method List not implemented") +} +func (UnimplementedContractServer) Stat(context.Context, *ContractStatQuery) (*_struct.Struct, error) { + return nil, status.Errorf(codes.Unimplemented, "method Stat not implemented") +} +func (UnimplementedContractServer) mustEmbedUnimplementedContractServer() {} +func (UnimplementedContractServer) testEmbeddedByValue() {} + +// UnsafeContractServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ContractServer will +// result in compilation errors. +type UnsafeContractServer interface { + mustEmbedUnimplementedContractServer() +} + +func RegisterContractServer(s grpc.ServiceRegistrar, srv ContractServer) { + // If the following call pancis, it indicates UnimplementedContractServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&Contract_ServiceDesc, srv) +} + +func _Contract_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ContractCreateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ContractServer).Create(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Contract_Create_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ContractServer).Create(ctx, req.(*ContractCreateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Contract_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ContractUpdateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ContractServer).Update(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Contract_Update_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ContractServer).Update(ctx, req.(*ContractUpdateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Contract_Terminate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ContractRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ContractServer).Terminate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Contract_Terminate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ContractServer).Terminate(ctx, req.(*ContractRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Contract_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ContractRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ContractServer).Get(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Contract_Get_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ContractServer).Get(ctx, req.(*ContractRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Contract_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ContractSearchQuery) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ContractServer).List(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Contract_List_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ContractServer).List(ctx, req.(*ContractSearchQuery)) + } + return interceptor(ctx, in, info, handler) +} + +func _Contract_Stat_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ContractStatQuery) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ContractServer).Stat(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Contract_Stat_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ContractServer).Stat(ctx, req.(*ContractStatQuery)) + } + return interceptor(ctx, in, info, handler) +} + +// Contract_ServiceDesc is the grpc.ServiceDesc for Contract service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Contract_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "spaceone.api.mzc_service_api.v1.Contract", + HandlerType: (*ContractServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "create", + Handler: _Contract_Create_Handler, + }, + { + MethodName: "update", + Handler: _Contract_Update_Handler, + }, + { + MethodName: "terminate", + Handler: _Contract_Terminate_Handler, + }, + { + MethodName: "get", + Handler: _Contract_Get_Handler, + }, + { + MethodName: "list", + Handler: _Contract_List_Handler, + }, + { + MethodName: "stat", + Handler: _Contract_Stat_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "spaceone/api/mzc_service_api/v1/contract.proto", +} diff --git a/dist/go/spaceone/api/mzc-service-api/v1/offering.pb.go b/dist/go/spaceone/api/mzc-service-api/v1/offering.pb.go new file mode 100755 index 000000000..18a27d910 --- /dev/null +++ b/dist/go/spaceone/api/mzc-service-api/v1/offering.pb.go @@ -0,0 +1,921 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.1 +// protoc v3.6.1 +// source: spaceone/api/mzc_service_api/v1/offering.proto + +package v1 + +import ( + v2 "github.com/cloudforet-io/api/dist/go/spaceone/api/core/v2" + empty "github.com/golang/protobuf/ptypes/empty" + _struct "github.com/golang/protobuf/ptypes/struct" + _ "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 OfferingStatus int32 + +const ( + OfferingStatus_OFFERING_STATUS_NONE OfferingStatus = 0 + OfferingStatus_AVAILABLE OfferingStatus = 1 + OfferingStatus_UNAVAILABLE OfferingStatus = 2 + OfferingStatus_DISCONTINUED OfferingStatus = 3 +) + +// Enum value maps for OfferingStatus. +var ( + OfferingStatus_name = map[int32]string{ + 0: "OFFERING_STATUS_NONE", + 1: "AVAILABLE", + 2: "UNAVAILABLE", + 3: "DISCONTINUED", + } + OfferingStatus_value = map[string]int32{ + "OFFERING_STATUS_NONE": 0, + "AVAILABLE": 1, + "UNAVAILABLE": 2, + "DISCONTINUED": 3, + } +) + +func (x OfferingStatus) Enum() *OfferingStatus { + p := new(OfferingStatus) + *p = x + return p +} + +func (x OfferingStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (OfferingStatus) Descriptor() protoreflect.EnumDescriptor { + return file_spaceone_api_mzc_service_api_v1_offering_proto_enumTypes[0].Descriptor() +} + +func (OfferingStatus) Type() protoreflect.EnumType { + return &file_spaceone_api_mzc_service_api_v1_offering_proto_enumTypes[0] +} + +func (x OfferingStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use OfferingStatus.Descriptor instead. +func (OfferingStatus) EnumDescriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_offering_proto_rawDescGZIP(), []int{0} +} + +type OfferingCreateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"` + // +optional + Price float32 `protobuf:"fixed32,3,opt,name=price,proto3" json:"price,omitempty"` + // +optional + Currency string `protobuf:"bytes,4,opt,name=currency,proto3" json:"currency,omitempty"` + // +optional + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + // +optional + Terms string `protobuf:"bytes,6,opt,name=terms,proto3" json:"terms,omitempty"` + // +optional + WebsiteUrl string `protobuf:"bytes,7,opt,name=website_url,json=websiteUrl,proto3" json:"website_url,omitempty"` + // +optional + Tags *_struct.Struct `protobuf:"bytes,15,opt,name=tags,proto3" json:"tags,omitempty"` +} + +func (x *OfferingCreateRequest) Reset() { + *x = OfferingCreateRequest{} + mi := &file_spaceone_api_mzc_service_api_v1_offering_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OfferingCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OfferingCreateRequest) ProtoMessage() {} + +func (x *OfferingCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_offering_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OfferingCreateRequest.ProtoReflect.Descriptor instead. +func (*OfferingCreateRequest) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_offering_proto_rawDescGZIP(), []int{0} +} + +func (x *OfferingCreateRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *OfferingCreateRequest) GetCategory() string { + if x != nil { + return x.Category + } + return "" +} + +func (x *OfferingCreateRequest) GetPrice() float32 { + if x != nil { + return x.Price + } + return 0 +} + +func (x *OfferingCreateRequest) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *OfferingCreateRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *OfferingCreateRequest) GetTerms() string { + if x != nil { + return x.Terms + } + return "" +} + +func (x *OfferingCreateRequest) GetWebsiteUrl() string { + if x != nil { + return x.WebsiteUrl + } + return "" +} + +func (x *OfferingCreateRequest) GetTags() *_struct.Struct { + if x != nil { + return x.Tags + } + return nil +} + +type OfferingUpdateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OfferingId string `protobuf:"bytes,1,opt,name=offering_id,json=offeringId,proto3" json:"offering_id,omitempty"` + // +optional + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // +optional + Status OfferingStatus `protobuf:"varint,3,opt,name=status,proto3,enum=spaceone.api.mzc_service_api.v1.OfferingStatus" json:"status,omitempty"` + // +optional + Price float32 `protobuf:"fixed32,4,opt,name=price,proto3" json:"price,omitempty"` + // +optional + Currency string `protobuf:"bytes,5,opt,name=currency,proto3" json:"currency,omitempty"` + // +optional + Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` + // +optional + Terms string `protobuf:"bytes,7,opt,name=terms,proto3" json:"terms,omitempty"` + // +optional + WebsiteUrl string `protobuf:"bytes,8,opt,name=website_url,json=websiteUrl,proto3" json:"website_url,omitempty"` + // +optional + Tags *_struct.Struct `protobuf:"bytes,15,opt,name=tags,proto3" json:"tags,omitempty"` +} + +func (x *OfferingUpdateRequest) Reset() { + *x = OfferingUpdateRequest{} + mi := &file_spaceone_api_mzc_service_api_v1_offering_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OfferingUpdateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OfferingUpdateRequest) ProtoMessage() {} + +func (x *OfferingUpdateRequest) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_offering_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OfferingUpdateRequest.ProtoReflect.Descriptor instead. +func (*OfferingUpdateRequest) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_offering_proto_rawDescGZIP(), []int{1} +} + +func (x *OfferingUpdateRequest) GetOfferingId() string { + if x != nil { + return x.OfferingId + } + return "" +} + +func (x *OfferingUpdateRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *OfferingUpdateRequest) GetStatus() OfferingStatus { + if x != nil { + return x.Status + } + return OfferingStatus_OFFERING_STATUS_NONE +} + +func (x *OfferingUpdateRequest) GetPrice() float32 { + if x != nil { + return x.Price + } + return 0 +} + +func (x *OfferingUpdateRequest) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *OfferingUpdateRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *OfferingUpdateRequest) GetTerms() string { + if x != nil { + return x.Terms + } + return "" +} + +func (x *OfferingUpdateRequest) GetWebsiteUrl() string { + if x != nil { + return x.WebsiteUrl + } + return "" +} + +func (x *OfferingUpdateRequest) GetTags() *_struct.Struct { + if x != nil { + return x.Tags + } + return nil +} + +type OfferingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OfferingId string `protobuf:"bytes,1,opt,name=offering_id,json=offeringId,proto3" json:"offering_id,omitempty"` +} + +func (x *OfferingRequest) Reset() { + *x = OfferingRequest{} + mi := &file_spaceone_api_mzc_service_api_v1_offering_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OfferingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OfferingRequest) ProtoMessage() {} + +func (x *OfferingRequest) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_offering_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OfferingRequest.ProtoReflect.Descriptor instead. +func (*OfferingRequest) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_offering_proto_rawDescGZIP(), []int{2} +} + +func (x *OfferingRequest) GetOfferingId() string { + if x != nil { + return x.OfferingId + } + return "" +} + +type OfferingSearchQuery struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // +optional + Query *v2.Query `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + // +optional + OfferingId string `protobuf:"bytes,2,opt,name=offering_id,json=offeringId,proto3" json:"offering_id,omitempty"` + // +optional + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // +optional + Status OfferingStatus `protobuf:"varint,4,opt,name=status,proto3,enum=spaceone.api.mzc_service_api.v1.OfferingStatus" json:"status,omitempty"` +} + +func (x *OfferingSearchQuery) Reset() { + *x = OfferingSearchQuery{} + mi := &file_spaceone_api_mzc_service_api_v1_offering_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OfferingSearchQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OfferingSearchQuery) ProtoMessage() {} + +func (x *OfferingSearchQuery) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_offering_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OfferingSearchQuery.ProtoReflect.Descriptor instead. +func (*OfferingSearchQuery) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_offering_proto_rawDescGZIP(), []int{3} +} + +func (x *OfferingSearchQuery) GetQuery() *v2.Query { + if x != nil { + return x.Query + } + return nil +} + +func (x *OfferingSearchQuery) GetOfferingId() string { + if x != nil { + return x.OfferingId + } + return "" +} + +func (x *OfferingSearchQuery) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *OfferingSearchQuery) GetStatus() OfferingStatus { + if x != nil { + return x.Status + } + return OfferingStatus_OFFERING_STATUS_NONE +} + +type OfferingInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OfferingId string `protobuf:"bytes,1,opt,name=offering_id,json=offeringId,proto3" json:"offering_id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Category string `protobuf:"bytes,3,opt,name=category,proto3" json:"category,omitempty"` + Status OfferingStatus `protobuf:"varint,4,opt,name=status,proto3,enum=spaceone.api.mzc_service_api.v1.OfferingStatus" json:"status,omitempty"` + Price float32 `protobuf:"fixed32,5,opt,name=price,proto3" json:"price,omitempty"` + Currency string `protobuf:"bytes,6,opt,name=currency,proto3" json:"currency,omitempty"` + Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"` + Terms string `protobuf:"bytes,8,opt,name=terms,proto3" json:"terms,omitempty"` + WebsiteUrl string `protobuf:"bytes,9,opt,name=website_url,json=websiteUrl,proto3" json:"website_url,omitempty"` + Tags *_struct.Struct `protobuf:"bytes,15,opt,name=tags,proto3" json:"tags,omitempty"` + DomainId string `protobuf:"bytes,21,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` + CreatedAt string `protobuf:"bytes,31,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt string `protobuf:"bytes,32,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` +} + +func (x *OfferingInfo) Reset() { + *x = OfferingInfo{} + mi := &file_spaceone_api_mzc_service_api_v1_offering_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OfferingInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OfferingInfo) ProtoMessage() {} + +func (x *OfferingInfo) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_offering_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OfferingInfo.ProtoReflect.Descriptor instead. +func (*OfferingInfo) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_offering_proto_rawDescGZIP(), []int{4} +} + +func (x *OfferingInfo) GetOfferingId() string { + if x != nil { + return x.OfferingId + } + return "" +} + +func (x *OfferingInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *OfferingInfo) GetCategory() string { + if x != nil { + return x.Category + } + return "" +} + +func (x *OfferingInfo) GetStatus() OfferingStatus { + if x != nil { + return x.Status + } + return OfferingStatus_OFFERING_STATUS_NONE +} + +func (x *OfferingInfo) GetPrice() float32 { + if x != nil { + return x.Price + } + return 0 +} + +func (x *OfferingInfo) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *OfferingInfo) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *OfferingInfo) GetTerms() string { + if x != nil { + return x.Terms + } + return "" +} + +func (x *OfferingInfo) GetWebsiteUrl() string { + if x != nil { + return x.WebsiteUrl + } + return "" +} + +func (x *OfferingInfo) GetTags() *_struct.Struct { + if x != nil { + return x.Tags + } + return nil +} + +func (x *OfferingInfo) GetDomainId() string { + if x != nil { + return x.DomainId + } + return "" +} + +func (x *OfferingInfo) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *OfferingInfo) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +type OfferingsInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Results []*OfferingInfo `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + TotalCount int32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` +} + +func (x *OfferingsInfo) Reset() { + *x = OfferingsInfo{} + mi := &file_spaceone_api_mzc_service_api_v1_offering_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OfferingsInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OfferingsInfo) ProtoMessage() {} + +func (x *OfferingsInfo) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_offering_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OfferingsInfo.ProtoReflect.Descriptor instead. +func (*OfferingsInfo) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_offering_proto_rawDescGZIP(), []int{5} +} + +func (x *OfferingsInfo) GetResults() []*OfferingInfo { + if x != nil { + return x.Results + } + return nil +} + +func (x *OfferingsInfo) GetTotalCount() int32 { + if x != nil { + return x.TotalCount + } + return 0 +} + +type OfferingStatQuery struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Query *v2.StatisticsQuery `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` +} + +func (x *OfferingStatQuery) Reset() { + *x = OfferingStatQuery{} + mi := &file_spaceone_api_mzc_service_api_v1_offering_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OfferingStatQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OfferingStatQuery) ProtoMessage() {} + +func (x *OfferingStatQuery) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_offering_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OfferingStatQuery.ProtoReflect.Descriptor instead. +func (*OfferingStatQuery) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_offering_proto_rawDescGZIP(), []int{6} +} + +func (x *OfferingStatQuery) GetQuery() *v2.StatisticsQuery { + if x != nil { + return x.Query + } + return nil +} + +var File_spaceone_api_mzc_service_api_v1_offering_proto protoreflect.FileDescriptor + +var file_spaceone_api_mzc_service_api_v1_offering_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, + 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x1f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, + 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x73, 0x74, 0x72, 0x75, 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, 0x20, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x6f, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x32, + 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xff, 0x01, 0x0a, + 0x15, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x65, + 0x72, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x65, 0x72, 0x6d, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x55, 0x72, + 0x6c, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0xcd, + 0x02, 0x0a, 0x15, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x66, 0x66, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x65, + 0x72, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x65, 0x72, 0x6d, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x55, 0x72, + 0x6c, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x32, + 0x0a, 0x0f, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x49, 0x64, 0x22, 0xc6, 0x01, 0x0a, 0x13, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, + 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1f, 0x0a, + 0x0b, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xbb, 0x03, 0x0a, 0x0c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, + 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x47, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x65, + 0x72, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x65, 0x72, 0x6d, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x55, 0x72, + 0x6c, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1b, + 0x0a, 0x09, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x79, 0x0a, 0x0d, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x07, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x50, 0x0a, 0x11, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x53, 0x74, 0x61, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x3b, 0x0a, 0x05, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, + 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2a, 0x5c, 0x0a, 0x0e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x46, 0x46, 0x45, + 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, + 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, + 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, + 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x55, + 0x45, 0x44, 0x10, 0x03, 0x32, 0x8a, 0x07, 0x0a, 0x08, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x12, 0x9f, 0x01, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x36, 0x2e, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, + 0x6e, 0x66, 0x6f, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x3a, 0x01, 0x2a, 0x22, 0x23, + 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x12, 0x9f, 0x01, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x36, + 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, + 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, + 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x3a, 0x01, 0x2a, + 0x22, 0x23, 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x12, 0x30, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x28, 0x3a, 0x01, 0x2a, 0x22, 0x23, 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x66, 0x66, 0x65, 0x72, + 0x69, 0x6e, 0x67, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x03, 0x67, + 0x65, 0x74, 0x12, 0x30, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x49, + 0x6e, 0x66, 0x6f, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, + 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x67, 0x65, 0x74, + 0x12, 0x9a, 0x01, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x2e, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, + 0x2e, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, + 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x22, + 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x22, 0x21, 0x2f, 0x6d, 0x7a, 0x63, + 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x81, 0x01, + 0x0a, 0x04, 0x73, 0x74, 0x61, 0x74, 0x12, 0x32, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, + 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x53, 0x74, 0x61, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x17, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x22, 0x21, + 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x73, 0x74, 0x61, + 0x74, 0x42, 0x46, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x66, 0x6f, 0x72, 0x65, 0x74, 0x2d, 0x69, 0x6f, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, + 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_spaceone_api_mzc_service_api_v1_offering_proto_rawDescOnce sync.Once + file_spaceone_api_mzc_service_api_v1_offering_proto_rawDescData = file_spaceone_api_mzc_service_api_v1_offering_proto_rawDesc +) + +func file_spaceone_api_mzc_service_api_v1_offering_proto_rawDescGZIP() []byte { + file_spaceone_api_mzc_service_api_v1_offering_proto_rawDescOnce.Do(func() { + file_spaceone_api_mzc_service_api_v1_offering_proto_rawDescData = protoimpl.X.CompressGZIP(file_spaceone_api_mzc_service_api_v1_offering_proto_rawDescData) + }) + return file_spaceone_api_mzc_service_api_v1_offering_proto_rawDescData +} + +var file_spaceone_api_mzc_service_api_v1_offering_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_spaceone_api_mzc_service_api_v1_offering_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_spaceone_api_mzc_service_api_v1_offering_proto_goTypes = []any{ + (OfferingStatus)(0), // 0: spaceone.api.mzc_service_api.v1.OfferingStatus + (*OfferingCreateRequest)(nil), // 1: spaceone.api.mzc_service_api.v1.OfferingCreateRequest + (*OfferingUpdateRequest)(nil), // 2: spaceone.api.mzc_service_api.v1.OfferingUpdateRequest + (*OfferingRequest)(nil), // 3: spaceone.api.mzc_service_api.v1.OfferingRequest + (*OfferingSearchQuery)(nil), // 4: spaceone.api.mzc_service_api.v1.OfferingSearchQuery + (*OfferingInfo)(nil), // 5: spaceone.api.mzc_service_api.v1.OfferingInfo + (*OfferingsInfo)(nil), // 6: spaceone.api.mzc_service_api.v1.OfferingsInfo + (*OfferingStatQuery)(nil), // 7: spaceone.api.mzc_service_api.v1.OfferingStatQuery + (*_struct.Struct)(nil), // 8: google.protobuf.Struct + (*v2.Query)(nil), // 9: spaceone.api.core.v2.Query + (*v2.StatisticsQuery)(nil), // 10: spaceone.api.core.v2.StatisticsQuery + (*empty.Empty)(nil), // 11: google.protobuf.Empty +} +var file_spaceone_api_mzc_service_api_v1_offering_proto_depIdxs = []int32{ + 8, // 0: spaceone.api.mzc_service_api.v1.OfferingCreateRequest.tags:type_name -> google.protobuf.Struct + 0, // 1: spaceone.api.mzc_service_api.v1.OfferingUpdateRequest.status:type_name -> spaceone.api.mzc_service_api.v1.OfferingStatus + 8, // 2: spaceone.api.mzc_service_api.v1.OfferingUpdateRequest.tags:type_name -> google.protobuf.Struct + 9, // 3: spaceone.api.mzc_service_api.v1.OfferingSearchQuery.query:type_name -> spaceone.api.core.v2.Query + 0, // 4: spaceone.api.mzc_service_api.v1.OfferingSearchQuery.status:type_name -> spaceone.api.mzc_service_api.v1.OfferingStatus + 0, // 5: spaceone.api.mzc_service_api.v1.OfferingInfo.status:type_name -> spaceone.api.mzc_service_api.v1.OfferingStatus + 8, // 6: spaceone.api.mzc_service_api.v1.OfferingInfo.tags:type_name -> google.protobuf.Struct + 5, // 7: spaceone.api.mzc_service_api.v1.OfferingsInfo.results:type_name -> spaceone.api.mzc_service_api.v1.OfferingInfo + 10, // 8: spaceone.api.mzc_service_api.v1.OfferingStatQuery.query:type_name -> spaceone.api.core.v2.StatisticsQuery + 1, // 9: spaceone.api.mzc_service_api.v1.Offering.create:input_type -> spaceone.api.mzc_service_api.v1.OfferingCreateRequest + 2, // 10: spaceone.api.mzc_service_api.v1.Offering.update:input_type -> spaceone.api.mzc_service_api.v1.OfferingUpdateRequest + 3, // 11: spaceone.api.mzc_service_api.v1.Offering.delete:input_type -> spaceone.api.mzc_service_api.v1.OfferingRequest + 3, // 12: spaceone.api.mzc_service_api.v1.Offering.get:input_type -> spaceone.api.mzc_service_api.v1.OfferingRequest + 4, // 13: spaceone.api.mzc_service_api.v1.Offering.list:input_type -> spaceone.api.mzc_service_api.v1.OfferingSearchQuery + 7, // 14: spaceone.api.mzc_service_api.v1.Offering.stat:input_type -> spaceone.api.mzc_service_api.v1.OfferingStatQuery + 5, // 15: spaceone.api.mzc_service_api.v1.Offering.create:output_type -> spaceone.api.mzc_service_api.v1.OfferingInfo + 5, // 16: spaceone.api.mzc_service_api.v1.Offering.update:output_type -> spaceone.api.mzc_service_api.v1.OfferingInfo + 11, // 17: spaceone.api.mzc_service_api.v1.Offering.delete:output_type -> google.protobuf.Empty + 5, // 18: spaceone.api.mzc_service_api.v1.Offering.get:output_type -> spaceone.api.mzc_service_api.v1.OfferingInfo + 6, // 19: spaceone.api.mzc_service_api.v1.Offering.list:output_type -> spaceone.api.mzc_service_api.v1.OfferingsInfo + 8, // 20: spaceone.api.mzc_service_api.v1.Offering.stat:output_type -> google.protobuf.Struct + 15, // [15:21] is the sub-list for method output_type + 9, // [9:15] 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_spaceone_api_mzc_service_api_v1_offering_proto_init() } +func file_spaceone_api_mzc_service_api_v1_offering_proto_init() { + if File_spaceone_api_mzc_service_api_v1_offering_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_spaceone_api_mzc_service_api_v1_offering_proto_rawDesc, + NumEnums: 1, + NumMessages: 7, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_spaceone_api_mzc_service_api_v1_offering_proto_goTypes, + DependencyIndexes: file_spaceone_api_mzc_service_api_v1_offering_proto_depIdxs, + EnumInfos: file_spaceone_api_mzc_service_api_v1_offering_proto_enumTypes, + MessageInfos: file_spaceone_api_mzc_service_api_v1_offering_proto_msgTypes, + }.Build() + File_spaceone_api_mzc_service_api_v1_offering_proto = out.File + file_spaceone_api_mzc_service_api_v1_offering_proto_rawDesc = nil + file_spaceone_api_mzc_service_api_v1_offering_proto_goTypes = nil + file_spaceone_api_mzc_service_api_v1_offering_proto_depIdxs = nil +} diff --git a/dist/go/spaceone/api/mzc-service-api/v1/offering_grpc.pb.go b/dist/go/spaceone/api/mzc-service-api/v1/offering_grpc.pb.go new file mode 100755 index 000000000..6e2b24c06 --- /dev/null +++ b/dist/go/spaceone/api/mzc-service-api/v1/offering_grpc.pb.go @@ -0,0 +1,313 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.5.1 +// - protoc v3.6.1 +// source: spaceone/api/mzc_service_api/v1/offering.proto + +package v1 + +import ( + context "context" + empty "github.com/golang/protobuf/ptypes/empty" + _struct "github.com/golang/protobuf/ptypes/struct" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + Offering_Create_FullMethodName = "/spaceone.api.mzc_service_api.v1.Offering/create" + Offering_Update_FullMethodName = "/spaceone.api.mzc_service_api.v1.Offering/update" + Offering_Delete_FullMethodName = "/spaceone.api.mzc_service_api.v1.Offering/delete" + Offering_Get_FullMethodName = "/spaceone.api.mzc_service_api.v1.Offering/get" + Offering_List_FullMethodName = "/spaceone.api.mzc_service_api.v1.Offering/list" + Offering_Stat_FullMethodName = "/spaceone.api.mzc_service_api.v1.Offering/stat" +) + +// OfferingClient is the client API for Offering service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type OfferingClient interface { + Create(ctx context.Context, in *OfferingCreateRequest, opts ...grpc.CallOption) (*OfferingInfo, error) + Update(ctx context.Context, in *OfferingUpdateRequest, opts ...grpc.CallOption) (*OfferingInfo, error) + Delete(ctx context.Context, in *OfferingRequest, opts ...grpc.CallOption) (*empty.Empty, error) + Get(ctx context.Context, in *OfferingRequest, opts ...grpc.CallOption) (*OfferingInfo, error) + List(ctx context.Context, in *OfferingSearchQuery, opts ...grpc.CallOption) (*OfferingsInfo, error) + Stat(ctx context.Context, in *OfferingStatQuery, opts ...grpc.CallOption) (*_struct.Struct, error) +} + +type offeringClient struct { + cc grpc.ClientConnInterface +} + +func NewOfferingClient(cc grpc.ClientConnInterface) OfferingClient { + return &offeringClient{cc} +} + +func (c *offeringClient) Create(ctx context.Context, in *OfferingCreateRequest, opts ...grpc.CallOption) (*OfferingInfo, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(OfferingInfo) + err := c.cc.Invoke(ctx, Offering_Create_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *offeringClient) Update(ctx context.Context, in *OfferingUpdateRequest, opts ...grpc.CallOption) (*OfferingInfo, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(OfferingInfo) + err := c.cc.Invoke(ctx, Offering_Update_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *offeringClient) Delete(ctx context.Context, in *OfferingRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(empty.Empty) + err := c.cc.Invoke(ctx, Offering_Delete_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *offeringClient) Get(ctx context.Context, in *OfferingRequest, opts ...grpc.CallOption) (*OfferingInfo, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(OfferingInfo) + err := c.cc.Invoke(ctx, Offering_Get_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *offeringClient) List(ctx context.Context, in *OfferingSearchQuery, opts ...grpc.CallOption) (*OfferingsInfo, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(OfferingsInfo) + err := c.cc.Invoke(ctx, Offering_List_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *offeringClient) Stat(ctx context.Context, in *OfferingStatQuery, opts ...grpc.CallOption) (*_struct.Struct, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(_struct.Struct) + err := c.cc.Invoke(ctx, Offering_Stat_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// OfferingServer is the server API for Offering service. +// All implementations must embed UnimplementedOfferingServer +// for forward compatibility. +type OfferingServer interface { + Create(context.Context, *OfferingCreateRequest) (*OfferingInfo, error) + Update(context.Context, *OfferingUpdateRequest) (*OfferingInfo, error) + Delete(context.Context, *OfferingRequest) (*empty.Empty, error) + Get(context.Context, *OfferingRequest) (*OfferingInfo, error) + List(context.Context, *OfferingSearchQuery) (*OfferingsInfo, error) + Stat(context.Context, *OfferingStatQuery) (*_struct.Struct, error) + mustEmbedUnimplementedOfferingServer() +} + +// UnimplementedOfferingServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedOfferingServer struct{} + +func (UnimplementedOfferingServer) Create(context.Context, *OfferingCreateRequest) (*OfferingInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method Create not implemented") +} +func (UnimplementedOfferingServer) Update(context.Context, *OfferingUpdateRequest) (*OfferingInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") +} +func (UnimplementedOfferingServer) Delete(context.Context, *OfferingRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") +} +func (UnimplementedOfferingServer) Get(context.Context, *OfferingRequest) (*OfferingInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method Get not implemented") +} +func (UnimplementedOfferingServer) List(context.Context, *OfferingSearchQuery) (*OfferingsInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method List not implemented") +} +func (UnimplementedOfferingServer) Stat(context.Context, *OfferingStatQuery) (*_struct.Struct, error) { + return nil, status.Errorf(codes.Unimplemented, "method Stat not implemented") +} +func (UnimplementedOfferingServer) mustEmbedUnimplementedOfferingServer() {} +func (UnimplementedOfferingServer) testEmbeddedByValue() {} + +// UnsafeOfferingServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to OfferingServer will +// result in compilation errors. +type UnsafeOfferingServer interface { + mustEmbedUnimplementedOfferingServer() +} + +func RegisterOfferingServer(s grpc.ServiceRegistrar, srv OfferingServer) { + // If the following call pancis, it indicates UnimplementedOfferingServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&Offering_ServiceDesc, srv) +} + +func _Offering_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OfferingCreateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OfferingServer).Create(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Offering_Create_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OfferingServer).Create(ctx, req.(*OfferingCreateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Offering_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OfferingUpdateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OfferingServer).Update(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Offering_Update_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OfferingServer).Update(ctx, req.(*OfferingUpdateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Offering_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OfferingRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OfferingServer).Delete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Offering_Delete_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OfferingServer).Delete(ctx, req.(*OfferingRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Offering_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OfferingRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OfferingServer).Get(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Offering_Get_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OfferingServer).Get(ctx, req.(*OfferingRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Offering_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OfferingSearchQuery) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OfferingServer).List(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Offering_List_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OfferingServer).List(ctx, req.(*OfferingSearchQuery)) + } + return interceptor(ctx, in, info, handler) +} + +func _Offering_Stat_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OfferingStatQuery) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OfferingServer).Stat(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Offering_Stat_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OfferingServer).Stat(ctx, req.(*OfferingStatQuery)) + } + return interceptor(ctx, in, info, handler) +} + +// Offering_ServiceDesc is the grpc.ServiceDesc for Offering service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Offering_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "spaceone.api.mzc_service_api.v1.Offering", + HandlerType: (*OfferingServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "create", + Handler: _Offering_Create_Handler, + }, + { + MethodName: "update", + Handler: _Offering_Update_Handler, + }, + { + MethodName: "delete", + Handler: _Offering_Delete_Handler, + }, + { + MethodName: "get", + Handler: _Offering_Get_Handler, + }, + { + MethodName: "list", + Handler: _Offering_List_Handler, + }, + { + MethodName: "stat", + Handler: _Offering_Stat_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "spaceone/api/mzc_service_api/v1/offering.proto", +} diff --git a/dist/go/spaceone/api/mzc-service-api/v1/organization.pb.go b/dist/go/spaceone/api/mzc-service-api/v1/organization.pb.go new file mode 100755 index 000000000..515eb959e --- /dev/null +++ b/dist/go/spaceone/api/mzc-service-api/v1/organization.pb.go @@ -0,0 +1,1014 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.1 +// protoc v3.6.1 +// source: spaceone/api/mzc_service_api/v1/organization.proto + +package v1 + +import ( + v2 "github.com/cloudforet-io/api/dist/go/spaceone/api/core/v2" + empty "github.com/golang/protobuf/ptypes/empty" + _struct "github.com/golang/protobuf/ptypes/struct" + _ "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 OrganizationState int32 + +const ( + OrganizationState_ORGANIZATION_STATE_NONE OrganizationState = 0 + OrganizationState_ENABLED OrganizationState = 1 + OrganizationState_DISABLED OrganizationState = 2 +) + +// Enum value maps for OrganizationState. +var ( + OrganizationState_name = map[int32]string{ + 0: "ORGANIZATION_STATE_NONE", + 1: "ENABLED", + 2: "DISABLED", + } + OrganizationState_value = map[string]int32{ + "ORGANIZATION_STATE_NONE": 0, + "ENABLED": 1, + "DISABLED": 2, + } +) + +func (x OrganizationState) Enum() *OrganizationState { + p := new(OrganizationState) + *p = x + return p +} + +func (x OrganizationState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (OrganizationState) Descriptor() protoreflect.EnumDescriptor { + return file_spaceone_api_mzc_service_api_v1_organization_proto_enumTypes[0].Descriptor() +} + +func (OrganizationState) Type() protoreflect.EnumType { + return &file_spaceone_api_mzc_service_api_v1_organization_proto_enumTypes[0] +} + +func (x OrganizationState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use OrganizationState.Descriptor instead. +func (OrganizationState) EnumDescriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_organization_proto_rawDescGZIP(), []int{0} +} + +type OrganizationCreateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // +optional + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // +optional + Industry string `protobuf:"bytes,3,opt,name=industry,proto3" json:"industry,omitempty"` + // +optional + RegistrationNumber string `protobuf:"bytes,4,opt,name=registration_number,json=registrationNumber,proto3" json:"registration_number,omitempty"` + // +optional + Country string `protobuf:"bytes,5,opt,name=country,proto3" json:"country,omitempty"` + // +optional + Address string `protobuf:"bytes,6,opt,name=address,proto3" json:"address,omitempty"` + // +optional + ContactPerson string `protobuf:"bytes,7,opt,name=contact_person,json=contactPerson,proto3" json:"contact_person,omitempty"` + // +optional + ContactEmail string `protobuf:"bytes,8,opt,name=contact_email,json=contactEmail,proto3" json:"contact_email,omitempty"` + // +optional + ContactPhone string `protobuf:"bytes,9,opt,name=contact_phone,json=contactPhone,proto3" json:"contact_phone,omitempty"` + // +optional + Tags *_struct.Struct `protobuf:"bytes,15,opt,name=tags,proto3" json:"tags,omitempty"` +} + +func (x *OrganizationCreateRequest) Reset() { + *x = OrganizationCreateRequest{} + mi := &file_spaceone_api_mzc_service_api_v1_organization_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OrganizationCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrganizationCreateRequest) ProtoMessage() {} + +func (x *OrganizationCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_organization_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrganizationCreateRequest.ProtoReflect.Descriptor instead. +func (*OrganizationCreateRequest) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_organization_proto_rawDescGZIP(), []int{0} +} + +func (x *OrganizationCreateRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *OrganizationCreateRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *OrganizationCreateRequest) GetIndustry() string { + if x != nil { + return x.Industry + } + return "" +} + +func (x *OrganizationCreateRequest) GetRegistrationNumber() string { + if x != nil { + return x.RegistrationNumber + } + return "" +} + +func (x *OrganizationCreateRequest) GetCountry() string { + if x != nil { + return x.Country + } + return "" +} + +func (x *OrganizationCreateRequest) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *OrganizationCreateRequest) GetContactPerson() string { + if x != nil { + return x.ContactPerson + } + return "" +} + +func (x *OrganizationCreateRequest) GetContactEmail() string { + if x != nil { + return x.ContactEmail + } + return "" +} + +func (x *OrganizationCreateRequest) GetContactPhone() string { + if x != nil { + return x.ContactPhone + } + return "" +} + +func (x *OrganizationCreateRequest) GetTags() *_struct.Struct { + if x != nil { + return x.Tags + } + return nil +} + +type OrganizationUpdateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // +optional + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // +optional + Industry string `protobuf:"bytes,4,opt,name=industry,proto3" json:"industry,omitempty"` + // +optional + RegistrationNumber string `protobuf:"bytes,5,opt,name=registration_number,json=registrationNumber,proto3" json:"registration_number,omitempty"` + // +optional + Country string `protobuf:"bytes,6,opt,name=country,proto3" json:"country,omitempty"` + // +optional + Address string `protobuf:"bytes,7,opt,name=address,proto3" json:"address,omitempty"` + // +optional + ContactPerson string `protobuf:"bytes,8,opt,name=contact_person,json=contactPerson,proto3" json:"contact_person,omitempty"` + // +optional + ContactEmail string `protobuf:"bytes,9,opt,name=contact_email,json=contactEmail,proto3" json:"contact_email,omitempty"` + // +optional + ContactPhone string `protobuf:"bytes,10,opt,name=contact_phone,json=contactPhone,proto3" json:"contact_phone,omitempty"` + // +optional + Tags *_struct.Struct `protobuf:"bytes,15,opt,name=tags,proto3" json:"tags,omitempty"` +} + +func (x *OrganizationUpdateRequest) Reset() { + *x = OrganizationUpdateRequest{} + mi := &file_spaceone_api_mzc_service_api_v1_organization_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OrganizationUpdateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrganizationUpdateRequest) ProtoMessage() {} + +func (x *OrganizationUpdateRequest) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_organization_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrganizationUpdateRequest.ProtoReflect.Descriptor instead. +func (*OrganizationUpdateRequest) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_organization_proto_rawDescGZIP(), []int{1} +} + +func (x *OrganizationUpdateRequest) GetOrgId() string { + if x != nil { + return x.OrgId + } + return "" +} + +func (x *OrganizationUpdateRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *OrganizationUpdateRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *OrganizationUpdateRequest) GetIndustry() string { + if x != nil { + return x.Industry + } + return "" +} + +func (x *OrganizationUpdateRequest) GetRegistrationNumber() string { + if x != nil { + return x.RegistrationNumber + } + return "" +} + +func (x *OrganizationUpdateRequest) GetCountry() string { + if x != nil { + return x.Country + } + return "" +} + +func (x *OrganizationUpdateRequest) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *OrganizationUpdateRequest) GetContactPerson() string { + if x != nil { + return x.ContactPerson + } + return "" +} + +func (x *OrganizationUpdateRequest) GetContactEmail() string { + if x != nil { + return x.ContactEmail + } + return "" +} + +func (x *OrganizationUpdateRequest) GetContactPhone() string { + if x != nil { + return x.ContactPhone + } + return "" +} + +func (x *OrganizationUpdateRequest) GetTags() *_struct.Struct { + if x != nil { + return x.Tags + } + return nil +} + +type OrganizationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` +} + +func (x *OrganizationRequest) Reset() { + *x = OrganizationRequest{} + mi := &file_spaceone_api_mzc_service_api_v1_organization_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OrganizationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrganizationRequest) ProtoMessage() {} + +func (x *OrganizationRequest) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_organization_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrganizationRequest.ProtoReflect.Descriptor instead. +func (*OrganizationRequest) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_organization_proto_rawDescGZIP(), []int{2} +} + +func (x *OrganizationRequest) GetOrgId() string { + if x != nil { + return x.OrgId + } + return "" +} + +type OrganizationSearchQuery struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // +optional + Query *v2.Query `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` + // +optional + OrgId string `protobuf:"bytes,2,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` + // +optional + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // +optional + State OrganizationState `protobuf:"varint,4,opt,name=state,proto3,enum=spaceone.api.mzc_service_api.v1.OrganizationState" json:"state,omitempty"` +} + +func (x *OrganizationSearchQuery) Reset() { + *x = OrganizationSearchQuery{} + mi := &file_spaceone_api_mzc_service_api_v1_organization_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OrganizationSearchQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrganizationSearchQuery) ProtoMessage() {} + +func (x *OrganizationSearchQuery) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_organization_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrganizationSearchQuery.ProtoReflect.Descriptor instead. +func (*OrganizationSearchQuery) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_organization_proto_rawDescGZIP(), []int{3} +} + +func (x *OrganizationSearchQuery) GetQuery() *v2.Query { + if x != nil { + return x.Query + } + return nil +} + +func (x *OrganizationSearchQuery) GetOrgId() string { + if x != nil { + return x.OrgId + } + return "" +} + +func (x *OrganizationSearchQuery) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *OrganizationSearchQuery) GetState() OrganizationState { + if x != nil { + return x.State + } + return OrganizationState_ORGANIZATION_STATE_NONE +} + +type OrganizationInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OrgId string `protobuf:"bytes,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + State OrganizationState `protobuf:"varint,3,opt,name=state,proto3,enum=spaceone.api.mzc_service_api.v1.OrganizationState" json:"state,omitempty"` + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + Industry string `protobuf:"bytes,5,opt,name=industry,proto3" json:"industry,omitempty"` + RegistrationNumber string `protobuf:"bytes,6,opt,name=registration_number,json=registrationNumber,proto3" json:"registration_number,omitempty"` + Country string `protobuf:"bytes,7,opt,name=country,proto3" json:"country,omitempty"` + Address string `protobuf:"bytes,8,opt,name=address,proto3" json:"address,omitempty"` + ContactPerson string `protobuf:"bytes,9,opt,name=contact_person,json=contactPerson,proto3" json:"contact_person,omitempty"` + ContactEmail string `protobuf:"bytes,10,opt,name=contact_email,json=contactEmail,proto3" json:"contact_email,omitempty"` + ContactPhone string `protobuf:"bytes,11,opt,name=contact_phone,json=contactPhone,proto3" json:"contact_phone,omitempty"` + Tags *_struct.Struct `protobuf:"bytes,15,opt,name=tags,proto3" json:"tags,omitempty"` + DomainId string `protobuf:"bytes,21,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` + CreatedAt string `protobuf:"bytes,31,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedAt string `protobuf:"bytes,32,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` +} + +func (x *OrganizationInfo) Reset() { + *x = OrganizationInfo{} + mi := &file_spaceone_api_mzc_service_api_v1_organization_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OrganizationInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrganizationInfo) ProtoMessage() {} + +func (x *OrganizationInfo) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_organization_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrganizationInfo.ProtoReflect.Descriptor instead. +func (*OrganizationInfo) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_organization_proto_rawDescGZIP(), []int{4} +} + +func (x *OrganizationInfo) GetOrgId() string { + if x != nil { + return x.OrgId + } + return "" +} + +func (x *OrganizationInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *OrganizationInfo) GetState() OrganizationState { + if x != nil { + return x.State + } + return OrganizationState_ORGANIZATION_STATE_NONE +} + +func (x *OrganizationInfo) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *OrganizationInfo) GetIndustry() string { + if x != nil { + return x.Industry + } + return "" +} + +func (x *OrganizationInfo) GetRegistrationNumber() string { + if x != nil { + return x.RegistrationNumber + } + return "" +} + +func (x *OrganizationInfo) GetCountry() string { + if x != nil { + return x.Country + } + return "" +} + +func (x *OrganizationInfo) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *OrganizationInfo) GetContactPerson() string { + if x != nil { + return x.ContactPerson + } + return "" +} + +func (x *OrganizationInfo) GetContactEmail() string { + if x != nil { + return x.ContactEmail + } + return "" +} + +func (x *OrganizationInfo) GetContactPhone() string { + if x != nil { + return x.ContactPhone + } + return "" +} + +func (x *OrganizationInfo) GetTags() *_struct.Struct { + if x != nil { + return x.Tags + } + return nil +} + +func (x *OrganizationInfo) GetDomainId() string { + if x != nil { + return x.DomainId + } + return "" +} + +func (x *OrganizationInfo) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *OrganizationInfo) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +type OrganizationsInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Results []*OrganizationInfo `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + TotalCount int32 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` +} + +func (x *OrganizationsInfo) Reset() { + *x = OrganizationsInfo{} + mi := &file_spaceone_api_mzc_service_api_v1_organization_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OrganizationsInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrganizationsInfo) ProtoMessage() {} + +func (x *OrganizationsInfo) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_organization_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrganizationsInfo.ProtoReflect.Descriptor instead. +func (*OrganizationsInfo) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_organization_proto_rawDescGZIP(), []int{5} +} + +func (x *OrganizationsInfo) GetResults() []*OrganizationInfo { + if x != nil { + return x.Results + } + return nil +} + +func (x *OrganizationsInfo) GetTotalCount() int32 { + if x != nil { + return x.TotalCount + } + return 0 +} + +type OrganizationStatQuery struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Query *v2.StatisticsQuery `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"` +} + +func (x *OrganizationStatQuery) Reset() { + *x = OrganizationStatQuery{} + mi := &file_spaceone_api_mzc_service_api_v1_organization_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OrganizationStatQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrganizationStatQuery) ProtoMessage() {} + +func (x *OrganizationStatQuery) ProtoReflect() protoreflect.Message { + mi := &file_spaceone_api_mzc_service_api_v1_organization_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrganizationStatQuery.ProtoReflect.Descriptor instead. +func (*OrganizationStatQuery) Descriptor() ([]byte, []int) { + return file_spaceone_api_mzc_service_api_v1_organization_proto_rawDescGZIP(), []int{6} +} + +func (x *OrganizationStatQuery) GetQuery() *v2.StatisticsQuery { + if x != nil { + return x.Query + } + return nil +} + +var File_spaceone_api_mzc_service_api_v1_organization_proto protoreflect.FileDescriptor + +var file_spaceone_api_mzc_service_api_v1_organization_proto_rawDesc = []byte{ + 0x0a, 0x32, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, + 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 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, 0x20, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x72, + 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xf0, 0x02, 0x0a, 0x19, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, + 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, + 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x45, 0x6d, 0x61, 0x69, + 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x5f, 0x70, 0x68, 0x6f, + 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, + 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x74, + 0x61, 0x67, 0x73, 0x22, 0x87, 0x03, 0x0a, 0x19, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x69, 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, + 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, + 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, + 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, + 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x2c, 0x0a, + 0x13, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x22, 0xc1, 0x01, 0x0a, 0x17, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, + 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, + 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, + 0xa3, 0x04, 0x0a, 0x10, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x15, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x48, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, + 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, + 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, + 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, + 0x6e, 0x64, 0x75, 0x73, 0x74, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x50, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x5f, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x63, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x63, 0x74, 0x5f, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x2b, 0x0a, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x81, 0x01, 0x0a, 0x11, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4b, 0x0a, 0x07, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x54, 0x0a, 0x15, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x12, 0x3b, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x63, 0x73, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2a, + 0x4b, 0x0a, 0x11, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x5a, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, + 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, + 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x32, 0xa0, 0x0a, 0x0a, + 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xab, 0x01, + 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x3a, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, + 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0xab, 0x01, 0x0a, 0x06, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3a, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, + 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, + 0x22, 0x27, 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0xa5, 0x01, 0x0a, 0x06, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x12, 0x34, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x32, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x12, 0xa7, 0x01, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x34, 0x2e, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x3a, 0x01, + 0x2a, 0x22, 0x28, 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x06, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, + 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, + 0x27, 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x9f, 0x01, 0x0a, 0x03, 0x67, 0x65, 0x74, + 0x12, 0x34, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, + 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x65, 0x74, 0x12, 0xa6, 0x01, 0x0a, 0x04, 0x6c, + 0x69, 0x73, 0x74, 0x12, 0x38, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x32, 0x2e, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x66, + 0x6f, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f, 0x6d, + 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6c, + 0x69, 0x73, 0x74, 0x12, 0x89, 0x01, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x74, 0x12, 0x36, 0x2e, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x6d, 0x7a, 0x63, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x1a, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x22, 0x30, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x42, + 0x46, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x66, 0x6f, 0x72, 0x65, 0x74, 0x2d, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x64, 0x69, 0x73, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x7a, 0x63, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_spaceone_api_mzc_service_api_v1_organization_proto_rawDescOnce sync.Once + file_spaceone_api_mzc_service_api_v1_organization_proto_rawDescData = file_spaceone_api_mzc_service_api_v1_organization_proto_rawDesc +) + +func file_spaceone_api_mzc_service_api_v1_organization_proto_rawDescGZIP() []byte { + file_spaceone_api_mzc_service_api_v1_organization_proto_rawDescOnce.Do(func() { + file_spaceone_api_mzc_service_api_v1_organization_proto_rawDescData = protoimpl.X.CompressGZIP(file_spaceone_api_mzc_service_api_v1_organization_proto_rawDescData) + }) + return file_spaceone_api_mzc_service_api_v1_organization_proto_rawDescData +} + +var file_spaceone_api_mzc_service_api_v1_organization_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_spaceone_api_mzc_service_api_v1_organization_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_spaceone_api_mzc_service_api_v1_organization_proto_goTypes = []any{ + (OrganizationState)(0), // 0: spaceone.api.mzc_service_api.v1.OrganizationState + (*OrganizationCreateRequest)(nil), // 1: spaceone.api.mzc_service_api.v1.OrganizationCreateRequest + (*OrganizationUpdateRequest)(nil), // 2: spaceone.api.mzc_service_api.v1.OrganizationUpdateRequest + (*OrganizationRequest)(nil), // 3: spaceone.api.mzc_service_api.v1.OrganizationRequest + (*OrganizationSearchQuery)(nil), // 4: spaceone.api.mzc_service_api.v1.OrganizationSearchQuery + (*OrganizationInfo)(nil), // 5: spaceone.api.mzc_service_api.v1.OrganizationInfo + (*OrganizationsInfo)(nil), // 6: spaceone.api.mzc_service_api.v1.OrganizationsInfo + (*OrganizationStatQuery)(nil), // 7: spaceone.api.mzc_service_api.v1.OrganizationStatQuery + (*_struct.Struct)(nil), // 8: google.protobuf.Struct + (*v2.Query)(nil), // 9: spaceone.api.core.v2.Query + (*v2.StatisticsQuery)(nil), // 10: spaceone.api.core.v2.StatisticsQuery + (*empty.Empty)(nil), // 11: google.protobuf.Empty +} +var file_spaceone_api_mzc_service_api_v1_organization_proto_depIdxs = []int32{ + 8, // 0: spaceone.api.mzc_service_api.v1.OrganizationCreateRequest.tags:type_name -> google.protobuf.Struct + 8, // 1: spaceone.api.mzc_service_api.v1.OrganizationUpdateRequest.tags:type_name -> google.protobuf.Struct + 9, // 2: spaceone.api.mzc_service_api.v1.OrganizationSearchQuery.query:type_name -> spaceone.api.core.v2.Query + 0, // 3: spaceone.api.mzc_service_api.v1.OrganizationSearchQuery.state:type_name -> spaceone.api.mzc_service_api.v1.OrganizationState + 0, // 4: spaceone.api.mzc_service_api.v1.OrganizationInfo.state:type_name -> spaceone.api.mzc_service_api.v1.OrganizationState + 8, // 5: spaceone.api.mzc_service_api.v1.OrganizationInfo.tags:type_name -> google.protobuf.Struct + 5, // 6: spaceone.api.mzc_service_api.v1.OrganizationsInfo.results:type_name -> spaceone.api.mzc_service_api.v1.OrganizationInfo + 10, // 7: spaceone.api.mzc_service_api.v1.OrganizationStatQuery.query:type_name -> spaceone.api.core.v2.StatisticsQuery + 1, // 8: spaceone.api.mzc_service_api.v1.Organization.create:input_type -> spaceone.api.mzc_service_api.v1.OrganizationCreateRequest + 2, // 9: spaceone.api.mzc_service_api.v1.Organization.update:input_type -> spaceone.api.mzc_service_api.v1.OrganizationUpdateRequest + 3, // 10: spaceone.api.mzc_service_api.v1.Organization.enable:input_type -> spaceone.api.mzc_service_api.v1.OrganizationRequest + 3, // 11: spaceone.api.mzc_service_api.v1.Organization.disable:input_type -> spaceone.api.mzc_service_api.v1.OrganizationRequest + 3, // 12: spaceone.api.mzc_service_api.v1.Organization.delete:input_type -> spaceone.api.mzc_service_api.v1.OrganizationRequest + 3, // 13: spaceone.api.mzc_service_api.v1.Organization.get:input_type -> spaceone.api.mzc_service_api.v1.OrganizationRequest + 4, // 14: spaceone.api.mzc_service_api.v1.Organization.list:input_type -> spaceone.api.mzc_service_api.v1.OrganizationSearchQuery + 7, // 15: spaceone.api.mzc_service_api.v1.Organization.stat:input_type -> spaceone.api.mzc_service_api.v1.OrganizationStatQuery + 5, // 16: spaceone.api.mzc_service_api.v1.Organization.create:output_type -> spaceone.api.mzc_service_api.v1.OrganizationInfo + 5, // 17: spaceone.api.mzc_service_api.v1.Organization.update:output_type -> spaceone.api.mzc_service_api.v1.OrganizationInfo + 5, // 18: spaceone.api.mzc_service_api.v1.Organization.enable:output_type -> spaceone.api.mzc_service_api.v1.OrganizationInfo + 5, // 19: spaceone.api.mzc_service_api.v1.Organization.disable:output_type -> spaceone.api.mzc_service_api.v1.OrganizationInfo + 11, // 20: spaceone.api.mzc_service_api.v1.Organization.delete:output_type -> google.protobuf.Empty + 5, // 21: spaceone.api.mzc_service_api.v1.Organization.get:output_type -> spaceone.api.mzc_service_api.v1.OrganizationInfo + 6, // 22: spaceone.api.mzc_service_api.v1.Organization.list:output_type -> spaceone.api.mzc_service_api.v1.OrganizationsInfo + 8, // 23: spaceone.api.mzc_service_api.v1.Organization.stat:output_type -> google.protobuf.Struct + 16, // [16:24] is the sub-list for method output_type + 8, // [8:16] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_spaceone_api_mzc_service_api_v1_organization_proto_init() } +func file_spaceone_api_mzc_service_api_v1_organization_proto_init() { + if File_spaceone_api_mzc_service_api_v1_organization_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_spaceone_api_mzc_service_api_v1_organization_proto_rawDesc, + NumEnums: 1, + NumMessages: 7, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_spaceone_api_mzc_service_api_v1_organization_proto_goTypes, + DependencyIndexes: file_spaceone_api_mzc_service_api_v1_organization_proto_depIdxs, + EnumInfos: file_spaceone_api_mzc_service_api_v1_organization_proto_enumTypes, + MessageInfos: file_spaceone_api_mzc_service_api_v1_organization_proto_msgTypes, + }.Build() + File_spaceone_api_mzc_service_api_v1_organization_proto = out.File + file_spaceone_api_mzc_service_api_v1_organization_proto_rawDesc = nil + file_spaceone_api_mzc_service_api_v1_organization_proto_goTypes = nil + file_spaceone_api_mzc_service_api_v1_organization_proto_depIdxs = nil +} diff --git a/dist/go/spaceone/api/mzc-service-api/v1/organization_grpc.pb.go b/dist/go/spaceone/api/mzc-service-api/v1/organization_grpc.pb.go new file mode 100755 index 000000000..b7ed223a1 --- /dev/null +++ b/dist/go/spaceone/api/mzc-service-api/v1/organization_grpc.pb.go @@ -0,0 +1,389 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.5.1 +// - protoc v3.6.1 +// source: spaceone/api/mzc_service_api/v1/organization.proto + +package v1 + +import ( + context "context" + empty "github.com/golang/protobuf/ptypes/empty" + _struct "github.com/golang/protobuf/ptypes/struct" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + Organization_Create_FullMethodName = "/spaceone.api.mzc_service_api.v1.Organization/create" + Organization_Update_FullMethodName = "/spaceone.api.mzc_service_api.v1.Organization/update" + Organization_Enable_FullMethodName = "/spaceone.api.mzc_service_api.v1.Organization/enable" + Organization_Disable_FullMethodName = "/spaceone.api.mzc_service_api.v1.Organization/disable" + Organization_Delete_FullMethodName = "/spaceone.api.mzc_service_api.v1.Organization/delete" + Organization_Get_FullMethodName = "/spaceone.api.mzc_service_api.v1.Organization/get" + Organization_List_FullMethodName = "/spaceone.api.mzc_service_api.v1.Organization/list" + Organization_Stat_FullMethodName = "/spaceone.api.mzc_service_api.v1.Organization/stat" +) + +// OrganizationClient is the client API for Organization service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type OrganizationClient interface { + Create(ctx context.Context, in *OrganizationCreateRequest, opts ...grpc.CallOption) (*OrganizationInfo, error) + Update(ctx context.Context, in *OrganizationUpdateRequest, opts ...grpc.CallOption) (*OrganizationInfo, error) + Enable(ctx context.Context, in *OrganizationRequest, opts ...grpc.CallOption) (*OrganizationInfo, error) + Disable(ctx context.Context, in *OrganizationRequest, opts ...grpc.CallOption) (*OrganizationInfo, error) + Delete(ctx context.Context, in *OrganizationRequest, opts ...grpc.CallOption) (*empty.Empty, error) + Get(ctx context.Context, in *OrganizationRequest, opts ...grpc.CallOption) (*OrganizationInfo, error) + List(ctx context.Context, in *OrganizationSearchQuery, opts ...grpc.CallOption) (*OrganizationsInfo, error) + Stat(ctx context.Context, in *OrganizationStatQuery, opts ...grpc.CallOption) (*_struct.Struct, error) +} + +type organizationClient struct { + cc grpc.ClientConnInterface +} + +func NewOrganizationClient(cc grpc.ClientConnInterface) OrganizationClient { + return &organizationClient{cc} +} + +func (c *organizationClient) Create(ctx context.Context, in *OrganizationCreateRequest, opts ...grpc.CallOption) (*OrganizationInfo, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(OrganizationInfo) + err := c.cc.Invoke(ctx, Organization_Create_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *organizationClient) Update(ctx context.Context, in *OrganizationUpdateRequest, opts ...grpc.CallOption) (*OrganizationInfo, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(OrganizationInfo) + err := c.cc.Invoke(ctx, Organization_Update_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *organizationClient) Enable(ctx context.Context, in *OrganizationRequest, opts ...grpc.CallOption) (*OrganizationInfo, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(OrganizationInfo) + err := c.cc.Invoke(ctx, Organization_Enable_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *organizationClient) Disable(ctx context.Context, in *OrganizationRequest, opts ...grpc.CallOption) (*OrganizationInfo, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(OrganizationInfo) + err := c.cc.Invoke(ctx, Organization_Disable_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *organizationClient) Delete(ctx context.Context, in *OrganizationRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(empty.Empty) + err := c.cc.Invoke(ctx, Organization_Delete_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *organizationClient) Get(ctx context.Context, in *OrganizationRequest, opts ...grpc.CallOption) (*OrganizationInfo, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(OrganizationInfo) + err := c.cc.Invoke(ctx, Organization_Get_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *organizationClient) List(ctx context.Context, in *OrganizationSearchQuery, opts ...grpc.CallOption) (*OrganizationsInfo, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(OrganizationsInfo) + err := c.cc.Invoke(ctx, Organization_List_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *organizationClient) Stat(ctx context.Context, in *OrganizationStatQuery, opts ...grpc.CallOption) (*_struct.Struct, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(_struct.Struct) + err := c.cc.Invoke(ctx, Organization_Stat_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// OrganizationServer is the server API for Organization service. +// All implementations must embed UnimplementedOrganizationServer +// for forward compatibility. +type OrganizationServer interface { + Create(context.Context, *OrganizationCreateRequest) (*OrganizationInfo, error) + Update(context.Context, *OrganizationUpdateRequest) (*OrganizationInfo, error) + Enable(context.Context, *OrganizationRequest) (*OrganizationInfo, error) + Disable(context.Context, *OrganizationRequest) (*OrganizationInfo, error) + Delete(context.Context, *OrganizationRequest) (*empty.Empty, error) + Get(context.Context, *OrganizationRequest) (*OrganizationInfo, error) + List(context.Context, *OrganizationSearchQuery) (*OrganizationsInfo, error) + Stat(context.Context, *OrganizationStatQuery) (*_struct.Struct, error) + mustEmbedUnimplementedOrganizationServer() +} + +// UnimplementedOrganizationServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedOrganizationServer struct{} + +func (UnimplementedOrganizationServer) Create(context.Context, *OrganizationCreateRequest) (*OrganizationInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method Create not implemented") +} +func (UnimplementedOrganizationServer) Update(context.Context, *OrganizationUpdateRequest) (*OrganizationInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") +} +func (UnimplementedOrganizationServer) Enable(context.Context, *OrganizationRequest) (*OrganizationInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method Enable not implemented") +} +func (UnimplementedOrganizationServer) Disable(context.Context, *OrganizationRequest) (*OrganizationInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method Disable not implemented") +} +func (UnimplementedOrganizationServer) Delete(context.Context, *OrganizationRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") +} +func (UnimplementedOrganizationServer) Get(context.Context, *OrganizationRequest) (*OrganizationInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method Get not implemented") +} +func (UnimplementedOrganizationServer) List(context.Context, *OrganizationSearchQuery) (*OrganizationsInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method List not implemented") +} +func (UnimplementedOrganizationServer) Stat(context.Context, *OrganizationStatQuery) (*_struct.Struct, error) { + return nil, status.Errorf(codes.Unimplemented, "method Stat not implemented") +} +func (UnimplementedOrganizationServer) mustEmbedUnimplementedOrganizationServer() {} +func (UnimplementedOrganizationServer) testEmbeddedByValue() {} + +// UnsafeOrganizationServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to OrganizationServer will +// result in compilation errors. +type UnsafeOrganizationServer interface { + mustEmbedUnimplementedOrganizationServer() +} + +func RegisterOrganizationServer(s grpc.ServiceRegistrar, srv OrganizationServer) { + // If the following call pancis, it indicates UnimplementedOrganizationServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&Organization_ServiceDesc, srv) +} + +func _Organization_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OrganizationCreateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OrganizationServer).Create(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Organization_Create_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OrganizationServer).Create(ctx, req.(*OrganizationCreateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Organization_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OrganizationUpdateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OrganizationServer).Update(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Organization_Update_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OrganizationServer).Update(ctx, req.(*OrganizationUpdateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Organization_Enable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OrganizationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OrganizationServer).Enable(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Organization_Enable_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OrganizationServer).Enable(ctx, req.(*OrganizationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Organization_Disable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OrganizationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OrganizationServer).Disable(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Organization_Disable_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OrganizationServer).Disable(ctx, req.(*OrganizationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Organization_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OrganizationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OrganizationServer).Delete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Organization_Delete_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OrganizationServer).Delete(ctx, req.(*OrganizationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Organization_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OrganizationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OrganizationServer).Get(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Organization_Get_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OrganizationServer).Get(ctx, req.(*OrganizationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Organization_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OrganizationSearchQuery) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OrganizationServer).List(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Organization_List_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OrganizationServer).List(ctx, req.(*OrganizationSearchQuery)) + } + return interceptor(ctx, in, info, handler) +} + +func _Organization_Stat_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OrganizationStatQuery) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OrganizationServer).Stat(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Organization_Stat_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OrganizationServer).Stat(ctx, req.(*OrganizationStatQuery)) + } + return interceptor(ctx, in, info, handler) +} + +// Organization_ServiceDesc is the grpc.ServiceDesc for Organization service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Organization_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "spaceone.api.mzc_service_api.v1.Organization", + HandlerType: (*OrganizationServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "create", + Handler: _Organization_Create_Handler, + }, + { + MethodName: "update", + Handler: _Organization_Update_Handler, + }, + { + MethodName: "enable", + Handler: _Organization_Enable_Handler, + }, + { + MethodName: "disable", + Handler: _Organization_Disable_Handler, + }, + { + MethodName: "delete", + Handler: _Organization_Delete_Handler, + }, + { + MethodName: "get", + Handler: _Organization_Get_Handler, + }, + { + MethodName: "list", + Handler: _Organization_List_Handler, + }, + { + MethodName: "stat", + Handler: _Organization_Stat_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "spaceone/api/mzc_service_api/v1/organization.proto", +} diff --git a/dist/json/cloudforet/api/mzc_service_api/v1/Contract.json b/dist/json/cloudforet/api/mzc_service_api/v1/Contract.json new file mode 100755 index 000000000..84253f6d4 --- /dev/null +++ b/dist/json/cloudforet/api/mzc_service_api/v1/Contract.json @@ -0,0 +1,965 @@ +{ + "files": [ + { + "name": "spaceone/api/mzc_service_api/v1/contract.proto", + "description": "", + "package": "spaceone.api.mzc_service_api.v1", + "hasEnums": true, + "hasExtensions": false, + "hasMessages": true, + "hasServices": true, + "enums": [ + { + "name": "ContractRenewalType", + "longName": "ContractRenewalType", + "fullName": "spaceone.api.mzc_service_api.v1.ContractRenewalType", + "description": "", + "values": [ + { + "name": "CONTRACT_RENEWAL_TYPE_NONE", + "number": "0", + "description": "" + }, + { + "name": "AUTO", + "number": "1", + "description": "" + }, + { + "name": "MANUAL", + "number": "2", + "description": "" + }, + { + "name": "NOT_RENEW", + "number": "3", + "description": "" + } + ] + }, + { + "name": "ContractStatus", + "longName": "ContractStatus", + "fullName": "spaceone.api.mzc_service_api.v1.ContractStatus", + "description": "", + "values": [ + { + "name": "CONTRACT_STATUS_NONE", + "number": "0", + "description": "" + }, + { + "name": "ACTIVE", + "number": "1", + "description": "" + }, + { + "name": "TERMINATED", + "number": "2", + "description": "" + }, + { + "name": "EXPIRED", + "number": "3", + "description": "" + } + ] + } + ], + "extensions": [], + "messages": [ + { + "name": "ContractCreateRequest", + "longName": "ContractCreateRequest", + "fullName": "spaceone.api.mzc_service_api.v1.ContractCreateRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "org_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "offering_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "description", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "start_date", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "end_date", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "signed_date", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "renewal_type", + "description": "+optional", + "label": "", + "type": "ContractRenewalType", + "longType": "ContractRenewalType", + "fullType": "spaceone.api.mzc_service_api.v1.ContractRenewalType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tags", + "description": "+optional", + "label": "", + "type": "Struct", + "longType": "google.protobuf.Struct", + "fullType": "google.protobuf.Struct", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ContractInfo", + "longName": "ContractInfo", + "fullName": "spaceone.api.mzc_service_api.v1.ContractInfo", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "contract_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "org_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "offering_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "", + "label": "", + "type": "ContractStatus", + "longType": "ContractStatus", + "fullType": "spaceone.api.mzc_service_api.v1.ContractStatus", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "description", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "start_date", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "end_date", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "signed_date", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "renewal_type", + "description": "", + "label": "", + "type": "ContractRenewalType", + "longType": "ContractRenewalType", + "fullType": "spaceone.api.mzc_service_api.v1.ContractRenewalType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tags", + "description": "", + "label": "", + "type": "Struct", + "longType": "google.protobuf.Struct", + "fullType": "google.protobuf.Struct", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "domain_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "created_at", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "updated_at", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ContractRequest", + "longName": "ContractRequest", + "fullName": "spaceone.api.mzc_service_api.v1.ContractRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "contract_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ContractSearchQuery", + "longName": "ContractSearchQuery", + "fullName": "spaceone.api.mzc_service_api.v1.ContractSearchQuery", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "query", + "description": "+optional", + "label": "", + "type": "Query", + "longType": "spaceone.api.core.v2.Query", + "fullType": "spaceone.api.core.v2.Query", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "contract_id", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "org_id", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "offering_id", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "+optional", + "label": "", + "type": "ContractStatus", + "longType": "ContractStatus", + "fullType": "spaceone.api.mzc_service_api.v1.ContractStatus", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "renewal_type", + "description": "+optional", + "label": "", + "type": "ContractRenewalType", + "longType": "ContractRenewalType", + "fullType": "spaceone.api.mzc_service_api.v1.ContractRenewalType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ContractStatQuery", + "longName": "ContractStatQuery", + "fullName": "spaceone.api.mzc_service_api.v1.ContractStatQuery", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "query", + "description": "", + "label": "", + "type": "StatisticsQuery", + "longType": "spaceone.api.core.v2.StatisticsQuery", + "fullType": "spaceone.api.core.v2.StatisticsQuery", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ContractUpdateRequest", + "longName": "ContractUpdateRequest", + "fullName": "spaceone.api.mzc_service_api.v1.ContractUpdateRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "contract_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "description", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "start_date", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "end_date", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "signed_date", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "renewal_type", + "description": "+optional", + "label": "", + "type": "ContractRenewalType", + "longType": "ContractRenewalType", + "fullType": "spaceone.api.mzc_service_api.v1.ContractRenewalType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tags", + "description": "+optional", + "label": "", + "type": "Struct", + "longType": "google.protobuf.Struct", + "fullType": "google.protobuf.Struct", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ContractsInfo", + "longName": "ContractsInfo", + "fullName": "spaceone.api.mzc_service_api.v1.ContractsInfo", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "results", + "description": "", + "label": "repeated", + "type": "ContractInfo", + "longType": "ContractInfo", + "fullType": "spaceone.api.mzc_service_api.v1.ContractInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_count", + "description": "", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [ + { + "name": "Contract", + "longName": "Contract", + "fullName": "spaceone.api.mzc_service_api.v1.Contract", + "description": "", + "methods": [ + { + "name": "create", + "description": "", + "requestType": "ContractCreateRequest", + "requestLongType": "ContractCreateRequest", + "requestFullType": "spaceone.api.mzc_service_api.v1.ContractCreateRequest", + "requestStreaming": false, + "responseType": "ContractInfo", + "responseLongType": "ContractInfo", + "responseFullType": "spaceone.api.mzc_service_api.v1.ContractInfo", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/contract/create", + "body": "*" + } + ] + } + } + }, + { + "name": "update", + "description": "", + "requestType": "ContractUpdateRequest", + "requestLongType": "ContractUpdateRequest", + "requestFullType": "spaceone.api.mzc_service_api.v1.ContractUpdateRequest", + "requestStreaming": false, + "responseType": "ContractInfo", + "responseLongType": "ContractInfo", + "responseFullType": "spaceone.api.mzc_service_api.v1.ContractInfo", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/contract/update", + "body": "*" + } + ] + } + } + }, + { + "name": "terminate", + "description": "", + "requestType": "ContractRequest", + "requestLongType": "ContractRequest", + "requestFullType": "spaceone.api.mzc_service_api.v1.ContractRequest", + "requestStreaming": false, + "responseType": "Empty", + "responseLongType": ".google.protobuf.Empty", + "responseFullType": "google.protobuf.Empty", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/contract/terminate", + "body": "*" + } + ] + } + } + }, + { + "name": "get", + "description": "", + "requestType": "ContractRequest", + "requestLongType": "ContractRequest", + "requestFullType": "spaceone.api.mzc_service_api.v1.ContractRequest", + "requestStreaming": false, + "responseType": "ContractInfo", + "responseLongType": "ContractInfo", + "responseFullType": "spaceone.api.mzc_service_api.v1.ContractInfo", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/contract/get", + "body": "*" + } + ] + } + } + }, + { + "name": "list", + "description": "", + "requestType": "ContractSearchQuery", + "requestLongType": "ContractSearchQuery", + "requestFullType": "spaceone.api.mzc_service_api.v1.ContractSearchQuery", + "requestStreaming": false, + "responseType": "ContractsInfo", + "responseLongType": "ContractsInfo", + "responseFullType": "spaceone.api.mzc_service_api.v1.ContractsInfo", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/contract/list", + "body": "*" + } + ] + } + } + }, + { + "name": "stat", + "description": "", + "requestType": "ContractStatQuery", + "requestLongType": "ContractStatQuery", + "requestFullType": "spaceone.api.mzc_service_api.v1.ContractStatQuery", + "requestStreaming": false, + "responseType": "Struct", + "responseLongType": ".google.protobuf.Struct", + "responseFullType": "google.protobuf.Struct", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/contract/stat", + "body": "*" + } + ] + } + } + } + ] + } + ] + } + ], + "scalarValueTypes": [ + { + "protoType": "double", + "notes": "", + "cppType": "double", + "csType": "double", + "goType": "float64", + "javaType": "double", + "phpType": "float", + "pythonType": "float", + "rubyType": "Float" + }, + { + "protoType": "float", + "notes": "", + "cppType": "float", + "csType": "float", + "goType": "float32", + "javaType": "float", + "phpType": "float", + "pythonType": "float", + "rubyType": "Float" + }, + { + "protoType": "int32", + "notes": "Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.", + "cppType": "int32", + "csType": "int", + "goType": "int32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "int64", + "notes": "Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.", + "cppType": "int64", + "csType": "long", + "goType": "int64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum" + }, + { + "protoType": "uint32", + "notes": "Uses variable-length encoding.", + "cppType": "uint32", + "csType": "uint", + "goType": "uint32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int/long", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "uint64", + "notes": "Uses variable-length encoding.", + "cppType": "uint64", + "csType": "ulong", + "goType": "uint64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "sint32", + "notes": "Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.", + "cppType": "int32", + "csType": "int", + "goType": "int32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "sint64", + "notes": "Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.", + "cppType": "int64", + "csType": "long", + "goType": "int64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum" + }, + { + "protoType": "fixed32", + "notes": "Always four bytes. More efficient than uint32 if values are often greater than 2^28.", + "cppType": "uint32", + "csType": "uint", + "goType": "uint32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "fixed64", + "notes": "Always eight bytes. More efficient than uint64 if values are often greater than 2^56.", + "cppType": "uint64", + "csType": "ulong", + "goType": "uint64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum" + }, + { + "protoType": "sfixed32", + "notes": "Always four bytes.", + "cppType": "int32", + "csType": "int", + "goType": "int32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "sfixed64", + "notes": "Always eight bytes.", + "cppType": "int64", + "csType": "long", + "goType": "int64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum" + }, + { + "protoType": "bool", + "notes": "", + "cppType": "bool", + "csType": "bool", + "goType": "bool", + "javaType": "boolean", + "phpType": "boolean", + "pythonType": "boolean", + "rubyType": "TrueClass/FalseClass" + }, + { + "protoType": "string", + "notes": "A string must always contain UTF-8 encoded or 7-bit ASCII text.", + "cppType": "string", + "csType": "string", + "goType": "string", + "javaType": "String", + "phpType": "string", + "pythonType": "str/unicode", + "rubyType": "String (UTF-8)" + }, + { + "protoType": "bytes", + "notes": "May contain any arbitrary sequence of bytes.", + "cppType": "string", + "csType": "ByteString", + "goType": "[]byte", + "javaType": "ByteString", + "phpType": "string", + "pythonType": "str", + "rubyType": "String (ASCII-8BIT)" + } + ] +} \ No newline at end of file diff --git a/dist/json/cloudforet/api/mzc_service_api/v1/Offering.json b/dist/json/cloudforet/api/mzc_service_api/v1/Offering.json new file mode 100755 index 000000000..2d58069b8 --- /dev/null +++ b/dist/json/cloudforet/api/mzc_service_api/v1/Offering.json @@ -0,0 +1,901 @@ +{ + "files": [ + { + "name": "spaceone/api/mzc_service_api/v1/offering.proto", + "description": "", + "package": "spaceone.api.mzc_service_api.v1", + "hasEnums": true, + "hasExtensions": false, + "hasMessages": true, + "hasServices": true, + "enums": [ + { + "name": "OfferingStatus", + "longName": "OfferingStatus", + "fullName": "spaceone.api.mzc_service_api.v1.OfferingStatus", + "description": "", + "values": [ + { + "name": "OFFERING_STATUS_NONE", + "number": "0", + "description": "" + }, + { + "name": "AVAILABLE", + "number": "1", + "description": "" + }, + { + "name": "UNAVAILABLE", + "number": "2", + "description": "" + }, + { + "name": "DISCONTINUED", + "number": "3", + "description": "" + } + ] + } + ], + "extensions": [], + "messages": [ + { + "name": "OfferingCreateRequest", + "longName": "OfferingCreateRequest", + "fullName": "spaceone.api.mzc_service_api.v1.OfferingCreateRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "name", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "category", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "+optional", + "label": "", + "type": "float", + "longType": "float", + "fullType": "float", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "currency", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "description", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "terms", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "website_url", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tags", + "description": "+optional", + "label": "", + "type": "Struct", + "longType": "google.protobuf.Struct", + "fullType": "google.protobuf.Struct", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OfferingInfo", + "longName": "OfferingInfo", + "fullName": "spaceone.api.mzc_service_api.v1.OfferingInfo", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "offering_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "category", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "", + "label": "", + "type": "OfferingStatus", + "longType": "OfferingStatus", + "fullType": "spaceone.api.mzc_service_api.v1.OfferingStatus", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "", + "label": "", + "type": "float", + "longType": "float", + "fullType": "float", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "currency", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "description", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "terms", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "website_url", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tags", + "description": "", + "label": "", + "type": "Struct", + "longType": "google.protobuf.Struct", + "fullType": "google.protobuf.Struct", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "domain_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "created_at", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "updated_at", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OfferingRequest", + "longName": "OfferingRequest", + "fullName": "spaceone.api.mzc_service_api.v1.OfferingRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "offering_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OfferingSearchQuery", + "longName": "OfferingSearchQuery", + "fullName": "spaceone.api.mzc_service_api.v1.OfferingSearchQuery", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "query", + "description": "+optional", + "label": "", + "type": "Query", + "longType": "spaceone.api.core.v2.Query", + "fullType": "spaceone.api.core.v2.Query", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "offering_id", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "+optional", + "label": "", + "type": "OfferingStatus", + "longType": "OfferingStatus", + "fullType": "spaceone.api.mzc_service_api.v1.OfferingStatus", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OfferingStatQuery", + "longName": "OfferingStatQuery", + "fullName": "spaceone.api.mzc_service_api.v1.OfferingStatQuery", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "query", + "description": "", + "label": "", + "type": "StatisticsQuery", + "longType": "spaceone.api.core.v2.StatisticsQuery", + "fullType": "spaceone.api.core.v2.StatisticsQuery", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OfferingUpdateRequest", + "longName": "OfferingUpdateRequest", + "fullName": "spaceone.api.mzc_service_api.v1.OfferingUpdateRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "offering_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "+optional", + "label": "", + "type": "OfferingStatus", + "longType": "OfferingStatus", + "fullType": "spaceone.api.mzc_service_api.v1.OfferingStatus", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "+optional", + "label": "", + "type": "float", + "longType": "float", + "fullType": "float", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "currency", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "description", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "terms", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "website_url", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tags", + "description": "+optional", + "label": "", + "type": "Struct", + "longType": "google.protobuf.Struct", + "fullType": "google.protobuf.Struct", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OfferingsInfo", + "longName": "OfferingsInfo", + "fullName": "spaceone.api.mzc_service_api.v1.OfferingsInfo", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "results", + "description": "", + "label": "repeated", + "type": "OfferingInfo", + "longType": "OfferingInfo", + "fullType": "spaceone.api.mzc_service_api.v1.OfferingInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_count", + "description": "", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [ + { + "name": "Offering", + "longName": "Offering", + "fullName": "spaceone.api.mzc_service_api.v1.Offering", + "description": "", + "methods": [ + { + "name": "create", + "description": "", + "requestType": "OfferingCreateRequest", + "requestLongType": "OfferingCreateRequest", + "requestFullType": "spaceone.api.mzc_service_api.v1.OfferingCreateRequest", + "requestStreaming": false, + "responseType": "OfferingInfo", + "responseLongType": "OfferingInfo", + "responseFullType": "spaceone.api.mzc_service_api.v1.OfferingInfo", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/offering/create", + "body": "*" + } + ] + } + } + }, + { + "name": "update", + "description": "", + "requestType": "OfferingUpdateRequest", + "requestLongType": "OfferingUpdateRequest", + "requestFullType": "spaceone.api.mzc_service_api.v1.OfferingUpdateRequest", + "requestStreaming": false, + "responseType": "OfferingInfo", + "responseLongType": "OfferingInfo", + "responseFullType": "spaceone.api.mzc_service_api.v1.OfferingInfo", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/offering/update", + "body": "*" + } + ] + } + } + }, + { + "name": "delete", + "description": "", + "requestType": "OfferingRequest", + "requestLongType": "OfferingRequest", + "requestFullType": "spaceone.api.mzc_service_api.v1.OfferingRequest", + "requestStreaming": false, + "responseType": "Empty", + "responseLongType": ".google.protobuf.Empty", + "responseFullType": "google.protobuf.Empty", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/offering/delete", + "body": "*" + } + ] + } + } + }, + { + "name": "get", + "description": "", + "requestType": "OfferingRequest", + "requestLongType": "OfferingRequest", + "requestFullType": "spaceone.api.mzc_service_api.v1.OfferingRequest", + "requestStreaming": false, + "responseType": "OfferingInfo", + "responseLongType": "OfferingInfo", + "responseFullType": "spaceone.api.mzc_service_api.v1.OfferingInfo", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/offering/get", + "body": "*" + } + ] + } + } + }, + { + "name": "list", + "description": "", + "requestType": "OfferingSearchQuery", + "requestLongType": "OfferingSearchQuery", + "requestFullType": "spaceone.api.mzc_service_api.v1.OfferingSearchQuery", + "requestStreaming": false, + "responseType": "OfferingsInfo", + "responseLongType": "OfferingsInfo", + "responseFullType": "spaceone.api.mzc_service_api.v1.OfferingsInfo", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/offering/list", + "body": "*" + } + ] + } + } + }, + { + "name": "stat", + "description": "", + "requestType": "OfferingStatQuery", + "requestLongType": "OfferingStatQuery", + "requestFullType": "spaceone.api.mzc_service_api.v1.OfferingStatQuery", + "requestStreaming": false, + "responseType": "Struct", + "responseLongType": ".google.protobuf.Struct", + "responseFullType": "google.protobuf.Struct", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/offering/stat", + "body": "*" + } + ] + } + } + } + ] + } + ] + } + ], + "scalarValueTypes": [ + { + "protoType": "double", + "notes": "", + "cppType": "double", + "csType": "double", + "goType": "float64", + "javaType": "double", + "phpType": "float", + "pythonType": "float", + "rubyType": "Float" + }, + { + "protoType": "float", + "notes": "", + "cppType": "float", + "csType": "float", + "goType": "float32", + "javaType": "float", + "phpType": "float", + "pythonType": "float", + "rubyType": "Float" + }, + { + "protoType": "int32", + "notes": "Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.", + "cppType": "int32", + "csType": "int", + "goType": "int32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "int64", + "notes": "Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.", + "cppType": "int64", + "csType": "long", + "goType": "int64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum" + }, + { + "protoType": "uint32", + "notes": "Uses variable-length encoding.", + "cppType": "uint32", + "csType": "uint", + "goType": "uint32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int/long", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "uint64", + "notes": "Uses variable-length encoding.", + "cppType": "uint64", + "csType": "ulong", + "goType": "uint64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "sint32", + "notes": "Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.", + "cppType": "int32", + "csType": "int", + "goType": "int32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "sint64", + "notes": "Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.", + "cppType": "int64", + "csType": "long", + "goType": "int64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum" + }, + { + "protoType": "fixed32", + "notes": "Always four bytes. More efficient than uint32 if values are often greater than 2^28.", + "cppType": "uint32", + "csType": "uint", + "goType": "uint32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "fixed64", + "notes": "Always eight bytes. More efficient than uint64 if values are often greater than 2^56.", + "cppType": "uint64", + "csType": "ulong", + "goType": "uint64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum" + }, + { + "protoType": "sfixed32", + "notes": "Always four bytes.", + "cppType": "int32", + "csType": "int", + "goType": "int32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "sfixed64", + "notes": "Always eight bytes.", + "cppType": "int64", + "csType": "long", + "goType": "int64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum" + }, + { + "protoType": "bool", + "notes": "", + "cppType": "bool", + "csType": "bool", + "goType": "bool", + "javaType": "boolean", + "phpType": "boolean", + "pythonType": "boolean", + "rubyType": "TrueClass/FalseClass" + }, + { + "protoType": "string", + "notes": "A string must always contain UTF-8 encoded or 7-bit ASCII text.", + "cppType": "string", + "csType": "string", + "goType": "string", + "javaType": "String", + "phpType": "string", + "pythonType": "str/unicode", + "rubyType": "String (UTF-8)" + }, + { + "protoType": "bytes", + "notes": "May contain any arbitrary sequence of bytes.", + "cppType": "string", + "csType": "ByteString", + "goType": "[]byte", + "javaType": "ByteString", + "phpType": "string", + "pythonType": "str", + "rubyType": "String (ASCII-8BIT)" + } + ] +} \ No newline at end of file diff --git a/dist/json/cloudforet/api/mzc_service_api/v1/Organization.json b/dist/json/cloudforet/api/mzc_service_api/v1/Organization.json new file mode 100755 index 000000000..56166a3a3 --- /dev/null +++ b/dist/json/cloudforet/api/mzc_service_api/v1/Organization.json @@ -0,0 +1,1014 @@ +{ + "files": [ + { + "name": "spaceone/api/mzc_service_api/v1/organization.proto", + "description": "", + "package": "spaceone.api.mzc_service_api.v1", + "hasEnums": true, + "hasExtensions": false, + "hasMessages": true, + "hasServices": true, + "enums": [ + { + "name": "OrganizationState", + "longName": "OrganizationState", + "fullName": "spaceone.api.mzc_service_api.v1.OrganizationState", + "description": "", + "values": [ + { + "name": "ORGANIZATION_STATE_NONE", + "number": "0", + "description": "" + }, + { + "name": "ENABLED", + "number": "1", + "description": "" + }, + { + "name": "DISABLED", + "number": "2", + "description": "" + } + ] + } + ], + "extensions": [], + "messages": [ + { + "name": "OrganizationCreateRequest", + "longName": "OrganizationCreateRequest", + "fullName": "spaceone.api.mzc_service_api.v1.OrganizationCreateRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "name", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "description", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "industry", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "registration_number", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "country", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "address", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "contact_person", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "contact_email", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "contact_phone", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tags", + "description": "+optional", + "label": "", + "type": "Struct", + "longType": "google.protobuf.Struct", + "fullType": "google.protobuf.Struct", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrganizationInfo", + "longName": "OrganizationInfo", + "fullName": "spaceone.api.mzc_service_api.v1.OrganizationInfo", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "org_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "state", + "description": "", + "label": "", + "type": "OrganizationState", + "longType": "OrganizationState", + "fullType": "spaceone.api.mzc_service_api.v1.OrganizationState", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "description", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "industry", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "registration_number", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "country", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "address", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "contact_person", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "contact_email", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "contact_phone", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tags", + "description": "", + "label": "", + "type": "Struct", + "longType": "google.protobuf.Struct", + "fullType": "google.protobuf.Struct", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "domain_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "created_at", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "updated_at", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrganizationRequest", + "longName": "OrganizationRequest", + "fullName": "spaceone.api.mzc_service_api.v1.OrganizationRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "org_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrganizationSearchQuery", + "longName": "OrganizationSearchQuery", + "fullName": "spaceone.api.mzc_service_api.v1.OrganizationSearchQuery", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "query", + "description": "+optional", + "label": "", + "type": "Query", + "longType": "spaceone.api.core.v2.Query", + "fullType": "spaceone.api.core.v2.Query", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "org_id", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "state", + "description": "+optional", + "label": "", + "type": "OrganizationState", + "longType": "OrganizationState", + "fullType": "spaceone.api.mzc_service_api.v1.OrganizationState", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrganizationStatQuery", + "longName": "OrganizationStatQuery", + "fullName": "spaceone.api.mzc_service_api.v1.OrganizationStatQuery", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "query", + "description": "", + "label": "", + "type": "StatisticsQuery", + "longType": "spaceone.api.core.v2.StatisticsQuery", + "fullType": "spaceone.api.core.v2.StatisticsQuery", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrganizationUpdateRequest", + "longName": "OrganizationUpdateRequest", + "fullName": "spaceone.api.mzc_service_api.v1.OrganizationUpdateRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "org_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "description", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "industry", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "registration_number", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "country", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "address", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "contact_person", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "contact_email", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "contact_phone", + "description": "+optional", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tags", + "description": "+optional", + "label": "", + "type": "Struct", + "longType": "google.protobuf.Struct", + "fullType": "google.protobuf.Struct", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrganizationsInfo", + "longName": "OrganizationsInfo", + "fullName": "spaceone.api.mzc_service_api.v1.OrganizationsInfo", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "results", + "description": "", + "label": "repeated", + "type": "OrganizationInfo", + "longType": "OrganizationInfo", + "fullType": "spaceone.api.mzc_service_api.v1.OrganizationInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_count", + "description": "", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [ + { + "name": "Organization", + "longName": "Organization", + "fullName": "spaceone.api.mzc_service_api.v1.Organization", + "description": "", + "methods": [ + { + "name": "create", + "description": "", + "requestType": "OrganizationCreateRequest", + "requestLongType": "OrganizationCreateRequest", + "requestFullType": "spaceone.api.mzc_service_api.v1.OrganizationCreateRequest", + "requestStreaming": false, + "responseType": "OrganizationInfo", + "responseLongType": "OrganizationInfo", + "responseFullType": "spaceone.api.mzc_service_api.v1.OrganizationInfo", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/organization/create", + "body": "*" + } + ] + } + } + }, + { + "name": "update", + "description": "", + "requestType": "OrganizationUpdateRequest", + "requestLongType": "OrganizationUpdateRequest", + "requestFullType": "spaceone.api.mzc_service_api.v1.OrganizationUpdateRequest", + "requestStreaming": false, + "responseType": "OrganizationInfo", + "responseLongType": "OrganizationInfo", + "responseFullType": "spaceone.api.mzc_service_api.v1.OrganizationInfo", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/organization/update", + "body": "*" + } + ] + } + } + }, + { + "name": "enable", + "description": "", + "requestType": "OrganizationRequest", + "requestLongType": "OrganizationRequest", + "requestFullType": "spaceone.api.mzc_service_api.v1.OrganizationRequest", + "requestStreaming": false, + "responseType": "OrganizationInfo", + "responseLongType": "OrganizationInfo", + "responseFullType": "spaceone.api.mzc_service_api.v1.OrganizationInfo", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/organization/enable", + "body": "*" + } + ] + } + } + }, + { + "name": "disable", + "description": "", + "requestType": "OrganizationRequest", + "requestLongType": "OrganizationRequest", + "requestFullType": "spaceone.api.mzc_service_api.v1.OrganizationRequest", + "requestStreaming": false, + "responseType": "OrganizationInfo", + "responseLongType": "OrganizationInfo", + "responseFullType": "spaceone.api.mzc_service_api.v1.OrganizationInfo", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/organization/disable", + "body": "*" + } + ] + } + } + }, + { + "name": "delete", + "description": "", + "requestType": "OrganizationRequest", + "requestLongType": "OrganizationRequest", + "requestFullType": "spaceone.api.mzc_service_api.v1.OrganizationRequest", + "requestStreaming": false, + "responseType": "Empty", + "responseLongType": ".google.protobuf.Empty", + "responseFullType": "google.protobuf.Empty", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/organization/delete", + "body": "*" + } + ] + } + } + }, + { + "name": "get", + "description": "", + "requestType": "OrganizationRequest", + "requestLongType": "OrganizationRequest", + "requestFullType": "spaceone.api.mzc_service_api.v1.OrganizationRequest", + "requestStreaming": false, + "responseType": "OrganizationInfo", + "responseLongType": "OrganizationInfo", + "responseFullType": "spaceone.api.mzc_service_api.v1.OrganizationInfo", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/organization/get", + "body": "*" + } + ] + } + } + }, + { + "name": "list", + "description": "", + "requestType": "OrganizationSearchQuery", + "requestLongType": "OrganizationSearchQuery", + "requestFullType": "spaceone.api.mzc_service_api.v1.OrganizationSearchQuery", + "requestStreaming": false, + "responseType": "OrganizationsInfo", + "responseLongType": "OrganizationsInfo", + "responseFullType": "spaceone.api.mzc_service_api.v1.OrganizationsInfo", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/organization/list", + "body": "*" + } + ] + } + } + }, + { + "name": "stat", + "description": "", + "requestType": "OrganizationStatQuery", + "requestLongType": "OrganizationStatQuery", + "requestFullType": "spaceone.api.mzc_service_api.v1.OrganizationStatQuery", + "requestStreaming": false, + "responseType": "Struct", + "responseLongType": ".google.protobuf.Struct", + "responseFullType": "google.protobuf.Struct", + "responseStreaming": false, + "options": { + "google.api.http": { + "rules": [ + { + "method": "POST", + "pattern": "/mzc-service-api/v1/organization/stat", + "body": "*" + } + ] + } + } + } + ] + } + ] + } + ], + "scalarValueTypes": [ + { + "protoType": "double", + "notes": "", + "cppType": "double", + "csType": "double", + "goType": "float64", + "javaType": "double", + "phpType": "float", + "pythonType": "float", + "rubyType": "Float" + }, + { + "protoType": "float", + "notes": "", + "cppType": "float", + "csType": "float", + "goType": "float32", + "javaType": "float", + "phpType": "float", + "pythonType": "float", + "rubyType": "Float" + }, + { + "protoType": "int32", + "notes": "Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.", + "cppType": "int32", + "csType": "int", + "goType": "int32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "int64", + "notes": "Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.", + "cppType": "int64", + "csType": "long", + "goType": "int64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum" + }, + { + "protoType": "uint32", + "notes": "Uses variable-length encoding.", + "cppType": "uint32", + "csType": "uint", + "goType": "uint32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int/long", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "uint64", + "notes": "Uses variable-length encoding.", + "cppType": "uint64", + "csType": "ulong", + "goType": "uint64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "sint32", + "notes": "Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.", + "cppType": "int32", + "csType": "int", + "goType": "int32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "sint64", + "notes": "Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.", + "cppType": "int64", + "csType": "long", + "goType": "int64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum" + }, + { + "protoType": "fixed32", + "notes": "Always four bytes. More efficient than uint32 if values are often greater than 2^28.", + "cppType": "uint32", + "csType": "uint", + "goType": "uint32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "fixed64", + "notes": "Always eight bytes. More efficient than uint64 if values are often greater than 2^56.", + "cppType": "uint64", + "csType": "ulong", + "goType": "uint64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum" + }, + { + "protoType": "sfixed32", + "notes": "Always four bytes.", + "cppType": "int32", + "csType": "int", + "goType": "int32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "sfixed64", + "notes": "Always eight bytes.", + "cppType": "int64", + "csType": "long", + "goType": "int64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum" + }, + { + "protoType": "bool", + "notes": "", + "cppType": "bool", + "csType": "bool", + "goType": "bool", + "javaType": "boolean", + "phpType": "boolean", + "pythonType": "boolean", + "rubyType": "TrueClass/FalseClass" + }, + { + "protoType": "string", + "notes": "A string must always contain UTF-8 encoded or 7-bit ASCII text.", + "cppType": "string", + "csType": "string", + "goType": "string", + "javaType": "String", + "phpType": "string", + "pythonType": "str/unicode", + "rubyType": "String (UTF-8)" + }, + { + "protoType": "bytes", + "notes": "May contain any arbitrary sequence of bytes.", + "cppType": "string", + "csType": "ByteString", + "goType": "[]byte", + "javaType": "ByteString", + "phpType": "string", + "pythonType": "str", + "rubyType": "String (ASCII-8BIT)" + } + ] +} \ No newline at end of file diff --git a/dist/openapi/cloudforet/api/mzc_service_api/v1/openapi.json b/dist/openapi/cloudforet/api/mzc_service_api/v1/openapi.json new file mode 100755 index 000000000..e31e89893 --- /dev/null +++ b/dist/openapi/cloudforet/api/mzc_service_api/v1/openapi.json @@ -0,0 +1,947 @@ +{ + "openapi": "3.1.0", + "externalDocs":{ + "description": "Home", + "url": "/docs" + }, + "info": { + "title": "Mzc Service Api API", + "version": "3.1.0" + }, + "paths":{"/mzc-service-api/organization/create": { + "post": { + "tags": ["mzc-service-api > organization"], + "summary": "Create", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |description||string||\n |industry||string||\n |registration_number||string||\n |country||string||\n |address||string||\n |contact_person||string||\n |contact_email||string||\n |contact_phone||string||\n |tags||Struct||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"name" : {"type": "string","title": "NAME" },"description" : {"type": "string","title": "DESCRIPTION" },"industry" : {"type": "string","title": "INDUSTRY" },"registration_number" : {"type": "string","title": "REGISTRATION_NUMBER" },"country" : {"type": "string","title": "COUNTRY" },"address" : {"type": "string","title": "ADDRESS" },"contact_person" : {"type": "string","title": "CONTACT_PERSON" },"contact_email" : {"type": "string","title": "CONTACT_EMAIL" },"contact_phone" : {"type": "string","title": "CONTACT_PHONE" },"tags" : {"type": "object","title": "TAGS" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/OrganizationInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/OrganizationInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/organization/update": { + "post": { + "tags": ["mzc-service-api > organization"], + "summary": "Update", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |org_id||string|True|\n |name||string|True|\n |description||string||\n |industry||string||\n |registration_number||string||\n |country||string||\n |address||string||\n |contact_person||string||\n |contact_email||string||\n |contact_phone||string||\n |tags||Struct||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"org_id" : {"type": "string","title": "ORG_ID" },"name" : {"type": "string","title": "NAME" },"description" : {"type": "string","title": "DESCRIPTION" },"industry" : {"type": "string","title": "INDUSTRY" },"registration_number" : {"type": "string","title": "REGISTRATION_NUMBER" },"country" : {"type": "string","title": "COUNTRY" },"address" : {"type": "string","title": "ADDRESS" },"contact_person" : {"type": "string","title": "CONTACT_PERSON" },"contact_email" : {"type": "string","title": "CONTACT_EMAIL" },"contact_phone" : {"type": "string","title": "CONTACT_PHONE" },"tags" : {"type": "object","title": "TAGS" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/OrganizationInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/OrganizationInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/organization/enable": { + "post": { + "tags": ["mzc-service-api > organization"], + "summary": "Enable", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |org_id||string|True|\n
", + "content": { + "application/json": { + "schema": { + "properties": {"org_id" : {"type": "string","title": "ORG_ID" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/OrganizationInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/OrganizationInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/organization/disable": { + "post": { + "tags": ["mzc-service-api > organization"], + "summary": "Disable", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |org_id||string|True|\n
", + "content": { + "application/json": { + "schema": { + "properties": {"org_id" : {"type": "string","title": "ORG_ID" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/OrganizationInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/OrganizationInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/organization/delete": { + "post": { + "tags": ["mzc-service-api > organization"], + "summary": "Delete", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |org_id||string|True|\n
", + "content": { + "application/json": { + "schema": { + "properties": {"org_id" : {"type": "string","title": "ORG_ID" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response"} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/organization/get": { + "post": { + "tags": ["mzc-service-api > organization"], + "summary": "Get", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |org_id||string|True|\n
", + "content": { + "application/json": { + "schema": { + "properties": {"org_id" : {"type": "string","title": "ORG_ID" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/OrganizationInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/OrganizationInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/organization/list": { + "post": { + "tags": ["mzc-service-api > organization"], + "summary": "List", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |org_id||string||\n |name||string||\n |state|ENABLED, DISABLED |string||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"org_id" : {"type": "string","title": "ORG_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/OrganizationsInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/OrganizationsInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/organization/stat": { + "post": { + "tags": ["mzc-service-api > organization"], + "summary": "Stat", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "content": { + "application/json": { + "schema": { + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"type": "object"}, + "examples": { + "Schema": {"type": "object"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/contract/create": { + "post": { + "tags": ["mzc-service-api > contract"], + "summary": "Create", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |org_id||string|True|\n |offering_id||string|True|\n |start_date||string|True|\n |end_date||string|True|\n |name||string||\n |description||string||\n |signed_date||string||\n |renewal_type|AUTO, MANUAL, NOT_RENEW |string||\n |tags||Struct||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"org_id" : {"type": "string","title": "ORG_ID" },"offering_id" : {"type": "string","title": "OFFERING_ID" },"name" : {"type": "string","title": "NAME" },"description" : {"type": "string","title": "DESCRIPTION" },"start_date" : {"type": "string","title": "START_DATE" },"end_date" : {"type": "string","title": "END_DATE" },"signed_date" : {"type": "string","title": "SIGNED_DATE" },"renewal_type" : {"type": "string","title": "RENEWAL_TYPE" },"tags" : {"type": "object","title": "TAGS" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/ContractInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/ContractInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/contract/update": { + "post": { + "tags": ["mzc-service-api > contract"], + "summary": "Update", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |contract_id||string|True|\n |name||string||\n |description||string||\n |start_date||string||\n |end_date||string||\n |signed_date||string||\n |renewal_type|AUTO, MANUAL, NOT_RENEW |string||\n |tags||Struct||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"contract_id" : {"type": "string","title": "CONTRACT_ID" },"name" : {"type": "string","title": "NAME" },"description" : {"type": "string","title": "DESCRIPTION" },"start_date" : {"type": "string","title": "START_DATE" },"end_date" : {"type": "string","title": "END_DATE" },"signed_date" : {"type": "string","title": "SIGNED_DATE" },"renewal_type" : {"type": "string","title": "RENEWAL_TYPE" },"tags" : {"type": "object","title": "TAGS" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/ContractInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/ContractInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/contract/terminate": { + "post": { + "tags": ["mzc-service-api > contract"], + "summary": "Terminate", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |contract_id||string|True|\n
", + "content": { + "application/json": { + "schema": { + "properties": {"contract_id" : {"type": "string","title": "CONTRACT_ID" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response"} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/contract/get": { + "post": { + "tags": ["mzc-service-api > contract"], + "summary": "Get", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |contract_id||string|True|\n
", + "content": { + "application/json": { + "schema": { + "properties": {"contract_id" : {"type": "string","title": "CONTRACT_ID" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/ContractInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/ContractInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/contract/list": { + "post": { + "tags": ["mzc-service-api > contract"], + "summary": "List", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |contract_id||string||\n |org_id||string||\n |offering_id||string||\n |status|ACTIVE, TERMINATED, EXPIRED |string||\n |renewal_type|AUTO, MANUAL, NOT_RENEW |string||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"contract_id" : {"type": "string","title": "CONTRACT_ID" },"org_id" : {"type": "string","title": "ORG_ID" },"offering_id" : {"type": "string","title": "OFFERING_ID" },"status" : {"type": "string","title": "STATUS" },"renewal_type" : {"type": "string","title": "RENEWAL_TYPE" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/ContractsInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/ContractsInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/contract/stat": { + "post": { + "tags": ["mzc-service-api > contract"], + "summary": "Stat", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "content": { + "application/json": { + "schema": { + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"type": "object"}, + "examples": { + "Schema": {"type": "object"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/offering/create": { + "post": { + "tags": ["mzc-service-api > offering"], + "summary": "Create", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |category||string|True|\n |price||float||\n |currency||string||\n |description||string||\n |terms||string||\n |website_url||string||\n |tags||Struct||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"name" : {"type": "string","title": "NAME" },"category" : {"type": "string","title": "CATEGORY" },"price" : {"type": "float","title": "PRICE" },"currency" : {"type": "string","title": "CURRENCY" },"description" : {"type": "string","title": "DESCRIPTION" },"terms" : {"type": "string","title": "TERMS" },"website_url" : {"type": "string","title": "WEBSITE_URL" },"tags" : {"type": "object","title": "TAGS" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/OfferingInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/OfferingInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/offering/update": { + "post": { + "tags": ["mzc-service-api > offering"], + "summary": "Update", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |offering_id||string|True|\n |name||string||\n |status|AVAILABLE, UNAVAILABLE, DISCONTINUED |string||\n |price||float||\n |currency||string||\n |description||string||\n |terms||string||\n |website_url||string||\n |tags||Struct||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"offering_id" : {"type": "string","title": "OFFERING_ID" },"name" : {"type": "string","title": "NAME" },"status" : {"type": "string","title": "STATUS" },"price" : {"type": "float","title": "PRICE" },"currency" : {"type": "string","title": "CURRENCY" },"description" : {"type": "string","title": "DESCRIPTION" },"terms" : {"type": "string","title": "TERMS" },"website_url" : {"type": "string","title": "WEBSITE_URL" },"tags" : {"type": "object","title": "TAGS" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/OfferingInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/OfferingInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/offering/delete": { + "post": { + "tags": ["mzc-service-api > offering"], + "summary": "Delete", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |offering_id||string|True|\n
", + "content": { + "application/json": { + "schema": { + "properties": {"offering_id" : {"type": "string","title": "OFFERING_ID" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response"} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/offering/get": { + "post": { + "tags": ["mzc-service-api > offering"], + "summary": "Get", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |offering_id||string|True|\n
", + "content": { + "application/json": { + "schema": { + "properties": {"offering_id" : {"type": "string","title": "OFFERING_ID" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/OfferingInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/OfferingInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/offering/list": { + "post": { + "tags": ["mzc-service-api > offering"], + "summary": "List", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |offering_id||string||\n |name||string||\n |status|AVAILABLE, UNAVAILABLE, DISCONTINUED |string||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"offering_id" : {"type": "string","title": "OFFERING_ID" },"name" : {"type": "string","title": "NAME" },"status" : {"type": "string","title": "STATUS" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/OfferingsInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/OfferingsInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/mzc-service-api/offering/stat": { + "post": { + "tags": ["mzc-service-api > offering"], + "summary": "Stat", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "content": { + "application/json": { + "schema": { + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"type": "object"}, + "examples": { + "Schema": {"type": "object"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"securitySchemes": {"HTTPBearer": {"type": "http","scheme": "bearer","bearerFormat": "JWT"}} + }, + "components":{ + "schemas": { + "OrganizationCreateRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"description" : {"type": "string","title": "DESCRIPTION"},"industry" : {"type": "string","title": "INDUSTRY"},"registration_number" : {"type": "string","title": "REGISTRATION_NUMBER"},"country" : {"type": "string","title": "COUNTRY"},"address" : {"type": "string","title": "ADDRESS"},"contact_person" : {"type": "string","title": "CONTACT_PERSON"},"contact_email" : {"type": "string","title": "CONTACT_EMAIL"},"contact_phone" : {"type": "string","title": "CONTACT_PHONE"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["name"], + "title": "OrganizationCreateRequest" + } + , "OrganizationInfo": { + "properties" : {"org_id" : {"type": "string","title": "ORG_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"description" : {"type": "string","title": "DESCRIPTION"},"industry" : {"type": "string","title": "INDUSTRY"},"registration_number" : {"type": "string","title": "REGISTRATION_NUMBER"},"country" : {"type": "string","title": "COUNTRY"},"address" : {"type": "string","title": "ADDRESS"},"contact_person" : {"type": "string","title": "CONTACT_PERSON"},"contact_email" : {"type": "string","title": "CONTACT_EMAIL"},"contact_phone" : {"type": "string","title": "CONTACT_PHONE"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + "type": "object", + "required": ["org_id","name","state","description","industry","registration_number","country","address","contact_person","contact_email","contact_phone","tags","domain_id","created_at","updated_at"], + "title": "OrganizationInfo" + } + , "OrganizationRequest": { + "properties" : {"org_id" : {"type": "string","title": "ORG_ID"}}, + "type": "object", + "required": ["org_id"], + "title": "OrganizationRequest" + } + , "OrganizationSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"org_id" : {"type": "string","title": "ORG_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"}}, + "type": "object", + "required": [], + "title": "OrganizationSearchQuery" + } + , "OrganizationStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + "type": "object", + "required": ["query"], + "title": "OrganizationStatQuery" + } + , "OrganizationUpdateRequest": { + "properties" : {"org_id" : {"type": "string","title": "ORG_ID"},"name" : {"type": "string","title": "NAME"},"description" : {"type": "string","title": "DESCRIPTION"},"industry" : {"type": "string","title": "INDUSTRY"},"registration_number" : {"type": "string","title": "REGISTRATION_NUMBER"},"country" : {"type": "string","title": "COUNTRY"},"address" : {"type": "string","title": "ADDRESS"},"contact_person" : {"type": "string","title": "CONTACT_PERSON"},"contact_email" : {"type": "string","title": "CONTACT_EMAIL"},"contact_phone" : {"type": "string","title": "CONTACT_PHONE"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["org_id","name"], + "title": "OrganizationUpdateRequest" + } + , "OrganizationsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/OrganizationInfo"}, + "type": "array","$ref": "#/components/schemas/OrganizationInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "OrganizationsInfo" + } + , "AuthenticationRequest": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + "type": "object", + "required": ["domain_id"], + "title": "AuthenticationRequest" + } + , "AuthenticationResponse": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"public_key" : {"type": "string","title": "PUBLIC_KEY"}}, + "type": "object", + "required": ["domain_id","public_key"], + "title": "AuthenticationResponse" + } + , "AuthorizationRequest": { + "properties" : {"service" : {"type": "string","title": "SERVICE"},"resource" : {"type": "string","title": "RESOURCE"},"verb" : {"type": "string","title": "VERB"},"scope" : {"type": "Scope","title": "SCOPE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"user_id" : {"type": "string","title": "USER_ID"},"require_project_id" : {"type": "boolean","title": "REQUIRE_PROJECT_ID"},"require_project_group_id" : {"type": "boolean","title": "REQUIRE_PROJECT_GROUP_ID"},"require_user_id" : {"type": "boolean","title": "REQUIRE_USER_ID"},"require_domain_id" : {"type": "boolean","title": "REQUIRE_DOMAIN_ID"}}, + "type": "object", + "required": ["service","resource","verb","scope","domain_id","project_id","project_group_id","user_id","require_project_id","require_project_group_id","require_user_id","require_domain_id"], + "title": "AuthorizationRequest" + } + , "AuthorizationResponse": { + "properties" : {"role_type" : {"type": "string","title": "ROLE_TYPE"},"projects" : {"items": {"type": "string"}, + "type": "array","title": "PROJECTS"},"project_groups" : {"items": {"type": "string"}, + "type": "array","title": "PROJECT_GROUPS"}}, + "type": "object", + "required": ["role_type","projects","project_groups"], + "title": "AuthorizationResponse" + } + , "EventRequest": { + "properties" : {"service" : {"type": "string","title": "SERVICE"},"resource" : {"type": "string","title": "RESOURCE"},"verb" : {"type": "string","title": "VERB"},"status" : {"type": "string","title": "STATUS"},"message" : {"type": "object","title": "MESSAGE"}}, + "type": "object", + "required": ["service","resource","verb","status","message"], + "title": "EventRequest" + } + , "VersionInfo": { + "properties" : {"version" : {"type": "string","title": "VERSION"}}, + "type": "object", + "required": ["version"], + "title": "VersionInfo" + } + , "AggregateCount": { + "properties" : {"name" : {"type": "string","title": "NAME"}}, + "type": "object", + "required": ["name"], + "title": "AggregateCount" + } + , "AggregateGroup": { + "properties" : {"keys" : {"items": {"$ref": "#/components/schemas/AggregateGroupKey"}, + "type": "array","$ref": "#/components/schemas/AggregateGroupKey","title": "KEYS"},"fields" : {"items": {"$ref": "#/components/schemas/AggregateGroupField"}, + "type": "array","$ref": "#/components/schemas/AggregateGroupField","title": "FIELDS"}}, + "type": "object", + "required": ["keys","fields"], + "title": "AggregateGroup" + } + , "AggregateGroupField": { + "properties" : {"key" : {"type": "string","title": "KEY"},"k" : {"type": "string","title": "K"},"name" : {"type": "string","title": "NAME"},"n" : {"type": "string","title": "N"},"operator" : {"type": "string","title": "OPERATOR"},"o" : {"type": "string","title": "O"},"fields" : {"items": {"$ref": "#/components/schemas/AggregateGroupSubField"}, + "type": "array","$ref": "#/components/schemas/AggregateGroupSubField","title": "FIELDS"},"conditions" : {"items": {"$ref": "#/components/schemas/AggregateSubCondition"}, + "type": "array","$ref": "#/components/schemas/AggregateSubCondition","title": "CONDITIONS"}}, + "type": "object", + "required": ["key","k","name","n","operator","o","fields","conditions"], + "title": "AggregateGroupField" + } + , "AggregateGroupKey": { + "properties" : {"key" : {"type": "string","title": "KEY"},"k" : {"type": "string","title": "K"},"name" : {"type": "string","title": "NAME"},"n" : {"type": "string","title": "N"},"date_format" : {"type": "string","title": "DATE_FORMAT"}}, + "type": "object", + "required": ["key","k","name","n","date_format"], + "title": "AggregateGroupKey" + } + , "AggregateGroupSubField": { + "properties" : {"key" : {"type": "string","title": "KEY"},"k" : {"type": "string","title": "K"},"name" : {"type": "string","title": "NAME"},"n" : {"type": "string","title": "N"}}, + "type": "object", + "required": ["key","k","name","n"], + "title": "AggregateGroupSubField" + } + , "AggregateProject": { + "properties" : {"fields" : {"items": {"$ref": "#/components/schemas/AggregateProjectField"}, + "type": "array","$ref": "#/components/schemas/AggregateProjectField","title": "FIELDS"},"exclude_keys" : {"type": "boolean","title": "EXCLUDE_KEYS"}}, + "type": "object", + "required": ["fields","exclude_keys"], + "title": "AggregateProject" + } + , "AggregateProjectField": { + "properties" : {"key" : {"type": "string","title": "KEY"},"k" : {"type": "string","title": "K"},"name" : {"type": "string","title": "NAME"},"n" : {"type": "string","title": "N"},"operator" : {"type": "string","title": "OPERATOR"},"o" : {"type": "string","title": "O"}}, + "type": "object", + "required": ["key","k","name","n","operator","o"], + "title": "AggregateProjectField" + } + , "AggregateSort": { + "properties" : {"key" : {"type": "string","title": "KEY"},"desc" : {"type": "boolean","title": "DESC"},"keys" : {"items": {"$ref": "#/components/schemas/SortKey"}, + "type": "array","$ref": "#/components/schemas/SortKey","title": "KEYS"}}, + "type": "object", + "required": ["key","desc","keys"], + "title": "AggregateSort" + } + , "AggregateSubCondition": { + "properties" : {"key" : {"type": "string","title": "KEY"},"k" : {"type": "string","title": "K"},"value" : {"type": "Value","title": "VALUE"},"v" : {"type": "Value","title": "V"},"operator" : {"type": "string","title": "OPERATOR"},"o" : {"type": "string","title": "O"}}, + "type": "object", + "required": ["key","k","value","v","operator","o"], + "title": "AggregateSubCondition" + } + , "AggregateUnwind": { + "properties" : {"path" : {"type": "string","title": "PATH"}}, + "type": "object", + "required": ["path"], + "title": "AggregateUnwind" + } + , "AnalyzeQuery": { + "properties" : {"group_by" : {"items": {"type": "string"}, + "type": "array","title": "GROUP_BY"},"field_group" : {"items": {"type": "string"}, + "type": "array","title": "FIELD_GROUP"},"filter" : {"items": {"$ref": "#/components/schemas/Filter"}, + "type": "array","$ref": "#/components/schemas/Filter","title": "FILTER"},"filter_or" : {"items": {"$ref": "#/components/schemas/Filter"}, + "type": "array","$ref": "#/components/schemas/Filter","title": "FILTER_OR"},"page" : {"$ref": "#/components/schemas/Page","title": "PAGE"},"sort" : {"items": {"$ref": "#/components/schemas/SortKey"}, + "type": "array","$ref": "#/components/schemas/SortKey","title": "SORT"},"fields" : {"type": "object","title": "FIELDS"},"select" : {"type": "object","title": "SELECT"},"keyword" : {"type": "string","title": "KEYWORD"}}, + "type": "object", + "required": ["group_by","field_group","filter","filter_or","page","sort","fields","select","keyword"], + "title": "AnalyzeQuery" + } + , "ExportAnalyzeQuery": { + "properties" : {"filter" : {"items": {"$ref": "#/components/schemas/Filter"}, + "type": "array","$ref": "#/components/schemas/Filter","title": "FILTER"},"filter_or" : {"items": {"$ref": "#/components/schemas/Filter"}, + "type": "array","$ref": "#/components/schemas/Filter","title": "FILTER_OR"},"keyword" : {"type": "string","title": "KEYWORD"},"sort" : {"items": {"$ref": "#/components/schemas/SortKey"}, + "type": "array","$ref": "#/components/schemas/SortKey","title": "SORT"},"group_by" : {"items": {"type": "string"}, + "type": "array","title": "GROUP_BY"},"fields" : {"type": "object","title": "FIELDS"},"select" : {"type": "object","title": "SELECT"},"page" : {"$ref": "#/components/schemas/Page","title": "PAGE"}}, + "type": "object", + "required": ["filter","filter_or","keyword","sort","group_by","fields","select","page"], + "title": "ExportAnalyzeQuery" + } + , "ExportOption": { + "properties" : {"name" : {"type": "string","title": "NAME"},"title" : {"type": "string","title": "TITLE"},"query_type" : {"type": "QueryType","title": "QUERY_TYPE"},"search_query" : {"$ref": "#/components/schemas/ExportSearchQuery","title": "SEARCH_QUERY"},"analyze_query" : {"$ref": "#/components/schemas/ExportAnalyzeQuery","title": "ANALYZE_QUERY"}}, + "type": "object", + "required": ["name","title","query_type","search_query","analyze_query"], + "title": "ExportOption" + } + , "ExportSearchQuery": { + "properties" : {"filter" : {"items": {"$ref": "#/components/schemas/Filter"}, + "type": "array","$ref": "#/components/schemas/Filter","title": "FILTER"},"filter_or" : {"items": {"$ref": "#/components/schemas/Filter"}, + "type": "array","$ref": "#/components/schemas/Filter","title": "FILTER_OR"},"keyword" : {"type": "string","title": "KEYWORD"},"sort" : {"items": {"$ref": "#/components/schemas/SortKey"}, + "type": "array","$ref": "#/components/schemas/SortKey","title": "SORT"},"fields" : {"type": "array","title": "FIELDS"},"unwind" : {"$ref": "#/components/schemas/Unwind","title": "UNWIND"},"page" : {"$ref": "#/components/schemas/Page","title": "PAGE"}}, + "type": "object", + "required": ["filter","filter_or","keyword","sort","fields","unwind","page"], + "title": "ExportSearchQuery" + } + , "Filter": { + "properties" : {"key" : {"type": "string","title": "KEY"},"k" : {"type": "string","title": "K"},"value" : {"type": "Value","title": "VALUE"},"v" : {"type": "Value","title": "V"},"operator" : {"type": "string","title": "OPERATOR"},"o" : {"type": "string","title": "O"}}, + "type": "object", + "required": ["key","k","value","v","operator","o"], + "title": "Filter" + } + , "Page": { + "properties" : {"start" : {"type": "integer/long","title": "START"},"limit" : {"type": "integer/long","title": "LIMIT"}}, + "type": "object", + "required": ["start","limit"], + "title": "Page" + } + , "Query": { + "properties" : {"filter" : {"items": {"$ref": "#/components/schemas/Filter"}, + "type": "array","$ref": "#/components/schemas/Filter","title": "FILTER"},"filter_or" : {"items": {"$ref": "#/components/schemas/Filter"}, + "type": "array","$ref": "#/components/schemas/Filter","title": "FILTER_OR"},"sort" : {"$ref": "#/components/schemas/Sort","title": "SORT"},"page" : {"$ref": "#/components/schemas/Page","title": "PAGE"},"minimal" : {"type": "boolean","title": "MINIMAL"},"count_only" : {"type": "boolean","title": "COUNT_ONLY"},"only" : {"items": {"type": "string"}, + "type": "array","title": "ONLY"},"keyword" : {"type": "string","title": "KEYWORD"},"unwind" : {"$ref": "#/components/schemas/Unwind","title": "UNWIND"}}, + "type": "object", + "required": ["filter","filter_or","sort","page","minimal","count_only","only","keyword","unwind"], + "title": "Query" + } + , "Sort": { + "properties" : {"key" : {"type": "string","title": "KEY"},"desc" : {"type": "boolean","title": "DESC"},"keys" : {"items": {"$ref": "#/components/schemas/SortKey"}, + "type": "array","$ref": "#/components/schemas/SortKey","title": "KEYS"}}, + "type": "object", + "required": ["key","desc","keys"], + "title": "Sort" + } + , "SortKey": { + "properties" : {"key" : {"type": "string","title": "KEY"},"desc" : {"type": "boolean","title": "DESC"}}, + "type": "object", + "required": ["key","desc"], + "title": "SortKey" + } + , "StatisticsAggregate": { + "properties" : {"unwind" : {"$ref": "#/components/schemas/AggregateUnwind","title": "UNWIND"},"group" : {"$ref": "#/components/schemas/AggregateGroup","title": "GROUP"},"count" : {"$ref": "#/components/schemas/AggregateCount","title": "COUNT"},"sort" : {"$ref": "#/components/schemas/AggregateSort","title": "SORT"},"project" : {"$ref": "#/components/schemas/AggregateProject","title": "PROJECT"},"limit" : {"type": "integer","title": "LIMIT"},"skip" : {"type": "integer","title": "SKIP"}}, + "type": "object", + "required": ["unwind","group","count","sort","project","limit","skip"], + "title": "StatisticsAggregate" + } + , "StatisticsQuery": { + "properties" : {"filter" : {"items": {"$ref": "#/components/schemas/Filter"}, + "type": "array","$ref": "#/components/schemas/Filter","title": "FILTER"},"filter_or" : {"items": {"$ref": "#/components/schemas/Filter"}, + "type": "array","$ref": "#/components/schemas/Filter","title": "FILTER_OR"},"aggregate" : {"items": {"$ref": "#/components/schemas/StatisticsAggregate"}, + "type": "array","$ref": "#/components/schemas/StatisticsAggregate","title": "AGGREGATE"},"page" : {"$ref": "#/components/schemas/Page","title": "PAGE"},"distinct" : {"type": "string","title": "DISTINCT"},"keyword" : {"type": "string","title": "KEYWORD"}}, + "type": "object", + "required": ["filter","filter_or","aggregate","page","distinct","keyword"], + "title": "StatisticsQuery" + } + , "TimeSeriesAnalyzeQuery": { + "properties" : {"granularity" : {"type": "Granularity","title": "GRANULARITY"},"start" : {"type": "string","title": "START"},"end" : {"type": "string","title": "END"},"group_by" : {"items": {"type": "string"}, + "type": "array","title": "GROUP_BY"},"field_group" : {"items": {"type": "string"}, + "type": "array","title": "FIELD_GROUP"},"filter" : {"items": {"$ref": "#/components/schemas/Filter"}, + "type": "array","$ref": "#/components/schemas/Filter","title": "FILTER"},"filter_or" : {"items": {"$ref": "#/components/schemas/Filter"}, + "type": "array","$ref": "#/components/schemas/Filter","title": "FILTER_OR"},"page" : {"$ref": "#/components/schemas/Page","title": "PAGE"},"sort" : {"items": {"$ref": "#/components/schemas/SortKey"}, + "type": "array","$ref": "#/components/schemas/SortKey","title": "SORT"},"fields" : {"type": "object","title": "FIELDS"},"select" : {"type": "object","title": "SELECT"},"keyword" : {"type": "string","title": "KEYWORD"}}, + "type": "object", + "required": ["granularity","start","end","group_by","field_group","filter","filter_or","page","sort","fields","select","keyword"], + "title": "TimeSeriesAnalyzeQuery" + } + , "Unwind": { + "properties" : {"path" : {"type": "string","title": "PATH"},"filter" : {"items": {"$ref": "#/components/schemas/Filter"}, + "type": "array","$ref": "#/components/schemas/Filter","title": "FILTER"}}, + "type": "object", + "required": ["path","filter"], + "title": "Unwind" + } + , "ContractCreateRequest": { + "properties" : {"org_id" : {"type": "string","title": "ORG_ID"},"offering_id" : {"type": "string","title": "OFFERING_ID"},"name" : {"type": "string","title": "NAME"},"description" : {"type": "string","title": "DESCRIPTION"},"start_date" : {"type": "string","title": "START_DATE"},"end_date" : {"type": "string","title": "END_DATE"},"signed_date" : {"type": "string","title": "SIGNED_DATE"},"renewal_type" : {"type": "string","title": "RENEWAL_TYPE"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["org_id","offering_id","start_date","end_date"], + "title": "ContractCreateRequest" + } + , "ContractInfo": { + "properties" : {"contract_id" : {"type": "string","title": "CONTRACT_ID"},"org_id" : {"type": "string","title": "ORG_ID"},"offering_id" : {"type": "string","title": "OFFERING_ID"},"name" : {"type": "string","title": "NAME"},"status" : {"type": "string","title": "STATUS"},"description" : {"type": "string","title": "DESCRIPTION"},"start_date" : {"type": "string","title": "START_DATE"},"end_date" : {"type": "string","title": "END_DATE"},"signed_date" : {"type": "string","title": "SIGNED_DATE"},"renewal_type" : {"type": "string","title": "RENEWAL_TYPE"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + "type": "object", + "required": ["contract_id","org_id","offering_id","name","status","description","start_date","end_date","signed_date","renewal_type","tags","domain_id","created_at","updated_at"], + "title": "ContractInfo" + } + , "ContractRequest": { + "properties" : {"contract_id" : {"type": "string","title": "CONTRACT_ID"}}, + "type": "object", + "required": ["contract_id"], + "title": "ContractRequest" + } + , "ContractSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"contract_id" : {"type": "string","title": "CONTRACT_ID"},"org_id" : {"type": "string","title": "ORG_ID"},"offering_id" : {"type": "string","title": "OFFERING_ID"},"status" : {"type": "string","title": "STATUS"},"renewal_type" : {"type": "string","title": "RENEWAL_TYPE"}}, + "type": "object", + "required": [], + "title": "ContractSearchQuery" + } + , "ContractStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + "type": "object", + "required": ["query"], + "title": "ContractStatQuery" + } + , "ContractUpdateRequest": { + "properties" : {"contract_id" : {"type": "string","title": "CONTRACT_ID"},"name" : {"type": "string","title": "NAME"},"description" : {"type": "string","title": "DESCRIPTION"},"start_date" : {"type": "string","title": "START_DATE"},"end_date" : {"type": "string","title": "END_DATE"},"signed_date" : {"type": "string","title": "SIGNED_DATE"},"renewal_type" : {"type": "string","title": "RENEWAL_TYPE"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["contract_id"], + "title": "ContractUpdateRequest" + } + , "ContractsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/ContractInfo"}, + "type": "array","$ref": "#/components/schemas/ContractInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "ContractsInfo" + } + , "OfferingCreateRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"category" : {"type": "string","title": "CATEGORY"},"price" : {"type": "float","title": "PRICE"},"currency" : {"type": "string","title": "CURRENCY"},"description" : {"type": "string","title": "DESCRIPTION"},"terms" : {"type": "string","title": "TERMS"},"website_url" : {"type": "string","title": "WEBSITE_URL"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["name","category"], + "title": "OfferingCreateRequest" + } + , "OfferingInfo": { + "properties" : {"offering_id" : {"type": "string","title": "OFFERING_ID"},"name" : {"type": "string","title": "NAME"},"category" : {"type": "string","title": "CATEGORY"},"status" : {"type": "string","title": "STATUS"},"price" : {"type": "float","title": "PRICE"},"currency" : {"type": "string","title": "CURRENCY"},"description" : {"type": "string","title": "DESCRIPTION"},"terms" : {"type": "string","title": "TERMS"},"website_url" : {"type": "string","title": "WEBSITE_URL"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + "type": "object", + "required": ["offering_id","name","category","status","price","currency","description","terms","website_url","tags","domain_id","created_at","updated_at"], + "title": "OfferingInfo" + } + , "OfferingRequest": { + "properties" : {"offering_id" : {"type": "string","title": "OFFERING_ID"}}, + "type": "object", + "required": ["offering_id"], + "title": "OfferingRequest" + } + , "OfferingSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"offering_id" : {"type": "string","title": "OFFERING_ID"},"name" : {"type": "string","title": "NAME"},"status" : {"type": "string","title": "STATUS"}}, + "type": "object", + "required": [], + "title": "OfferingSearchQuery" + } + , "OfferingStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + "type": "object", + "required": ["query"], + "title": "OfferingStatQuery" + } + , "OfferingUpdateRequest": { + "properties" : {"offering_id" : {"type": "string","title": "OFFERING_ID"},"name" : {"type": "string","title": "NAME"},"status" : {"type": "string","title": "STATUS"},"price" : {"type": "float","title": "PRICE"},"currency" : {"type": "string","title": "CURRENCY"},"description" : {"type": "string","title": "DESCRIPTION"},"terms" : {"type": "string","title": "TERMS"},"website_url" : {"type": "string","title": "WEBSITE_URL"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["offering_id"], + "title": "OfferingUpdateRequest" + } + , "OfferingsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/OfferingInfo"}, + "type": "array","$ref": "#/components/schemas/OfferingInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "OfferingsInfo" + } + }, + "Struct": {"properties": {"type": "object","title": "Struct"}}, + "HTTPValidationError": { + "properties": { + "detail": { + "items": { + "$ref": "#/components/schemas/ValidationError" + }, + "type": "array", + "title": "Detail" + } + }, + "type": "object", + "title": "HTTPValidationError" + }, + "ValidationError": { + "properties": { + "loc": { + "items": { + "anyOf": [{"type": "string"}, {"type": "integer"}] + }, + "type": "array", + "title": "Location" + }, + "msg": {"type": "string","title": "Message"}, + "type": {"type": "string","title": "Error Type"} + }, + "type": "object", + "required": ["loc","msg","type"], + "title": "ValidationError" + }, + "securitySchemes": {"HTTPBearer": {"type": "http","scheme": "bearer"} + } + } +} \ No newline at end of file diff --git a/dist/python/build/lib/spaceone/api/mzc_service_api/__init__.py b/dist/python/build/lib/spaceone/api/mzc_service_api/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/dist/python/build/lib/spaceone/api/mzc_service_api/v1/__init__.py b/dist/python/build/lib/spaceone/api/mzc_service_api/v1/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/dist/python/build/lib/spaceone/api/mzc_service_api/v1/contract_pb2.py b/dist/python/build/lib/spaceone/api/mzc_service_api/v1/contract_pb2.py new file mode 100644 index 000000000..86f1f8bcc --- /dev/null +++ b/dist/python/build/lib/spaceone/api/mzc_service_api/v1/contract_pb2.py @@ -0,0 +1,61 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: spaceone/api/mzc_service_api/v1/contract.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from spaceone.api.core.v2 import query_pb2 as spaceone_dot_api_dot_core_dot_v2_dot_query__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.spaceone/api/mzc_service_api/v1/contract.proto\x12\x1fspaceone.api.mzc_service_api.v1\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1cgoogle/api/annotations.proto\x1a spaceone/api/core/v2/query.proto\"\x8d\x02\n\x15\x43ontractCreateRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x13\n\x0boffering_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x12\n\nstart_date\x18\x05 \x01(\t\x12\x10\n\x08\x65nd_date\x18\x06 \x01(\t\x12\x13\n\x0bsigned_date\x18\x07 \x01(\t\x12J\n\x0crenewal_type\x18\x08 \x01(\x0e\x32\x34.spaceone.api.mzc_service_api.v1.ContractRenewalType\x12%\n\x04tags\x18\x0f \x01(\x0b\x32\x17.google.protobuf.Struct\"\xfd\x01\n\x15\x43ontractUpdateRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x12\n\nstart_date\x18\x04 \x01(\t\x12\x10\n\x08\x65nd_date\x18\x05 \x01(\t\x12\x13\n\x0bsigned_date\x18\x06 \x01(\t\x12J\n\x0crenewal_type\x18\x07 \x01(\x0e\x32\x34.spaceone.api.mzc_service_api.v1.ContractRenewalType\x12%\n\x04tags\x18\x0f \x01(\x0b\x32\x17.google.protobuf.Struct\"&\n\x0f\x43ontractRequest\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\t\"\x88\x02\n\x13\x43ontractSearchQuery\x12*\n\x05query\x18\x01 \x01(\x0b\x32\x1b.spaceone.api.core.v2.Query\x12\x13\n\x0b\x63ontract_id\x18\x02 \x01(\t\x12\x0e\n\x06org_id\x18\x03 \x01(\t\x12\x13\n\x0boffering_id\x18\x04 \x01(\t\x12?\n\x06status\x18\x05 \x01(\x0e\x32/.spaceone.api.mzc_service_api.v1.ContractStatus\x12J\n\x0crenewal_type\x18\x06 \x01(\x0e\x32\x34.spaceone.api.mzc_service_api.v1.ContractRenewalType\"\x95\x03\n\x0c\x43ontractInfo\x12\x13\n\x0b\x63ontract_id\x18\x01 \x01(\t\x12\x0e\n\x06org_id\x18\x02 \x01(\t\x12\x13\n\x0boffering_id\x18\x03 \x01(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12?\n\x06status\x18\x05 \x01(\x0e\x32/.spaceone.api.mzc_service_api.v1.ContractStatus\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\x12\x12\n\nstart_date\x18\x07 \x01(\t\x12\x10\n\x08\x65nd_date\x18\x08 \x01(\t\x12\x13\n\x0bsigned_date\x18\t \x01(\t\x12J\n\x0crenewal_type\x18\n \x01(\x0e\x32\x34.spaceone.api.mzc_service_api.v1.ContractRenewalType\x12%\n\x04tags\x18\x0f \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\tdomain_id\x18\x15 \x01(\t\x12\x12\n\ncreated_at\x18\x1f \x01(\t\x12\x12\n\nupdated_at\x18 \x01(\t\"d\n\rContractsInfo\x12>\n\x07results\x18\x01 \x03(\x0b\x32-.spaceone.api.mzc_service_api.v1.ContractInfo\x12\x13\n\x0btotal_count\x18\x02 \x01(\x05\"I\n\x11\x43ontractStatQuery\x12\x34\n\x05query\x18\x01 \x01(\x0b\x32%.spaceone.api.core.v2.StatisticsQuery*S\n\x0e\x43ontractStatus\x12\x18\n\x14\x43ONTRACT_STATUS_NONE\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0e\n\nTERMINATED\x10\x02\x12\x0b\n\x07\x45XPIRED\x10\x03*Z\n\x13\x43ontractRenewalType\x12\x1e\n\x1a\x43ONTRACT_RENEWAL_TYPE_NONE\x10\x00\x12\x08\n\x04\x41UTO\x10\x01\x12\n\n\x06MANUAL\x10\x02\x12\r\n\tNOT_RENEW\x10\x03\x32\x90\x07\n\x08\x43ontract\x12\x9f\x01\n\x06\x63reate\x12\x36.spaceone.api.mzc_service_api.v1.ContractCreateRequest\x1a-.spaceone.api.mzc_service_api.v1.ContractInfo\".\x82\xd3\xe4\x93\x02(\"#/mzc-service-api/v1/contract/create:\x01*\x12\x9f\x01\n\x06update\x12\x36.spaceone.api.mzc_service_api.v1.ContractUpdateRequest\x1a-.spaceone.api.mzc_service_api.v1.ContractInfo\".\x82\xd3\xe4\x93\x02(\"#/mzc-service-api/v1/contract/update:\x01*\x12\x88\x01\n\tterminate\x12\x30.spaceone.api.mzc_service_api.v1.ContractRequest\x1a\x16.google.protobuf.Empty\"1\x82\xd3\xe4\x93\x02+\"&/mzc-service-api/v1/contract/terminate:\x01*\x12\x93\x01\n\x03get\x12\x30.spaceone.api.mzc_service_api.v1.ContractRequest\x1a-.spaceone.api.mzc_service_api.v1.ContractInfo\"+\x82\xd3\xe4\x93\x02%\" /mzc-service-api/v1/contract/get:\x01*\x12\x9a\x01\n\x04list\x12\x34.spaceone.api.mzc_service_api.v1.ContractSearchQuery\x1a..spaceone.api.mzc_service_api.v1.ContractsInfo\",\x82\xd3\xe4\x93\x02&\"!/mzc-service-api/v1/contract/list:\x01*\x12\x81\x01\n\x04stat\x12\x32.spaceone.api.mzc_service_api.v1.ContractStatQuery\x1a\x17.google.protobuf.Struct\",\x82\xd3\xe4\x93\x02&\"!/mzc-service-api/v1/contract/stat:\x01*BFZDgithub.com/cloudforet-io/api/dist/go/spaceone/api/mzc-service-api/v1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'spaceone.api.mzc_service_api.v1.contract_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'ZDgithub.com/cloudforet-io/api/dist/go/spaceone/api/mzc-service-api/v1' + _globals['_CONTRACT'].methods_by_name['create']._loaded_options = None + _globals['_CONTRACT'].methods_by_name['create']._serialized_options = b'\202\323\344\223\002(\"#/mzc-service-api/v1/contract/create:\001*' + _globals['_CONTRACT'].methods_by_name['update']._loaded_options = None + _globals['_CONTRACT'].methods_by_name['update']._serialized_options = b'\202\323\344\223\002(\"#/mzc-service-api/v1/contract/update:\001*' + _globals['_CONTRACT'].methods_by_name['terminate']._loaded_options = None + _globals['_CONTRACT'].methods_by_name['terminate']._serialized_options = b'\202\323\344\223\002+\"&/mzc-service-api/v1/contract/terminate:\001*' + _globals['_CONTRACT'].methods_by_name['get']._loaded_options = None + _globals['_CONTRACT'].methods_by_name['get']._serialized_options = b'\202\323\344\223\002%\" /mzc-service-api/v1/contract/get:\001*' + _globals['_CONTRACT'].methods_by_name['list']._loaded_options = None + _globals['_CONTRACT'].methods_by_name['list']._serialized_options = b'\202\323\344\223\002&\"!/mzc-service-api/v1/contract/list:\001*' + _globals['_CONTRACT'].methods_by_name['stat']._loaded_options = None + _globals['_CONTRACT'].methods_by_name['stat']._serialized_options = b'\202\323\344\223\002&\"!/mzc-service-api/v1/contract/stat:\001*' + _globals['_CONTRACTSTATUS']._serialized_start=1626 + _globals['_CONTRACTSTATUS']._serialized_end=1709 + _globals['_CONTRACTRENEWALTYPE']._serialized_start=1711 + _globals['_CONTRACTRENEWALTYPE']._serialized_end=1801 + _globals['_CONTRACTCREATEREQUEST']._serialized_start=207 + _globals['_CONTRACTCREATEREQUEST']._serialized_end=476 + _globals['_CONTRACTUPDATEREQUEST']._serialized_start=479 + _globals['_CONTRACTUPDATEREQUEST']._serialized_end=732 + _globals['_CONTRACTREQUEST']._serialized_start=734 + _globals['_CONTRACTREQUEST']._serialized_end=772 + _globals['_CONTRACTSEARCHQUERY']._serialized_start=775 + _globals['_CONTRACTSEARCHQUERY']._serialized_end=1039 + _globals['_CONTRACTINFO']._serialized_start=1042 + _globals['_CONTRACTINFO']._serialized_end=1447 + _globals['_CONTRACTSINFO']._serialized_start=1449 + _globals['_CONTRACTSINFO']._serialized_end=1549 + _globals['_CONTRACTSTATQUERY']._serialized_start=1551 + _globals['_CONTRACTSTATQUERY']._serialized_end=1624 + _globals['_CONTRACT']._serialized_start=1804 + _globals['_CONTRACT']._serialized_end=2716 +# @@protoc_insertion_point(module_scope) diff --git a/dist/python/build/lib/spaceone/api/mzc_service_api/v1/contract_pb2_grpc.py b/dist/python/build/lib/spaceone/api/mzc_service_api/v1/contract_pb2_grpc.py new file mode 100644 index 000000000..dbdfd5e8a --- /dev/null +++ b/dist/python/build/lib/spaceone/api/mzc_service_api/v1/contract_pb2_grpc.py @@ -0,0 +1,319 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc +import warnings + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from spaceone.api.mzc_service_api.v1 import contract_pb2 as spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2 + +GRPC_GENERATED_VERSION = '1.64.1' +GRPC_VERSION = grpc.__version__ +EXPECTED_ERROR_RELEASE = '1.65.0' +SCHEDULED_RELEASE_DATE = 'June 25, 2024' +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + warnings.warn( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in spaceone/api/mzc_service_api/v1/contract_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},' + + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.', + RuntimeWarning + ) + + +class ContractStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.create = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Contract/create', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractCreateRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.FromString, + _registered_method=True) + self.update = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Contract/update', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractUpdateRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.FromString, + _registered_method=True) + self.terminate = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Contract/terminate', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + _registered_method=True) + self.get = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Contract/get', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.FromString, + _registered_method=True) + self.list = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Contract/list', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractSearchQuery.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractsInfo.FromString, + _registered_method=True) + self.stat = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Contract/stat', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractStatQuery.SerializeToString, + response_deserializer=google_dot_protobuf_dot_struct__pb2.Struct.FromString, + _registered_method=True) + + +class ContractServicer(object): + """Missing associated documentation comment in .proto file.""" + + def create(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def update(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def terminate(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def get(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def list(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def stat(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ContractServicer_to_server(servicer, server): + rpc_method_handlers = { + 'create': grpc.unary_unary_rpc_method_handler( + servicer.create, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractCreateRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.SerializeToString, + ), + 'update': grpc.unary_unary_rpc_method_handler( + servicer.update, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractUpdateRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.SerializeToString, + ), + 'terminate': grpc.unary_unary_rpc_method_handler( + servicer.terminate, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'get': grpc.unary_unary_rpc_method_handler( + servicer.get, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.SerializeToString, + ), + 'list': grpc.unary_unary_rpc_method_handler( + servicer.list, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractSearchQuery.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractsInfo.SerializeToString, + ), + 'stat': grpc.unary_unary_rpc_method_handler( + servicer.stat, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractStatQuery.FromString, + response_serializer=google_dot_protobuf_dot_struct__pb2.Struct.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'spaceone.api.mzc_service_api.v1.Contract', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('spaceone.api.mzc_service_api.v1.Contract', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Contract(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def create(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Contract/create', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractCreateRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def update(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Contract/update', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractUpdateRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def terminate(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Contract/terminate', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def get(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Contract/get', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def list(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Contract/list', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractSearchQuery.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractsInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def stat(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Contract/stat', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractStatQuery.SerializeToString, + google_dot_protobuf_dot_struct__pb2.Struct.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/dist/python/build/lib/spaceone/api/mzc_service_api/v1/offering_pb2.py b/dist/python/build/lib/spaceone/api/mzc_service_api/v1/offering_pb2.py new file mode 100644 index 000000000..62b1e2805 --- /dev/null +++ b/dist/python/build/lib/spaceone/api/mzc_service_api/v1/offering_pb2.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: spaceone/api/mzc_service_api/v1/offering.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from spaceone.api.core.v2 import query_pb2 as spaceone_dot_api_dot_core_dot_v2_dot_query__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.spaceone/api/mzc_service_api/v1/offering.proto\x12\x1fspaceone.api.mzc_service_api.v1\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1cgoogle/api/annotations.proto\x1a spaceone/api/core/v2/query.proto\"\xb8\x01\n\x15OfferingCreateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\x12\r\n\x05price\x18\x03 \x01(\x02\x12\x10\n\x08\x63urrency\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\r\n\x05terms\x18\x06 \x01(\t\x12\x13\n\x0bwebsite_url\x18\x07 \x01(\t\x12%\n\x04tags\x18\x0f \x01(\x0b\x32\x17.google.protobuf.Struct\"\xfc\x01\n\x15OfferingUpdateRequest\x12\x13\n\x0boffering_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12?\n\x06status\x18\x03 \x01(\x0e\x32/.spaceone.api.mzc_service_api.v1.OfferingStatus\x12\r\n\x05price\x18\x04 \x01(\x02\x12\x10\n\x08\x63urrency\x18\x05 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\x12\r\n\x05terms\x18\x07 \x01(\t\x12\x13\n\x0bwebsite_url\x18\x08 \x01(\t\x12%\n\x04tags\x18\x0f \x01(\x0b\x32\x17.google.protobuf.Struct\"&\n\x0fOfferingRequest\x12\x13\n\x0boffering_id\x18\x01 \x01(\t\"\xa5\x01\n\x13OfferingSearchQuery\x12*\n\x05query\x18\x01 \x01(\x0b\x32\x1b.spaceone.api.core.v2.Query\x12\x13\n\x0boffering_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12?\n\x06status\x18\x04 \x01(\x0e\x32/.spaceone.api.mzc_service_api.v1.OfferingStatus\"\xc0\x02\n\x0cOfferingInfo\x12\x13\n\x0boffering_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x03 \x01(\t\x12?\n\x06status\x18\x04 \x01(\x0e\x32/.spaceone.api.mzc_service_api.v1.OfferingStatus\x12\r\n\x05price\x18\x05 \x01(\x02\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x07 \x01(\t\x12\r\n\x05terms\x18\x08 \x01(\t\x12\x13\n\x0bwebsite_url\x18\t \x01(\t\x12%\n\x04tags\x18\x0f \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\tdomain_id\x18\x15 \x01(\t\x12\x12\n\ncreated_at\x18\x1f \x01(\t\x12\x12\n\nupdated_at\x18 \x01(\t\"d\n\rOfferingsInfo\x12>\n\x07results\x18\x01 \x03(\x0b\x32-.spaceone.api.mzc_service_api.v1.OfferingInfo\x12\x13\n\x0btotal_count\x18\x02 \x01(\x05\"I\n\x11OfferingStatQuery\x12\x34\n\x05query\x18\x01 \x01(\x0b\x32%.spaceone.api.core.v2.StatisticsQuery*\\\n\x0eOfferingStatus\x12\x18\n\x14OFFERING_STATUS_NONE\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\x0f\n\x0bUNAVAILABLE\x10\x02\x12\x10\n\x0c\x44ISCONTINUED\x10\x03\x32\x8a\x07\n\x08Offering\x12\x9f\x01\n\x06\x63reate\x12\x36.spaceone.api.mzc_service_api.v1.OfferingCreateRequest\x1a-.spaceone.api.mzc_service_api.v1.OfferingInfo\".\x82\xd3\xe4\x93\x02(\"#/mzc-service-api/v1/offering/create:\x01*\x12\x9f\x01\n\x06update\x12\x36.spaceone.api.mzc_service_api.v1.OfferingUpdateRequest\x1a-.spaceone.api.mzc_service_api.v1.OfferingInfo\".\x82\xd3\xe4\x93\x02(\"#/mzc-service-api/v1/offering/update:\x01*\x12\x82\x01\n\x06\x64\x65lete\x12\x30.spaceone.api.mzc_service_api.v1.OfferingRequest\x1a\x16.google.protobuf.Empty\".\x82\xd3\xe4\x93\x02(\"#/mzc-service-api/v1/offering/delete:\x01*\x12\x93\x01\n\x03get\x12\x30.spaceone.api.mzc_service_api.v1.OfferingRequest\x1a-.spaceone.api.mzc_service_api.v1.OfferingInfo\"+\x82\xd3\xe4\x93\x02%\" /mzc-service-api/v1/offering/get:\x01*\x12\x9a\x01\n\x04list\x12\x34.spaceone.api.mzc_service_api.v1.OfferingSearchQuery\x1a..spaceone.api.mzc_service_api.v1.OfferingsInfo\",\x82\xd3\xe4\x93\x02&\"!/mzc-service-api/v1/offering/list:\x01*\x12\x81\x01\n\x04stat\x12\x32.spaceone.api.mzc_service_api.v1.OfferingStatQuery\x1a\x17.google.protobuf.Struct\",\x82\xd3\xe4\x93\x02&\"!/mzc-service-api/v1/offering/stat:\x01*BFZDgithub.com/cloudforet-io/api/dist/go/spaceone/api/mzc-service-api/v1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'spaceone.api.mzc_service_api.v1.offering_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'ZDgithub.com/cloudforet-io/api/dist/go/spaceone/api/mzc-service-api/v1' + _globals['_OFFERING'].methods_by_name['create']._loaded_options = None + _globals['_OFFERING'].methods_by_name['create']._serialized_options = b'\202\323\344\223\002(\"#/mzc-service-api/v1/offering/create:\001*' + _globals['_OFFERING'].methods_by_name['update']._loaded_options = None + _globals['_OFFERING'].methods_by_name['update']._serialized_options = b'\202\323\344\223\002(\"#/mzc-service-api/v1/offering/update:\001*' + _globals['_OFFERING'].methods_by_name['delete']._loaded_options = None + _globals['_OFFERING'].methods_by_name['delete']._serialized_options = b'\202\323\344\223\002(\"#/mzc-service-api/v1/offering/delete:\001*' + _globals['_OFFERING'].methods_by_name['get']._loaded_options = None + _globals['_OFFERING'].methods_by_name['get']._serialized_options = b'\202\323\344\223\002%\" /mzc-service-api/v1/offering/get:\001*' + _globals['_OFFERING'].methods_by_name['list']._loaded_options = None + _globals['_OFFERING'].methods_by_name['list']._serialized_options = b'\202\323\344\223\002&\"!/mzc-service-api/v1/offering/list:\001*' + _globals['_OFFERING'].methods_by_name['stat']._loaded_options = None + _globals['_OFFERING'].methods_by_name['stat']._serialized_options = b'\202\323\344\223\002&\"!/mzc-service-api/v1/offering/stat:\001*' + _globals['_OFFERINGSTATUS']._serialized_start=1356 + _globals['_OFFERINGSTATUS']._serialized_end=1448 + _globals['_OFFERINGCREATEREQUEST']._serialized_start=207 + _globals['_OFFERINGCREATEREQUEST']._serialized_end=391 + _globals['_OFFERINGUPDATEREQUEST']._serialized_start=394 + _globals['_OFFERINGUPDATEREQUEST']._serialized_end=646 + _globals['_OFFERINGREQUEST']._serialized_start=648 + _globals['_OFFERINGREQUEST']._serialized_end=686 + _globals['_OFFERINGSEARCHQUERY']._serialized_start=689 + _globals['_OFFERINGSEARCHQUERY']._serialized_end=854 + _globals['_OFFERINGINFO']._serialized_start=857 + _globals['_OFFERINGINFO']._serialized_end=1177 + _globals['_OFFERINGSINFO']._serialized_start=1179 + _globals['_OFFERINGSINFO']._serialized_end=1279 + _globals['_OFFERINGSTATQUERY']._serialized_start=1281 + _globals['_OFFERINGSTATQUERY']._serialized_end=1354 + _globals['_OFFERING']._serialized_start=1451 + _globals['_OFFERING']._serialized_end=2357 +# @@protoc_insertion_point(module_scope) diff --git a/dist/python/build/lib/spaceone/api/mzc_service_api/v1/offering_pb2_grpc.py b/dist/python/build/lib/spaceone/api/mzc_service_api/v1/offering_pb2_grpc.py new file mode 100644 index 000000000..f74feecee --- /dev/null +++ b/dist/python/build/lib/spaceone/api/mzc_service_api/v1/offering_pb2_grpc.py @@ -0,0 +1,319 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc +import warnings + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from spaceone.api.mzc_service_api.v1 import offering_pb2 as spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2 + +GRPC_GENERATED_VERSION = '1.64.1' +GRPC_VERSION = grpc.__version__ +EXPECTED_ERROR_RELEASE = '1.65.0' +SCHEDULED_RELEASE_DATE = 'June 25, 2024' +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + warnings.warn( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in spaceone/api/mzc_service_api/v1/offering_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},' + + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.', + RuntimeWarning + ) + + +class OfferingStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.create = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Offering/create', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingCreateRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.FromString, + _registered_method=True) + self.update = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Offering/update', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingUpdateRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.FromString, + _registered_method=True) + self.delete = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Offering/delete', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + _registered_method=True) + self.get = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Offering/get', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.FromString, + _registered_method=True) + self.list = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Offering/list', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingSearchQuery.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingsInfo.FromString, + _registered_method=True) + self.stat = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Offering/stat', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingStatQuery.SerializeToString, + response_deserializer=google_dot_protobuf_dot_struct__pb2.Struct.FromString, + _registered_method=True) + + +class OfferingServicer(object): + """Missing associated documentation comment in .proto file.""" + + def create(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def update(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def delete(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def get(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def list(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def stat(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_OfferingServicer_to_server(servicer, server): + rpc_method_handlers = { + 'create': grpc.unary_unary_rpc_method_handler( + servicer.create, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingCreateRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.SerializeToString, + ), + 'update': grpc.unary_unary_rpc_method_handler( + servicer.update, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingUpdateRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.SerializeToString, + ), + 'delete': grpc.unary_unary_rpc_method_handler( + servicer.delete, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'get': grpc.unary_unary_rpc_method_handler( + servicer.get, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.SerializeToString, + ), + 'list': grpc.unary_unary_rpc_method_handler( + servicer.list, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingSearchQuery.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingsInfo.SerializeToString, + ), + 'stat': grpc.unary_unary_rpc_method_handler( + servicer.stat, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingStatQuery.FromString, + response_serializer=google_dot_protobuf_dot_struct__pb2.Struct.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'spaceone.api.mzc_service_api.v1.Offering', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('spaceone.api.mzc_service_api.v1.Offering', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Offering(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def create(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Offering/create', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingCreateRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def update(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Offering/update', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingUpdateRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def delete(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Offering/delete', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def get(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Offering/get', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def list(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Offering/list', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingSearchQuery.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingsInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def stat(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Offering/stat', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingStatQuery.SerializeToString, + google_dot_protobuf_dot_struct__pb2.Struct.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/dist/python/build/lib/spaceone/api/mzc_service_api/v1/organization_pb2.py b/dist/python/build/lib/spaceone/api/mzc_service_api/v1/organization_pb2.py new file mode 100644 index 000000000..7cb3d2111 --- /dev/null +++ b/dist/python/build/lib/spaceone/api/mzc_service_api/v1/organization_pb2.py @@ -0,0 +1,63 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: spaceone/api/mzc_service_api/v1/organization.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from spaceone.api.core.v2 import query_pb2 as spaceone_dot_api_dot_core_dot_v2_dot_query__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2spaceone/api/mzc_service_api/v1/organization.proto\x12\x1fspaceone.api.mzc_service_api.v1\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1cgoogle/api/annotations.proto\x1a spaceone/api/core/v2/query.proto\"\xfc\x01\n\x19OrganizationCreateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x10\n\x08industry\x18\x03 \x01(\t\x12\x1b\n\x13registration_number\x18\x04 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x05 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x06 \x01(\t\x12\x16\n\x0e\x63ontact_person\x18\x07 \x01(\t\x12\x15\n\rcontact_email\x18\x08 \x01(\t\x12\x15\n\rcontact_phone\x18\t \x01(\t\x12%\n\x04tags\x18\x0f \x01(\x0b\x32\x17.google.protobuf.Struct\"\x8c\x02\n\x19OrganizationUpdateRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x10\n\x08industry\x18\x04 \x01(\t\x12\x1b\n\x13registration_number\x18\x05 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x06 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x07 \x01(\t\x12\x16\n\x0e\x63ontact_person\x18\x08 \x01(\t\x12\x15\n\rcontact_email\x18\t \x01(\t\x12\x15\n\rcontact_phone\x18\n \x01(\t\x12%\n\x04tags\x18\x0f \x01(\x0b\x32\x17.google.protobuf.Struct\"%\n\x13OrganizationRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\"\xa6\x01\n\x17OrganizationSearchQuery\x12*\n\x05query\x18\x01 \x01(\x0b\x32\x1b.spaceone.api.core.v2.Query\x12\x0e\n\x06org_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x41\n\x05state\x18\x04 \x01(\x0e\x32\x32.spaceone.api.mzc_service_api.v1.OrganizationState\"\x81\x03\n\x10OrganizationInfo\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x41\n\x05state\x18\x03 \x01(\x0e\x32\x32.spaceone.api.mzc_service_api.v1.OrganizationState\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x10\n\x08industry\x18\x05 \x01(\t\x12\x1b\n\x13registration_number\x18\x06 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x07 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x08 \x01(\t\x12\x16\n\x0e\x63ontact_person\x18\t \x01(\t\x12\x15\n\rcontact_email\x18\n \x01(\t\x12\x15\n\rcontact_phone\x18\x0b \x01(\t\x12%\n\x04tags\x18\x0f \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\tdomain_id\x18\x15 \x01(\t\x12\x12\n\ncreated_at\x18\x1f \x01(\t\x12\x12\n\nupdated_at\x18 \x01(\t\"l\n\x11OrganizationsInfo\x12\x42\n\x07results\x18\x01 \x03(\x0b\x32\x31.spaceone.api.mzc_service_api.v1.OrganizationInfo\x12\x13\n\x0btotal_count\x18\x02 \x01(\x05\"M\n\x15OrganizationStatQuery\x12\x34\n\x05query\x18\x01 \x01(\x0b\x32%.spaceone.api.core.v2.StatisticsQuery*K\n\x11OrganizationState\x12\x1b\n\x17ORGANIZATION_STATE_NONE\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x32\xa0\n\n\x0cOrganization\x12\xab\x01\n\x06\x63reate\x12:.spaceone.api.mzc_service_api.v1.OrganizationCreateRequest\x1a\x31.spaceone.api.mzc_service_api.v1.OrganizationInfo\"2\x82\xd3\xe4\x93\x02,\"\'/mzc-service-api/v1/organization/create:\x01*\x12\xab\x01\n\x06update\x12:.spaceone.api.mzc_service_api.v1.OrganizationUpdateRequest\x1a\x31.spaceone.api.mzc_service_api.v1.OrganizationInfo\"2\x82\xd3\xe4\x93\x02,\"\'/mzc-service-api/v1/organization/update:\x01*\x12\xa5\x01\n\x06\x65nable\x12\x34.spaceone.api.mzc_service_api.v1.OrganizationRequest\x1a\x31.spaceone.api.mzc_service_api.v1.OrganizationInfo\"2\x82\xd3\xe4\x93\x02,\"\'/mzc-service-api/v1/organization/enable:\x01*\x12\xa7\x01\n\x07\x64isable\x12\x34.spaceone.api.mzc_service_api.v1.OrganizationRequest\x1a\x31.spaceone.api.mzc_service_api.v1.OrganizationInfo\"3\x82\xd3\xe4\x93\x02-\"(/mzc-service-api/v1/organization/disable:\x01*\x12\x8a\x01\n\x06\x64\x65lete\x12\x34.spaceone.api.mzc_service_api.v1.OrganizationRequest\x1a\x16.google.protobuf.Empty\"2\x82\xd3\xe4\x93\x02,\"\'/mzc-service-api/v1/organization/delete:\x01*\x12\x9f\x01\n\x03get\x12\x34.spaceone.api.mzc_service_api.v1.OrganizationRequest\x1a\x31.spaceone.api.mzc_service_api.v1.OrganizationInfo\"/\x82\xd3\xe4\x93\x02)\"$/mzc-service-api/v1/organization/get:\x01*\x12\xa6\x01\n\x04list\x12\x38.spaceone.api.mzc_service_api.v1.OrganizationSearchQuery\x1a\x32.spaceone.api.mzc_service_api.v1.OrganizationsInfo\"0\x82\xd3\xe4\x93\x02*\"%/mzc-service-api/v1/organization/list:\x01*\x12\x89\x01\n\x04stat\x12\x36.spaceone.api.mzc_service_api.v1.OrganizationStatQuery\x1a\x17.google.protobuf.Struct\"0\x82\xd3\xe4\x93\x02*\"%/mzc-service-api/v1/organization/stat:\x01*BFZDgithub.com/cloudforet-io/api/dist/go/spaceone/api/mzc-service-api/v1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'spaceone.api.mzc_service_api.v1.organization_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'ZDgithub.com/cloudforet-io/api/dist/go/spaceone/api/mzc-service-api/v1' + _globals['_ORGANIZATION'].methods_by_name['create']._loaded_options = None + _globals['_ORGANIZATION'].methods_by_name['create']._serialized_options = b'\202\323\344\223\002,\"\'/mzc-service-api/v1/organization/create:\001*' + _globals['_ORGANIZATION'].methods_by_name['update']._loaded_options = None + _globals['_ORGANIZATION'].methods_by_name['update']._serialized_options = b'\202\323\344\223\002,\"\'/mzc-service-api/v1/organization/update:\001*' + _globals['_ORGANIZATION'].methods_by_name['enable']._loaded_options = None + _globals['_ORGANIZATION'].methods_by_name['enable']._serialized_options = b'\202\323\344\223\002,\"\'/mzc-service-api/v1/organization/enable:\001*' + _globals['_ORGANIZATION'].methods_by_name['disable']._loaded_options = None + _globals['_ORGANIZATION'].methods_by_name['disable']._serialized_options = b'\202\323\344\223\002-\"(/mzc-service-api/v1/organization/disable:\001*' + _globals['_ORGANIZATION'].methods_by_name['delete']._loaded_options = None + _globals['_ORGANIZATION'].methods_by_name['delete']._serialized_options = b'\202\323\344\223\002,\"\'/mzc-service-api/v1/organization/delete:\001*' + _globals['_ORGANIZATION'].methods_by_name['get']._loaded_options = None + _globals['_ORGANIZATION'].methods_by_name['get']._serialized_options = b'\202\323\344\223\002)\"$/mzc-service-api/v1/organization/get:\001*' + _globals['_ORGANIZATION'].methods_by_name['list']._loaded_options = None + _globals['_ORGANIZATION'].methods_by_name['list']._serialized_options = b'\202\323\344\223\002*\"%/mzc-service-api/v1/organization/list:\001*' + _globals['_ORGANIZATION'].methods_by_name['stat']._loaded_options = None + _globals['_ORGANIZATION'].methods_by_name['stat']._serialized_options = b'\202\323\344\223\002*\"%/mzc-service-api/v1/organization/stat:\001*' + _globals['_ORGANIZATIONSTATE']._serialized_start=1521 + _globals['_ORGANIZATIONSTATE']._serialized_end=1596 + _globals['_ORGANIZATIONCREATEREQUEST']._serialized_start=211 + _globals['_ORGANIZATIONCREATEREQUEST']._serialized_end=463 + _globals['_ORGANIZATIONUPDATEREQUEST']._serialized_start=466 + _globals['_ORGANIZATIONUPDATEREQUEST']._serialized_end=734 + _globals['_ORGANIZATIONREQUEST']._serialized_start=736 + _globals['_ORGANIZATIONREQUEST']._serialized_end=773 + _globals['_ORGANIZATIONSEARCHQUERY']._serialized_start=776 + _globals['_ORGANIZATIONSEARCHQUERY']._serialized_end=942 + _globals['_ORGANIZATIONINFO']._serialized_start=945 + _globals['_ORGANIZATIONINFO']._serialized_end=1330 + _globals['_ORGANIZATIONSINFO']._serialized_start=1332 + _globals['_ORGANIZATIONSINFO']._serialized_end=1440 + _globals['_ORGANIZATIONSTATQUERY']._serialized_start=1442 + _globals['_ORGANIZATIONSTATQUERY']._serialized_end=1519 + _globals['_ORGANIZATION']._serialized_start=1599 + _globals['_ORGANIZATION']._serialized_end=2911 +# @@protoc_insertion_point(module_scope) diff --git a/dist/python/build/lib/spaceone/api/mzc_service_api/v1/organization_pb2_grpc.py b/dist/python/build/lib/spaceone/api/mzc_service_api/v1/organization_pb2_grpc.py new file mode 100644 index 000000000..fcac9eefa --- /dev/null +++ b/dist/python/build/lib/spaceone/api/mzc_service_api/v1/organization_pb2_grpc.py @@ -0,0 +1,405 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc +import warnings + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from spaceone.api.mzc_service_api.v1 import organization_pb2 as spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2 + +GRPC_GENERATED_VERSION = '1.64.1' +GRPC_VERSION = grpc.__version__ +EXPECTED_ERROR_RELEASE = '1.65.0' +SCHEDULED_RELEASE_DATE = 'June 25, 2024' +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + warnings.warn( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in spaceone/api/mzc_service_api/v1/organization_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},' + + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.', + RuntimeWarning + ) + + +class OrganizationStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.create = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Organization/create', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationCreateRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + _registered_method=True) + self.update = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Organization/update', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationUpdateRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + _registered_method=True) + self.enable = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Organization/enable', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + _registered_method=True) + self.disable = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Organization/disable', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + _registered_method=True) + self.delete = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Organization/delete', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + _registered_method=True) + self.get = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Organization/get', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + _registered_method=True) + self.list = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Organization/list', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationSearchQuery.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationsInfo.FromString, + _registered_method=True) + self.stat = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Organization/stat', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationStatQuery.SerializeToString, + response_deserializer=google_dot_protobuf_dot_struct__pb2.Struct.FromString, + _registered_method=True) + + +class OrganizationServicer(object): + """Missing associated documentation comment in .proto file.""" + + def create(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def update(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def enable(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def disable(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def delete(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def get(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def list(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def stat(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_OrganizationServicer_to_server(servicer, server): + rpc_method_handlers = { + 'create': grpc.unary_unary_rpc_method_handler( + servicer.create, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationCreateRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.SerializeToString, + ), + 'update': grpc.unary_unary_rpc_method_handler( + servicer.update, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationUpdateRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.SerializeToString, + ), + 'enable': grpc.unary_unary_rpc_method_handler( + servicer.enable, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.SerializeToString, + ), + 'disable': grpc.unary_unary_rpc_method_handler( + servicer.disable, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.SerializeToString, + ), + 'delete': grpc.unary_unary_rpc_method_handler( + servicer.delete, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'get': grpc.unary_unary_rpc_method_handler( + servicer.get, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.SerializeToString, + ), + 'list': grpc.unary_unary_rpc_method_handler( + servicer.list, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationSearchQuery.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationsInfo.SerializeToString, + ), + 'stat': grpc.unary_unary_rpc_method_handler( + servicer.stat, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationStatQuery.FromString, + response_serializer=google_dot_protobuf_dot_struct__pb2.Struct.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'spaceone.api.mzc_service_api.v1.Organization', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('spaceone.api.mzc_service_api.v1.Organization', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Organization(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def create(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Organization/create', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationCreateRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def update(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Organization/update', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationUpdateRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def enable(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Organization/enable', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def disable(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Organization/disable', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def delete(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Organization/delete', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def get(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Organization/get', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def list(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Organization/list', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationSearchQuery.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationsInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def stat(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Organization/stat', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationStatQuery.SerializeToString, + google_dot_protobuf_dot_struct__pb2.Struct.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/dist/python/dist/spaceone-api-2.0.288.tar.gz b/dist/python/dist/spaceone-api-2.0.288.tar.gz deleted file mode 100644 index a056ccba6b5ca47a88b0883a0968b55e01817d81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 216425 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

aMRxBDwR8TH>R~XM$-ZQ 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 diff --git a/dist/python/dist/spaceone-api-2.0.289.tar.gz b/dist/python/dist/spaceone-api-2.0.289.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..c2c0b36976524b7c5fee30ad3ce56399a934ba1b GIT binary patch literal 221173 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%0Alg7v;nkRGT}s|gsAx-qVf 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

4+;KQUS$fD;VygBeH2wgU5 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 literal 0 HcmV?d00001 diff --git a/dist/python/dist/spaceone_api-2.0.288-py3-none-any.whl b/dist/python/dist/spaceone_api-2.0.289-py3-none-any.whl similarity index 87% rename from dist/python/dist/spaceone_api-2.0.288-py3-none-any.whl rename to dist/python/dist/spaceone_api-2.0.289-py3-none-any.whl index 7bfdcca1c7f8fc921f0132e2b02cf68b27ff00d7..6dc7b763063d65e4f28aa251bb128370d6d203ec 100644 GIT binary patch delta 32042 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 delta 20529 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

4;CfVL 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\n\x07results\x18\x01 \x03(\x0b\x32-.spaceone.api.mzc_service_api.v1.ContractInfo\x12\x13\n\x0btotal_count\x18\x02 \x01(\x05\"I\n\x11\x43ontractStatQuery\x12\x34\n\x05query\x18\x01 \x01(\x0b\x32%.spaceone.api.core.v2.StatisticsQuery*S\n\x0e\x43ontractStatus\x12\x18\n\x14\x43ONTRACT_STATUS_NONE\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0e\n\nTERMINATED\x10\x02\x12\x0b\n\x07\x45XPIRED\x10\x03*Z\n\x13\x43ontractRenewalType\x12\x1e\n\x1a\x43ONTRACT_RENEWAL_TYPE_NONE\x10\x00\x12\x08\n\x04\x41UTO\x10\x01\x12\n\n\x06MANUAL\x10\x02\x12\r\n\tNOT_RENEW\x10\x03\x32\x90\x07\n\x08\x43ontract\x12\x9f\x01\n\x06\x63reate\x12\x36.spaceone.api.mzc_service_api.v1.ContractCreateRequest\x1a-.spaceone.api.mzc_service_api.v1.ContractInfo\".\x82\xd3\xe4\x93\x02(\"#/mzc-service-api/v1/contract/create:\x01*\x12\x9f\x01\n\x06update\x12\x36.spaceone.api.mzc_service_api.v1.ContractUpdateRequest\x1a-.spaceone.api.mzc_service_api.v1.ContractInfo\".\x82\xd3\xe4\x93\x02(\"#/mzc-service-api/v1/contract/update:\x01*\x12\x88\x01\n\tterminate\x12\x30.spaceone.api.mzc_service_api.v1.ContractRequest\x1a\x16.google.protobuf.Empty\"1\x82\xd3\xe4\x93\x02+\"&/mzc-service-api/v1/contract/terminate:\x01*\x12\x93\x01\n\x03get\x12\x30.spaceone.api.mzc_service_api.v1.ContractRequest\x1a-.spaceone.api.mzc_service_api.v1.ContractInfo\"+\x82\xd3\xe4\x93\x02%\" /mzc-service-api/v1/contract/get:\x01*\x12\x9a\x01\n\x04list\x12\x34.spaceone.api.mzc_service_api.v1.ContractSearchQuery\x1a..spaceone.api.mzc_service_api.v1.ContractsInfo\",\x82\xd3\xe4\x93\x02&\"!/mzc-service-api/v1/contract/list:\x01*\x12\x81\x01\n\x04stat\x12\x32.spaceone.api.mzc_service_api.v1.ContractStatQuery\x1a\x17.google.protobuf.Struct\",\x82\xd3\xe4\x93\x02&\"!/mzc-service-api/v1/contract/stat:\x01*BFZDgithub.com/cloudforet-io/api/dist/go/spaceone/api/mzc-service-api/v1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'spaceone.api.mzc_service_api.v1.contract_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'ZDgithub.com/cloudforet-io/api/dist/go/spaceone/api/mzc-service-api/v1' + _globals['_CONTRACT'].methods_by_name['create']._loaded_options = None + _globals['_CONTRACT'].methods_by_name['create']._serialized_options = b'\202\323\344\223\002(\"#/mzc-service-api/v1/contract/create:\001*' + _globals['_CONTRACT'].methods_by_name['update']._loaded_options = None + _globals['_CONTRACT'].methods_by_name['update']._serialized_options = b'\202\323\344\223\002(\"#/mzc-service-api/v1/contract/update:\001*' + _globals['_CONTRACT'].methods_by_name['terminate']._loaded_options = None + _globals['_CONTRACT'].methods_by_name['terminate']._serialized_options = b'\202\323\344\223\002+\"&/mzc-service-api/v1/contract/terminate:\001*' + _globals['_CONTRACT'].methods_by_name['get']._loaded_options = None + _globals['_CONTRACT'].methods_by_name['get']._serialized_options = b'\202\323\344\223\002%\" /mzc-service-api/v1/contract/get:\001*' + _globals['_CONTRACT'].methods_by_name['list']._loaded_options = None + _globals['_CONTRACT'].methods_by_name['list']._serialized_options = b'\202\323\344\223\002&\"!/mzc-service-api/v1/contract/list:\001*' + _globals['_CONTRACT'].methods_by_name['stat']._loaded_options = None + _globals['_CONTRACT'].methods_by_name['stat']._serialized_options = b'\202\323\344\223\002&\"!/mzc-service-api/v1/contract/stat:\001*' + _globals['_CONTRACTSTATUS']._serialized_start=1626 + _globals['_CONTRACTSTATUS']._serialized_end=1709 + _globals['_CONTRACTRENEWALTYPE']._serialized_start=1711 + _globals['_CONTRACTRENEWALTYPE']._serialized_end=1801 + _globals['_CONTRACTCREATEREQUEST']._serialized_start=207 + _globals['_CONTRACTCREATEREQUEST']._serialized_end=476 + _globals['_CONTRACTUPDATEREQUEST']._serialized_start=479 + _globals['_CONTRACTUPDATEREQUEST']._serialized_end=732 + _globals['_CONTRACTREQUEST']._serialized_start=734 + _globals['_CONTRACTREQUEST']._serialized_end=772 + _globals['_CONTRACTSEARCHQUERY']._serialized_start=775 + _globals['_CONTRACTSEARCHQUERY']._serialized_end=1039 + _globals['_CONTRACTINFO']._serialized_start=1042 + _globals['_CONTRACTINFO']._serialized_end=1447 + _globals['_CONTRACTSINFO']._serialized_start=1449 + _globals['_CONTRACTSINFO']._serialized_end=1549 + _globals['_CONTRACTSTATQUERY']._serialized_start=1551 + _globals['_CONTRACTSTATQUERY']._serialized_end=1624 + _globals['_CONTRACT']._serialized_start=1804 + _globals['_CONTRACT']._serialized_end=2716 +# @@protoc_insertion_point(module_scope) diff --git a/dist/python/spaceone/api/mzc_service_api/v1/contract_pb2_grpc.py b/dist/python/spaceone/api/mzc_service_api/v1/contract_pb2_grpc.py new file mode 100755 index 000000000..dbdfd5e8a --- /dev/null +++ b/dist/python/spaceone/api/mzc_service_api/v1/contract_pb2_grpc.py @@ -0,0 +1,319 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc +import warnings + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from spaceone.api.mzc_service_api.v1 import contract_pb2 as spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2 + +GRPC_GENERATED_VERSION = '1.64.1' +GRPC_VERSION = grpc.__version__ +EXPECTED_ERROR_RELEASE = '1.65.0' +SCHEDULED_RELEASE_DATE = 'June 25, 2024' +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + warnings.warn( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in spaceone/api/mzc_service_api/v1/contract_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},' + + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.', + RuntimeWarning + ) + + +class ContractStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.create = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Contract/create', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractCreateRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.FromString, + _registered_method=True) + self.update = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Contract/update', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractUpdateRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.FromString, + _registered_method=True) + self.terminate = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Contract/terminate', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + _registered_method=True) + self.get = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Contract/get', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.FromString, + _registered_method=True) + self.list = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Contract/list', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractSearchQuery.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractsInfo.FromString, + _registered_method=True) + self.stat = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Contract/stat', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractStatQuery.SerializeToString, + response_deserializer=google_dot_protobuf_dot_struct__pb2.Struct.FromString, + _registered_method=True) + + +class ContractServicer(object): + """Missing associated documentation comment in .proto file.""" + + def create(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def update(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def terminate(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def get(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def list(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def stat(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ContractServicer_to_server(servicer, server): + rpc_method_handlers = { + 'create': grpc.unary_unary_rpc_method_handler( + servicer.create, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractCreateRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.SerializeToString, + ), + 'update': grpc.unary_unary_rpc_method_handler( + servicer.update, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractUpdateRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.SerializeToString, + ), + 'terminate': grpc.unary_unary_rpc_method_handler( + servicer.terminate, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'get': grpc.unary_unary_rpc_method_handler( + servicer.get, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.SerializeToString, + ), + 'list': grpc.unary_unary_rpc_method_handler( + servicer.list, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractSearchQuery.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractsInfo.SerializeToString, + ), + 'stat': grpc.unary_unary_rpc_method_handler( + servicer.stat, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractStatQuery.FromString, + response_serializer=google_dot_protobuf_dot_struct__pb2.Struct.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'spaceone.api.mzc_service_api.v1.Contract', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('spaceone.api.mzc_service_api.v1.Contract', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Contract(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def create(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Contract/create', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractCreateRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def update(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Contract/update', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractUpdateRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def terminate(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Contract/terminate', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def get(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Contract/get', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def list(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Contract/list', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractSearchQuery.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractsInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def stat(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Contract/stat', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_contract__pb2.ContractStatQuery.SerializeToString, + google_dot_protobuf_dot_struct__pb2.Struct.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/dist/python/spaceone/api/mzc_service_api/v1/offering_pb2.py b/dist/python/spaceone/api/mzc_service_api/v1/offering_pb2.py new file mode 100755 index 000000000..62b1e2805 --- /dev/null +++ b/dist/python/spaceone/api/mzc_service_api/v1/offering_pb2.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: spaceone/api/mzc_service_api/v1/offering.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from spaceone.api.core.v2 import query_pb2 as spaceone_dot_api_dot_core_dot_v2_dot_query__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.spaceone/api/mzc_service_api/v1/offering.proto\x12\x1fspaceone.api.mzc_service_api.v1\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1cgoogle/api/annotations.proto\x1a spaceone/api/core/v2/query.proto\"\xb8\x01\n\x15OfferingCreateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\x12\r\n\x05price\x18\x03 \x01(\x02\x12\x10\n\x08\x63urrency\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\r\n\x05terms\x18\x06 \x01(\t\x12\x13\n\x0bwebsite_url\x18\x07 \x01(\t\x12%\n\x04tags\x18\x0f \x01(\x0b\x32\x17.google.protobuf.Struct\"\xfc\x01\n\x15OfferingUpdateRequest\x12\x13\n\x0boffering_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12?\n\x06status\x18\x03 \x01(\x0e\x32/.spaceone.api.mzc_service_api.v1.OfferingStatus\x12\r\n\x05price\x18\x04 \x01(\x02\x12\x10\n\x08\x63urrency\x18\x05 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\x12\r\n\x05terms\x18\x07 \x01(\t\x12\x13\n\x0bwebsite_url\x18\x08 \x01(\t\x12%\n\x04tags\x18\x0f \x01(\x0b\x32\x17.google.protobuf.Struct\"&\n\x0fOfferingRequest\x12\x13\n\x0boffering_id\x18\x01 \x01(\t\"\xa5\x01\n\x13OfferingSearchQuery\x12*\n\x05query\x18\x01 \x01(\x0b\x32\x1b.spaceone.api.core.v2.Query\x12\x13\n\x0boffering_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12?\n\x06status\x18\x04 \x01(\x0e\x32/.spaceone.api.mzc_service_api.v1.OfferingStatus\"\xc0\x02\n\x0cOfferingInfo\x12\x13\n\x0boffering_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x03 \x01(\t\x12?\n\x06status\x18\x04 \x01(\x0e\x32/.spaceone.api.mzc_service_api.v1.OfferingStatus\x12\r\n\x05price\x18\x05 \x01(\x02\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x07 \x01(\t\x12\r\n\x05terms\x18\x08 \x01(\t\x12\x13\n\x0bwebsite_url\x18\t \x01(\t\x12%\n\x04tags\x18\x0f \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\tdomain_id\x18\x15 \x01(\t\x12\x12\n\ncreated_at\x18\x1f \x01(\t\x12\x12\n\nupdated_at\x18 \x01(\t\"d\n\rOfferingsInfo\x12>\n\x07results\x18\x01 \x03(\x0b\x32-.spaceone.api.mzc_service_api.v1.OfferingInfo\x12\x13\n\x0btotal_count\x18\x02 \x01(\x05\"I\n\x11OfferingStatQuery\x12\x34\n\x05query\x18\x01 \x01(\x0b\x32%.spaceone.api.core.v2.StatisticsQuery*\\\n\x0eOfferingStatus\x12\x18\n\x14OFFERING_STATUS_NONE\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\x0f\n\x0bUNAVAILABLE\x10\x02\x12\x10\n\x0c\x44ISCONTINUED\x10\x03\x32\x8a\x07\n\x08Offering\x12\x9f\x01\n\x06\x63reate\x12\x36.spaceone.api.mzc_service_api.v1.OfferingCreateRequest\x1a-.spaceone.api.mzc_service_api.v1.OfferingInfo\".\x82\xd3\xe4\x93\x02(\"#/mzc-service-api/v1/offering/create:\x01*\x12\x9f\x01\n\x06update\x12\x36.spaceone.api.mzc_service_api.v1.OfferingUpdateRequest\x1a-.spaceone.api.mzc_service_api.v1.OfferingInfo\".\x82\xd3\xe4\x93\x02(\"#/mzc-service-api/v1/offering/update:\x01*\x12\x82\x01\n\x06\x64\x65lete\x12\x30.spaceone.api.mzc_service_api.v1.OfferingRequest\x1a\x16.google.protobuf.Empty\".\x82\xd3\xe4\x93\x02(\"#/mzc-service-api/v1/offering/delete:\x01*\x12\x93\x01\n\x03get\x12\x30.spaceone.api.mzc_service_api.v1.OfferingRequest\x1a-.spaceone.api.mzc_service_api.v1.OfferingInfo\"+\x82\xd3\xe4\x93\x02%\" /mzc-service-api/v1/offering/get:\x01*\x12\x9a\x01\n\x04list\x12\x34.spaceone.api.mzc_service_api.v1.OfferingSearchQuery\x1a..spaceone.api.mzc_service_api.v1.OfferingsInfo\",\x82\xd3\xe4\x93\x02&\"!/mzc-service-api/v1/offering/list:\x01*\x12\x81\x01\n\x04stat\x12\x32.spaceone.api.mzc_service_api.v1.OfferingStatQuery\x1a\x17.google.protobuf.Struct\",\x82\xd3\xe4\x93\x02&\"!/mzc-service-api/v1/offering/stat:\x01*BFZDgithub.com/cloudforet-io/api/dist/go/spaceone/api/mzc-service-api/v1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'spaceone.api.mzc_service_api.v1.offering_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'ZDgithub.com/cloudforet-io/api/dist/go/spaceone/api/mzc-service-api/v1' + _globals['_OFFERING'].methods_by_name['create']._loaded_options = None + _globals['_OFFERING'].methods_by_name['create']._serialized_options = b'\202\323\344\223\002(\"#/mzc-service-api/v1/offering/create:\001*' + _globals['_OFFERING'].methods_by_name['update']._loaded_options = None + _globals['_OFFERING'].methods_by_name['update']._serialized_options = b'\202\323\344\223\002(\"#/mzc-service-api/v1/offering/update:\001*' + _globals['_OFFERING'].methods_by_name['delete']._loaded_options = None + _globals['_OFFERING'].methods_by_name['delete']._serialized_options = b'\202\323\344\223\002(\"#/mzc-service-api/v1/offering/delete:\001*' + _globals['_OFFERING'].methods_by_name['get']._loaded_options = None + _globals['_OFFERING'].methods_by_name['get']._serialized_options = b'\202\323\344\223\002%\" /mzc-service-api/v1/offering/get:\001*' + _globals['_OFFERING'].methods_by_name['list']._loaded_options = None + _globals['_OFFERING'].methods_by_name['list']._serialized_options = b'\202\323\344\223\002&\"!/mzc-service-api/v1/offering/list:\001*' + _globals['_OFFERING'].methods_by_name['stat']._loaded_options = None + _globals['_OFFERING'].methods_by_name['stat']._serialized_options = b'\202\323\344\223\002&\"!/mzc-service-api/v1/offering/stat:\001*' + _globals['_OFFERINGSTATUS']._serialized_start=1356 + _globals['_OFFERINGSTATUS']._serialized_end=1448 + _globals['_OFFERINGCREATEREQUEST']._serialized_start=207 + _globals['_OFFERINGCREATEREQUEST']._serialized_end=391 + _globals['_OFFERINGUPDATEREQUEST']._serialized_start=394 + _globals['_OFFERINGUPDATEREQUEST']._serialized_end=646 + _globals['_OFFERINGREQUEST']._serialized_start=648 + _globals['_OFFERINGREQUEST']._serialized_end=686 + _globals['_OFFERINGSEARCHQUERY']._serialized_start=689 + _globals['_OFFERINGSEARCHQUERY']._serialized_end=854 + _globals['_OFFERINGINFO']._serialized_start=857 + _globals['_OFFERINGINFO']._serialized_end=1177 + _globals['_OFFERINGSINFO']._serialized_start=1179 + _globals['_OFFERINGSINFO']._serialized_end=1279 + _globals['_OFFERINGSTATQUERY']._serialized_start=1281 + _globals['_OFFERINGSTATQUERY']._serialized_end=1354 + _globals['_OFFERING']._serialized_start=1451 + _globals['_OFFERING']._serialized_end=2357 +# @@protoc_insertion_point(module_scope) diff --git a/dist/python/spaceone/api/mzc_service_api/v1/offering_pb2_grpc.py b/dist/python/spaceone/api/mzc_service_api/v1/offering_pb2_grpc.py new file mode 100755 index 000000000..f74feecee --- /dev/null +++ b/dist/python/spaceone/api/mzc_service_api/v1/offering_pb2_grpc.py @@ -0,0 +1,319 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc +import warnings + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from spaceone.api.mzc_service_api.v1 import offering_pb2 as spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2 + +GRPC_GENERATED_VERSION = '1.64.1' +GRPC_VERSION = grpc.__version__ +EXPECTED_ERROR_RELEASE = '1.65.0' +SCHEDULED_RELEASE_DATE = 'June 25, 2024' +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + warnings.warn( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in spaceone/api/mzc_service_api/v1/offering_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},' + + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.', + RuntimeWarning + ) + + +class OfferingStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.create = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Offering/create', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingCreateRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.FromString, + _registered_method=True) + self.update = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Offering/update', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingUpdateRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.FromString, + _registered_method=True) + self.delete = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Offering/delete', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + _registered_method=True) + self.get = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Offering/get', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.FromString, + _registered_method=True) + self.list = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Offering/list', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingSearchQuery.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingsInfo.FromString, + _registered_method=True) + self.stat = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Offering/stat', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingStatQuery.SerializeToString, + response_deserializer=google_dot_protobuf_dot_struct__pb2.Struct.FromString, + _registered_method=True) + + +class OfferingServicer(object): + """Missing associated documentation comment in .proto file.""" + + def create(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def update(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def delete(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def get(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def list(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def stat(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_OfferingServicer_to_server(servicer, server): + rpc_method_handlers = { + 'create': grpc.unary_unary_rpc_method_handler( + servicer.create, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingCreateRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.SerializeToString, + ), + 'update': grpc.unary_unary_rpc_method_handler( + servicer.update, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingUpdateRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.SerializeToString, + ), + 'delete': grpc.unary_unary_rpc_method_handler( + servicer.delete, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'get': grpc.unary_unary_rpc_method_handler( + servicer.get, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.SerializeToString, + ), + 'list': grpc.unary_unary_rpc_method_handler( + servicer.list, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingSearchQuery.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingsInfo.SerializeToString, + ), + 'stat': grpc.unary_unary_rpc_method_handler( + servicer.stat, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingStatQuery.FromString, + response_serializer=google_dot_protobuf_dot_struct__pb2.Struct.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'spaceone.api.mzc_service_api.v1.Offering', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('spaceone.api.mzc_service_api.v1.Offering', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Offering(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def create(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Offering/create', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingCreateRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def update(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Offering/update', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingUpdateRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def delete(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Offering/delete', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def get(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Offering/get', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def list(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Offering/list', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingSearchQuery.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingsInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def stat(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Offering/stat', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_offering__pb2.OfferingStatQuery.SerializeToString, + google_dot_protobuf_dot_struct__pb2.Struct.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/dist/python/spaceone/api/mzc_service_api/v1/organization_pb2.py b/dist/python/spaceone/api/mzc_service_api/v1/organization_pb2.py new file mode 100755 index 000000000..7cb3d2111 --- /dev/null +++ b/dist/python/spaceone/api/mzc_service_api/v1/organization_pb2.py @@ -0,0 +1,63 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: spaceone/api/mzc_service_api/v1/organization.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +from spaceone.api.core.v2 import query_pb2 as spaceone_dot_api_dot_core_dot_v2_dot_query__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2spaceone/api/mzc_service_api/v1/organization.proto\x12\x1fspaceone.api.mzc_service_api.v1\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1cgoogle/api/annotations.proto\x1a spaceone/api/core/v2/query.proto\"\xfc\x01\n\x19OrganizationCreateRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x10\n\x08industry\x18\x03 \x01(\t\x12\x1b\n\x13registration_number\x18\x04 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x05 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x06 \x01(\t\x12\x16\n\x0e\x63ontact_person\x18\x07 \x01(\t\x12\x15\n\rcontact_email\x18\x08 \x01(\t\x12\x15\n\rcontact_phone\x18\t \x01(\t\x12%\n\x04tags\x18\x0f \x01(\x0b\x32\x17.google.protobuf.Struct\"\x8c\x02\n\x19OrganizationUpdateRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\x10\n\x08industry\x18\x04 \x01(\t\x12\x1b\n\x13registration_number\x18\x05 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x06 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x07 \x01(\t\x12\x16\n\x0e\x63ontact_person\x18\x08 \x01(\t\x12\x15\n\rcontact_email\x18\t \x01(\t\x12\x15\n\rcontact_phone\x18\n \x01(\t\x12%\n\x04tags\x18\x0f \x01(\x0b\x32\x17.google.protobuf.Struct\"%\n\x13OrganizationRequest\x12\x0e\n\x06org_id\x18\x01 \x01(\t\"\xa6\x01\n\x17OrganizationSearchQuery\x12*\n\x05query\x18\x01 \x01(\x0b\x32\x1b.spaceone.api.core.v2.Query\x12\x0e\n\x06org_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x41\n\x05state\x18\x04 \x01(\x0e\x32\x32.spaceone.api.mzc_service_api.v1.OrganizationState\"\x81\x03\n\x10OrganizationInfo\x12\x0e\n\x06org_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x41\n\x05state\x18\x03 \x01(\x0e\x32\x32.spaceone.api.mzc_service_api.v1.OrganizationState\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x10\n\x08industry\x18\x05 \x01(\t\x12\x1b\n\x13registration_number\x18\x06 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x07 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x08 \x01(\t\x12\x16\n\x0e\x63ontact_person\x18\t \x01(\t\x12\x15\n\rcontact_email\x18\n \x01(\t\x12\x15\n\rcontact_phone\x18\x0b \x01(\t\x12%\n\x04tags\x18\x0f \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\tdomain_id\x18\x15 \x01(\t\x12\x12\n\ncreated_at\x18\x1f \x01(\t\x12\x12\n\nupdated_at\x18 \x01(\t\"l\n\x11OrganizationsInfo\x12\x42\n\x07results\x18\x01 \x03(\x0b\x32\x31.spaceone.api.mzc_service_api.v1.OrganizationInfo\x12\x13\n\x0btotal_count\x18\x02 \x01(\x05\"M\n\x15OrganizationStatQuery\x12\x34\n\x05query\x18\x01 \x01(\x0b\x32%.spaceone.api.core.v2.StatisticsQuery*K\n\x11OrganizationState\x12\x1b\n\x17ORGANIZATION_STATE_NONE\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\x32\xa0\n\n\x0cOrganization\x12\xab\x01\n\x06\x63reate\x12:.spaceone.api.mzc_service_api.v1.OrganizationCreateRequest\x1a\x31.spaceone.api.mzc_service_api.v1.OrganizationInfo\"2\x82\xd3\xe4\x93\x02,\"\'/mzc-service-api/v1/organization/create:\x01*\x12\xab\x01\n\x06update\x12:.spaceone.api.mzc_service_api.v1.OrganizationUpdateRequest\x1a\x31.spaceone.api.mzc_service_api.v1.OrganizationInfo\"2\x82\xd3\xe4\x93\x02,\"\'/mzc-service-api/v1/organization/update:\x01*\x12\xa5\x01\n\x06\x65nable\x12\x34.spaceone.api.mzc_service_api.v1.OrganizationRequest\x1a\x31.spaceone.api.mzc_service_api.v1.OrganizationInfo\"2\x82\xd3\xe4\x93\x02,\"\'/mzc-service-api/v1/organization/enable:\x01*\x12\xa7\x01\n\x07\x64isable\x12\x34.spaceone.api.mzc_service_api.v1.OrganizationRequest\x1a\x31.spaceone.api.mzc_service_api.v1.OrganizationInfo\"3\x82\xd3\xe4\x93\x02-\"(/mzc-service-api/v1/organization/disable:\x01*\x12\x8a\x01\n\x06\x64\x65lete\x12\x34.spaceone.api.mzc_service_api.v1.OrganizationRequest\x1a\x16.google.protobuf.Empty\"2\x82\xd3\xe4\x93\x02,\"\'/mzc-service-api/v1/organization/delete:\x01*\x12\x9f\x01\n\x03get\x12\x34.spaceone.api.mzc_service_api.v1.OrganizationRequest\x1a\x31.spaceone.api.mzc_service_api.v1.OrganizationInfo\"/\x82\xd3\xe4\x93\x02)\"$/mzc-service-api/v1/organization/get:\x01*\x12\xa6\x01\n\x04list\x12\x38.spaceone.api.mzc_service_api.v1.OrganizationSearchQuery\x1a\x32.spaceone.api.mzc_service_api.v1.OrganizationsInfo\"0\x82\xd3\xe4\x93\x02*\"%/mzc-service-api/v1/organization/list:\x01*\x12\x89\x01\n\x04stat\x12\x36.spaceone.api.mzc_service_api.v1.OrganizationStatQuery\x1a\x17.google.protobuf.Struct\"0\x82\xd3\xe4\x93\x02*\"%/mzc-service-api/v1/organization/stat:\x01*BFZDgithub.com/cloudforet-io/api/dist/go/spaceone/api/mzc-service-api/v1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'spaceone.api.mzc_service_api.v1.organization_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'ZDgithub.com/cloudforet-io/api/dist/go/spaceone/api/mzc-service-api/v1' + _globals['_ORGANIZATION'].methods_by_name['create']._loaded_options = None + _globals['_ORGANIZATION'].methods_by_name['create']._serialized_options = b'\202\323\344\223\002,\"\'/mzc-service-api/v1/organization/create:\001*' + _globals['_ORGANIZATION'].methods_by_name['update']._loaded_options = None + _globals['_ORGANIZATION'].methods_by_name['update']._serialized_options = b'\202\323\344\223\002,\"\'/mzc-service-api/v1/organization/update:\001*' + _globals['_ORGANIZATION'].methods_by_name['enable']._loaded_options = None + _globals['_ORGANIZATION'].methods_by_name['enable']._serialized_options = b'\202\323\344\223\002,\"\'/mzc-service-api/v1/organization/enable:\001*' + _globals['_ORGANIZATION'].methods_by_name['disable']._loaded_options = None + _globals['_ORGANIZATION'].methods_by_name['disable']._serialized_options = b'\202\323\344\223\002-\"(/mzc-service-api/v1/organization/disable:\001*' + _globals['_ORGANIZATION'].methods_by_name['delete']._loaded_options = None + _globals['_ORGANIZATION'].methods_by_name['delete']._serialized_options = b'\202\323\344\223\002,\"\'/mzc-service-api/v1/organization/delete:\001*' + _globals['_ORGANIZATION'].methods_by_name['get']._loaded_options = None + _globals['_ORGANIZATION'].methods_by_name['get']._serialized_options = b'\202\323\344\223\002)\"$/mzc-service-api/v1/organization/get:\001*' + _globals['_ORGANIZATION'].methods_by_name['list']._loaded_options = None + _globals['_ORGANIZATION'].methods_by_name['list']._serialized_options = b'\202\323\344\223\002*\"%/mzc-service-api/v1/organization/list:\001*' + _globals['_ORGANIZATION'].methods_by_name['stat']._loaded_options = None + _globals['_ORGANIZATION'].methods_by_name['stat']._serialized_options = b'\202\323\344\223\002*\"%/mzc-service-api/v1/organization/stat:\001*' + _globals['_ORGANIZATIONSTATE']._serialized_start=1521 + _globals['_ORGANIZATIONSTATE']._serialized_end=1596 + _globals['_ORGANIZATIONCREATEREQUEST']._serialized_start=211 + _globals['_ORGANIZATIONCREATEREQUEST']._serialized_end=463 + _globals['_ORGANIZATIONUPDATEREQUEST']._serialized_start=466 + _globals['_ORGANIZATIONUPDATEREQUEST']._serialized_end=734 + _globals['_ORGANIZATIONREQUEST']._serialized_start=736 + _globals['_ORGANIZATIONREQUEST']._serialized_end=773 + _globals['_ORGANIZATIONSEARCHQUERY']._serialized_start=776 + _globals['_ORGANIZATIONSEARCHQUERY']._serialized_end=942 + _globals['_ORGANIZATIONINFO']._serialized_start=945 + _globals['_ORGANIZATIONINFO']._serialized_end=1330 + _globals['_ORGANIZATIONSINFO']._serialized_start=1332 + _globals['_ORGANIZATIONSINFO']._serialized_end=1440 + _globals['_ORGANIZATIONSTATQUERY']._serialized_start=1442 + _globals['_ORGANIZATIONSTATQUERY']._serialized_end=1519 + _globals['_ORGANIZATION']._serialized_start=1599 + _globals['_ORGANIZATION']._serialized_end=2911 +# @@protoc_insertion_point(module_scope) diff --git a/dist/python/spaceone/api/mzc_service_api/v1/organization_pb2_grpc.py b/dist/python/spaceone/api/mzc_service_api/v1/organization_pb2_grpc.py new file mode 100755 index 000000000..fcac9eefa --- /dev/null +++ b/dist/python/spaceone/api/mzc_service_api/v1/organization_pb2_grpc.py @@ -0,0 +1,405 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc +import warnings + +from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 +from spaceone.api.mzc_service_api.v1 import organization_pb2 as spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2 + +GRPC_GENERATED_VERSION = '1.64.1' +GRPC_VERSION = grpc.__version__ +EXPECTED_ERROR_RELEASE = '1.65.0' +SCHEDULED_RELEASE_DATE = 'June 25, 2024' +_version_not_supported = False + +try: + from grpc._utilities import first_version_is_lower + _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION) +except ImportError: + _version_not_supported = True + +if _version_not_supported: + warnings.warn( + f'The grpc package installed is at version {GRPC_VERSION},' + + f' but the generated code in spaceone/api/mzc_service_api/v1/organization_pb2_grpc.py depends on' + + f' grpcio>={GRPC_GENERATED_VERSION}.' + + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}' + + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.' + + f' This warning will become an error in {EXPECTED_ERROR_RELEASE},' + + f' scheduled for release on {SCHEDULED_RELEASE_DATE}.', + RuntimeWarning + ) + + +class OrganizationStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.create = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Organization/create', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationCreateRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + _registered_method=True) + self.update = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Organization/update', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationUpdateRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + _registered_method=True) + self.enable = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Organization/enable', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + _registered_method=True) + self.disable = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Organization/disable', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + _registered_method=True) + self.delete = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Organization/delete', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.SerializeToString, + response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString, + _registered_method=True) + self.get = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Organization/get', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + _registered_method=True) + self.list = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Organization/list', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationSearchQuery.SerializeToString, + response_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationsInfo.FromString, + _registered_method=True) + self.stat = channel.unary_unary( + '/spaceone.api.mzc_service_api.v1.Organization/stat', + request_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationStatQuery.SerializeToString, + response_deserializer=google_dot_protobuf_dot_struct__pb2.Struct.FromString, + _registered_method=True) + + +class OrganizationServicer(object): + """Missing associated documentation comment in .proto file.""" + + def create(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def update(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def enable(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def disable(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def delete(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def get(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def list(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def stat(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_OrganizationServicer_to_server(servicer, server): + rpc_method_handlers = { + 'create': grpc.unary_unary_rpc_method_handler( + servicer.create, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationCreateRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.SerializeToString, + ), + 'update': grpc.unary_unary_rpc_method_handler( + servicer.update, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationUpdateRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.SerializeToString, + ), + 'enable': grpc.unary_unary_rpc_method_handler( + servicer.enable, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.SerializeToString, + ), + 'disable': grpc.unary_unary_rpc_method_handler( + servicer.disable, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.SerializeToString, + ), + 'delete': grpc.unary_unary_rpc_method_handler( + servicer.delete, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.FromString, + response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString, + ), + 'get': grpc.unary_unary_rpc_method_handler( + servicer.get, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.SerializeToString, + ), + 'list': grpc.unary_unary_rpc_method_handler( + servicer.list, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationSearchQuery.FromString, + response_serializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationsInfo.SerializeToString, + ), + 'stat': grpc.unary_unary_rpc_method_handler( + servicer.stat, + request_deserializer=spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationStatQuery.FromString, + response_serializer=google_dot_protobuf_dot_struct__pb2.Struct.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'spaceone.api.mzc_service_api.v1.Organization', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('spaceone.api.mzc_service_api.v1.Organization', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class Organization(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def create(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Organization/create', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationCreateRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def update(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Organization/update', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationUpdateRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def enable(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Organization/enable', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def disable(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Organization/disable', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def delete(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Organization/delete', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.SerializeToString, + google_dot_protobuf_dot_empty__pb2.Empty.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def get(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Organization/get', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationRequest.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def list(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Organization/list', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationSearchQuery.SerializeToString, + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationsInfo.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def stat(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/spaceone.api.mzc_service_api.v1.Organization/stat', + spaceone_dot_api_dot_mzc__service__api_dot_v1_dot_organization__pb2.OrganizationStatQuery.SerializeToString, + google_dot_protobuf_dot_struct__pb2.Struct.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/dist/python/spaceone_api.egg-info/PKG-INFO b/dist/python/spaceone_api.egg-info/PKG-INFO index 58653c548..dd1fa06db 100644 --- a/dist/python/spaceone_api.egg-info/PKG-INFO +++ b/dist/python/spaceone_api.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 1.0 Name: spaceone-api -Version: 2.0.288 +Version: 2.0.289 Summary: Coreforet API Protobuf Home-page: https://cloudforet.io/ Author: MEGAZONE Cloud Corp. diff --git a/dist/python/spaceone_api.egg-info/SOURCES.txt b/dist/python/spaceone_api.egg-info/SOURCES.txt index e0a2e9828..d95594ab3 100644 --- a/dist/python/spaceone_api.egg-info/SOURCES.txt +++ b/dist/python/spaceone_api.egg-info/SOURCES.txt @@ -241,6 +241,14 @@ spaceone/api/monitoring/v1/project_alert_config_pb2.py spaceone/api/monitoring/v1/project_alert_config_pb2_grpc.py spaceone/api/monitoring/v1/webhook_pb2.py spaceone/api/monitoring/v1/webhook_pb2_grpc.py +spaceone/api/mzc_service_api/__init__.py +spaceone/api/mzc_service_api/v1/__init__.py +spaceone/api/mzc_service_api/v1/contract_pb2.py +spaceone/api/mzc_service_api/v1/contract_pb2_grpc.py +spaceone/api/mzc_service_api/v1/offering_pb2.py +spaceone/api/mzc_service_api/v1/offering_pb2_grpc.py +spaceone/api/mzc_service_api/v1/organization_pb2.py +spaceone/api/mzc_service_api/v1/organization_pb2_grpc.py spaceone/api/notification/__init__.py spaceone/api/notification/plugin/__init__.py spaceone/api/notification/plugin/notification_pb2.py