From 4cdbc36ca0fef80cfcc4d67a443e7e880738bff7 Mon Sep 17 00:00:00 2001 From: cloudforet-admin Date: Thu, 25 Jul 2024 09:31:19 +0000 Subject: [PATCH] [CI] api has been built --- dist/go.mod | 4 +- dist/go.sum | 8 +- .../spaceone/api/repository/v1/plugin.pb.go | 483 +-- .../cloudforet/api/repository/v1/Plugin.json | 36 + .../cloudforet/api/board/v1/openapi.json | 76 +- .../cloudforet/api/config/v1/openapi.json | 246 +- .../api/cost_analysis/v1/openapi.json | 2000 +++++----- .../cloudforet/api/dashboard/v1/openapi.json | 974 ++--- .../api/file_manager/v1/openapi.json | 76 +- .../cloudforet/api/identity/v1/openapi.json | 2278 ++++++------ .../cloudforet/api/identity/v2/openapi.json | 3204 ++++++++--------- .../cloudforet/api/inventory/v1/openapi.json | 2632 +++++++------- .../cloudforet/api/monitoring/v1/openapi.json | 1450 ++++---- .../api/notification/v1/openapi.json | 76 +- .../cloudforet/api/plugin/v1/openapi.json | 188 +- .../cloudforet/api/repository/v1/openapi.json | 488 +-- .../cloudforet/api/search/v1/openapi.json | 76 +- .../cloudforet/api/secret/v1/openapi.json | 428 +-- .../cloudforet/api/statistics/v1/openapi.json | 196 +- .../spaceone/api/repository/v1/plugin_pb2.py | 48 +- dist/python/dist/spaceone-api-2.0.232.tar.gz | Bin 207348 -> 0 bytes dist/python/dist/spaceone-api-2.0.233.tar.gz | Bin 0 -> 207419 bytes ... => spaceone_api-2.0.233-py3-none-any.whl} | Bin 466387 -> 466407 bytes .../spaceone/api/repository/v1/plugin_pb2.py | 48 +- dist/python/spaceone_api.egg-info/PKG-INFO | 2 +- 25 files changed, 7546 insertions(+), 7471 deletions(-) delete mode 100644 dist/python/dist/spaceone-api-2.0.232.tar.gz create mode 100644 dist/python/dist/spaceone-api-2.0.233.tar.gz rename dist/python/dist/{spaceone_api-2.0.232-py3-none-any.whl => spaceone_api-2.0.233-py3-none-any.whl} (88%) diff --git a/dist/go.mod b/dist/go.mod index b2bc12088..ca80469a1 100755 --- a/dist/go.mod +++ b/dist/go.mod @@ -7,7 +7,7 @@ replace github.com/cloudforet-io/api => ./ require ( github.com/golang/protobuf v1.5.4 github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 - google.golang.org/genproto/googleapis/api v0.0.0-20240722135656-d784300faade + google.golang.org/genproto/googleapis/api v0.0.0-20240723171418-e6d459c13d2a google.golang.org/grpc v1.65.0 google.golang.org/protobuf v1.34.2 ) @@ -16,5 +16,5 @@ require ( golang.org/x/net v0.26.0 // indirect golang.org/x/sys v0.21.0 // indirect golang.org/x/text v0.16.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240722135656-d784300faade // indirect ) diff --git a/dist/go.sum b/dist/go.sum index b631847fa..2a209a410 100755 --- a/dist/go.sum +++ b/dist/go.sum @@ -10,10 +10,10 @@ golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= -google.golang.org/genproto/googleapis/api v0.0.0-20240722135656-d784300faade h1:WxZOF2yayUHpHSbUE6NMzumUzBxYc3YGwo0YHnbzsJY= -google.golang.org/genproto/googleapis/api v0.0.0-20240722135656-d784300faade/go.mod h1:mw8MG/Qz5wfgYr6VqVCiZcHe/GJEfI+oGGDCohaVgB0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 h1:BwIjyKYGsK9dMCBOorzRri8MQwmi7mT9rGHsCEinZkA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= +google.golang.org/genproto/googleapis/api v0.0.0-20240723171418-e6d459c13d2a h1:YIa/rzVqMEokBkPtydCkx1VLmv3An1Uw7w1P1m6EhOY= +google.golang.org/genproto/googleapis/api v0.0.0-20240723171418-e6d459c13d2a/go.mod h1:AHT0dDg3SoMOgZGnZk29b5xTbPHMoEC8qthmBLJCpys= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240722135656-d784300faade h1:oCRSWfwGXQsqlVdErcyTt4A93Y8fo0/9D4b1gnI++qo= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240722135656-d784300faade/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= diff --git a/dist/go/spaceone/api/repository/v1/plugin.pb.go b/dist/go/spaceone/api/repository/v1/plugin.pb.go index 8cc0ffc84..adaf8638d 100755 --- a/dist/go/spaceone/api/repository/v1/plugin.pb.go +++ b/dist/go/spaceone/api/repository/v1/plugin.pb.go @@ -224,6 +224,9 @@ type RegisterPluginRequest struct { // if plugin_id is not provided, it will be generated by image name // +optional PluginId string `protobuf:"bytes,10,opt,name=plugin_id,json=pluginId,proto3" json:"plugin_id,omitempty"` + // +optional + // {"en": {}, "ko": {}, "ja":{}} + Docs *_struct.Struct `protobuf:"bytes,11,opt,name=docs,proto3" json:"docs,omitempty"` } func (x *RegisterPluginRequest) Reset() { @@ -328,6 +331,13 @@ func (x *RegisterPluginRequest) GetPluginId() string { return "" } +func (x *RegisterPluginRequest) GetDocs() *_struct.Struct { + if x != nil { + return x.Docs + } + return nil +} + // { // "name": "JIRA Software Collector", // "capability": { @@ -359,6 +369,8 @@ type UpdatePluginRequest struct { Labels *_struct.ListValue `protobuf:"bytes,4,opt,name=labels,proto3" json:"labels,omitempty"` // +optional Tags *_struct.Struct `protobuf:"bytes,5,opt,name=tags,proto3" json:"tags,omitempty"` + // +optional + Docs *_struct.Struct `protobuf:"bytes,6,opt,name=docs,proto3" json:"docs,omitempty"` } func (x *UpdatePluginRequest) Reset() { @@ -428,6 +440,13 @@ func (x *UpdatePluginRequest) GetTags() *_struct.Struct { return nil } +func (x *UpdatePluginRequest) GetDocs() *_struct.Struct { + if x != nil { + return x.Docs + } + return nil +} + // { // "plugin_id": "plugin-aws-sns-mon-webhook", // } @@ -722,6 +741,7 @@ type PluginInfo struct { Capability *_struct.Struct `protobuf:"bytes,10,opt,name=capability,proto3" json:"capability,omitempty"` Labels *_struct.ListValue `protobuf:"bytes,11,opt,name=labels,proto3" json:"labels,omitempty"` Tags *_struct.Struct `protobuf:"bytes,12,opt,name=tags,proto3" json:"tags,omitempty"` + Docs *_struct.Struct `protobuf:"bytes,13,opt,name=docs,proto3" json:"docs,omitempty"` DomainId string `protobuf:"bytes,21,opt,name=domain_id,json=domainId,proto3" json:"domain_id,omitempty"` RepositoryInfo *RepositoryInfo `protobuf:"bytes,22,opt,name=repository_info,json=repositoryInfo,proto3" json:"repository_info,omitempty"` CreatedAt string `protobuf:"bytes,31,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` @@ -844,6 +864,13 @@ func (x *PluginInfo) GetTags() *_struct.Struct { return nil } +func (x *PluginInfo) GetDocs() *_struct.Struct { + if x != nil { + return x.Docs + } + return nil +} + func (x *PluginInfo) GetDomainId() string { if x != nil { return x.DomainId @@ -1069,7 +1096,7 @@ var file_spaceone_api_repository_v1_plugin_proto_rawDesc = []byte{ 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd0, 0x03, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x03, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 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, 0x23, 0x0a, 0x0d, 0x72, @@ -1099,199 +1126,208 @@ var file_spaceone_api_repository_v1_plugin_proto_rawDesc = []byte{ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x64, - 0x22, 0xe0, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x75, 0x67, - 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x63, 0x61, 0x70, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 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, 0x0a, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x12, 0x32, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x05, - 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, 0x0d, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, - 0x64, 0x22, 0x5b, 0x0a, 0x17, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x50, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, - 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x22, 0x9f, - 0x03, 0x0a, 0x0b, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 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, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2d, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, + 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x0b, 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, 0x64, 0x6f, 0x63, 0x73, 0x22, 0x8d, 0x02, + 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x18, 0x03, 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, 0x0a, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, + 0x32, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x05, 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, 0x2b, 0x0a, 0x04, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x06, 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, 0x64, 0x6f, 0x63, 0x73, 0x22, 0x2c, 0x0a, + 0x0d, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, + 0x0a, 0x09, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x64, 0x22, 0x5b, 0x0a, 0x17, 0x52, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x79, 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x22, 0x9f, 0x03, 0x0a, 0x0b, 0x50, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 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, 0x1b, 0x0a, 0x09, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x12, 0x53, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x52, 0x65, 0x67, + 0x69, 0x73, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x05, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x08, 0x0a, 0x04, 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, 0x22, 0xb7, 0x06, 0x0a, 0x0a, 0x50, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, + 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x40, 0x0a, + 0x0f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x09, 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, + 0x0e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x37, 0x0a, 0x0a, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0a, 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, 0x0a, 0x63, 0x61, + 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x2b, 0x0a, 0x04, + 0x74, 0x61, 0x67, 0x73, 0x18, 0x0c, 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, 0x2b, 0x0a, 0x04, 0x64, 0x6f, 0x63, + 0x73, 0x18, 0x0d, 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, 0x64, 0x6f, 0x63, 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, 0x53, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 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, 0x2c, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x08, 0x0a, 0x04, 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, 0x22, 0x70, 0x0a, 0x0b, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 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, 0x63, 0x0a, 0x0c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 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, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2a, 0x69, 0x0a, 0x12, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x16, 0x0a, 0x12, 0x4e, 0x4f, 0x4e, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, + 0x52, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x4f, 0x43, + 0x4b, 0x45, 0x52, 0x5f, 0x48, 0x55, 0x42, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x57, 0x53, + 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x43, 0x52, 0x10, 0x02, 0x12, 0x0a, + 0x0a, 0x06, 0x48, 0x41, 0x52, 0x42, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x49, + 0x54, 0x48, 0x55, 0x42, 0x10, 0x04, 0x32, 0xe1, 0x08, 0x0a, 0x06, 0x50, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x12, 0x90, 0x01, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x31, + 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x2e, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x0c, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x15, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x08, 0x0a, 0x04, 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, - 0x22, 0x8a, 0x06, 0x0a, 0x0a, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x1b, 0x0a, 0x09, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x42, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x2c, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x23, 0x3a, 0x01, 0x2a, 0x22, 0x1e, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2f, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x8a, 0x01, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, + 0x2f, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, + 0x3a, 0x01, 0x2a, 0x22, 0x1c, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x12, 0x7c, 0x0a, 0x0a, 0x64, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, + 0x29, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x0d, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, 0x75, 0x72, 0x6c, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, - 0x55, 0x72, 0x6c, 0x12, 0x40, 0x0a, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 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, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x0a, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x18, 0x0a, 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, 0x0a, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x32, - 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0c, 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, 0x53, 0x0a, 0x0f, - 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, - 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, + 0x67, 0x69, 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, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 0x2f, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x2f, 0x64, 0x65, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, + 0x84, 0x01, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x29, 0x2e, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x66, - 0x6f, 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, - 0x2c, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x08, 0x0a, 0x04, 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, 0x22, 0x70, 0x0a, - 0x0b, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x07, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x27, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x3a, 0x01, 0x2a, 0x22, 0x1c, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x29, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, - 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, - 0x63, 0x0a, 0x0c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 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, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x2a, 0x69, 0x0a, 0x12, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x4e, 0x4f, - 0x4e, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x52, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x4f, 0x43, 0x4b, 0x45, 0x52, 0x5f, 0x48, 0x55, 0x42, - 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x57, 0x53, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, - 0x45, 0x5f, 0x45, 0x43, 0x52, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x41, 0x52, 0x42, 0x4f, - 0x52, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x10, 0x04, 0x32, - 0xe1, 0x08, 0x0a, 0x06, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x90, 0x01, 0x0a, 0x08, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, - 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, - 0x66, 0x6f, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x22, 0x1e, 0x2f, - 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x8a, 0x01, - 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2f, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x75, 0x67, - 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, - 0x6f, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x3a, 0x01, 0x2a, 0x22, 0x1c, 0x2f, 0x72, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x7c, 0x0a, 0x0a, 0x64, 0x65, - 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x29, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 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, 0x2b, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2f, 0x64, 0x65, - 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x84, 0x01, 0x0a, 0x06, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x12, 0x29, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, - 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, - 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x3a, 0x01, - 0x2a, 0x22, 0x1c, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, - 0x86, 0x01, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x29, 0x2e, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, + 0x22, 0x1d, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x9c, 0x01, 0x0a, 0x0c, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x33, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x22, + 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x3a, 0x01, 0x2a, 0x22, 0x22, 0x2f, 0x72, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x2f, 0x67, 0x65, 0x74, 0x2d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x88, + 0x01, 0x0a, 0x03, 0x67, 0x65, 0x74, 0x12, 0x33, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x28, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d, 0x2f, 0x72, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, - 0x2f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x9c, 0x01, 0x0a, 0x0c, 0x67, 0x65, 0x74, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, - 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, - 0x3a, 0x01, 0x2a, 0x22, 0x22, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2f, 0x67, 0x65, 0x74, 0x2d, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x88, 0x01, 0x0a, 0x03, 0x67, 0x65, 0x74, 0x12, - 0x33, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x24, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2f, 0x67, - 0x65, 0x74, 0x12, 0x7f, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x2e, 0x73, 0x70, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x50, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19, + 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2f, 0x67, 0x65, 0x74, 0x12, 0x7f, 0x0a, 0x04, 0x6c, 0x69, 0x73, + 0x74, 0x12, 0x27, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x27, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x1a, 0x27, 0x2e, 0x73, 0x70, 0x61, 0x63, 0x65, 0x6f, 0x6e, 0x65, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x25, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2f, 0x6c, - 0x69, 0x73, 0x74, 0x42, 0x41, 0x5a, 0x3f, 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, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x49, + 0x6e, 0x66, 0x6f, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, + 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x41, 0x5a, 0x3f, 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, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1332,41 +1368,44 @@ var file_spaceone_api_repository_v1_plugin_proto_depIdxs = []int32{ 11, // 2: spaceone.api.repository.v1.RegisterPluginRequest.capability:type_name -> google.protobuf.Struct 12, // 3: spaceone.api.repository.v1.RegisterPluginRequest.labels:type_name -> google.protobuf.ListValue 11, // 4: spaceone.api.repository.v1.RegisterPluginRequest.tags:type_name -> google.protobuf.Struct - 11, // 5: spaceone.api.repository.v1.UpdatePluginRequest.capability:type_name -> google.protobuf.Struct - 12, // 6: spaceone.api.repository.v1.UpdatePluginRequest.labels:type_name -> google.protobuf.ListValue - 11, // 7: spaceone.api.repository.v1.UpdatePluginRequest.tags:type_name -> google.protobuf.Struct - 13, // 8: spaceone.api.repository.v1.PluginQuery.query:type_name -> spaceone.api.core.v2.Query - 1, // 9: spaceone.api.repository.v1.PluginQuery.state:type_name -> spaceone.api.repository.v1.PluginQuery.State - 0, // 10: spaceone.api.repository.v1.PluginQuery.registry_type:type_name -> spaceone.api.repository.v1.PublicRegistryType - 2, // 11: spaceone.api.repository.v1.PluginInfo.state:type_name -> spaceone.api.repository.v1.PluginInfo.State - 0, // 12: spaceone.api.repository.v1.PluginInfo.registry_type:type_name -> spaceone.api.repository.v1.PublicRegistryType - 11, // 13: spaceone.api.repository.v1.PluginInfo.registry_config:type_name -> google.protobuf.Struct - 11, // 14: spaceone.api.repository.v1.PluginInfo.capability:type_name -> google.protobuf.Struct - 12, // 15: spaceone.api.repository.v1.PluginInfo.labels:type_name -> google.protobuf.ListValue - 11, // 16: spaceone.api.repository.v1.PluginInfo.tags:type_name -> google.protobuf.Struct - 14, // 17: spaceone.api.repository.v1.PluginInfo.repository_info:type_name -> spaceone.api.repository.v1.RepositoryInfo - 8, // 18: spaceone.api.repository.v1.PluginsInfo.results:type_name -> spaceone.api.repository.v1.PluginInfo - 3, // 19: spaceone.api.repository.v1.Plugin.register:input_type -> spaceone.api.repository.v1.RegisterPluginRequest - 4, // 20: spaceone.api.repository.v1.Plugin.update:input_type -> spaceone.api.repository.v1.UpdatePluginRequest - 5, // 21: spaceone.api.repository.v1.Plugin.deregister:input_type -> spaceone.api.repository.v1.PluginRequest - 5, // 22: spaceone.api.repository.v1.Plugin.enable:input_type -> spaceone.api.repository.v1.PluginRequest - 5, // 23: spaceone.api.repository.v1.Plugin.disable:input_type -> spaceone.api.repository.v1.PluginRequest - 6, // 24: spaceone.api.repository.v1.Plugin.get_versions:input_type -> spaceone.api.repository.v1.RepositoryPluginRequest - 6, // 25: spaceone.api.repository.v1.Plugin.get:input_type -> spaceone.api.repository.v1.RepositoryPluginRequest - 7, // 26: spaceone.api.repository.v1.Plugin.list:input_type -> spaceone.api.repository.v1.PluginQuery - 8, // 27: spaceone.api.repository.v1.Plugin.register:output_type -> spaceone.api.repository.v1.PluginInfo - 8, // 28: spaceone.api.repository.v1.Plugin.update:output_type -> spaceone.api.repository.v1.PluginInfo - 15, // 29: spaceone.api.repository.v1.Plugin.deregister:output_type -> google.protobuf.Empty - 8, // 30: spaceone.api.repository.v1.Plugin.enable:output_type -> spaceone.api.repository.v1.PluginInfo - 8, // 31: spaceone.api.repository.v1.Plugin.disable:output_type -> spaceone.api.repository.v1.PluginInfo - 10, // 32: spaceone.api.repository.v1.Plugin.get_versions:output_type -> spaceone.api.repository.v1.VersionsInfo - 8, // 33: spaceone.api.repository.v1.Plugin.get:output_type -> spaceone.api.repository.v1.PluginInfo - 9, // 34: spaceone.api.repository.v1.Plugin.list:output_type -> spaceone.api.repository.v1.PluginsInfo - 27, // [27:35] is the sub-list for method output_type - 19, // [19:27] is the sub-list for method input_type - 19, // [19:19] is the sub-list for extension type_name - 19, // [19:19] is the sub-list for extension extendee - 0, // [0:19] is the sub-list for field type_name + 11, // 5: spaceone.api.repository.v1.RegisterPluginRequest.docs:type_name -> google.protobuf.Struct + 11, // 6: spaceone.api.repository.v1.UpdatePluginRequest.capability:type_name -> google.protobuf.Struct + 12, // 7: spaceone.api.repository.v1.UpdatePluginRequest.labels:type_name -> google.protobuf.ListValue + 11, // 8: spaceone.api.repository.v1.UpdatePluginRequest.tags:type_name -> google.protobuf.Struct + 11, // 9: spaceone.api.repository.v1.UpdatePluginRequest.docs:type_name -> google.protobuf.Struct + 13, // 10: spaceone.api.repository.v1.PluginQuery.query:type_name -> spaceone.api.core.v2.Query + 1, // 11: spaceone.api.repository.v1.PluginQuery.state:type_name -> spaceone.api.repository.v1.PluginQuery.State + 0, // 12: spaceone.api.repository.v1.PluginQuery.registry_type:type_name -> spaceone.api.repository.v1.PublicRegistryType + 2, // 13: spaceone.api.repository.v1.PluginInfo.state:type_name -> spaceone.api.repository.v1.PluginInfo.State + 0, // 14: spaceone.api.repository.v1.PluginInfo.registry_type:type_name -> spaceone.api.repository.v1.PublicRegistryType + 11, // 15: spaceone.api.repository.v1.PluginInfo.registry_config:type_name -> google.protobuf.Struct + 11, // 16: spaceone.api.repository.v1.PluginInfo.capability:type_name -> google.protobuf.Struct + 12, // 17: spaceone.api.repository.v1.PluginInfo.labels:type_name -> google.protobuf.ListValue + 11, // 18: spaceone.api.repository.v1.PluginInfo.tags:type_name -> google.protobuf.Struct + 11, // 19: spaceone.api.repository.v1.PluginInfo.docs:type_name -> google.protobuf.Struct + 14, // 20: spaceone.api.repository.v1.PluginInfo.repository_info:type_name -> spaceone.api.repository.v1.RepositoryInfo + 8, // 21: spaceone.api.repository.v1.PluginsInfo.results:type_name -> spaceone.api.repository.v1.PluginInfo + 3, // 22: spaceone.api.repository.v1.Plugin.register:input_type -> spaceone.api.repository.v1.RegisterPluginRequest + 4, // 23: spaceone.api.repository.v1.Plugin.update:input_type -> spaceone.api.repository.v1.UpdatePluginRequest + 5, // 24: spaceone.api.repository.v1.Plugin.deregister:input_type -> spaceone.api.repository.v1.PluginRequest + 5, // 25: spaceone.api.repository.v1.Plugin.enable:input_type -> spaceone.api.repository.v1.PluginRequest + 5, // 26: spaceone.api.repository.v1.Plugin.disable:input_type -> spaceone.api.repository.v1.PluginRequest + 6, // 27: spaceone.api.repository.v1.Plugin.get_versions:input_type -> spaceone.api.repository.v1.RepositoryPluginRequest + 6, // 28: spaceone.api.repository.v1.Plugin.get:input_type -> spaceone.api.repository.v1.RepositoryPluginRequest + 7, // 29: spaceone.api.repository.v1.Plugin.list:input_type -> spaceone.api.repository.v1.PluginQuery + 8, // 30: spaceone.api.repository.v1.Plugin.register:output_type -> spaceone.api.repository.v1.PluginInfo + 8, // 31: spaceone.api.repository.v1.Plugin.update:output_type -> spaceone.api.repository.v1.PluginInfo + 15, // 32: spaceone.api.repository.v1.Plugin.deregister:output_type -> google.protobuf.Empty + 8, // 33: spaceone.api.repository.v1.Plugin.enable:output_type -> spaceone.api.repository.v1.PluginInfo + 8, // 34: spaceone.api.repository.v1.Plugin.disable:output_type -> spaceone.api.repository.v1.PluginInfo + 10, // 35: spaceone.api.repository.v1.Plugin.get_versions:output_type -> spaceone.api.repository.v1.VersionsInfo + 8, // 36: spaceone.api.repository.v1.Plugin.get:output_type -> spaceone.api.repository.v1.PluginInfo + 9, // 37: spaceone.api.repository.v1.Plugin.list:output_type -> spaceone.api.repository.v1.PluginsInfo + 30, // [30:38] is the sub-list for method output_type + 22, // [22:30] is the sub-list for method input_type + 22, // [22:22] is the sub-list for extension type_name + 22, // [22:22] is the sub-list for extension extendee + 0, // [0:22] is the sub-list for field type_name } func init() { file_spaceone_api_repository_v1_plugin_proto_init() } diff --git a/dist/json/cloudforet/api/repository/v1/Plugin.json b/dist/json/cloudforet/api/repository/v1/Plugin.json index 4538f3a14..5fae5d961 100755 --- a/dist/json/cloudforet/api/repository/v1/Plugin.json +++ b/dist/json/cloudforet/api/repository/v1/Plugin.json @@ -245,6 +245,18 @@ "oneofdecl": "", "defaultValue": "" }, + { + "name": "docs", + "description": "", + "label": "", + "type": "Struct", + "longType": "google.protobuf.Struct", + "fullType": "google.protobuf.Struct", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, { "name": "domain_id", "description": "", @@ -592,6 +604,18 @@ "isoneof": false, "oneofdecl": "", "defaultValue": "" + }, + { + "name": "docs", + "description": "+optional\n{\"en\": {}, \"ko\": {}, \"ja\":{}}", + "label": "", + "type": "Struct", + "longType": "google.protobuf.Struct", + "fullType": "google.protobuf.Struct", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" } ] }, @@ -700,6 +724,18 @@ "isoneof": false, "oneofdecl": "", "defaultValue": "" + }, + { + "name": "docs", + "description": "+optional", + "label": "", + "type": "Struct", + "longType": "google.protobuf.Struct", + "fullType": "google.protobuf.Struct", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" } ] }, diff --git a/dist/openapi/cloudforet/api/board/v1/openapi.json b/dist/openapi/cloudforet/api/board/v1/openapi.json index 622c602d0..d843b6653 100755 --- a/dist/openapi/cloudforet/api/board/v1/openapi.json +++ b/dist/openapi/cloudforet/api/board/v1/openapi.json @@ -259,44 +259,6 @@ "required": ["post_id"], "title": "UpdatePostRequest" } - , "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", @@ -465,6 +427,44 @@ "type": "object", "required": ["path","filter"], "title": "Unwind" + } + , "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" } }, "Struct": {"properties": {"type": "object","title": "Struct"}}, diff --git a/dist/openapi/cloudforet/api/config/v1/openapi.json b/dist/openapi/cloudforet/api/config/v1/openapi.json index edfbdeb6c..3bab8dab4 100755 --- a/dist/openapi/cloudforet/api/config/v1/openapi.json +++ b/dist/openapi/cloudforet/api/config/v1/openapi.json @@ -373,9 +373,9 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/config/workspace-config/create": { + },"/config/user-config/create": { "post": { - "tags": ["config > workspace-config"], + "tags": ["config > user-config"], "summary": "Create", "operationId" : "", "description": "### Description \n", @@ -395,16 +395,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/WorkspaceConfigInfo"}, + "schema": {"$ref": "#/components/schemas/UserConfigInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/WorkspaceConfigInfo"}} + "Schema": {"$ref": "#/components/schemas/UserConfigInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/config/workspace-config/update": { + },"/config/user-config/update": { "post": { - "tags": ["config > workspace-config"], + "tags": ["config > user-config"], "summary": "Update", "operationId" : "", "description": "### Description \n", @@ -424,16 +424,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/WorkspaceConfigInfo"}, + "schema": {"$ref": "#/components/schemas/UserConfigInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/WorkspaceConfigInfo"}} + "Schema": {"$ref": "#/components/schemas/UserConfigInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/config/workspace-config/set": { + },"/config/user-config/set": { "post": { - "tags": ["config > workspace-config"], + "tags": ["config > user-config"], "summary": "Set", "operationId" : "", "description": "### Description \n", @@ -453,16 +453,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/WorkspaceConfigInfo"}, + "schema": {"$ref": "#/components/schemas/UserConfigInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/WorkspaceConfigInfo"}} + "Schema": {"$ref": "#/components/schemas/UserConfigInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/config/workspace-config/delete": { + },"/config/user-config/delete": { "post": { - "tags": ["config > workspace-config"], + "tags": ["config > user-config"], "summary": "Delete", "operationId" : "", "description": "### Description \n", @@ -483,9 +483,9 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/config/workspace-config/get": { + },"/config/user-config/get": { "post": { - "tags": ["config > workspace-config"], + "tags": ["config > user-config"], "summary": "Get", "operationId" : "", "description": "### Description \n", @@ -505,16 +505,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/WorkspaceConfigInfo"}, + "schema": {"$ref": "#/components/schemas/UserConfigInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/WorkspaceConfigInfo"}} + "Schema": {"$ref": "#/components/schemas/UserConfigInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/config/workspace-config/list": { + },"/config/user-config/list": { "post": { - "tags": ["config > workspace-config"], + "tags": ["config > user-config"], "summary": "List", "operationId" : "", "description": "### Description \n", @@ -534,16 +534,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/WorkspaceConfigsInfo"}, + "schema": {"$ref": "#/components/schemas/UserConfigsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/WorkspaceConfigsInfo"}} + "Schema": {"$ref": "#/components/schemas/UserConfigsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/config/workspace-config/stat": { + },"/config/user-config/stat": { "post": { - "tags": ["config > workspace-config"], + "tags": ["config > user-config"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -570,9 +570,9 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/config/user-config/create": { + },"/config/workspace-config/create": { "post": { - "tags": ["config > user-config"], + "tags": ["config > workspace-config"], "summary": "Create", "operationId" : "", "description": "### Description \n", @@ -592,16 +592,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserConfigInfo"}, + "schema": {"$ref": "#/components/schemas/WorkspaceConfigInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserConfigInfo"}} + "Schema": {"$ref": "#/components/schemas/WorkspaceConfigInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/config/user-config/update": { + },"/config/workspace-config/update": { "post": { - "tags": ["config > user-config"], + "tags": ["config > workspace-config"], "summary": "Update", "operationId" : "", "description": "### Description \n", @@ -621,16 +621,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserConfigInfo"}, + "schema": {"$ref": "#/components/schemas/WorkspaceConfigInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserConfigInfo"}} + "Schema": {"$ref": "#/components/schemas/WorkspaceConfigInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/config/user-config/set": { + },"/config/workspace-config/set": { "post": { - "tags": ["config > user-config"], + "tags": ["config > workspace-config"], "summary": "Set", "operationId" : "", "description": "### Description \n", @@ -650,16 +650,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserConfigInfo"}, + "schema": {"$ref": "#/components/schemas/WorkspaceConfigInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserConfigInfo"}} + "Schema": {"$ref": "#/components/schemas/WorkspaceConfigInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/config/user-config/delete": { + },"/config/workspace-config/delete": { "post": { - "tags": ["config > user-config"], + "tags": ["config > workspace-config"], "summary": "Delete", "operationId" : "", "description": "### Description \n", @@ -680,9 +680,9 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/config/user-config/get": { + },"/config/workspace-config/get": { "post": { - "tags": ["config > user-config"], + "tags": ["config > workspace-config"], "summary": "Get", "operationId" : "", "description": "### Description \n", @@ -702,16 +702,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserConfigInfo"}, + "schema": {"$ref": "#/components/schemas/WorkspaceConfigInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserConfigInfo"}} + "Schema": {"$ref": "#/components/schemas/WorkspaceConfigInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/config/user-config/list": { + },"/config/workspace-config/list": { "post": { - "tags": ["config > user-config"], + "tags": ["config > workspace-config"], "summary": "List", "operationId" : "", "description": "### Description \n", @@ -731,16 +731,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserConfigsInfo"}, + "schema": {"$ref": "#/components/schemas/WorkspaceConfigsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserConfigsInfo"}} + "Schema": {"$ref": "#/components/schemas/WorkspaceConfigsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/config/user-config/stat": { + },"/config/workspace-config/stat": { "post": { - "tags": ["config > user-config"], + "tags": ["config > workspace-config"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -808,44 +808,6 @@ "required": ["name","data"], "title": "SetDomainConfigRequest" } - , "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", @@ -1015,6 +977,44 @@ "required": ["path","filter"], "title": "Unwind" } + , "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" + } , "CreatePublicConfigRequest": { "properties" : {"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, "type": "object", @@ -1058,6 +1058,43 @@ "required": ["name","data"], "title": "UpdatePublicConfigRequest" } + , "SetUserConfigRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["name","data"], + "title": "SetUserConfigRequest" + } + , "UserConfigInfo": { + "properties" : {"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"user_id" : {"type": "string","title": "USER_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + "type": "object", + "required": ["name","data","tags","domain_id","user_id","created_at","updated_at"], + "title": "UserConfigInfo" + } + , "UserConfigQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"name" : {"type": "string","title": "NAME"}}, + "type": "object", + "required": [], + "title": "UserConfigQuery" + } + , "UserConfigRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"}}, + "type": "object", + "required": ["name"], + "title": "UserConfigRequest" + } + , "UserConfigStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + "type": "object", + "required": ["query"], + "title": "UserConfigStatQuery" + } + , "UserConfigsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/UserConfigInfo"}, + "type": "array","$ref": "#/components/schemas/UserConfigInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "UserConfigsInfo" + } , "CreateWorkspaceConfigRequest": { "properties" : {"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", @@ -1100,43 +1137,6 @@ "type": "object", "required": ["results","total_count"], "title": "WorkspaceConfigsInfo" - } - , "SetUserConfigRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"tags" : {"type": "object","title": "TAGS"}}, - "type": "object", - "required": ["name","data"], - "title": "SetUserConfigRequest" - } - , "UserConfigInfo": { - "properties" : {"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"user_id" : {"type": "string","title": "USER_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, - "type": "object", - "required": ["name","data","tags","domain_id","user_id","created_at","updated_at"], - "title": "UserConfigInfo" - } - , "UserConfigQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"name" : {"type": "string","title": "NAME"}}, - "type": "object", - "required": [], - "title": "UserConfigQuery" - } - , "UserConfigRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"}}, - "type": "object", - "required": ["name"], - "title": "UserConfigRequest" - } - , "UserConfigStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, - "type": "object", - "required": ["query"], - "title": "UserConfigStatQuery" - } - , "UserConfigsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/UserConfigInfo"}, - "type": "array","$ref": "#/components/schemas/UserConfigInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, - "type": "object", - "required": ["results","total_count"], - "title": "UserConfigsInfo" } }, "Struct": {"properties": {"type": "object","title": "Struct"}}, diff --git a/dist/openapi/cloudforet/api/cost_analysis/v1/openapi.json b/dist/openapi/cloudforet/api/cost_analysis/v1/openapi.json index 686812545..c00d1edba 100755 --- a/dist/openapi/cloudforet/api/cost_analysis/v1/openapi.json +++ b/dist/openapi/cloudforet/api/cost_analysis/v1/openapi.json @@ -8,18 +8,18 @@ "title": "Cost Analysis API", "version": "3.1.0" }, - "paths":{"/cost-analysis/data-source-account/update": { + "paths":{"/cost-analysis/cost-report-config/create": { "post": { - "tags": ["cost-analysis > data-source-account"], - "summary": "Update", + "tags": ["cost-analysis > cost-report-config"], + "summary": "Create", "operationId" : "", - "description": "### Description \nUpdate a DataSourceAccount with the specified DataSourceAccount ID related to the DataSource.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |account_id|account_id is the unique identifier of each CSP account.(e.g. Azure Tenant ID)|string|True|\n |workspace_id||string||\n |project_id||string||\n |service_account_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |recipients||Struct|True|\n |issue_day||int||\n |is_last_day||boolean||\n |currency||string||\n |data_source_filter||Struct||\n |language|Default `en` |string||\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"account_id" : {"type": "string","title": "ACCOUNT_ID" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } + "properties": {"issue_day" : {"type": "integer","title": "ISSUE_DAY" },"is_last_day" : {"type": "boolean","title": "IS_LAST_DAY" },"currency" : {"type": "string","title": "CURRENCY" },"recipients" : {"type": "object","title": "RECIPIENTS" },"data_source_filter" : {"type": "object","title": "DATA_SOURCE_FILTER" },"language" : {"type": "string","title": "LANGUAGE" } } }, "examples":{"Schema":{} } @@ -30,25 +30,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceAccountInfo"}, + "schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceAccountInfo"}} + "Schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source-account/reset": { + },"/cost-analysis/cost-report-config/update": { "post": { - "tags": ["cost-analysis > data-source-account"], - "summary": "Reset", + "tags": ["cost-analysis > cost-report-config"], + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |account_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_config_id|The ID of cost report in the Protocol.|string|True|\n |issue_day||int||\n |is_last_day||boolean||\n |currency||string||\n |data_source_filter||Struct||\n |language||string||\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"account_id" : {"type": "string","title": "ACCOUNT_ID" } } + "properties": {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" },"issue_day" : {"type": "integer","title": "ISSUE_DAY" },"is_last_day" : {"type": "boolean","title": "IS_LAST_DAY" },"currency" : {"type": "string","title": "CURRENCY" },"data_source_filter" : {"type": "object","title": "DATA_SOURCE_FILTER" },"language" : {"type": "string","title": "LANGUAGE" } } }, "examples":{"Schema":{} } @@ -57,21 +57,27 @@ }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source-account/get": { + },"/cost-analysis/cost-report-config/update-recipients": { "post": { - "tags": ["cost-analysis > data-source-account"], - "summary": "Get", + "tags": ["cost-analysis > cost-report-config"], + "summary": "Update Recipients", "operationId" : "", - "description": "### Description \nGet a DataSourceAccount with the specified DataSourceAccount ID related to the DataSource.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_account_id||string|True|\n |account_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_config_id||string|True|\n |recipients||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_account_id" : {"type": "string","title": "DATA_SOURCE_ACCOUNT_ID" },"account_id" : {"type": "string","title": "ACCOUNT_ID" } } + "properties": {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" },"recipients" : {"type": "object","title": "RECIPIENTS" } } }, "examples":{"Schema":{} } @@ -82,25 +88,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceAccountInfo"}, + "schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceAccountInfo"}} + "Schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source-account/list": { + },"/cost-analysis/cost-report-config/enable": { "post": { - "tags": ["cost-analysis > data-source-account"], - "summary": "List", + "tags": ["cost-analysis > cost-report-config"], + "summary": "Enable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |data_source_id||string||\n |account_id||string||\n |workspace_id||string||\n |project_id||string||\n |service_account_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_config_id|The ID of cost report in the Protocol.|string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"account_id" : {"type": "string","title": "ACCOUNT_ID" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } + "properties": {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" } } }, "examples":{"Schema":{} } @@ -111,25 +117,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceAccountsInfo"}, + "schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceAccountsInfo"}} + "Schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source-account/analyze": { + },"/cost-analysis/cost-report-config/disable": { "post": { - "tags": ["cost-analysis > data-source-account"], - "summary": "Analyze", + "tags": ["cost-analysis > cost-report-config"], + "summary": "Disable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||TimeSeriesAnalyzeQuery|True|\n |data_source_id||string|True|\n |account_id||string|True|\n |workspace_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_config_id|The ID of cost report in the Protocol.|string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"account_id" : {"type": "string","title": "ACCOUNT_ID" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" } } }, "examples":{"Schema":{} } @@ -140,25 +146,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source-account/stat": { + },"/cost-analysis/cost-report-config/delete": { "post": { - "tags": ["cost-analysis > data-source-account"], - "summary": "Stat", + "tags": ["cost-analysis > cost-report-config"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_config_id|The ID of cost report in the Protocol.|string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" } } }, "examples":{"Schema":{} } @@ -167,29 +173,46 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"type": "object"}, - "examples": { - "Schema": {"type": "object"}} + "description": "Successfull Response"} + } + ,"security": [{"HTTPBearer": []}] } + },"/cost-analysis/cost-report-config/run": { + "post": { + "tags": ["cost-analysis > cost-report-config"], + "summary": "Run", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_config_id|The ID of cost report in the Protocol.|string|True|\n
", + "content": { + "application/json": { + "schema": { + "properties": {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" } } + }, + "examples":{"Schema":{} } - }} + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source/register": { + },"/cost-analysis/cost-report-config/get": { "post": { - "tags": ["cost-analysis > data-source"], - "summary": "Register", + "tags": ["cost-analysis > cost-report-config"], + "summary": "Get", "operationId" : "", - "description": "### Description \nRegisters a DataSource with information of the plugin to use. Information of the plugin includes `version`, `provider`, and `upgrade_mode`.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |data_source_type|LOCAL, EXTERNAL |string|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |provider||string||\n |secret_type|MANUAL, USE_SERVICE_ACCOUNT_SECRET |string||\n |secret_filter||SecretFilter||\n |template||Struct||\n |plugin_info||PluginInfo||\n |tags||Struct||\n |workspace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_config_id|The ID of cost report in the Protocol.|string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"data_source_type" : {"type": "string","title": "DATA_SOURCE_TYPE" },"provider" : {"type": "string","title": "PROVIDER" },"secret_type" : {"type": "string","title": "SECRET_TYPE" },"secret_filter" : {"$ref": "#/components/schemas/SecretFilter","title": "SECRET_FILTER" },"template" : {"type": "object","title": "TEMPLATE" },"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"name\": \"AWS HyperBilling Data Source test\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"conditions_policy\": \"ALWAYS\",\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"conditions\": [],\n \"tags\": {},\n \"name\": \"match_service_account\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\"a\": \"b\"}\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -198,29 +221,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, + "schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ - "value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test\",\n \"state\": \"ENABLED\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"conditions\": [],\n \"name\": \"match_service_account\",\n \"tags\": {},\n \"data_source_id\": \"ds-085d1e872789\",\n \"conditions_policy\": \"ALWAYS\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"template\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"cost_tag_keys\": [\n \"Name\",\n \"Environment\",\n \"Role\",\n \"Service\"\n ],\n \"cost_additional_info_keys\": [\n \"Instance Type\",\n \"Usage Type Details\"\n ],\n \"cost_data_keys\": [\n \"AmortizedCost\",\n \"BlendedCost\",\n ]\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:58:36.080Z\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source/update": { + },"/cost-analysis/cost-report-config/list": { "post": { - "tags": ["cost-analysis > data-source"], - "summary": "Update", + "tags": ["cost-analysis > cost-report-config"], + "summary": "List", "operationId" : "", - "description": "### Description \nUpdates a specific DataSource. You can make changes in DataSource settings, including `name` and `tags`.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |name||string||\n |secret_filter||SecretFilter||\n |template||Struct||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |cost_report_config_id|The ID of cost report in the Protocol. |string||\n |state|ENABLED, DISABLED |string||\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"name" : {"type": "string","title": "NAME" },"secret_filter" : {"$ref": "#/components/schemas/SecretFilter","title": "SECRET_FILTER" },"template" : {"type": "object","title": "TEMPLATE" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" },"state" : {"type": "string","title": "STATE" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test2\",\n \"tags\": {\n \"type\": \"test\"\n }\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -229,29 +250,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, + "schema": {"$ref": "#/components/schemas/CostReportConfigsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ - "value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test\",\n \"state\": \"ENABLED\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"conditions\": [],\n \"name\": \"match_service_account\",\n \"tags\": {},\n \"data_source_id\": \"ds-085d1e872789\",\n \"conditions_policy\": \"ALWAYS\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"template\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"cost_tag_keys\": [\n \"Name\",\n \"Environment\",\n \"Role\",\n \"Service\"\n ],\n \"cost_additional_info_keys\": [\n \"Instance Type\",\n \"Usage Type Details\"\n ],\n \"cost_data_keys\": [\n \"AmortizedCost\",\n \"BlendedCost\",\n ]\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:58:36.080Z\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/CostReportConfigsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source/update-permissions": { + },"/cost-analysis/cost-report-config/stat": { "post": { - "tags": ["cost-analysis > data-source"], - "summary": "Update Permissions", + "tags": ["cost-analysis > cost-report-config"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |permissions||Struct|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"permissions" : {"type": "object","title": "PERMISSIONS" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\" : \"ds-12331222\",\n \"permissions\" : {\"deny\": [\"data.PayAsYouGo\", \"data.ActualCost\"]}\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -260,29 +279,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, + "schema": {"$ref": "#/components/schemas/CostReportConfigsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ - "value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test\",\n \"state\": \"ENABLED\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"conditions\": [],\n \"name\": \"match_service_account\",\n \"tags\": {},\n \"data_source_id\": \"ds-085d1e872789\",\n \"conditions_policy\": \"ALWAYS\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"template\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"cost_tag_keys\": [\n \"Name\",\n \"Environment\",\n \"Role\",\n \"Service\"\n ],\n \"cost_additional_info_keys\": [\n \"Instance Type\",\n \"Usage Type Details\"\n ],\n \"cost_data_keys\": [\n \"AmortizedCost\",\n \"BlendedCost\",\n ]\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:58:36.080Z\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/CostReportConfigsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source/update-plugin": { + },"/cost-analysis/cost-query-set/create": { "post": { - "tags": ["cost-analysis > data-source"], - "summary": "Update Plugin", + "tags": ["cost-analysis > cost-query-set"], + "summary": "Create", "operationId" : "", - "description": "### Description \nUpdates the plugin of a specific DataSource. This method resets the plugin data in the DataSource to update the `metadata`.", + "description": "### Description \nCreates a new CostQuerySet. You can make your own custom query that meets your needs, and input it as an `option` parameter of the resource. Queries such as `group_by` and `granularity` are provided by default.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |version||string||\n |options||Struct||\n |upgrade_mode|MANUAL, AUTO |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |name||string|True|\n |options||Struct|True|\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"version" : {"type": "string","title": "VERSION" },"options" : {"type": "object","title": "OPTIONS" },"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"name" : {"type": "string","title": "NAME" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"upgrade_mode\": \"AUTO\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"project_provider_region\",\n \"options\": {}\n}"},"Schema":{} } } },"required": true @@ -291,29 +308,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, + "schema": {"$ref": "#/components/schemas/CostQuerySetInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ - "value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test\",\n \"state\": \"ENABLED\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"conditions\": [],\n \"name\": \"match_service_account\",\n \"tags\": {},\n \"data_source_id\": \"ds-085d1e872789\",\n \"conditions_policy\": \"ALWAYS\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"template\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"cost_tag_keys\": [\n \"Name\",\n \"Environment\",\n \"Role\",\n \"Service\"\n ],\n \"cost_additional_info_keys\": [\n \"Instance Type\",\n \"Usage Type Details\"\n ],\n \"cost_data_keys\": [\n \"AmortizedCost\",\n \"BlendedCost\",\n ]\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:58:36.080Z\"\n}" + "Schema": {"$ref": "#/components/schemas/CostQuerySetInfo"},"Default Example":{ + "value": "{\n \"cost_query_set_id\": \"query-76a58ea5d02c\",\n \"name\": \"project_provider_region\",\n \"options\": {},\n \"tags\": {},\n \"user_id\": \"test@cloudforet.io\",\n \"data_source_id\": \"ds-085d1e872789\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T06:11:03.701Z\",\n \"updated_at\": \"2022-07-19T06:11:03.701Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source/update-secret-data": { + },"/cost-analysis/cost-query-set/update": { "post": { - "tags": ["cost-analysis > data-source"], - "summary": "Update Secret Data", + "tags": ["cost-analysis > cost-query-set"], + "summary": "Update", "operationId" : "", - "description": "### Description \nUpdates the secret data of plugin for DataSource. This method updates the secret data in the DataSource to update the `secret_data`.", + "description": "### Description \nUpdates a specific CostQuerySet. You can make changes in the details of queries.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |secret_schema_id||string|True|\n |secret_data||Struct|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_query_set_id||string|True|\n |name||string||\n |options||Struct||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID" },"secret_data" : {"type": "object","title": "SECRET_DATA" } } + "properties": {"cost_query_set_id" : {"type": "string","title": "COST_QUERY_SET_ID" },"name" : {"type": "string","title": "NAME" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"cost_query_set_id\": \"query-76a58ea5d02c\",\n \"name\": \"project_provider_region\",\n \"options\": {},\n \"tags\": {},\n \"user_id\": \"test@cloudforet.io\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T06:11:03.701Z\",\n \"updated_at\": \"2022-07-19T06:11:03.701Z\"\n}"},"Schema":{} } } },"required": true @@ -322,29 +339,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, + "schema": {"$ref": "#/components/schemas/CostQuerySetInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ - "value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test\",\n \"state\": \"ENABLED\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"conditions\": [],\n \"name\": \"match_service_account\",\n \"tags\": {},\n \"data_source_id\": \"ds-085d1e872789\",\n \"conditions_policy\": \"ALWAYS\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"template\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"cost_tag_keys\": [\n \"Name\",\n \"Environment\",\n \"Role\",\n \"Service\"\n ],\n \"cost_additional_info_keys\": [\n \"Instance Type\",\n \"Usage Type Details\"\n ],\n \"cost_data_keys\": [\n \"AmortizedCost\",\n \"BlendedCost\",\n ]\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:58:36.080Z\"\n}" + "Schema": {"$ref": "#/components/schemas/CostQuerySetInfo"},"Default Example":{ + "value": "{\n \"cost_query_set_id\": \"query-76a58ea5d02c\",\n \"name\": \"project_provider_region\",\n \"options\": {},\n \"tags\": {},\n \"user_id\": \"test@cloudforet.io\",\n \"data_source_id\": \"ds-085d1e872789\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T06:11:03.701Z\",\n \"updated_at\": \"2022-07-19T06:11:03.701Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source/verify-plugin": { + },"/cost-analysis/cost-query-set/delete": { "post": { - "tags": ["cost-analysis > data-source"], - "summary": "Verify Plugin", + "tags": ["cost-analysis > cost-query-set"], + "summary": "Delete", "operationId" : "", - "description": "### Description \nVerifies the plugin of a specific DataSource. This method validates the plugin data, `version` and `endpoint`.", + "description": "### Description \nDeletes a specific CostQuerySet. You must specify the `cost_query_set_id` of the CostQuerySet to delete.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_query_set_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"cost_query_set_id" : {"type": "string","title": "COST_QUERY_SET_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-085d1e872789\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"cost_query_set_id\": \"query-16ae671dc8fb\",\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} } } },"required": true @@ -354,20 +371,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source/enable": { + },"/cost-analysis/cost-query-set/get": { "post": { - "tags": ["cost-analysis > data-source"], - "summary": "Enable", + "tags": ["cost-analysis > cost-query-set"], + "summary": "Get", "operationId" : "", - "description": "### Description \nEnables a specific DataSource. By enabling a DataSource, you can communicate with an external cloud service via the plugin.", + "description": "### Description \nGets a specific CostQuerySet. Prints detailed information about the CostQuerySet, including the details of queries.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_query_set_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"cost_query_set_id" : {"type": "string","title": "COST_QUERY_SET_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-085d1e872789\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"cost_query_set_id\": \"query-16ae671dc8fb\",\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} } } },"required": true @@ -376,29 +393,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, + "schema": {"$ref": "#/components/schemas/CostQuerySetInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ - "value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test\",\n \"state\": \"ENABLED\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"conditions\": [],\n \"name\": \"match_service_account\",\n \"tags\": {},\n \"data_source_id\": \"ds-085d1e872789\",\n \"conditions_policy\": \"ALWAYS\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"template\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"cost_tag_keys\": [\n \"Name\",\n \"Environment\",\n \"Role\",\n \"Service\"\n ],\n \"cost_additional_info_keys\": [\n \"Instance Type\",\n \"Usage Type Details\"\n ],\n \"cost_data_keys\": [\n \"AmortizedCost\",\n \"BlendedCost\",\n ]\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:58:36.080Z\"\n}" + "Schema": {"$ref": "#/components/schemas/CostQuerySetInfo"},"Default Example":{ + "value": "{\n \"cost_query_set_id\": \"query-76a58ea5d02c\",\n \"name\": \"project_provider_region\",\n \"options\": {},\n \"tags\": {},\n \"user_id\": \"test@cloudforet.io\",\n \"data_source_id\": \"ds-085d1e872789\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T06:11:03.701Z\",\n \"updated_at\": \"2022-07-19T06:11:03.701Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source/disable": { + },"/cost-analysis/cost-query-set/list": { "post": { - "tags": ["cost-analysis > data-source"], - "summary": "Disable", + "tags": ["cost-analysis > cost-query-set"], + "summary": "List", "operationId" : "", - "description": "### Description \nDisables a specific DataSource. By disabling a DataSource, you can block communication with an external cloud service via the plugin.", + "description": "### Description \nGets a list of all CostQuerySets. You can use a query to get a filtered list of CostQuerySets.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |query||Query||\n |name||string||\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"name" : {"type": "string","title": "NAME" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-085d1e872789\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} } } },"required": true @@ -407,52 +424,58 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, + "schema": {"$ref": "#/components/schemas/CostQuerySetsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ - "value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test\",\n \"state\": \"ENABLED\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"conditions\": [],\n \"name\": \"match_service_account\",\n \"tags\": {},\n \"data_source_id\": \"ds-085d1e872789\",\n \"conditions_policy\": \"ALWAYS\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"template\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"cost_tag_keys\": [\n \"Name\",\n \"Environment\",\n \"Role\",\n \"Service\"\n ],\n \"cost_additional_info_keys\": [\n \"Instance Type\",\n \"Usage Type Details\"\n ],\n \"cost_data_keys\": [\n \"AmortizedCost\",\n \"BlendedCost\",\n ]\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:58:36.080Z\"\n}" + "Schema": {"$ref": "#/components/schemas/CostQuerySetsInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"cost_query_set_id\": \"query-16ae671dc8fb\",\n \"name\": \"3 month product pie chart\",\n \"options\": {},\n \"tags\": {},\n \"user_id\": \"yuda@mz.co.kr\",\n \"data_source_id\": \"ds-085d1e872789\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-03-08T03:37:31.404Z\",\n \"updated_at\": \"2022-03-08T03:37:31.404Z\"\n },\n {\n \"cost_query_set_id\": \"query-d90addf25e4b\",\n \"name\": \"6 month project group\",\n \"options\": {},\n \"tags\": {},\n \"user_id\": \"yuda@mz.co.kr\",\n \"data_source_id\": \"ds-085d1e872789\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-03-14T09:29:54.306Z\",\n \"updated_at\": \"2022-03-14T09:29:54.306Z\"\n }\n ],\n \"total_count\": 34\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source/deregister": { + },"/cost-analysis/cost-query-set/stat": { "post": { - "tags": ["cost-analysis > data-source"], - "summary": "Deregister", + "tags": ["cost-analysis > cost-query-set"], + "summary": "Stat", "operationId" : "", - "description": "### Description \nDeregisters and deletes a specific DataSource. You must specify the `data_source_id` of the DataSource to deregister.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |cascade_delete_cost|Default value is true. If true delete all cost data related to data_source_id |boolean||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |data_source_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"cascade_delete_cost" : {"type": "boolean","title": "CASCADE_DELETE_COST" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"cascade_delete_cost\": true,\n \"domain_id\": \"domain-085d1e872789\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"type": "object"}, + "examples": { + "Schema": {"type": "object"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source/sync": { + },"/cost-analysis/data-source/register": { "post": { "tags": ["cost-analysis > data-source"], - "summary": "Sync", + "summary": "Register", "operationId" : "", - "description": "### Description \nManually runs a specific DataSource to collect the cost data. This method is to get up-to-date cost data.", + "description": "### Description \nRegisters a DataSource with information of the plugin to use. Information of the plugin includes `version`, `provider`, and `upgrade_mode`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |start||string||\n |no_preload_cache||boolean||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |data_source_type|LOCAL, EXTERNAL |string|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |provider||string||\n |secret_type|MANUAL, USE_SERVICE_ACCOUNT_SECRET |string||\n |secret_filter||SecretFilter||\n |template||Struct||\n |plugin_info||PluginInfo||\n |tags||Struct||\n |workspace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"start" : {"type": "string","title": "START" },"no_preload_cache" : {"type": "boolean","title": "NO_PRELOAD_CACHE" } } + "properties": {"name" : {"type": "string","title": "NAME" },"data_source_type" : {"type": "string","title": "DATA_SOURCE_TYPE" },"provider" : {"type": "string","title": "PROVIDER" },"secret_type" : {"type": "string","title": "SECRET_TYPE" },"secret_filter" : {"$ref": "#/components/schemas/SecretFilter","title": "SECRET_FILTER" },"template" : {"type": "object","title": "TEMPLATE" },"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"name\": \"AWS HyperBilling Data Source test\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"conditions_policy\": \"ALWAYS\",\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"conditions\": [],\n \"tags\": {},\n \"name\": \"match_service_account\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\"a\": \"b\"}\n}"},"Schema":{} } } },"required": true @@ -461,29 +484,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/JobInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/JobInfo"},"Default Example":{ - "value": "{\n \"job_id\": \"job-07994c7c9021\",\n \"status\": \"CANCELED\",\n \"options\": {\n \"no_preload_cache\": false,\n \"start\": \"2021-01-01T00:00:00Z\"\n },\n \"total_tasks\": 2,\n \"remained_tasks\": 2,\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-04-02T09:17:44.031Z\",\n \"updated_at\": \"2022-04-02T09:19:47.715Z\",\n \"finished_at\": \"2022-04-02T09:19:47.715Z\",\n \"changed\": [\n {\n \"start\": \"2021-01-01T00:00:00.000Z\"\n }\n ]\n}" + "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ + "value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test\",\n \"state\": \"ENABLED\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"conditions\": [],\n \"name\": \"match_service_account\",\n \"tags\": {},\n \"data_source_id\": \"ds-085d1e872789\",\n \"conditions_policy\": \"ALWAYS\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"template\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"cost_tag_keys\": [\n \"Name\",\n \"Environment\",\n \"Role\",\n \"Service\"\n ],\n \"cost_additional_info_keys\": [\n \"Instance Type\",\n \"Usage Type Details\"\n ],\n \"cost_data_keys\": [\n \"AmortizedCost\",\n \"BlendedCost\",\n ]\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:58:36.080Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source/get": { + },"/cost-analysis/data-source/update": { "post": { "tags": ["cost-analysis > data-source"], - "summary": "Get", + "summary": "Update", "operationId" : "", - "description": "### Description \nGets a specific DataSource. Prints detailed information about the DataSource, including `name`, `state`, and `plugin_info`.", + "description": "### Description \nUpdates a specific DataSource. You can make changes in DataSource settings, including `name` and `tags`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |name||string||\n |secret_filter||SecretFilter||\n |template||Struct||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"name" : {"type": "string","title": "NAME" },"secret_filter" : {"$ref": "#/components/schemas/SecretFilter","title": "SECRET_FILTER" },"template" : {"type": "object","title": "TEMPLATE" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-085d1e872789\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test2\",\n \"tags\": {\n \"type\": \"test\"\n }\n}"},"Schema":{} } } },"required": true @@ -501,20 +524,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source/list": { + },"/cost-analysis/data-source/update-permissions": { "post": { "tags": ["cost-analysis > data-source"], - "summary": "List", + "summary": "Update Permissions", "operationId" : "", - "description": "### Description \nGets a list of all DataSources. You can use a query to get a filtered list of DataSources.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |workspace_id||string|True|\n |query||Query||\n |data_source_id||string||\n |name||string||\n |state||string||\n |data_source_type|LOCAL, EXTERNAL |string||\n |provider||string||\n |connected_workspace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |permissions||Struct|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"data_source_type" : {"type": "string","title": "DATA_SOURCE_TYPE" },"provider" : {"type": "string","title": "PROVIDER" },"connected_workspace_id" : {"type": "string","title": "CONNECTED_WORKSPACE_ID" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"permissions" : {"type": "object","title": "PERMISSIONS" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_id\" : \"ds-12331222\",\n \"permissions\" : {\"deny\": [\"data.PayAsYouGo\", \"data.ActualCost\"]}\n}"},"Schema":{} } } },"required": true @@ -523,29 +546,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourcesInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourcesInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test\",\n \"state\": \"ENABLED\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"conditions\": [],\n \"name\": \"match_service_account\",\n \"tags\": {},\n \"data_source_id\": \"ds-085d1e872789\",\n \"conditions_policy\": \"ALWAYS\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"template\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"cost_tag_keys\": [\n \"Name\",\n \"Environment\",\n \"Role\",\n \"Service\"\n ],\n \"cost_additional_info_keys\": [\n \"Instance Type\",\n \"Usage Type Details\"\n ],\n \"cost_data_keys\": [\n \"AmortizedCost\",\n \"BlendedCost\",\n ]\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:58:36.080Z\"\n }\n ],\n \"total_count\": 2\n}" + "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ + "value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test\",\n \"state\": \"ENABLED\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"conditions\": [],\n \"name\": \"match_service_account\",\n \"tags\": {},\n \"data_source_id\": \"ds-085d1e872789\",\n \"conditions_policy\": \"ALWAYS\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"template\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"cost_tag_keys\": [\n \"Name\",\n \"Environment\",\n \"Role\",\n \"Service\"\n ],\n \"cost_additional_info_keys\": [\n \"Instance Type\",\n \"Usage Type Details\"\n ],\n \"cost_data_keys\": [\n \"AmortizedCost\",\n \"BlendedCost\",\n ]\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:58:36.080Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source/stat": { + },"/cost-analysis/data-source/update-plugin": { "post": { "tags": ["cost-analysis > data-source"], - "summary": "Stat", + "summary": "Update Plugin", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nUpdates the plugin of a specific DataSource. This method resets the plugin data in the DataSource to update the `metadata`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |version||string||\n |options||Struct||\n |upgrade_mode|MANUAL, AUTO |string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"version" : {"type": "string","title": "VERSION" },"options" : {"type": "object","title": "OPTIONS" },"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"upgrade_mode\": \"AUTO\"\n}"},"Schema":{} } } },"required": true @@ -554,27 +577,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ + "value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test\",\n \"state\": \"ENABLED\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"conditions\": [],\n \"name\": \"match_service_account\",\n \"tags\": {},\n \"data_source_id\": \"ds-085d1e872789\",\n \"conditions_policy\": \"ALWAYS\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"template\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"cost_tag_keys\": [\n \"Name\",\n \"Environment\",\n \"Role\",\n \"Service\"\n ],\n \"cost_additional_info_keys\": [\n \"Instance Type\",\n \"Usage Type Details\"\n ],\n \"cost_data_keys\": [\n \"AmortizedCost\",\n \"BlendedCost\",\n ]\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:58:36.080Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source-rule/create": { + },"/cost-analysis/data-source/update-secret-data": { "post": { - "tags": ["cost-analysis > data-source-rule"], - "summary": "Create", + "tags": ["cost-analysis > data-source"], + "summary": "Update Secret Data", "operationId" : "", - "description": "### Description \nCreates a new DataSourceRule. When creating the resource, this method can apply two types of conditions: mapping projects where the cost incurred to the Cost, and mapping cloud service accounts to the Cost. By adjusting the `condition_policy` parameter, the DataSourceRule can be applied when all conditions are met, applied when any of the conditions are met, or always applied regardless of whether the conditions are met.", + "description": "### Description \nUpdates the secret data of plugin for DataSource. This method updates the secret data in the DataSource to update the `secret_data`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |conditions_policy|ALL, ANY, ALWAYS |string|True|\n |actions||DataSourceRuleActions|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |workspace_id||string|True|\n |name||string||\n |conditions||array||\n |options||DataSourceRuleOptions||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |secret_schema_id||string|True|\n |secret_data||Struct|True|\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"name" : {"type": "string","title": "NAME" },"conditions" : {"items": {"$ref": "#/components/schemas/DataSourceRuleCondition"}, "type": "array","title": "CONDITIONS" },"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY" },"actions" : {"$ref": "#/components/schemas/DataSourceRuleActions","title": "ACTIONS" },"options" : {"$ref": "#/components/schemas/DataSourceRuleOptions","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID" },"secret_data" : {"type": "object","title": "SECRET_DATA" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"name\": \"match_service_account_test\",\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\"source\": \"account\", \"target\": \"data.project_id\"}\n },\n \"options\": {\"stop_processing\": true},\n \"tags\": {\"b\": \"c\", \"a\": \"b\"}\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -583,29 +608,52 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceRuleInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceRuleInfo"},"Default Example":{ - "value": "{\n \"data_source_rule_id\": \"rule-c8055231e212\",\n \"name\": \"match_service_account_test\",\n \"order\": 2,\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {\n \"a\": \"b\",\n \"b\": \"c\"\n },\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:13:28.335Z\"\n}" + "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ + "value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test\",\n \"state\": \"ENABLED\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"conditions\": [],\n \"name\": \"match_service_account\",\n \"tags\": {},\n \"data_source_id\": \"ds-085d1e872789\",\n \"conditions_policy\": \"ALWAYS\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"template\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"cost_tag_keys\": [\n \"Name\",\n \"Environment\",\n \"Role\",\n \"Service\"\n ],\n \"cost_additional_info_keys\": [\n \"Instance Type\",\n \"Usage Type Details\"\n ],\n \"cost_data_keys\": [\n \"AmortizedCost\",\n \"BlendedCost\",\n ]\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:58:36.080Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source-rule/update": { + },"/cost-analysis/data-source/verify-plugin": { "post": { - "tags": ["cost-analysis > data-source-rule"], - "summary": "Update", + "tags": ["cost-analysis > data-source"], + "summary": "Verify Plugin", "operationId" : "", - "description": "### Description \nUpdates a specific DataSourceRule. You can make changes in DataSourceRule settings, including filtering conditions. If the parameter `is_default` is `true`, only `Admin` type User can use this method.", + "description": "### Description \nVerifies the plugin of a specific DataSource. This method validates the plugin data, `version` and `endpoint`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_rule_id||string|True|\n |name||string||\n |conditions||array||\n |conditions_policy|ALL, ANY, ALWAYS |string||\n |actions||DataSourceRuleActions||\n |options||DataSourceRuleOptions||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID" },"name" : {"type": "string","title": "NAME" },"conditions" : {"items": {"$ref": "#/components/schemas/DataSourceRuleCondition"}, "type": "array","title": "CONDITIONS" },"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY" },"actions" : {"$ref": "#/components/schemas/DataSourceRuleActions","title": "ACTIONS" },"options" : {"$ref": "#/components/schemas/DataSourceRuleOptions","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_rule_id\": \"rule-c8055231e212\",\n \"name\": \"match_service_account_test\",\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {\"b\": \"c\", \"a\": \"b\"}\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-085d1e872789\"\n}"},"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response"} + } + ,"security": [{"HTTPBearer": []}] } + },"/cost-analysis/data-source/enable": { + "post": { + "tags": ["cost-analysis > data-source"], + "summary": "Enable", + "operationId" : "", + "description": "### Description \nEnables a specific DataSource. By enabling a DataSource, you can communicate with an external cloud service via the plugin.", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n
", + "content": { + "application/json": { + "schema": { + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + }, + "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-085d1e872789\"\n}"},"Schema":{} } } },"required": true @@ -614,29 +662,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceRuleInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceRuleInfo"},"Default Example":{ - "value": "{\n \"data_source_rule_id\": \"rule-c8055231e212\",\n \"name\": \"match_service_account_test\",\n \"order\": 2,\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {\n \"a\": \"b\",\n \"b\": \"c\"\n },\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:13:28.335Z\"\n}" + "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ + "value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test\",\n \"state\": \"ENABLED\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"conditions\": [],\n \"name\": \"match_service_account\",\n \"tags\": {},\n \"data_source_id\": \"ds-085d1e872789\",\n \"conditions_policy\": \"ALWAYS\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"template\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"cost_tag_keys\": [\n \"Name\",\n \"Environment\",\n \"Role\",\n \"Service\"\n ],\n \"cost_additional_info_keys\": [\n \"Instance Type\",\n \"Usage Type Details\"\n ],\n \"cost_data_keys\": [\n \"AmortizedCost\",\n \"BlendedCost\",\n ]\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:58:36.080Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source-rule/change-order": { + },"/cost-analysis/data-source/disable": { "post": { - "tags": ["cost-analysis > data-source-rule"], - "summary": "Change Order", + "tags": ["cost-analysis > data-source"], + "summary": "Disable", "operationId" : "", - "description": "### Description \nChanges the priority order of the DataSourceRules to apply. If there are multiple DataSourceRules applied in a specific service account, the priority order of the resources is requried. This method changes the priority order to apply DataSourceRules.", + "description": "### Description \nDisables a specific DataSource. By disabling a DataSource, you can block communication with an external cloud service via the plugin.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_rule_id||string|True|\n |order||int|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID" },"order" : {"type": "integer","title": "ORDER" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_rule_id\": \"rule-c8055231e212\",\n \"order\": 2\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-085d1e872789\"\n}"},"Schema":{} } } },"required": true @@ -645,29 +693,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceRuleInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceRuleInfo"},"Default Example":{ - "value": "{\n \"data_source_rule_id\": \"rule-c8055231e212\",\n \"name\": \"match_service_account_test\",\n \"order\": 2,\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {\n \"a\": \"b\",\n \"b\": \"c\"\n },\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:13:28.335Z\"\n}" + "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ + "value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test\",\n \"state\": \"ENABLED\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"conditions\": [],\n \"name\": \"match_service_account\",\n \"tags\": {},\n \"data_source_id\": \"ds-085d1e872789\",\n \"conditions_policy\": \"ALWAYS\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"template\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"cost_tag_keys\": [\n \"Name\",\n \"Environment\",\n \"Role\",\n \"Service\"\n ],\n \"cost_additional_info_keys\": [\n \"Instance Type\",\n \"Usage Type Details\"\n ],\n \"cost_data_keys\": [\n \"AmortizedCost\",\n \"BlendedCost\",\n ]\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:58:36.080Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source-rule/delete": { + },"/cost-analysis/data-source/deregister": { "post": { - "tags": ["cost-analysis > data-source-rule"], - "summary": "Delete", + "tags": ["cost-analysis > data-source"], + "summary": "Deregister", "operationId" : "", - "description": "### Description \nDeletes a specific DataSourceRule. You must specify the `data_source_rule_id` of the DataSourceRule to delete. If the parameter `is_default` is `true`, only `Admin` type User can use this method.", + "description": "### Description \nDeregisters and deletes a specific DataSource. You must specify the `data_source_id` of the DataSource to deregister.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_rule_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |cascade_delete_cost|Default value is true. If true delete all cost data related to data_source_id |boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"cascade_delete_cost" : {"type": "boolean","title": "CASCADE_DELETE_COST" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_rule_id\": \"rule-22fab02f6b51\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"cascade_delete_cost\": true,\n \"domain_id\": \"domain-085d1e872789\"\n}"},"Schema":{} } } },"required": true @@ -677,20 +725,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source-rule/get": { + },"/cost-analysis/data-source/sync": { "post": { - "tags": ["cost-analysis > data-source-rule"], - "summary": "Get", + "tags": ["cost-analysis > data-source"], + "summary": "Sync", "operationId" : "", - "description": "### Description \nGets a specific DataSourceRule. Prints detailed information about the DataSourceRule, including `conditions_policy` and conditions applied to DataSources.", + "description": "### Description \nManually runs a specific DataSource to collect the cost data. This method is to get up-to-date cost data.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_rule_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |start||string||\n |no_preload_cache||boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"start" : {"type": "string","title": "START" },"no_preload_cache" : {"type": "boolean","title": "NO_PRELOAD_CACHE" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_rule_id\": \"rule-22fab02f6b51\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -699,29 +747,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceRuleInfo"}, + "schema": {"$ref": "#/components/schemas/JobInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceRuleInfo"},"Default Example":{ - "value": "{\n \"data_source_rule_id\": \"rule-c8055231e212\",\n \"name\": \"match_service_account_test\",\n \"order\": 2,\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {\n \"a\": \"b\",\n \"b\": \"c\"\n },\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:13:28.335Z\"\n}" + "Schema": {"$ref": "#/components/schemas/JobInfo"},"Default Example":{ + "value": "{\n \"job_id\": \"job-07994c7c9021\",\n \"status\": \"CANCELED\",\n \"options\": {\n \"no_preload_cache\": false,\n \"start\": \"2021-01-01T00:00:00Z\"\n },\n \"total_tasks\": 2,\n \"remained_tasks\": 2,\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-04-02T09:17:44.031Z\",\n \"updated_at\": \"2022-04-02T09:19:47.715Z\",\n \"finished_at\": \"2022-04-02T09:19:47.715Z\",\n \"changed\": [\n {\n \"start\": \"2021-01-01T00:00:00.000Z\"\n }\n ]\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source-rule/list": { + },"/cost-analysis/data-source/get": { "post": { - "tags": ["cost-analysis > data-source-rule"], - "summary": "List", + "tags": ["cost-analysis > data-source"], + "summary": "Get", "operationId" : "", - "description": "### Description \nGets a list of all DataSourceRules. You can use a query to get a filtered list of DataSourceRules.", + "description": "### Description \nGets a specific DataSource. Prints detailed information about the DataSource, including `name`, `state`, and `plugin_info`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |data_source_rule_id||string||\n |name||string||\n |rule_type|MANAGED, CUSTOM |string||\n |workspace_id||string||\n |data_source_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID" },"name" : {"type": "string","title": "NAME" },"rule_type" : {"type": "string","title": "RULE_TYPE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-085d1e872789\"\n}"},"Schema":{} } } },"required": true @@ -730,29 +778,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceRulesInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceRulesInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"data_source_rule_id\": \"rule-22fab02f6b51\",\n \"name\": \"match_service_account\",\n \"order\": 1,\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {},\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-05-25T16:01:51.858Z\"\n },\n {\n \"data_source_rule_id\": \"rule-188d366e9817\",\n \"name\": \"match_service_account\",\n \"order\": 1,\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {},\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-03T16:00:54.099Z\"\n }\n ],\n \"total_count\": 2\n}" + "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ + "value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test\",\n \"state\": \"ENABLED\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"conditions\": [],\n \"name\": \"match_service_account\",\n \"tags\": {},\n \"data_source_id\": \"ds-085d1e872789\",\n \"conditions_policy\": \"ALWAYS\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"template\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"cost_tag_keys\": [\n \"Name\",\n \"Environment\",\n \"Role\",\n \"Service\"\n ],\n \"cost_additional_info_keys\": [\n \"Instance Type\",\n \"Usage Type Details\"\n ],\n \"cost_data_keys\": [\n \"AmortizedCost\",\n \"BlendedCost\",\n ]\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:58:36.080Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/data-source-rule/stat": { + },"/cost-analysis/data-source/list": { "post": { - "tags": ["cost-analysis > data-source-rule"], - "summary": "Stat", + "tags": ["cost-analysis > data-source"], + "summary": "List", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nGets a list of all DataSources. You can use a query to get a filtered list of DataSources.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |workspace_id||string|True|\n |query||Query||\n |data_source_id||string||\n |name||string||\n |state||string||\n |data_source_type|LOCAL, EXTERNAL |string||\n |provider||string||\n |connected_workspace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"data_source_type" : {"type": "string","title": "DATA_SOURCE_TYPE" },"provider" : {"type": "string","title": "PROVIDER" },"connected_workspace_id" : {"type": "string","title": "CONNECTED_WORKSPACE_ID" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} } } },"required": true @@ -761,27 +809,58 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/DataSourcesInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/DataSourcesInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"AWS HyperBilling Data Source test\",\n \"state\": \"ENABLED\",\n \"data_source_type\": \"EXTERNAL\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"version\": \"1.0.4\",\n \"options\": {},\n \"metadata\": {\n \"data_source_rules\": [\n {\n \"options\": {\n \"stop_processing\": true\n },\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"conditions\": [],\n \"name\": \"match_service_account\",\n \"tags\": {},\n \"data_source_id\": \"ds-085d1e872789\",\n \"conditions_policy\": \"ALWAYS\"\n }\n ]\n },\n \"secret_id\": \"secret-ca134639483\",\n \"upgrade_mode\": \"AUTO\"\n },\n \"template\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"cost_tag_keys\": [\n \"Name\",\n \"Environment\",\n \"Role\",\n \"Service\"\n ],\n \"cost_additional_info_keys\": [\n \"Instance Type\",\n \"Usage Type Details\"\n ],\n \"cost_data_keys\": [\n \"AmortizedCost\",\n \"BlendedCost\",\n ]\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:58:36.080Z\"\n }\n ],\n \"total_count\": 2\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/budget-usage/list": { + },"/cost-analysis/data-source/stat": { "post": { - "tags": ["cost-analysis > budget-usage"], + "tags": ["cost-analysis > data-source"], + "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": []}] } + },"/cost-analysis/cost-report-data/list": { + "post": { + "tags": ["cost-analysis > cost-report-data"], "summary": "List", "operationId" : "", - "description": "### Description \nGets a list of all BudgetUsages. You can use a query to get a filtered list of BudgetUsages.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |name||string||\n |date||string||\n |workspace_id||string||\n |project_id||string||\n |budget_id||string||\n |data_source_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |cost_report_data_id||string||\n |product||string||\n |provider||string||\n |is_confirmed||boolean||\n |workspace_id||string||\n |cost_report_config_id||string||\n |cost_report_id||string||\n |data_source_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"name" : {"type": "string","title": "NAME" },"date" : {"type": "string","title": "DATE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"budget_id" : {"type": "string","title": "BUDGET_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"cost_report_data_id" : {"type": "string","title": "COST_REPORT_DATA_ID" },"product" : {"type": "string","title": "PRODUCT" },"provider" : {"type": "string","title": "PROVIDER" },"is_confirmed" : {"type": "boolean","title": "IS_CONFIRMED" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" },"cost_report_id" : {"type": "string","title": "COST_REPORT_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -790,27 +869,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/BudgetUsagesInfo"}, + "schema": {"$ref": "#/components/schemas/CostReportsDataInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/BudgetUsagesInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"budget_id\": \"budget-abb377eb9e8b\",\n \"name\": \"Cloudforet-Budget3\",\n \"date\": \"2022-01\",\n \"cost\": 7671.164,\n \"limit\": 10000.0,\n \"currency\": \"USD\",\n \"provider_filter\": {\n \"state\": \"ENABLED\",\n \"providers\": [\n \"aws\",\n \"google_cloud\"\n ]\n },\n \"project_id\": \"project-1b2b3b4b5b6b\",\n \"data_source_id\": \"data-source-1b2b3b4b5b6b\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"updated_at\": \"2022-07-19T04:26:08.099Z\"\n },\n {\n \"budget_id\": \"budget-abb377eb9e8b\",\n \"name\": \"Cloudforet-Budget3\",\n \"date\": \"2022-02\",\n \"cost\": 5931.771,\n \"limit\": 11000.0,\n \"currency\": \"USD\",\n \"provider_filter\": {\n \"state\": \"DISABLED\",\n \"providers\": []\n },\n \"project_id\": \"project-1b2b3b4b5b6b\",\n \"data_source_id\": \"data-source-1b2b3b4b5b6b\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"updated_at\": \"2022-07-19T04:26:08.105Z\"\n }\n ],\n \"total_count\": 12\n}" - }} + "Schema": {"$ref": "#/components/schemas/CostReportsDataInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/budget-usage/analyze": { + },"/cost-analysis/cost-report-data/analyze": { "post": { - "tags": ["cost-analysis > budget-usage"], + "tags": ["cost-analysis > cost-report-data"], "summary": "Analyze", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||TimeSeriesAnalyzeQuery|True|\n |budget_id||string||\n |data_source_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||TimeSeriesAnalyzeQuery||\n |product||string||\n |provider||string||\n |is_confirmed||boolean||\n |workspace_id||string||\n |project_id||string||\n |cost_report_config_id||string||\n |cost_report_id||string||\n |data_source_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY" },"budget_id" : {"type": "string","title": "BUDGET_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY" },"product" : {"type": "string","title": "PRODUCT" },"provider" : {"type": "string","title": "PROVIDER" },"is_confirmed" : {"type": "boolean","title": "IS_CONFIRMED" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" },"cost_report_id" : {"type": "string","title": "COST_REPORT_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } }, "examples":{"Schema":{} } @@ -828,18 +905,18 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/budget-usage/stat": { + },"/cost-analysis/cost-report-data/stat": { "post": { - "tags": ["cost-analysis > budget-usage"], + "tags": ["cost-analysis > cost-report-data"], "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |budget_id||string||\n |data_source_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |cost_report_id||string||\n |cost_report_config_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"budget_id" : {"type": "string","title": "BUDGET_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"cost_report_id" : {"type": "string","title": "COST_REPORT_ID" },"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" } } }, "examples":{"Schema":{} } @@ -1031,20 +1108,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/job-task/get": { + },"/cost-analysis/budget/create": { "post": { - "tags": ["cost-analysis > job-task"], - "summary": "Get", + "tags": ["cost-analysis > budget"], + "summary": "Create", "operationId" : "", - "description": "### Description \nGets a specific JobTask. Prints detailed information about the JobTask, including the relevant resources: DataSource and Job. The criteria used for dividing a Job into JobTasks can be found in the DataSource used, but the total count of divided JobTasks can be found by this method.", + "description": "### Description \nCreates a new Budget. When creating a Budget, it should be set for a specific ProjectGroup or Project. The budgeted amount and date of the `planned_limits` should be specified on a monthly or yearly basis.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_task_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |time_unit|TOTAL, MONTHLY |string|True|\n |start||string|True|\n |end||string|True|\n |resource_group|WORKSPACE, PROJECT |string|True|\n |name||string||\n |limit||float||\n |planned_limits||array||\n |provider_filter||ProviderFilter||\n |notifications||array||\n |tags||Struct||\n |workspace_id||string||\n |project_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"job_task_id" : {"type": "string","title": "JOB_TASK_ID" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"name" : {"type": "string","title": "NAME" },"limit" : {"type": "float","title": "LIMIT" },"planned_limits" : {"items": {"$ref": "#/components/schemas/PlannedLimit"}, "type": "array","title": "PLANNED_LIMITS" },"provider_filter" : {"$ref": "#/components/schemas/ProviderFilter","title": "PROVIDER_FILTER" },"time_unit" : {"type": "string","title": "TIME_UNIT" },"start" : {"type": "string","title": "START" },"end" : {"type": "string","title": "END" },"notifications" : {"items": {"$ref": "#/components/schemas/BudgetNotification"}, "type": "array","title": "NOTIFICATIONS" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"job_task_id\": \"job-task-3622d860a776\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"name\": \"Cloudforet-Budget\",\n \"planned_limits\": [{\"date\": \"2022-01\", \"limit\": 1000.0},\n {\"date\": \"2022-02\", \"limit\": 1100.0},\n {\"date\": \"2022-03\", \"limit\": 1200.0},\n {\"date\": \"2022-04\", \"limit\": 1300.0},\n {\"date\": \"2022-05\", \"limit\": 1400.0},\n {\"date\": \"2022-06\", \"limit\": 1500.0},\n {\"date\": \"2022-07\", \"limit\": 1600.0},\n {\"date\": \"2022-08\", \"limit\": 1700.0},\n {\"date\": \"2022-09\", \"limit\": 1800.0},\n {\"date\": \"2022-10\", \"limit\": 1900.0},\n {\"date\": \"2022-11\", \"limit\": 2000.0},\n {\"date\": \"2022-12\", \"limit\": 2100.0}],\n \"time_unit\": \"MONTHLY\",\n \"start\": \"2022-01\",\n \"end\": \"2022-12\",\n \"project_group_id\": \"pg-812c90990877\",\n \"data_source_id\": \"ds-fcba92ca73b1\"\n}"},"Schema":{} } } },"required": true @@ -1053,29 +1130,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/JobTaskInfo"}, + "schema": {"$ref": "#/components/schemas/BudgetInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/JobTaskInfo"},"Default Example":{ - "value": "{\n \"job_task_id\": \"job-task-3622d860a776\",\n \"status\": \"SUCCESS\",\n \"options\": {\n \"month\": \"202207\",\n \"platform\": \"gcp\"\n },\n \"created_count\": 1,\n \"job_id\": \"job-85cf2c385252\",\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-17T16:00:08.266Z\",\n \"started_at\": \"2022-07-17T16:01:28.243Z\",\n \"updated_at\": \"2022-07-17T16:01:28.939Z\",\n \"finished_at\": \"2022-07-17T16:01:28.939Z\"\n}" + "Schema": {"$ref": "#/components/schemas/BudgetInfo"},"Default Example":{ + "value": "{\n \"budget_id\": \"budget-d51b6b6a9910\",\n \"name\": \"Cloudforet-Budget\",\n \"limit\": 18600.0,\n \"planned_limits\": [\n {\n \"date\": \"2022-01\",\n \"limit\": 1000.0\n },\n {\n \"date\": \"2022-02\",\n \"limit\": 1100.0\n },\n {\n \"date\": \"2022-03\",\n \"limit\": 1200.0\n },\n {\n \"date\": \"2022-04\",\n \"limit\": 1300.0\n },\n {\n \"date\": \"2022-05\",\n \"limit\": 1400.0\n },\n {\n \"date\": \"2022-06\",\n \"limit\": 1500.0\n },\n {\n \"date\": \"2022-07\",\n \"limit\": 1600.0\n },\n {\n \"date\": \"2022-08\",\n \"limit\": 1700.0\n },\n {\n \"date\": \"2022-09\",\n \"limit\": 1800.0\n },\n {\n \"date\": \"2022-10\",\n \"limit\": 1900.0\n },\n {\n \"date\": \"2022-11\",\n \"limit\": 2000.0\n },\n {\n \"date\": \"2022-12\",\n \"limit\": 2100.0\n }\n ],\n \"currency\": \"USD\",\n \"provider_filter\": {\n \"state\": \"ENABLED\",\n \"providers\": [\n \"aws\",\n \"google_cloud\"\n ]\n },\n \"time_unit\": \"MONTHLY\",\n \"start\": \"2022-01\",\n \"end\": \"2022-12\",\n \"tags\": {},\n \"project_group_id\": \"pg-812c90990877\",\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-18T09:30:56.901Z\",\n \"updated_at\": \"2022-07-18T09:30:56.901Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/job-task/list": { + },"/cost-analysis/budget/update": { "post": { - "tags": ["cost-analysis > job-task"], - "summary": "List", + "tags": ["cost-analysis > budget"], + "summary": "Update", "operationId" : "", - "description": "### Description \nGets a list of all JobTasks. You can use a query to get a filtered list of JobTasks.", + "description": "### Description \nUpdates a specific Budget. You can make changes in the budgeted amount of the time period specified while creating the resource.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |job_task_id||string||\n |status|PENDING, IN_PROGRESS, SUCCESS, FAILURE, TIMEOUT, CANCELED |string||\n |workspace_id||string||\n |job_id||string||\n |data_source_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |budget_id||string|True|\n |name||string||\n |limit||float||\n |planned_limits||array||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"job_task_id" : {"type": "string","title": "JOB_TASK_ID" },"status" : {"type": "string","title": "STATUS" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"job_id" : {"type": "string","title": "JOB_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"budget_id" : {"type": "string","title": "BUDGET_ID" },"name" : {"type": "string","title": "NAME" },"limit" : {"type": "float","title": "LIMIT" },"planned_limits" : {"items": {"$ref": "#/components/schemas/PlannedLimit"}, "type": "array","title": "PLANNED_LIMITS" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"budget_id\": \"budget-d51b6b6a9910\",\n \"name\": \"Cloudforet-Budget-test\", \"limit\": 15000.0,\n \"planned_limits\": [{\"date\": \"2022-01\", \"limit\": 500.0},\n {\"date\": \"2022-02\", \"limit\": 500.0},\n {\"date\": \"2022-03\", \"limit\": 500.0},\n {\"date\": \"2022-04\", \"limit\": 500.0},\n {\"date\": \"2022-05\", \"limit\": 500.0},\n {\"date\": \"2022-06\", \"limit\": 500.0},\n {\"date\": \"2022-07\", \"limit\": 500.0},\n {\"date\": \"2022-08\", \"limit\": 500.0},\n {\"date\": \"2022-09\", \"limit\": 500.0}],\n \"end\": \"2022-12\",\n \"tags\": {}\n}"},"Schema":{} } } },"required": true @@ -1084,29 +1161,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/JobTasksInfo"}, + "schema": {"$ref": "#/components/schemas/BudgetInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/JobTasksInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"job_task_id\": \"job-task-3622d860a776\",\n \"status\": \"SUCCESS\",\n \"options\": {\n \"platform\": \"gcp\",\n \"month\": \"202207\"\n },\n \"created_count\": 1,\n \"job_id\": \"job-85cf2c385252\",\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-17T16:00:08.266Z\",\n \"started_at\": \"2022-07-17T16:01:28.243Z\",\n \"updated_at\": \"2022-07-17T16:01:28.939Z\",\n \"finished_at\": \"2022-07-17T16:01:28.939Z\"\n },\n {\n \"job_task_id\": \"job-task-038c0b076ec5\",\n \"status\": \"SUCCESS\",\n \"options\": {\n \"account\": \"257706363616\",\n \"start\": \"2022-07-01\"\n },\n \"created_count\": 5756,\n \"job_id\": \"job-6b6765f757a9\",\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-17T16:00:05.099Z\",\n \"started_at\": \"2022-07-17T16:00:47.356Z\",\n \"updated_at\": \"2022-07-17T16:01:20.856Z\",\n \"finished_at\": \"2022-07-17T16:01:20.856Z\"\n }\n ],\n \"total_count\": 720\n}" + "Schema": {"$ref": "#/components/schemas/BudgetInfo"},"Default Example":{ + "value": "{\n \"budget_id\": \"budget-d51b6b6a9910\",\n \"name\": \"Cloudforet-Budget\",\n \"limit\": 18600.0,\n \"planned_limits\": [\n {\n \"date\": \"2022-01\",\n \"limit\": 1000.0\n },\n {\n \"date\": \"2022-02\",\n \"limit\": 1100.0\n },\n {\n \"date\": \"2022-03\",\n \"limit\": 1200.0\n },\n {\n \"date\": \"2022-04\",\n \"limit\": 1300.0\n },\n {\n \"date\": \"2022-05\",\n \"limit\": 1400.0\n },\n {\n \"date\": \"2022-06\",\n \"limit\": 1500.0\n },\n {\n \"date\": \"2022-07\",\n \"limit\": 1600.0\n },\n {\n \"date\": \"2022-08\",\n \"limit\": 1700.0\n },\n {\n \"date\": \"2022-09\",\n \"limit\": 1800.0\n },\n {\n \"date\": \"2022-10\",\n \"limit\": 1900.0\n },\n {\n \"date\": \"2022-11\",\n \"limit\": 2000.0\n },\n {\n \"date\": \"2022-12\",\n \"limit\": 2100.0\n }\n ],\n \"currency\": \"USD\",\n \"provider_filter\": {\n \"state\": \"ENABLED\",\n \"providers\": [\n \"aws\",\n \"google_cloud\"\n ]\n },\n \"time_unit\": \"MONTHLY\",\n \"start\": \"2022-01\",\n \"end\": \"2022-12\",\n \"tags\": {},\n \"project_group_id\": \"pg-812c90990877\",\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-18T09:30:56.901Z\",\n \"updated_at\": \"2022-07-18T09:30:56.901Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/job-task/stat": { + },"/cost-analysis/budget/set-notification": { "post": { - "tags": ["cost-analysis > job-task"], - "summary": "Stat", + "tags": ["cost-analysis > budget"], + "summary": "Set Notification", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nSets a notification on a specific Budget. Sets a threshold on the budget, and if the cost exceeds the threshold, a notification is raised.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |budget_id||string|True|\n |notifications||array|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"budget_id" : {"type": "string","title": "BUDGET_ID" },"notifications" : {"items": {"$ref": "#/components/schemas/BudgetNotification"}, "type": "array","title": "NOTIFICATIONS" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"budget_id\": \"budget-4c8606da4521\",\n \"notifications\": [\n {\n \"threshold\": 20.0,\n \"unit\": \"PERCENT\",\n \"notification_type\": \"CRITICAL\"\n },\n {\n \"threshold\": 1000.0,\n \"unit\": \"ACTUAL_COST\",\n \"notification_type\": \"WARNING\"\n }\n ]\n}"},"Schema":{} } } },"required": true @@ -1115,56 +1192,52 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/BudgetInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/BudgetInfo"},"Default Example":{ + "value": "{\n \"budget_id\": \"budget-d51b6b6a9910\",\n \"name\": \"Cloudforet-Budget\",\n \"limit\": 18600.0,\n \"planned_limits\": [\n {\n \"date\": \"2022-01\",\n \"limit\": 1000.0\n },\n {\n \"date\": \"2022-02\",\n \"limit\": 1100.0\n },\n {\n \"date\": \"2022-03\",\n \"limit\": 1200.0\n },\n {\n \"date\": \"2022-04\",\n \"limit\": 1300.0\n },\n {\n \"date\": \"2022-05\",\n \"limit\": 1400.0\n },\n {\n \"date\": \"2022-06\",\n \"limit\": 1500.0\n },\n {\n \"date\": \"2022-07\",\n \"limit\": 1600.0\n },\n {\n \"date\": \"2022-08\",\n \"limit\": 1700.0\n },\n {\n \"date\": \"2022-09\",\n \"limit\": 1800.0\n },\n {\n \"date\": \"2022-10\",\n \"limit\": 1900.0\n },\n {\n \"date\": \"2022-11\",\n \"limit\": 2000.0\n },\n {\n \"date\": \"2022-12\",\n \"limit\": 2100.0\n }\n ],\n \"currency\": \"USD\",\n \"provider_filter\": {\n \"state\": \"ENABLED\",\n \"providers\": [\n \"aws\",\n \"google_cloud\"\n ]\n },\n \"time_unit\": \"MONTHLY\",\n \"start\": \"2022-01\",\n \"end\": \"2022-12\",\n \"tags\": {},\n \"project_group_id\": \"pg-812c90990877\",\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-18T09:30:56.901Z\",\n \"updated_at\": \"2022-07-18T09:30:56.901Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report-config/create": { + },"/cost-analysis/budget/delete": { "post": { - "tags": ["cost-analysis > cost-report-config"], - "summary": "Create", + "tags": ["cost-analysis > budget"], + "summary": "Delete", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nDeletes a specific Budget. You must specify the `budget_id` of the Budget to delete.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |recipients||Struct|True|\n |issue_day||int||\n |is_last_day||boolean||\n |currency||string||\n |data_source_filter||Struct||\n |language|Default `en` |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |budget_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"issue_day" : {"type": "integer","title": "ISSUE_DAY" },"is_last_day" : {"type": "boolean","title": "IS_LAST_DAY" },"currency" : {"type": "string","title": "CURRENCY" },"recipients" : {"type": "object","title": "RECIPIENTS" },"data_source_filter" : {"type": "object","title": "DATA_SOURCE_FILTER" },"language" : {"type": "string","title": "LANGUAGE" } } + "properties": {"budget_id" : {"type": "string","title": "BUDGET_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"budget_id\": \"budget-d51b6b6a9910\"\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report-config/update": { + },"/cost-analysis/budget/get": { "post": { - "tags": ["cost-analysis > cost-report-config"], - "summary": "Update", + "tags": ["cost-analysis > budget"], + "summary": "Get", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nGets a specific Budget. Prints detailed information about the Budget, including `planned_limits` of the project group or project for the pre-defined period.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_config_id|The ID of cost report in the Protocol.|string|True|\n |issue_day||int||\n |is_last_day||boolean||\n |currency||string||\n |data_source_filter||Struct||\n |language||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |budget_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" },"issue_day" : {"type": "integer","title": "ISSUE_DAY" },"is_last_day" : {"type": "boolean","title": "IS_LAST_DAY" },"currency" : {"type": "string","title": "CURRENCY" },"data_source_filter" : {"type": "object","title": "DATA_SOURCE_FILTER" },"language" : {"type": "string","title": "LANGUAGE" } } + "properties": {"budget_id" : {"type": "string","title": "BUDGET_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"budget_id\": \"budget-d51b6b6a9910\"\n}"},"Schema":{} } } },"required": true @@ -1173,27 +1246,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}, + "schema": {"$ref": "#/components/schemas/BudgetInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}} + "Schema": {"$ref": "#/components/schemas/BudgetInfo"},"Default Example":{ + "value": "{\n \"budget_id\": \"budget-d51b6b6a9910\",\n \"name\": \"Cloudforet-Budget\",\n \"limit\": 18600.0,\n \"planned_limits\": [\n {\n \"date\": \"2022-01\",\n \"limit\": 1000.0\n },\n {\n \"date\": \"2022-02\",\n \"limit\": 1100.0\n },\n {\n \"date\": \"2022-03\",\n \"limit\": 1200.0\n },\n {\n \"date\": \"2022-04\",\n \"limit\": 1300.0\n },\n {\n \"date\": \"2022-05\",\n \"limit\": 1400.0\n },\n {\n \"date\": \"2022-06\",\n \"limit\": 1500.0\n },\n {\n \"date\": \"2022-07\",\n \"limit\": 1600.0\n },\n {\n \"date\": \"2022-08\",\n \"limit\": 1700.0\n },\n {\n \"date\": \"2022-09\",\n \"limit\": 1800.0\n },\n {\n \"date\": \"2022-10\",\n \"limit\": 1900.0\n },\n {\n \"date\": \"2022-11\",\n \"limit\": 2000.0\n },\n {\n \"date\": \"2022-12\",\n \"limit\": 2100.0\n }\n ],\n \"currency\": \"USD\",\n \"provider_filter\": {\n \"state\": \"ENABLED\",\n \"providers\": [\n \"aws\",\n \"google_cloud\"\n ]\n },\n \"time_unit\": \"MONTHLY\",\n \"start\": \"2022-01\",\n \"end\": \"2022-12\",\n \"tags\": {},\n \"project_group_id\": \"pg-812c90990877\",\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-18T09:30:56.901Z\",\n \"updated_at\": \"2022-07-18T09:30:56.901Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report-config/update-recipients": { + },"/cost-analysis/budget/list": { "post": { - "tags": ["cost-analysis > cost-report-config"], - "summary": "Update Recipients", + "tags": ["cost-analysis > budget"], + "summary": "List", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nGets a list of all Budgets. You can use a query to get a filtered list of Budgets.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_config_id||string|True|\n |recipients||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |budget_id||string||\n |name||string||\n |time_unit|TOTAL, MONTHLY |string||\n |workspace_id||string||\n |project_id||string||\n |data_source_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" },"recipients" : {"type": "object","title": "RECIPIENTS" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"budget_id" : {"type": "string","title": "BUDGET_ID" },"name" : {"type": "string","title": "NAME" },"time_unit" : {"type": "string","title": "TIME_UNIT" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} } } },"required": true @@ -1202,25 +1277,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}, + "schema": {"$ref": "#/components/schemas/BudgetsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}} + "Schema": {"$ref": "#/components/schemas/BudgetsInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"budget_id\": \"budget-409e33836ea2\",\n \"name\": \"Budget 2 - Monthly\",\n \"limit\": 18600.0,\n \"planned_limits\": [\n {\n \"date\": \"2022-01\",\n \"limit\": 1000.0\n },\n {\n \"date\": \"2022-02\",\n \"limit\": 1100.0\n },\n {\n \"date\": \"2022-03\",\n \"limit\": 1200.0\n },\n {\n \"date\": \"2022-04\",\n \"limit\": 1300.0\n },\n {\n \"date\": \"2022-05\",\n \"limit\": 1400.0\n },\n {\n \"date\": \"2022-06\",\n \"limit\": 1500.0\n },\n {\n \"date\": \"2022-07\",\n \"limit\": 1600.0\n },\n {\n \"date\": \"2022-08\",\n \"limit\": 1700.0\n },\n {\n \"date\": \"2022-09\",\n \"limit\": 1800.0\n },\n {\n \"date\": \"2022-10\",\n \"limit\": 1900.0\n },\n {\n \"date\": \"2022-11\",\n \"limit\": 2000.0\n },\n {\n \"date\": \"2022-12\",\n \"limit\": 2100.0\n }\n ],\n \"currency\": \"USD\",\n \"provider_filter\": {\n \"state\": \"ENABLED\",\n \"providers\": [\n \"aws\",\n \"google_cloud\"\n ]\n },\n \"time_unit\": \"MONTHLY\",\n \"start\": \"2022-01\",\n \"end\": \"2022-12\",\n \"tags\": {},\n \"project_group_id\": \"pg-812c90990877\",\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-04-12T06:09:56.917Z\",\n \"updated_at\": \"2022-04-12T06:09:56.917Z\"\n }\n ],\n \"total_count\": 6\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report-config/enable": { + },"/cost-analysis/budget/stat": { "post": { - "tags": ["cost-analysis > cost-report-config"], - "summary": "Enable", + "tags": ["cost-analysis > budget"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_config_id|The ID of cost report in the Protocol.|string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, "examples":{"Schema":{} } @@ -1231,27 +1308,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report-config/disable": { + },"/cost-analysis/data-source-rule/create": { "post": { - "tags": ["cost-analysis > cost-report-config"], - "summary": "Disable", + "tags": ["cost-analysis > data-source-rule"], + "summary": "Create", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nCreates a new DataSourceRule. When creating the resource, this method can apply two types of conditions: mapping projects where the cost incurred to the Cost, and mapping cloud service accounts to the Cost. By adjusting the `condition_policy` parameter, the DataSourceRule can be applied when all conditions are met, applied when any of the conditions are met, or always applied regardless of whether the conditions are met.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_config_id|The ID of cost report in the Protocol.|string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |conditions_policy|ALL, ANY, ALWAYS |string|True|\n |actions||DataSourceRuleActions|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |workspace_id||string|True|\n |name||string||\n |conditions||array||\n |options||DataSourceRuleOptions||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"name" : {"type": "string","title": "NAME" },"conditions" : {"items": {"$ref": "#/components/schemas/DataSourceRuleCondition"}, "type": "array","title": "CONDITIONS" },"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY" },"actions" : {"$ref": "#/components/schemas/DataSourceRuleActions","title": "ACTIONS" },"options" : {"$ref": "#/components/schemas/DataSourceRuleOptions","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"name\": \"match_service_account_test\",\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\"source\": \"account\", \"target\": \"data.project_id\"}\n },\n \"options\": {\"stop_processing\": true},\n \"tags\": {\"b\": \"c\", \"a\": \"b\"}\n}"},"Schema":{} } } },"required": true @@ -1260,73 +1337,60 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourceRuleInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}} + "Schema": {"$ref": "#/components/schemas/DataSourceRuleInfo"},"Default Example":{ + "value": "{\n \"data_source_rule_id\": \"rule-c8055231e212\",\n \"name\": \"match_service_account_test\",\n \"order\": 2,\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {\n \"a\": \"b\",\n \"b\": \"c\"\n },\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:13:28.335Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report-config/delete": { + },"/cost-analysis/data-source-rule/update": { "post": { - "tags": ["cost-analysis > cost-report-config"], - "summary": "Delete", + "tags": ["cost-analysis > data-source-rule"], + "summary": "Update", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nUpdates a specific DataSourceRule. You can make changes in DataSourceRule settings, including filtering conditions. If the parameter `is_default` is `true`, only `Admin` type User can use this method.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_config_id|The ID of cost report in the Protocol.|string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_rule_id||string|True|\n |name||string||\n |conditions||array||\n |conditions_policy|ALL, ANY, ALWAYS |string||\n |actions||DataSourceRuleActions||\n |options||DataSourceRuleOptions||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" } } + "properties": {"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID" },"name" : {"type": "string","title": "NAME" },"conditions" : {"items": {"$ref": "#/components/schemas/DataSourceRuleCondition"}, "type": "array","title": "CONDITIONS" },"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY" },"actions" : {"$ref": "#/components/schemas/DataSourceRuleActions","title": "ACTIONS" },"options" : {"$ref": "#/components/schemas/DataSourceRuleOptions","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_rule_id\": \"rule-c8055231e212\",\n \"name\": \"match_service_account_test\",\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {\"b\": \"c\", \"a\": \"b\"}\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/DataSourceRuleInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/DataSourceRuleInfo"},"Default Example":{ + "value": "{\n \"data_source_rule_id\": \"rule-c8055231e212\",\n \"name\": \"match_service_account_test\",\n \"order\": 2,\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {\n \"a\": \"b\",\n \"b\": \"c\"\n },\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:13:28.335Z\"\n}" + }} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report-config/run": { + },"/cost-analysis/data-source-rule/change-order": { "post": { - "tags": ["cost-analysis > cost-report-config"], - "summary": "Run", + "tags": ["cost-analysis > data-source-rule"], + "summary": "Change Order", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nChanges the priority order of the DataSourceRules to apply. If there are multiple DataSourceRules applied in a specific service account, the priority order of the resources is requried. This method changes the priority order to apply DataSourceRules.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_config_id|The ID of cost report in the Protocol.|string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_rule_id||string|True|\n |order||int|True|\n
", "content": { "application/json": { "schema": { - "properties": {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" } } + "properties": {"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID" },"order" : {"type": "integer","title": "ORDER" } } }, - "examples":{"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response"} - } - ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report-config/get": { - "post": { - "tags": ["cost-analysis > cost-report-config"], - "summary": "Get", - "operationId" : "", - "description": "### Description \n", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_config_id|The ID of cost report in the Protocol.|string|True|\n
", - "content": { - "application/json": { - "schema": { - "properties": {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" } } - }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_rule_id\": \"rule-c8055231e212\",\n \"order\": 2\n}"},"Schema":{} } } },"required": true @@ -1335,56 +1399,52 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourceRuleInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CostReportConfigInfo"}} + "Schema": {"$ref": "#/components/schemas/DataSourceRuleInfo"},"Default Example":{ + "value": "{\n \"data_source_rule_id\": \"rule-c8055231e212\",\n \"name\": \"match_service_account_test\",\n \"order\": 2,\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {\n \"a\": \"b\",\n \"b\": \"c\"\n },\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:13:28.335Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report-config/list": { + },"/cost-analysis/data-source-rule/delete": { "post": { - "tags": ["cost-analysis > cost-report-config"], - "summary": "List", + "tags": ["cost-analysis > data-source-rule"], + "summary": "Delete", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nDeletes a specific DataSourceRule. You must specify the `data_source_rule_id` of the DataSourceRule to delete. If the parameter `is_default` is `true`, only `Admin` type User can use this method.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |cost_report_config_id|The ID of cost report in the Protocol. |string||\n |state|ENABLED, DISABLED |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_rule_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" },"state" : {"type": "string","title": "STATE" } } + "properties": {"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_rule_id\": \"rule-22fab02f6b51\"\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/CostReportConfigsInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/CostReportConfigsInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report-config/stat": { + },"/cost-analysis/data-source-rule/get": { "post": { - "tags": ["cost-analysis > cost-report-config"], - "summary": "Stat", + "tags": ["cost-analysis > data-source-rule"], + "summary": "Get", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nGets a specific DataSourceRule. Prints detailed information about the DataSourceRule, including `conditions_policy` and conditions applied to DataSources.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_rule_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_rule_id\": \"rule-22fab02f6b51\"\n}"},"Schema":{} } } },"required": true @@ -1393,27 +1453,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CostReportConfigsInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourceRuleInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CostReportConfigsInfo"}} + "Schema": {"$ref": "#/components/schemas/DataSourceRuleInfo"},"Default Example":{ + "value": "{\n \"data_source_rule_id\": \"rule-c8055231e212\",\n \"name\": \"match_service_account_test\",\n \"order\": 2,\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {\n \"a\": \"b\",\n \"b\": \"c\"\n },\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:13:28.335Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report-data/list": { + },"/cost-analysis/data-source-rule/list": { "post": { - "tags": ["cost-analysis > cost-report-data"], + "tags": ["cost-analysis > data-source-rule"], "summary": "List", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nGets a list of all DataSourceRules. You can use a query to get a filtered list of DataSourceRules.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |cost_report_data_id||string||\n |product||string||\n |provider||string||\n |is_confirmed||boolean||\n |workspace_id||string||\n |cost_report_config_id||string||\n |cost_report_id||string||\n |data_source_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |data_source_rule_id||string||\n |name||string||\n |rule_type|MANAGED, CUSTOM |string||\n |workspace_id||string||\n |data_source_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"cost_report_data_id" : {"type": "string","title": "COST_REPORT_DATA_ID" },"product" : {"type": "string","title": "PRODUCT" },"provider" : {"type": "string","title": "PROVIDER" },"is_confirmed" : {"type": "boolean","title": "IS_CONFIRMED" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" },"cost_report_id" : {"type": "string","title": "COST_REPORT_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID" },"name" : {"type": "string","title": "NAME" },"rule_type" : {"type": "string","title": "RULE_TYPE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} } } },"required": true @@ -1422,25 +1484,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CostReportsDataInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourceRulesInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CostReportsDataInfo"}} + "Schema": {"$ref": "#/components/schemas/DataSourceRulesInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"data_source_rule_id\": \"rule-22fab02f6b51\",\n \"name\": \"match_service_account\",\n \"order\": 1,\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {},\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-05-25T16:01:51.858Z\"\n },\n {\n \"data_source_rule_id\": \"rule-188d366e9817\",\n \"name\": \"match_service_account\",\n \"order\": 1,\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.account_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {},\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-03T16:00:54.099Z\"\n }\n ],\n \"total_count\": 2\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report-data/analyze": { + },"/cost-analysis/data-source-rule/stat": { "post": { - "tags": ["cost-analysis > cost-report-data"], - "summary": "Analyze", + "tags": ["cost-analysis > data-source-rule"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||TimeSeriesAnalyzeQuery||\n |product||string||\n |provider||string||\n |is_confirmed||boolean||\n |workspace_id||string||\n |project_id||string||\n |cost_report_config_id||string||\n |cost_report_id||string||\n |data_source_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY" },"product" : {"type": "string","title": "PRODUCT" },"provider" : {"type": "string","title": "PROVIDER" },"is_confirmed" : {"type": "boolean","title": "IS_CONFIRMED" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" },"cost_report_id" : {"type": "string","title": "COST_REPORT_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, "examples":{"Schema":{} } @@ -1458,20 +1522,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report-data/stat": { + },"/cost-analysis/job/cancel": { "post": { - "tags": ["cost-analysis > cost-report-data"], - "summary": "Stat", + "tags": ["cost-analysis > job"], + "summary": "Cancel", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nCancels a specific Job. You can manually cease a Job in run with this method.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |cost_report_id||string||\n |cost_report_config_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"cost_report_id" : {"type": "string","title": "COST_REPORT_ID" },"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" } } + "properties": {"job_id" : {"type": "string","title": "JOB_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"job_id\": \"job-07994c7c9021\"\n}"},"Schema":{} } } },"required": true @@ -1480,27 +1544,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/JobInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/JobInfo"},"Default Example":{ + "value": "{\n \"job_id\": \"job-07994c7c9021\",\n \"status\": \"CANCELED\",\n \"options\": {\n \"no_preload_cache\": false,\n \"start\": \"2021-01-01T00:00:00Z\"\n },\n \"total_tasks\": 2,\n \"remained_tasks\": 2,\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-04-02T09:17:44.031Z\",\n \"updated_at\": \"2022-04-02T09:19:47.715Z\",\n \"finished_at\": \"2022-04-02T09:19:47.715Z\",\n \"changed\": [\n {\n \"start\": \"2021-01-01T00:00:00.000Z\"\n }\n ]\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/budget/create": { + },"/cost-analysis/job/get": { "post": { - "tags": ["cost-analysis > budget"], - "summary": "Create", + "tags": ["cost-analysis > job"], + "summary": "Get", "operationId" : "", - "description": "### Description \nCreates a new Budget. When creating a Budget, it should be set for a specific ProjectGroup or Project. The budgeted amount and date of the `planned_limits` should be specified on a monthly or yearly basis.", + "description": "### Description \nGets a specific Job. Prints detailed information about the Job, including the plugin used, operation time, and `status`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |time_unit|TOTAL, MONTHLY |string|True|\n |start||string|True|\n |end||string|True|\n |resource_group|WORKSPACE, PROJECT |string|True|\n |name||string||\n |limit||float||\n |planned_limits||array||\n |provider_filter||ProviderFilter||\n |notifications||array||\n |tags||Struct||\n |workspace_id||string||\n |project_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"name" : {"type": "string","title": "NAME" },"limit" : {"type": "float","title": "LIMIT" },"planned_limits" : {"items": {"$ref": "#/components/schemas/PlannedLimit"}, "type": "array","title": "PLANNED_LIMITS" },"provider_filter" : {"$ref": "#/components/schemas/ProviderFilter","title": "PROVIDER_FILTER" },"time_unit" : {"type": "string","title": "TIME_UNIT" },"start" : {"type": "string","title": "START" },"end" : {"type": "string","title": "END" },"notifications" : {"items": {"$ref": "#/components/schemas/BudgetNotification"}, "type": "array","title": "NOTIFICATIONS" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" } } + "properties": {"job_id" : {"type": "string","title": "JOB_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"name\": \"Cloudforet-Budget\",\n \"planned_limits\": [{\"date\": \"2022-01\", \"limit\": 1000.0},\n {\"date\": \"2022-02\", \"limit\": 1100.0},\n {\"date\": \"2022-03\", \"limit\": 1200.0},\n {\"date\": \"2022-04\", \"limit\": 1300.0},\n {\"date\": \"2022-05\", \"limit\": 1400.0},\n {\"date\": \"2022-06\", \"limit\": 1500.0},\n {\"date\": \"2022-07\", \"limit\": 1600.0},\n {\"date\": \"2022-08\", \"limit\": 1700.0},\n {\"date\": \"2022-09\", \"limit\": 1800.0},\n {\"date\": \"2022-10\", \"limit\": 1900.0},\n {\"date\": \"2022-11\", \"limit\": 2000.0},\n {\"date\": \"2022-12\", \"limit\": 2100.0}],\n \"time_unit\": \"MONTHLY\",\n \"start\": \"2022-01\",\n \"end\": \"2022-12\",\n \"project_group_id\": \"pg-812c90990877\",\n \"data_source_id\": \"ds-fcba92ca73b1\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"job_id\": \"job-07994c7c9021\"\n}"},"Schema":{} } } },"required": true @@ -1509,29 +1575,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/BudgetInfo"}, + "schema": {"$ref": "#/components/schemas/JobInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/BudgetInfo"},"Default Example":{ - "value": "{\n \"budget_id\": \"budget-d51b6b6a9910\",\n \"name\": \"Cloudforet-Budget\",\n \"limit\": 18600.0,\n \"planned_limits\": [\n {\n \"date\": \"2022-01\",\n \"limit\": 1000.0\n },\n {\n \"date\": \"2022-02\",\n \"limit\": 1100.0\n },\n {\n \"date\": \"2022-03\",\n \"limit\": 1200.0\n },\n {\n \"date\": \"2022-04\",\n \"limit\": 1300.0\n },\n {\n \"date\": \"2022-05\",\n \"limit\": 1400.0\n },\n {\n \"date\": \"2022-06\",\n \"limit\": 1500.0\n },\n {\n \"date\": \"2022-07\",\n \"limit\": 1600.0\n },\n {\n \"date\": \"2022-08\",\n \"limit\": 1700.0\n },\n {\n \"date\": \"2022-09\",\n \"limit\": 1800.0\n },\n {\n \"date\": \"2022-10\",\n \"limit\": 1900.0\n },\n {\n \"date\": \"2022-11\",\n \"limit\": 2000.0\n },\n {\n \"date\": \"2022-12\",\n \"limit\": 2100.0\n }\n ],\n \"currency\": \"USD\",\n \"provider_filter\": {\n \"state\": \"ENABLED\",\n \"providers\": [\n \"aws\",\n \"google_cloud\"\n ]\n },\n \"time_unit\": \"MONTHLY\",\n \"start\": \"2022-01\",\n \"end\": \"2022-12\",\n \"tags\": {},\n \"project_group_id\": \"pg-812c90990877\",\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-18T09:30:56.901Z\",\n \"updated_at\": \"2022-07-18T09:30:56.901Z\"\n}" + "Schema": {"$ref": "#/components/schemas/JobInfo"},"Default Example":{ + "value": "{\n \"job_id\": \"job-07994c7c9021\",\n \"status\": \"CANCELED\",\n \"options\": {\n \"no_preload_cache\": false,\n \"start\": \"2021-01-01T00:00:00Z\"\n },\n \"total_tasks\": 2,\n \"remained_tasks\": 2,\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-04-02T09:17:44.031Z\",\n \"updated_at\": \"2022-04-02T09:19:47.715Z\",\n \"finished_at\": \"2022-04-02T09:19:47.715Z\",\n \"changed\": [\n {\n \"start\": \"2021-01-01T00:00:00.000Z\"\n }\n ]\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/budget/update": { + },"/cost-analysis/job/list": { "post": { - "tags": ["cost-analysis > budget"], - "summary": "Update", + "tags": ["cost-analysis > job"], + "summary": "List", "operationId" : "", - "description": "### Description \nUpdates a specific Budget. You can make changes in the budgeted amount of the time period specified while creating the resource.", + "description": "### Description \nGets a list of all Jobs. You can use a query to get a filtered list of Jobs.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |budget_id||string|True|\n |name||string||\n |limit||float||\n |planned_limits||array||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |job_id||string||\n |status|IN_PROGRESS, SUCCESS, FAILURE, TIMEOUT, CANCELED |string||\n |workspace_id||string||\n |data_source_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"budget_id" : {"type": "string","title": "BUDGET_ID" },"name" : {"type": "string","title": "NAME" },"limit" : {"type": "float","title": "LIMIT" },"planned_limits" : {"items": {"$ref": "#/components/schemas/PlannedLimit"}, "type": "array","title": "PLANNED_LIMITS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"job_id" : {"type": "string","title": "JOB_ID" },"status" : {"type": "string","title": "STATUS" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"budget_id\": \"budget-d51b6b6a9910\",\n \"name\": \"Cloudforet-Budget-test\", \"limit\": 15000.0,\n \"planned_limits\": [{\"date\": \"2022-01\", \"limit\": 500.0},\n {\"date\": \"2022-02\", \"limit\": 500.0},\n {\"date\": \"2022-03\", \"limit\": 500.0},\n {\"date\": \"2022-04\", \"limit\": 500.0},\n {\"date\": \"2022-05\", \"limit\": 500.0},\n {\"date\": \"2022-06\", \"limit\": 500.0},\n {\"date\": \"2022-07\", \"limit\": 500.0},\n {\"date\": \"2022-08\", \"limit\": 500.0},\n {\"date\": \"2022-09\", \"limit\": 500.0}],\n \"end\": \"2022-12\",\n \"tags\": {}\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} } } },"required": true @@ -1540,29 +1606,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/BudgetInfo"}, + "schema": {"$ref": "#/components/schemas/JobsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/BudgetInfo"},"Default Example":{ - "value": "{\n \"budget_id\": \"budget-d51b6b6a9910\",\n \"name\": \"Cloudforet-Budget\",\n \"limit\": 18600.0,\n \"planned_limits\": [\n {\n \"date\": \"2022-01\",\n \"limit\": 1000.0\n },\n {\n \"date\": \"2022-02\",\n \"limit\": 1100.0\n },\n {\n \"date\": \"2022-03\",\n \"limit\": 1200.0\n },\n {\n \"date\": \"2022-04\",\n \"limit\": 1300.0\n },\n {\n \"date\": \"2022-05\",\n \"limit\": 1400.0\n },\n {\n \"date\": \"2022-06\",\n \"limit\": 1500.0\n },\n {\n \"date\": \"2022-07\",\n \"limit\": 1600.0\n },\n {\n \"date\": \"2022-08\",\n \"limit\": 1700.0\n },\n {\n \"date\": \"2022-09\",\n \"limit\": 1800.0\n },\n {\n \"date\": \"2022-10\",\n \"limit\": 1900.0\n },\n {\n \"date\": \"2022-11\",\n \"limit\": 2000.0\n },\n {\n \"date\": \"2022-12\",\n \"limit\": 2100.0\n }\n ],\n \"currency\": \"USD\",\n \"provider_filter\": {\n \"state\": \"ENABLED\",\n \"providers\": [\n \"aws\",\n \"google_cloud\"\n ]\n },\n \"time_unit\": \"MONTHLY\",\n \"start\": \"2022-01\",\n \"end\": \"2022-12\",\n \"tags\": {},\n \"project_group_id\": \"pg-812c90990877\",\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-18T09:30:56.901Z\",\n \"updated_at\": \"2022-07-18T09:30:56.901Z\"\n}" + "Schema": {"$ref": "#/components/schemas/JobsInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"job_id\": \"job-85cf2c385252\",\n \"status\": \"SUCCESS\",\n \"options\": {\n \"start\": null,\n \"no_preload_cache\": false\n },\n \"total_tasks\": 1,\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-17T16:00:08.254Z\",\n \"updated_at\": \"2022-07-17T16:01:30.637Z\",\n \"finished_at\": \"2022-07-17T16:01:30.637Z\",\n \"changed\": [\n {\n \"start\": \"2022-07-01T00:00:00.000Z\"\n }\n ]\n },\n {\n \"job_id\": \"job-6b6765f757a9\",\n \"status\": \"SUCCESS\",\n \"options\": {\n \"start\": null,\n \"no_preload_cache\": false\n },\n \"total_tasks\": 2,\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-17T16:00:05.077Z\",\n \"updated_at\": \"2022-07-17T16:01:28.206Z\",\n \"finished_at\": \"2022-07-17T16:01:28.206Z\",\n \"changed\": [\n {\n \"start\": \"2022-07-01T00:00:00.000Z\"\n }\n ]\n }\n ],\n \"total_count\": 372\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/budget/set-notification": { + },"/cost-analysis/job/stat": { "post": { - "tags": ["cost-analysis > budget"], - "summary": "Set Notification", + "tags": ["cost-analysis > job"], + "summary": "Stat", "operationId" : "", - "description": "### Description \nSets a notification on a specific Budget. Sets a threshold on the budget, and if the cost exceeds the threshold, a notification is raised.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |budget_id||string|True|\n |notifications||array|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"budget_id" : {"type": "string","title": "BUDGET_ID" },"notifications" : {"items": {"$ref": "#/components/schemas/BudgetNotification"}, "type": "array","title": "NOTIFICATIONS" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, - "examples":{"Default Example":{"value": "{\n \"budget_id\": \"budget-4c8606da4521\",\n \"notifications\": [\n {\n \"threshold\": 20.0,\n \"unit\": \"PERCENT\",\n \"notification_type\": \"CRITICAL\"\n },\n {\n \"threshold\": 1000.0,\n \"unit\": \"ACTUAL_COST\",\n \"notification_type\": \"WARNING\"\n }\n ]\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -1571,52 +1637,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/BudgetInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/BudgetInfo"},"Default Example":{ - "value": "{\n \"budget_id\": \"budget-d51b6b6a9910\",\n \"name\": \"Cloudforet-Budget\",\n \"limit\": 18600.0,\n \"planned_limits\": [\n {\n \"date\": \"2022-01\",\n \"limit\": 1000.0\n },\n {\n \"date\": \"2022-02\",\n \"limit\": 1100.0\n },\n {\n \"date\": \"2022-03\",\n \"limit\": 1200.0\n },\n {\n \"date\": \"2022-04\",\n \"limit\": 1300.0\n },\n {\n \"date\": \"2022-05\",\n \"limit\": 1400.0\n },\n {\n \"date\": \"2022-06\",\n \"limit\": 1500.0\n },\n {\n \"date\": \"2022-07\",\n \"limit\": 1600.0\n },\n {\n \"date\": \"2022-08\",\n \"limit\": 1700.0\n },\n {\n \"date\": \"2022-09\",\n \"limit\": 1800.0\n },\n {\n \"date\": \"2022-10\",\n \"limit\": 1900.0\n },\n {\n \"date\": \"2022-11\",\n \"limit\": 2000.0\n },\n {\n \"date\": \"2022-12\",\n \"limit\": 2100.0\n }\n ],\n \"currency\": \"USD\",\n \"provider_filter\": {\n \"state\": \"ENABLED\",\n \"providers\": [\n \"aws\",\n \"google_cloud\"\n ]\n },\n \"time_unit\": \"MONTHLY\",\n \"start\": \"2022-01\",\n \"end\": \"2022-12\",\n \"tags\": {},\n \"project_group_id\": \"pg-812c90990877\",\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-18T09:30:56.901Z\",\n \"updated_at\": \"2022-07-18T09:30:56.901Z\"\n}" - }} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/budget/delete": { - "post": { - "tags": ["cost-analysis > budget"], - "summary": "Delete", - "operationId" : "", - "description": "### Description \nDeletes a specific Budget. You must specify the `budget_id` of the Budget to delete.", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |budget_id||string|True|\n
", - "content": { - "application/json": { - "schema": { - "properties": {"budget_id" : {"type": "string","title": "BUDGET_ID" } } - }, - "examples":{"Default Example":{"value": "{\n \"budget_id\": \"budget-d51b6b6a9910\"\n}"},"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response"} - } - ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/budget/get": { + },"/cost-analysis/job-task/get": { "post": { - "tags": ["cost-analysis > budget"], + "tags": ["cost-analysis > job-task"], "summary": "Get", "operationId" : "", - "description": "### Description \nGets a specific Budget. Prints detailed information about the Budget, including `planned_limits` of the project group or project for the pre-defined period.", + "description": "### Description \nGets a specific JobTask. Prints detailed information about the JobTask, including the relevant resources: DataSource and Job. The criteria used for dividing a Job into JobTasks can be found in the DataSource used, but the total count of divided JobTasks can be found by this method.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |budget_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_task_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"budget_id" : {"type": "string","title": "BUDGET_ID" } } + "properties": {"job_task_id" : {"type": "string","title": "JOB_TASK_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"budget_id\": \"budget-d51b6b6a9910\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"job_task_id\": \"job-task-3622d860a776\"\n}"},"Schema":{} } } },"required": true @@ -1625,27 +1666,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/BudgetInfo"}, + "schema": {"$ref": "#/components/schemas/JobTaskInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/BudgetInfo"},"Default Example":{ - "value": "{\n \"budget_id\": \"budget-d51b6b6a9910\",\n \"name\": \"Cloudforet-Budget\",\n \"limit\": 18600.0,\n \"planned_limits\": [\n {\n \"date\": \"2022-01\",\n \"limit\": 1000.0\n },\n {\n \"date\": \"2022-02\",\n \"limit\": 1100.0\n },\n {\n \"date\": \"2022-03\",\n \"limit\": 1200.0\n },\n {\n \"date\": \"2022-04\",\n \"limit\": 1300.0\n },\n {\n \"date\": \"2022-05\",\n \"limit\": 1400.0\n },\n {\n \"date\": \"2022-06\",\n \"limit\": 1500.0\n },\n {\n \"date\": \"2022-07\",\n \"limit\": 1600.0\n },\n {\n \"date\": \"2022-08\",\n \"limit\": 1700.0\n },\n {\n \"date\": \"2022-09\",\n \"limit\": 1800.0\n },\n {\n \"date\": \"2022-10\",\n \"limit\": 1900.0\n },\n {\n \"date\": \"2022-11\",\n \"limit\": 2000.0\n },\n {\n \"date\": \"2022-12\",\n \"limit\": 2100.0\n }\n ],\n \"currency\": \"USD\",\n \"provider_filter\": {\n \"state\": \"ENABLED\",\n \"providers\": [\n \"aws\",\n \"google_cloud\"\n ]\n },\n \"time_unit\": \"MONTHLY\",\n \"start\": \"2022-01\",\n \"end\": \"2022-12\",\n \"tags\": {},\n \"project_group_id\": \"pg-812c90990877\",\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-18T09:30:56.901Z\",\n \"updated_at\": \"2022-07-18T09:30:56.901Z\"\n}" + "Schema": {"$ref": "#/components/schemas/JobTaskInfo"},"Default Example":{ + "value": "{\n \"job_task_id\": \"job-task-3622d860a776\",\n \"status\": \"SUCCESS\",\n \"options\": {\n \"month\": \"202207\",\n \"platform\": \"gcp\"\n },\n \"created_count\": 1,\n \"job_id\": \"job-85cf2c385252\",\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-17T16:00:08.266Z\",\n \"started_at\": \"2022-07-17T16:01:28.243Z\",\n \"updated_at\": \"2022-07-17T16:01:28.939Z\",\n \"finished_at\": \"2022-07-17T16:01:28.939Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/budget/list": { + },"/cost-analysis/job-task/list": { "post": { - "tags": ["cost-analysis > budget"], + "tags": ["cost-analysis > job-task"], "summary": "List", "operationId" : "", - "description": "### Description \nGets a list of all Budgets. You can use a query to get a filtered list of Budgets.", + "description": "### Description \nGets a list of all JobTasks. You can use a query to get a filtered list of JobTasks.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |budget_id||string||\n |name||string||\n |time_unit|TOTAL, MONTHLY |string||\n |workspace_id||string||\n |project_id||string||\n |data_source_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |job_task_id||string||\n |status|PENDING, IN_PROGRESS, SUCCESS, FAILURE, TIMEOUT, CANCELED |string||\n |workspace_id||string||\n |job_id||string||\n |data_source_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"budget_id" : {"type": "string","title": "BUDGET_ID" },"name" : {"type": "string","title": "NAME" },"time_unit" : {"type": "string","title": "TIME_UNIT" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"job_task_id" : {"type": "string","title": "JOB_TASK_ID" },"status" : {"type": "string","title": "STATUS" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"job_id" : {"type": "string","title": "JOB_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } }, "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} } @@ -1656,18 +1697,18 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/BudgetsInfo"}, + "schema": {"$ref": "#/components/schemas/JobTasksInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/BudgetsInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"budget_id\": \"budget-409e33836ea2\",\n \"name\": \"Budget 2 - Monthly\",\n \"limit\": 18600.0,\n \"planned_limits\": [\n {\n \"date\": \"2022-01\",\n \"limit\": 1000.0\n },\n {\n \"date\": \"2022-02\",\n \"limit\": 1100.0\n },\n {\n \"date\": \"2022-03\",\n \"limit\": 1200.0\n },\n {\n \"date\": \"2022-04\",\n \"limit\": 1300.0\n },\n {\n \"date\": \"2022-05\",\n \"limit\": 1400.0\n },\n {\n \"date\": \"2022-06\",\n \"limit\": 1500.0\n },\n {\n \"date\": \"2022-07\",\n \"limit\": 1600.0\n },\n {\n \"date\": \"2022-08\",\n \"limit\": 1700.0\n },\n {\n \"date\": \"2022-09\",\n \"limit\": 1800.0\n },\n {\n \"date\": \"2022-10\",\n \"limit\": 1900.0\n },\n {\n \"date\": \"2022-11\",\n \"limit\": 2000.0\n },\n {\n \"date\": \"2022-12\",\n \"limit\": 2100.0\n }\n ],\n \"currency\": \"USD\",\n \"provider_filter\": {\n \"state\": \"ENABLED\",\n \"providers\": [\n \"aws\",\n \"google_cloud\"\n ]\n },\n \"time_unit\": \"MONTHLY\",\n \"start\": \"2022-01\",\n \"end\": \"2022-12\",\n \"tags\": {},\n \"project_group_id\": \"pg-812c90990877\",\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-04-12T06:09:56.917Z\",\n \"updated_at\": \"2022-04-12T06:09:56.917Z\"\n }\n ],\n \"total_count\": 6\n}" + "Schema": {"$ref": "#/components/schemas/JobTasksInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"job_task_id\": \"job-task-3622d860a776\",\n \"status\": \"SUCCESS\",\n \"options\": {\n \"platform\": \"gcp\",\n \"month\": \"202207\"\n },\n \"created_count\": 1,\n \"job_id\": \"job-85cf2c385252\",\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-17T16:00:08.266Z\",\n \"started_at\": \"2022-07-17T16:01:28.243Z\",\n \"updated_at\": \"2022-07-17T16:01:28.939Z\",\n \"finished_at\": \"2022-07-17T16:01:28.939Z\"\n },\n {\n \"job_task_id\": \"job-task-038c0b076ec5\",\n \"status\": \"SUCCESS\",\n \"options\": {\n \"account\": \"257706363616\",\n \"start\": \"2022-07-01\"\n },\n \"created_count\": 5756,\n \"job_id\": \"job-6b6765f757a9\",\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-17T16:00:05.099Z\",\n \"started_at\": \"2022-07-17T16:00:47.356Z\",\n \"updated_at\": \"2022-07-17T16:01:20.856Z\",\n \"finished_at\": \"2022-07-17T16:01:20.856Z\"\n }\n ],\n \"total_count\": 720\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/budget/stat": { + },"/cost-analysis/job-task/stat": { "post": { - "tags": ["cost-analysis > budget"], + "tags": ["cost-analysis > job-task"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -1694,20 +1735,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-query-set/create": { + },"/cost-analysis/data-source-account/update": { "post": { - "tags": ["cost-analysis > cost-query-set"], - "summary": "Create", + "tags": ["cost-analysis > data-source-account"], + "summary": "Update", "operationId" : "", - "description": "### Description \nCreates a new CostQuerySet. You can make your own custom query that meets your needs, and input it as an `option` parameter of the resource. Queries such as `group_by` and `granularity` are provided by default.", + "description": "### Description \nUpdate a DataSourceAccount with the specified DataSourceAccount ID related to the DataSource.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |name||string|True|\n |options||Struct|True|\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |account_id|account_id is the unique identifier of each CSP account.(e.g. Azure Tenant ID)|string|True|\n |workspace_id||string||\n |project_id||string||\n |service_account_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"name" : {"type": "string","title": "NAME" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"account_id" : {"type": "string","title": "ACCOUNT_ID" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-085d1e872789\",\n \"name\": \"project_provider_region\",\n \"options\": {}\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -1716,60 +1757,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CostQuerySetInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourceAccountInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CostQuerySetInfo"},"Default Example":{ - "value": "{\n \"cost_query_set_id\": \"query-76a58ea5d02c\",\n \"name\": \"project_provider_region\",\n \"options\": {},\n \"tags\": {},\n \"user_id\": \"test@cloudforet.io\",\n \"data_source_id\": \"ds-085d1e872789\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T06:11:03.701Z\",\n \"updated_at\": \"2022-07-19T06:11:03.701Z\"\n}" - }} - } - }} - } - ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-query-set/update": { - "post": { - "tags": ["cost-analysis > cost-query-set"], - "summary": "Update", - "operationId" : "", - "description": "### Description \nUpdates a specific CostQuerySet. You can make changes in the details of queries.", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_query_set_id||string|True|\n |name||string||\n |options||Struct||\n |tags||Struct||\n
", - "content": { - "application/json": { - "schema": { - "properties": {"cost_query_set_id" : {"type": "string","title": "COST_QUERY_SET_ID" },"name" : {"type": "string","title": "NAME" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } - }, - "examples":{"Default Example":{"value": "{\n \"cost_query_set_id\": \"query-76a58ea5d02c\",\n \"name\": \"project_provider_region\",\n \"options\": {},\n \"tags\": {},\n \"user_id\": \"test@cloudforet.io\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T06:11:03.701Z\",\n \"updated_at\": \"2022-07-19T06:11:03.701Z\"\n}"},"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/CostQuerySetInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/CostQuerySetInfo"},"Default Example":{ - "value": "{\n \"cost_query_set_id\": \"query-76a58ea5d02c\",\n \"name\": \"project_provider_region\",\n \"options\": {},\n \"tags\": {},\n \"user_id\": \"test@cloudforet.io\",\n \"data_source_id\": \"ds-085d1e872789\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T06:11:03.701Z\",\n \"updated_at\": \"2022-07-19T06:11:03.701Z\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/DataSourceAccountInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-query-set/delete": { + },"/cost-analysis/data-source-account/reset": { "post": { - "tags": ["cost-analysis > cost-query-set"], - "summary": "Delete", + "tags": ["cost-analysis > data-source-account"], + "summary": "Reset", "operationId" : "", - "description": "### Description \nDeletes a specific CostQuerySet. You must specify the `cost_query_set_id` of the CostQuerySet to delete.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_query_set_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |account_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"cost_query_set_id" : {"type": "string","title": "COST_QUERY_SET_ID" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"account_id" : {"type": "string","title": "ACCOUNT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"cost_query_set_id\": \"query-16ae671dc8fb\",\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -1779,20 +1787,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-query-set/get": { + },"/cost-analysis/data-source-account/get": { "post": { - "tags": ["cost-analysis > cost-query-set"], + "tags": ["cost-analysis > data-source-account"], "summary": "Get", "operationId" : "", - "description": "### Description \nGets a specific CostQuerySet. Prints detailed information about the CostQuerySet, including the details of queries.", + "description": "### Description \nGet a DataSourceAccount with the specified DataSourceAccount ID related to the DataSource.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_query_set_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_account_id||string|True|\n |account_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"cost_query_set_id" : {"type": "string","title": "COST_QUERY_SET_ID" } } + "properties": {"data_source_account_id" : {"type": "string","title": "DATA_SOURCE_ACCOUNT_ID" },"account_id" : {"type": "string","title": "ACCOUNT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"cost_query_set_id\": \"query-16ae671dc8fb\",\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -1801,29 +1809,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CostQuerySetInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourceAccountInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CostQuerySetInfo"},"Default Example":{ - "value": "{\n \"cost_query_set_id\": \"query-76a58ea5d02c\",\n \"name\": \"project_provider_region\",\n \"options\": {},\n \"tags\": {},\n \"user_id\": \"test@cloudforet.io\",\n \"data_source_id\": \"ds-085d1e872789\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T06:11:03.701Z\",\n \"updated_at\": \"2022-07-19T06:11:03.701Z\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/DataSourceAccountInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-query-set/list": { + },"/cost-analysis/data-source-account/list": { "post": { - "tags": ["cost-analysis > cost-query-set"], + "tags": ["cost-analysis > data-source-account"], "summary": "List", "operationId" : "", - "description": "### Description \nGets a list of all CostQuerySets. You can use a query to get a filtered list of CostQuerySets.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |query||Query||\n |name||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |data_source_id||string||\n |account_id||string||\n |workspace_id||string||\n |project_id||string||\n |service_account_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"name" : {"type": "string","title": "NAME" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"account_id" : {"type": "string","title": "ACCOUNT_ID" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -1832,27 +1838,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CostQuerySetsInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourceAccountsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CostQuerySetsInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"cost_query_set_id\": \"query-16ae671dc8fb\",\n \"name\": \"3 month product pie chart\",\n \"options\": {},\n \"tags\": {},\n \"user_id\": \"yuda@mz.co.kr\",\n \"data_source_id\": \"ds-085d1e872789\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-03-08T03:37:31.404Z\",\n \"updated_at\": \"2022-03-08T03:37:31.404Z\"\n },\n {\n \"cost_query_set_id\": \"query-d90addf25e4b\",\n \"name\": \"6 month project group\",\n \"options\": {},\n \"tags\": {},\n \"user_id\": \"yuda@mz.co.kr\",\n \"data_source_id\": \"ds-085d1e872789\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-03-14T09:29:54.306Z\",\n \"updated_at\": \"2022-03-14T09:29:54.306Z\"\n }\n ],\n \"total_count\": 34\n}" - }} + "Schema": {"$ref": "#/components/schemas/DataSourceAccountsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-query-set/stat": { + },"/cost-analysis/data-source-account/analyze": { "post": { - "tags": ["cost-analysis > cost-query-set"], - "summary": "Stat", + "tags": ["cost-analysis > data-source-account"], + "summary": "Analyze", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |data_source_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||TimeSeriesAnalyzeQuery|True|\n |data_source_id||string|True|\n |account_id||string|True|\n |workspace_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"account_id" : {"type": "string","title": "ACCOUNT_ID" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, "examples":{"Schema":{} } @@ -1870,18 +1874,18 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report/send": { + },"/cost-analysis/data-source-account/stat": { "post": { - "tags": ["cost-analysis > cost-report"], - "summary": "Send", + "tags": ["cost-analysis > data-source-account"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_id|The ID of cost report in the Protocol.|string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"cost_report_id" : {"type": "string","title": "COST_REPORT_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, "examples":{"Schema":{} } @@ -1890,23 +1894,29 @@ }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"type": "object"}, + "examples": { + "Schema": {"type": "object"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report/get-url": { + },"/cost-analysis/budget-usage/list": { "post": { - "tags": ["cost-analysis > cost-report"], - "summary": "Get Url", + "tags": ["cost-analysis > budget-usage"], + "summary": "List", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nGets a list of all BudgetUsages. You can use a query to get a filtered list of BudgetUsages.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_id|The ID of cost report in the Protocol|string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |name||string||\n |date||string||\n |workspace_id||string||\n |project_id||string||\n |budget_id||string||\n |data_source_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"cost_report_id" : {"type": "string","title": "COST_REPORT_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"name" : {"type": "string","title": "NAME" },"date" : {"type": "string","title": "DATE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"budget_id" : {"type": "string","title": "BUDGET_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} } } },"required": true @@ -1915,25 +1925,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/BudgetUsagesInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/BudgetUsagesInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"budget_id\": \"budget-abb377eb9e8b\",\n \"name\": \"Cloudforet-Budget3\",\n \"date\": \"2022-01\",\n \"cost\": 7671.164,\n \"limit\": 10000.0,\n \"currency\": \"USD\",\n \"provider_filter\": {\n \"state\": \"ENABLED\",\n \"providers\": [\n \"aws\",\n \"google_cloud\"\n ]\n },\n \"project_id\": \"project-1b2b3b4b5b6b\",\n \"data_source_id\": \"data-source-1b2b3b4b5b6b\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"updated_at\": \"2022-07-19T04:26:08.099Z\"\n },\n {\n \"budget_id\": \"budget-abb377eb9e8b\",\n \"name\": \"Cloudforet-Budget3\",\n \"date\": \"2022-02\",\n \"cost\": 5931.771,\n \"limit\": 11000.0,\n \"currency\": \"USD\",\n \"provider_filter\": {\n \"state\": \"DISABLED\",\n \"providers\": []\n },\n \"project_id\": \"project-1b2b3b4b5b6b\",\n \"data_source_id\": \"data-source-1b2b3b4b5b6b\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"updated_at\": \"2022-07-19T04:26:08.105Z\"\n }\n ],\n \"total_count\": 12\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report/get": { + },"/cost-analysis/budget-usage/analyze": { "post": { - "tags": ["cost-analysis > cost-report"], - "summary": "Get", + "tags": ["cost-analysis > budget-usage"], + "summary": "Analyze", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_id|The ID of cost report in the Protocol.|string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||TimeSeriesAnalyzeQuery|True|\n |budget_id||string||\n |data_source_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"cost_report_id" : {"type": "string","title": "COST_REPORT_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY" },"budget_id" : {"type": "string","title": "BUDGET_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } }, "examples":{"Schema":{} } @@ -1944,25 +1956,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CostReportInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CostReportInfo"}} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report/list": { + },"/cost-analysis/budget-usage/stat": { "post": { - "tags": ["cost-analysis > cost-report"], - "summary": "List", + "tags": ["cost-analysis > budget-usage"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |cost_report_id||string||\n |cost_report_config_id||string||\n |status|IN_PROGRESS, SUCCESS |string||\n |issue_date|YYYY-mm 2023-12 |string||\n |workspace_name||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |budget_id||string||\n |data_source_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"cost_report_id" : {"type": "string","title": "COST_REPORT_ID" },"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" },"status" : {"type": "string","title": "STATUS" },"issue_date" : {"type": "string","title": "ISSUE_DATE" },"workspace_name" : {"type": "string","title": "WORKSPACE_NAME" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"budget_id" : {"type": "string","title": "BUDGET_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } }, "examples":{"Schema":{} } @@ -1973,25 +1985,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CostReportsInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CostReportsInfo"}} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/cost-report/stat": { + },"/cost-analysis/cost-report/send": { "post": { "tags": ["cost-analysis > cost-report"], - "summary": "Stat", + "summary": "Send", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |cost_report_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_id|The ID of cost report in the Protocol.|string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"cost_report_id" : {"type": "string","title": "COST_REPORT_ID" } } + "properties": {"cost_report_id" : {"type": "string","title": "COST_REPORT_ID" } } }, "examples":{"Schema":{} } @@ -2000,29 +2012,23 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"type": "object"}, - "examples": { - "Schema": {"type": "object"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/job/cancel": { + },"/cost-analysis/cost-report/get-url": { "post": { - "tags": ["cost-analysis > job"], - "summary": "Cancel", + "tags": ["cost-analysis > cost-report"], + "summary": "Get Url", "operationId" : "", - "description": "### Description \nCancels a specific Job. You can manually cease a Job in run with this method.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_id|The ID of cost report in the Protocol|string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"job_id" : {"type": "string","title": "JOB_ID" } } + "properties": {"cost_report_id" : {"type": "string","title": "COST_REPORT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"job_id\": \"job-07994c7c9021\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -2031,29 +2037,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/JobInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/JobInfo"},"Default Example":{ - "value": "{\n \"job_id\": \"job-07994c7c9021\",\n \"status\": \"CANCELED\",\n \"options\": {\n \"no_preload_cache\": false,\n \"start\": \"2021-01-01T00:00:00Z\"\n },\n \"total_tasks\": 2,\n \"remained_tasks\": 2,\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-04-02T09:17:44.031Z\",\n \"updated_at\": \"2022-04-02T09:19:47.715Z\",\n \"finished_at\": \"2022-04-02T09:19:47.715Z\",\n \"changed\": [\n {\n \"start\": \"2021-01-01T00:00:00.000Z\"\n }\n ]\n}" - }} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/job/get": { + },"/cost-analysis/cost-report/get": { "post": { - "tags": ["cost-analysis > job"], + "tags": ["cost-analysis > cost-report"], "summary": "Get", "operationId" : "", - "description": "### Description \nGets a specific Job. Prints detailed information about the Job, including the plugin used, operation time, and `status`.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cost_report_id|The ID of cost report in the Protocol.|string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"job_id" : {"type": "string","title": "JOB_ID" } } + "properties": {"cost_report_id" : {"type": "string","title": "COST_REPORT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"job_id\": \"job-07994c7c9021\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -2062,29 +2066,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/JobInfo"}, + "schema": {"$ref": "#/components/schemas/CostReportInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/JobInfo"},"Default Example":{ - "value": "{\n \"job_id\": \"job-07994c7c9021\",\n \"status\": \"CANCELED\",\n \"options\": {\n \"no_preload_cache\": false,\n \"start\": \"2021-01-01T00:00:00Z\"\n },\n \"total_tasks\": 2,\n \"remained_tasks\": 2,\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-04-02T09:17:44.031Z\",\n \"updated_at\": \"2022-04-02T09:19:47.715Z\",\n \"finished_at\": \"2022-04-02T09:19:47.715Z\",\n \"changed\": [\n {\n \"start\": \"2021-01-01T00:00:00.000Z\"\n }\n ]\n}" - }} + "Schema": {"$ref": "#/components/schemas/CostReportInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/job/list": { + },"/cost-analysis/cost-report/list": { "post": { - "tags": ["cost-analysis > job"], + "tags": ["cost-analysis > cost-report"], "summary": "List", "operationId" : "", - "description": "### Description \nGets a list of all Jobs. You can use a query to get a filtered list of Jobs.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |job_id||string||\n |status|IN_PROGRESS, SUCCESS, FAILURE, TIMEOUT, CANCELED |string||\n |workspace_id||string||\n |data_source_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |cost_report_id||string||\n |cost_report_config_id||string||\n |status|IN_PROGRESS, SUCCESS |string||\n |issue_date|YYYY-mm 2023-12 |string||\n |workspace_name||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"job_id" : {"type": "string","title": "JOB_ID" },"status" : {"type": "string","title": "STATUS" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"cost_report_id" : {"type": "string","title": "COST_REPORT_ID" },"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID" },"status" : {"type": "string","title": "STATUS" },"issue_date" : {"type": "string","title": "ISSUE_DATE" },"workspace_name" : {"type": "string","title": "WORKSPACE_NAME" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -2093,27 +2095,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/JobsInfo"}, + "schema": {"$ref": "#/components/schemas/CostReportsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/JobsInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"job_id\": \"job-85cf2c385252\",\n \"status\": \"SUCCESS\",\n \"options\": {\n \"start\": null,\n \"no_preload_cache\": false\n },\n \"total_tasks\": 1,\n \"data_source_id\": \"ds-c96609f5afeb\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-17T16:00:08.254Z\",\n \"updated_at\": \"2022-07-17T16:01:30.637Z\",\n \"finished_at\": \"2022-07-17T16:01:30.637Z\",\n \"changed\": [\n {\n \"start\": \"2022-07-01T00:00:00.000Z\"\n }\n ]\n },\n {\n \"job_id\": \"job-6b6765f757a9\",\n \"status\": \"SUCCESS\",\n \"options\": {\n \"start\": null,\n \"no_preload_cache\": false\n },\n \"total_tasks\": 2,\n \"data_source_id\": \"ds-fcba92ca73b1\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-17T16:00:05.077Z\",\n \"updated_at\": \"2022-07-17T16:01:28.206Z\",\n \"finished_at\": \"2022-07-17T16:01:28.206Z\",\n \"changed\": [\n {\n \"start\": \"2022-07-01T00:00:00.000Z\"\n }\n ]\n }\n ],\n \"total_count\": 372\n}" - }} + "Schema": {"$ref": "#/components/schemas/CostReportsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/cost-analysis/job/stat": { + },"/cost-analysis/cost-report/stat": { "post": { - "tags": ["cost-analysis > job"], + "tags": ["cost-analysis > cost-report"], "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |cost_report_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"cost_report_id" : {"type": "string","title": "COST_REPORT_ID" } } }, "examples":{"Schema":{} } @@ -2135,92 +2135,54 @@ }, "components":{ "schemas": { - "DataSourceAccountAnalyzeQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"account_id" : {"type": "string","title": "ACCOUNT_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, - "type": "object", - "required": ["query","data_source_id","account_id","workspace_id"], - "title": "DataSourceAccountAnalyzeQuery" - } - , "DataSourceAccountInfo": { - "properties" : {"account_id" : {"type": "string","title": "ACCOUNT_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"name" : {"type": "string","title": "NAME"},"is_sync" : {"type": "boolean","title": "IS_SYNC"},"is_linked" : {"type": "boolean","title": "IS_LINKED"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"v_workspace_id" : {"type": "string","title": "V_WORKSPACE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"},"last_synced_at" : {"type": "string","title": "LAST_SYNCED_AT"}}, + "CostReportConfigInfo": { + "properties" : {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"state" : {"type": "string","title": "STATE"},"issue_day" : {"type": "integer","title": "ISSUE_DAY"},"is_last_day" : {"type": "boolean","title": "IS_LAST_DAY"},"currency" : {"type": "string","title": "CURRENCY"},"recipients" : {"type": "object","title": "RECIPIENTS"},"data_source_filter" : {"type": "object","title": "DATA_SOURCE_FILTER"},"language" : {"type": "string","title": "LANGUAGE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, "type": "object", - "required": ["account_id","data_source_id","name","is_sync","is_linked","domain_id","workspace_id","v_workspace_id","created_at","updated_at","last_synced_at"], - "title": "DataSourceAccountInfo" + "required": ["cost_report_config_id","state","issue_day","is_last_day","currency","recipients","data_source_filter","language","domain_id","created_at","updated_at"], + "title": "CostReportConfigInfo" } - , "DataSourceAccountQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"account_id" : {"type": "string","title": "ACCOUNT_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"}}, + , "CostReportConfigQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"state" : {"type": "string","title": "STATE"}}, "type": "object", "required": [], - "title": "DataSourceAccountQuery" + "title": "CostReportConfigQuery" } - , "DataSourceAccountRequest": { - "properties" : {"data_source_account_id" : {"type": "string","title": "DATA_SOURCE_ACCOUNT_ID"},"account_id" : {"type": "string","title": "ACCOUNT_ID"}}, + , "CostReportConfigRequest": { + "properties" : {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"}}, "type": "object", - "required": ["data_source_account_id","account_id"], - "title": "DataSourceAccountRequest" + "required": ["cost_report_config_id"], + "title": "CostReportConfigRequest" } - , "DataSourceAccountStatQuery": { + , "CostReportConfigStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "DataSourceAccountStatQuery" + "title": "CostReportConfigStatQuery" } - , "DataSourceAccountsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/DataSourceAccountInfo"}, - "type": "array","$ref": "#/components/schemas/DataSourceAccountInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "CostReportConfigsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CostReportConfigInfo"}, + "type": "array","$ref": "#/components/schemas/CostReportConfigInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "DataSourceAccountsInfo" - } - , "ResetDataSourceAccountRequest": { - "properties" : {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"account_id" : {"type": "string","title": "ACCOUNT_ID"}}, - "type": "object", - "required": ["data_source_id"], - "title": "ResetDataSourceAccountRequest" - } - , "UpdateDataSourceAccountRequest": { - "properties" : {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"account_id" : {"type": "string","title": "ACCOUNT_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"}}, - "type": "object", - "required": ["data_source_id","account_id"], - "title": "UpdateDataSourceAccountRequest" - } - , "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" + "title": "CostReportConfigsInfo" } - , "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"}}, + , "CreateCostReportConfigRequest": { + "properties" : {"issue_day" : {"type": "integer","title": "ISSUE_DAY"},"is_last_day" : {"type": "boolean","title": "IS_LAST_DAY"},"currency" : {"type": "string","title": "CURRENCY"},"recipients" : {"type": "object","title": "RECIPIENTS"},"data_source_filter" : {"type": "object","title": "DATA_SOURCE_FILTER"},"language" : {"type": "string","title": "LANGUAGE"}}, "type": "object", - "required": ["role_type","projects","project_groups"], - "title": "AuthorizationResponse" + "required": ["recipients"], + "title": "CreateCostReportConfigRequest" } - , "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"}}, + , "UpdateCostReportConfigRecipientsRequest": { + "properties" : {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"recipients" : {"type": "object","title": "RECIPIENTS"}}, "type": "object", - "required": ["service","resource","verb","status","message"], - "title": "EventRequest" + "required": ["cost_report_config_id"], + "title": "UpdateCostReportConfigRecipientsRequest" } - , "VersionInfo": { - "properties" : {"version" : {"type": "string","title": "VERSION"}}, + , "UpdateCostReportConfigRequest": { + "properties" : {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"issue_day" : {"type": "integer","title": "ISSUE_DAY"},"is_last_day" : {"type": "boolean","title": "IS_LAST_DAY"},"currency" : {"type": "string","title": "CURRENCY"},"data_source_filter" : {"type": "object","title": "DATA_SOURCE_FILTER"},"language" : {"type": "string","title": "LANGUAGE"}}, "type": "object", - "required": ["version"], - "title": "VersionInfo" + "required": ["cost_report_config_id"], + "title": "UpdateCostReportConfigRequest" } , "AggregateCount": { "properties" : {"name" : {"type": "string","title": "NAME"}}, @@ -2391,6 +2353,87 @@ "required": ["path","filter"], "title": "Unwind" } + , "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" + } + , "CostQuerySetInfo": { + "properties" : {"cost_query_set_id" : {"type": "string","title": "COST_QUERY_SET_ID"},"name" : {"type": "string","title": "NAME"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"user_id" : {"type": "string","title": "USER_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + "type": "object", + "required": ["cost_query_set_id","name","options","tags","domain_id","workspace_id","user_id","data_source_id","created_at","updated_at"], + "title": "CostQuerySetInfo" + } + , "CostQuerySetQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"name" : {"type": "string","title": "NAME"}}, + "type": "object", + "required": ["data_source_id"], + "title": "CostQuerySetQuery" + } + , "CostQuerySetRequest": { + "properties" : {"cost_query_set_id" : {"type": "string","title": "COST_QUERY_SET_ID"}}, + "type": "object", + "required": ["cost_query_set_id"], + "title": "CostQuerySetRequest" + } + , "CostQuerySetStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, + "type": "object", + "required": ["query","data_source_id"], + "title": "CostQuerySetStatQuery" + } + , "CostQuerySetsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CostQuerySetInfo"}, + "type": "array","$ref": "#/components/schemas/CostQuerySetInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "CostQuerySetsInfo" + } + , "CreateCostQuerySetRequest": { + "properties" : {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"name" : {"type": "string","title": "NAME"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["data_source_id","name","options"], + "title": "CreateCostQuerySetRequest" + } + , "UpdateCostQuerySetRequest": { + "properties" : {"cost_query_set_id" : {"type": "string","title": "COST_QUERY_SET_ID"},"name" : {"type": "string","title": "NAME"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["cost_query_set_id"], + "title": "UpdateCostQuerySetRequest" + } , "DataSourceInfo": { "properties" : {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"data_source_type" : {"type": "string","title": "DATA_SOURCE_TYPE"},"permissions" : {"type": "object","title": "PERMISSIONS"},"provider" : {"type": "string","title": "PROVIDER"},"secret_type" : {"type": "string","title": "SECRET_TYPE"},"secret_filter" : {"$ref": "#/components/schemas/SecretFilter","title": "SECRET_FILTER"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"template" : {"type": "object","title": "TEMPLATE"},"tags" : {"type": "object","title": "TAGS"},"cost_tag_keys" : {"items": {"type": "string"}, "type": "array","title": "COST_TAG_KEYS"},"cost_additional_info_keys" : {"items": {"type": "string"}, @@ -2482,273 +2525,79 @@ "required": ["data_source_id","secret_schema_id","secret_data"], "title": "UpdateSecretDataSourceRequest" } - , "ChangeDataSourceRuleOrderRequest": { - "properties" : {"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID"},"order" : {"type": "integer","title": "ORDER"}}, + , "CostReportDataAnalyzeQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY"},"product" : {"type": "string","title": "PRODUCT"},"provider" : {"type": "string","title": "PROVIDER"},"is_confirmed" : {"type": "boolean","title": "IS_CONFIRMED"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, "type": "object", - "required": ["data_source_rule_id","order"], - "title": "ChangeDataSourceRuleOrderRequest" + "required": [], + "title": "CostReportDataAnalyzeQuery" } - , "CreateDataSourceRuleRequest": { - "properties" : {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"name" : {"type": "string","title": "NAME"},"conditions" : {"items": {"$ref": "#/components/schemas/DataSourceRuleCondition"}, - "type": "array","$ref": "#/components/schemas/DataSourceRuleCondition","title": "CONDITIONS"},"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY"},"actions" : {"$ref": "#/components/schemas/DataSourceRuleActions","title": "ACTIONS"},"options" : {"$ref": "#/components/schemas/DataSourceRuleOptions","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + , "CostReportDataInfo": { + "properties" : {"cost_report_data_id" : {"type": "string","title": "COST_REPORT_DATA_ID"},"cost" : {"type": "object","title": "COST"},"cost_report_name" : {"type": "string","title": "COST_REPORT_NAME"},"issue_date" : {"type": "string","title": "ISSUE_DATE"},"report_year" : {"type": "string","title": "REPORT_YEAR"},"report_month" : {"type": "string","title": "REPORT_MONTH"},"is_confirmed" : {"type": "boolean","title": "IS_CONFIRMED"},"provider" : {"type": "string","title": "PROVIDER"},"product" : {"type": "string","title": "PRODUCT"},"service_account_name" : {"type": "string","title": "SERVICE_ACCOUNT_NAME"},"data_source_name" : {"type": "string","title": "DATA_SOURCE_NAME"},"project_name" : {"type": "string","title": "PROJECT_NAME"},"workspace_name" : {"type": "string","title": "WORKSPACE_NAME"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, "type": "object", - "required": ["data_source_id","conditions_policy","actions","resource_group","workspace_id"], - "title": "CreateDataSourceRuleRequest" + "required": ["cost_report_data_id","cost","cost_report_name","issue_date","report_year","report_month","is_confirmed","provider","product","service_account_name","data_source_name","project_name","workspace_name","domain_id","workspace_id","project_id","cost_report_config_id","cost_report_id","data_source_id","service_account_id","created_at"], + "title": "CostReportDataInfo" } - , "DataSourceRuleActions": { - "properties" : {"change_project" : {"type": "string","title": "CHANGE_PROJECT"},"match_project" : {"$ref": "#/components/schemas/MatchRule","title": "MATCH_PROJECT"},"match_service_account" : {"$ref": "#/components/schemas/MatchRule","title": "MATCH_SERVICE_ACCOUNT"},"add_additional_info" : {"type": "object","title": "ADD_ADDITIONAL_INFO"}}, + , "CostReportDataQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"cost_report_data_id" : {"type": "string","title": "COST_REPORT_DATA_ID"},"product" : {"type": "string","title": "PRODUCT"},"provider" : {"type": "string","title": "PROVIDER"},"is_confirmed" : {"type": "boolean","title": "IS_CONFIRMED"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, "type": "object", - "required": ["change_project","match_project","match_service_account","add_additional_info"], - "title": "DataSourceRuleActions" + "required": [], + "title": "CostReportDataQuery" } - , "DataSourceRuleCondition": { - "properties" : {"key" : {"type": "string","title": "KEY"},"value" : {"type": "string","title": "VALUE"},"operator" : {"type": "string","title": "OPERATOR"}}, + , "CostReportDataStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"},"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"}}, "type": "object", - "required": ["key","value","operator"], - "title": "DataSourceRuleCondition" + "required": ["query"], + "title": "CostReportDataStatQuery" } - , "DataSourceRuleInfo": { - "properties" : {"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID"},"name" : {"type": "string","title": "NAME"},"rule_type" : {"type": "string","title": "RULE_TYPE"},"order" : {"type": "integer","title": "ORDER"},"conditions" : {"items": {"$ref": "#/components/schemas/DataSourceRuleCondition"}, - "type": "array","$ref": "#/components/schemas/DataSourceRuleCondition","title": "CONDITIONS"},"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY"},"actions" : {"$ref": "#/components/schemas/DataSourceRuleActions","title": "ACTIONS"},"options" : {"$ref": "#/components/schemas/DataSourceRuleOptions","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + , "CostReportsDataInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CostReportDataInfo"}, + "type": "array","$ref": "#/components/schemas/CostReportDataInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": ["data_source_rule_id","name","rule_type","order","conditions","conditions_policy","actions","options","tags","resource_group","domain_id","workspace_id","data_source_id","created_at"], - "title": "DataSourceRuleInfo" + "required": ["results","total_count"], + "title": "CostReportsDataInfo" } - , "DataSourceRuleOptions": { - "properties" : {"stop_processing" : {"type": "boolean","title": "STOP_PROCESSING"}}, + , "CostAnalyzeQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, "type": "object", - "required": ["stop_processing"], - "title": "DataSourceRuleOptions" + "required": ["query","data_source_id"], + "title": "CostAnalyzeQuery" } - , "DataSourceRuleQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID"},"name" : {"type": "string","title": "NAME"},"rule_type" : {"type": "string","title": "RULE_TYPE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, + , "CostInfo": { + "properties" : {"cost_id" : {"type": "string","title": "COST_ID"},"cost" : {"type": "float","title": "COST"},"usage_quantity" : {"type": "float","title": "USAGE_QUANTITY"},"usage_unit" : {"type": "string","title": "USAGE_UNIT"},"provider" : {"type": "string","title": "PROVIDER"},"region_code" : {"type": "string","title": "REGION_CODE"},"region_key" : {"type": "string","title": "REGION_KEY"},"product" : {"type": "string","title": "PRODUCT"},"usage_type" : {"type": "string","title": "USAGE_TYPE"},"resource" : {"type": "string","title": "RESOURCE"},"tags" : {"type": "object","title": "TAGS"},"additional_info" : {"type": "object","title": "ADDITIONAL_INFO"},"data" : {"type": "object","title": "DATA"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"account_id" : {"type": "string","title": "ACCOUNT_ID"},"billed_year" : {"type": "string","title": "BILLED_YEAR"},"billed_month" : {"type": "string","title": "BILLED_MONTH"},"billed_date" : {"type": "string","title": "BILLED_DATE"}}, "type": "object", - "required": [], - "title": "DataSourceRuleQuery" + "required": ["cost_id","cost","usage_quantity","usage_unit","provider","region_code","region_key","product","usage_type","resource","tags","additional_info","data","domain_id","workspace_id","project_id","service_account_id","data_source_id","account_id","billed_year","billed_month","billed_date"], + "title": "CostInfo" } - , "DataSourceRuleRequest": { - "properties" : {"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID"}}, + , "CostQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"cost_id" : {"type": "string","title": "COST_ID"},"provider" : {"type": "string","title": "PROVIDER"},"region_code" : {"type": "string","title": "REGION_CODE"},"region_key" : {"type": "string","title": "REGION_KEY"},"product" : {"type": "string","title": "PRODUCT"},"usage_type" : {"type": "string","title": "USAGE_TYPE"},"resource" : {"type": "string","title": "RESOURCE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"billed_year" : {"type": "string","title": "BILLED_YEAR"},"billed_month" : {"type": "string","title": "BILLED_MONTH"},"billed_date" : {"type": "string","title": "BILLED_DATE"}}, "type": "object", - "required": ["data_source_rule_id"], - "title": "DataSourceRuleRequest" + "required": ["data_source_id"], + "title": "CostQuery" } - , "DataSourceRuleStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + , "CostRequest": { + "properties" : {"cost_id" : {"type": "string","title": "COST_ID"}}, + "type": "object", + "required": ["cost_id"], + "title": "CostRequest" + } + , "CostStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, "type": "object", "required": ["query"], - "title": "DataSourceRuleStatQuery" + "title": "CostStatQuery" } - , "DataSourceRulesInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/DataSourceRuleInfo"}, - "type": "array","$ref": "#/components/schemas/DataSourceRuleInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "CostsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CostInfo"}, + "type": "array","$ref": "#/components/schemas/CostInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "DataSourceRulesInfo" + "title": "CostsInfo" } - , "MatchRule": { - "properties" : {"source" : {"type": "string","title": "SOURCE"},"target" : {"type": "string","title": "TARGET"},"all_workspaces" : {"type": "boolean","title": "ALL_WORKSPACES"}}, + , "CreateCostRequest": { + "properties" : {"cost" : {"type": "float","title": "COST"},"usage_quantity" : {"type": "float","title": "USAGE_QUANTITY"},"usage_unit" : {"type": "float","title": "USAGE_UNIT"},"provider" : {"type": "string","title": "PROVIDER"},"region_code" : {"type": "string","title": "REGION_CODE"},"product" : {"type": "string","title": "PRODUCT"},"usage_type" : {"type": "string","title": "USAGE_TYPE"},"resource" : {"type": "string","title": "RESOURCE"},"tags" : {"type": "object","title": "TAGS"},"additional_info" : {"type": "object","title": "ADDITIONAL_INFO"},"project_id" : {"type": "string","title": "PROJECT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"billed_date" : {"type": "string","title": "BILLED_DATE"}}, "type": "object", - "required": ["source","target","all_workspaces"], - "title": "MatchRule" - } - , "UpdateDataSourceRuleRequest": { - "properties" : {"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID"},"name" : {"type": "string","title": "NAME"},"conditions" : {"items": {"$ref": "#/components/schemas/DataSourceRuleCondition"}, - "type": "array","$ref": "#/components/schemas/DataSourceRuleCondition","title": "CONDITIONS"},"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY"},"actions" : {"$ref": "#/components/schemas/DataSourceRuleActions","title": "ACTIONS"},"options" : {"$ref": "#/components/schemas/DataSourceRuleOptions","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, - "type": "object", - "required": ["data_source_rule_id"], - "title": "UpdateDataSourceRuleRequest" - } - , "BudgetUsageAnalyzeQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY"},"budget_id" : {"type": "string","title": "BUDGET_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, - "type": "object", - "required": ["query"], - "title": "BudgetUsageAnalyzeQuery" - } - , "BudgetUsageInfo": { - "properties" : {"budget_id" : {"type": "string","title": "BUDGET_ID"},"name" : {"type": "string","title": "NAME"},"date" : {"type": "string","title": "DATE"},"cost" : {"type": "float","title": "COST"},"limit" : {"type": "float","title": "LIMIT"},"currency" : {"type": "string","title": "CURRENCY"},"provider_filter" : {"$ref": "#/components/schemas/BudgetUsageProviderFilter","title": "PROVIDER_FILTER"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, - "type": "object", - "required": ["budget_id","name","date","cost","limit","currency","provider_filter","resource_group","data_source_id","project_id","workspace_id","domain_id","updated_at"], - "title": "BudgetUsageInfo" - } - , "BudgetUsageProviderFilter": { - "properties" : {"state" : {"type": "string","title": "STATE"},"providers" : {"items": {"type": "string"}, - "type": "array","title": "PROVIDERS"}}, - "type": "object", - "required": ["state","providers"], - "title": "BudgetUsageProviderFilter" - } - , "BudgetUsageQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"name" : {"type": "string","title": "NAME"},"date" : {"type": "string","title": "DATE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"budget_id" : {"type": "string","title": "BUDGET_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, - "type": "object", - "required": [], - "title": "BudgetUsageQuery" - } - , "BudgetUsageStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"budget_id" : {"type": "string","title": "BUDGET_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, - "type": "object", - "required": ["query"], - "title": "BudgetUsageStatQuery" - } - , "BudgetUsagesInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/BudgetUsageInfo"}, - "type": "array","$ref": "#/components/schemas/BudgetUsageInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, - "type": "object", - "required": ["results","total_count"], - "title": "BudgetUsagesInfo" - } - , "CostAnalyzeQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, - "type": "object", - "required": ["query","data_source_id"], - "title": "CostAnalyzeQuery" - } - , "CostInfo": { - "properties" : {"cost_id" : {"type": "string","title": "COST_ID"},"cost" : {"type": "float","title": "COST"},"usage_quantity" : {"type": "float","title": "USAGE_QUANTITY"},"usage_unit" : {"type": "string","title": "USAGE_UNIT"},"provider" : {"type": "string","title": "PROVIDER"},"region_code" : {"type": "string","title": "REGION_CODE"},"region_key" : {"type": "string","title": "REGION_KEY"},"product" : {"type": "string","title": "PRODUCT"},"usage_type" : {"type": "string","title": "USAGE_TYPE"},"resource" : {"type": "string","title": "RESOURCE"},"tags" : {"type": "object","title": "TAGS"},"additional_info" : {"type": "object","title": "ADDITIONAL_INFO"},"data" : {"type": "object","title": "DATA"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"account_id" : {"type": "string","title": "ACCOUNT_ID"},"billed_year" : {"type": "string","title": "BILLED_YEAR"},"billed_month" : {"type": "string","title": "BILLED_MONTH"},"billed_date" : {"type": "string","title": "BILLED_DATE"}}, - "type": "object", - "required": ["cost_id","cost","usage_quantity","usage_unit","provider","region_code","region_key","product","usage_type","resource","tags","additional_info","data","domain_id","workspace_id","project_id","service_account_id","data_source_id","account_id","billed_year","billed_month","billed_date"], - "title": "CostInfo" - } - , "CostQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"cost_id" : {"type": "string","title": "COST_ID"},"provider" : {"type": "string","title": "PROVIDER"},"region_code" : {"type": "string","title": "REGION_CODE"},"region_key" : {"type": "string","title": "REGION_KEY"},"product" : {"type": "string","title": "PRODUCT"},"usage_type" : {"type": "string","title": "USAGE_TYPE"},"resource" : {"type": "string","title": "RESOURCE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"billed_year" : {"type": "string","title": "BILLED_YEAR"},"billed_month" : {"type": "string","title": "BILLED_MONTH"},"billed_date" : {"type": "string","title": "BILLED_DATE"}}, - "type": "object", - "required": ["data_source_id"], - "title": "CostQuery" - } - , "CostRequest": { - "properties" : {"cost_id" : {"type": "string","title": "COST_ID"}}, - "type": "object", - "required": ["cost_id"], - "title": "CostRequest" - } - , "CostStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, - "type": "object", - "required": ["query"], - "title": "CostStatQuery" - } - , "CostsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CostInfo"}, - "type": "array","$ref": "#/components/schemas/CostInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, - "type": "object", - "required": ["results","total_count"], - "title": "CostsInfo" - } - , "CreateCostRequest": { - "properties" : {"cost" : {"type": "float","title": "COST"},"usage_quantity" : {"type": "float","title": "USAGE_QUANTITY"},"usage_unit" : {"type": "float","title": "USAGE_UNIT"},"provider" : {"type": "string","title": "PROVIDER"},"region_code" : {"type": "string","title": "REGION_CODE"},"product" : {"type": "string","title": "PRODUCT"},"usage_type" : {"type": "string","title": "USAGE_TYPE"},"resource" : {"type": "string","title": "RESOURCE"},"tags" : {"type": "object","title": "TAGS"},"additional_info" : {"type": "object","title": "ADDITIONAL_INFO"},"project_id" : {"type": "string","title": "PROJECT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"billed_date" : {"type": "string","title": "BILLED_DATE"}}, - "type": "object", - "required": ["cost","project_id","data_source_id","billed_date"], - "title": "CreateCostRequest" - } - , "JobTaskInfo": { - "properties" : {"job_task_id" : {"type": "string","title": "JOB_TASK_ID"},"status" : {"type": "string","title": "STATUS"},"options" : {"type": "object","title": "OPTIONS"},"created_count" : {"type": "integer","title": "CREATED_COUNT"},"error_code" : {"type": "string","title": "ERROR_CODE"},"error_message" : {"type": "string","title": "ERROR_MESSAGE"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"job_id" : {"type": "string","title": "JOB_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"started_at" : {"type": "string","title": "STARTED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"},"finished_at" : {"type": "string","title": "FINISHED_AT"}}, - "type": "object", - "required": ["job_task_id","status","options","created_count","error_code","error_message","resource_group","domain_id","workspace_id","job_id","data_source_id","created_at","started_at","updated_at","finished_at"], - "title": "JobTaskInfo" - } - , "JobTaskQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"job_task_id" : {"type": "string","title": "JOB_TASK_ID"},"status" : {"type": "string","title": "STATUS"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"job_id" : {"type": "string","title": "JOB_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, - "type": "object", - "required": [], - "title": "JobTaskQuery" - } - , "JobTaskRequest": { - "properties" : {"job_task_id" : {"type": "string","title": "JOB_TASK_ID"}}, - "type": "object", - "required": ["job_task_id"], - "title": "JobTaskRequest" - } - , "JobTaskStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, - "type": "object", - "required": ["query"], - "title": "JobTaskStatQuery" - } - , "JobTasksInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/JobTaskInfo"}, - "type": "array","$ref": "#/components/schemas/JobTaskInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, - "type": "object", - "required": ["results","total_count"], - "title": "JobTasksInfo" - } - , "CostReportConfigInfo": { - "properties" : {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"state" : {"type": "string","title": "STATE"},"issue_day" : {"type": "integer","title": "ISSUE_DAY"},"is_last_day" : {"type": "boolean","title": "IS_LAST_DAY"},"currency" : {"type": "string","title": "CURRENCY"},"recipients" : {"type": "object","title": "RECIPIENTS"},"data_source_filter" : {"type": "object","title": "DATA_SOURCE_FILTER"},"language" : {"type": "string","title": "LANGUAGE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, - "type": "object", - "required": ["cost_report_config_id","state","issue_day","is_last_day","currency","recipients","data_source_filter","language","domain_id","created_at","updated_at"], - "title": "CostReportConfigInfo" - } - , "CostReportConfigQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"state" : {"type": "string","title": "STATE"}}, - "type": "object", - "required": [], - "title": "CostReportConfigQuery" - } - , "CostReportConfigRequest": { - "properties" : {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"}}, - "type": "object", - "required": ["cost_report_config_id"], - "title": "CostReportConfigRequest" - } - , "CostReportConfigStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, - "type": "object", - "required": ["query"], - "title": "CostReportConfigStatQuery" - } - , "CostReportConfigsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CostReportConfigInfo"}, - "type": "array","$ref": "#/components/schemas/CostReportConfigInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, - "type": "object", - "required": ["results","total_count"], - "title": "CostReportConfigsInfo" - } - , "CreateCostReportConfigRequest": { - "properties" : {"issue_day" : {"type": "integer","title": "ISSUE_DAY"},"is_last_day" : {"type": "boolean","title": "IS_LAST_DAY"},"currency" : {"type": "string","title": "CURRENCY"},"recipients" : {"type": "object","title": "RECIPIENTS"},"data_source_filter" : {"type": "object","title": "DATA_SOURCE_FILTER"},"language" : {"type": "string","title": "LANGUAGE"}}, - "type": "object", - "required": ["recipients"], - "title": "CreateCostReportConfigRequest" - } - , "UpdateCostReportConfigRecipientsRequest": { - "properties" : {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"recipients" : {"type": "object","title": "RECIPIENTS"}}, - "type": "object", - "required": ["cost_report_config_id"], - "title": "UpdateCostReportConfigRecipientsRequest" - } - , "UpdateCostReportConfigRequest": { - "properties" : {"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"issue_day" : {"type": "integer","title": "ISSUE_DAY"},"is_last_day" : {"type": "boolean","title": "IS_LAST_DAY"},"currency" : {"type": "string","title": "CURRENCY"},"data_source_filter" : {"type": "object","title": "DATA_SOURCE_FILTER"},"language" : {"type": "string","title": "LANGUAGE"}}, - "type": "object", - "required": ["cost_report_config_id"], - "title": "UpdateCostReportConfigRequest" - } - , "CostReportDataAnalyzeQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY"},"product" : {"type": "string","title": "PRODUCT"},"provider" : {"type": "string","title": "PROVIDER"},"is_confirmed" : {"type": "boolean","title": "IS_CONFIRMED"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, - "type": "object", - "required": [], - "title": "CostReportDataAnalyzeQuery" - } - , "CostReportDataInfo": { - "properties" : {"cost_report_data_id" : {"type": "string","title": "COST_REPORT_DATA_ID"},"cost" : {"type": "object","title": "COST"},"cost_report_name" : {"type": "string","title": "COST_REPORT_NAME"},"issue_date" : {"type": "string","title": "ISSUE_DATE"},"report_year" : {"type": "string","title": "REPORT_YEAR"},"report_month" : {"type": "string","title": "REPORT_MONTH"},"is_confirmed" : {"type": "boolean","title": "IS_CONFIRMED"},"provider" : {"type": "string","title": "PROVIDER"},"product" : {"type": "string","title": "PRODUCT"},"service_account_name" : {"type": "string","title": "SERVICE_ACCOUNT_NAME"},"data_source_name" : {"type": "string","title": "DATA_SOURCE_NAME"},"project_name" : {"type": "string","title": "PROJECT_NAME"},"workspace_name" : {"type": "string","title": "WORKSPACE_NAME"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, - "type": "object", - "required": ["cost_report_data_id","cost","cost_report_name","issue_date","report_year","report_month","is_confirmed","provider","product","service_account_name","data_source_name","project_name","workspace_name","domain_id","workspace_id","project_id","cost_report_config_id","cost_report_id","data_source_id","service_account_id","created_at"], - "title": "CostReportDataInfo" - } - , "CostReportDataQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"cost_report_data_id" : {"type": "string","title": "COST_REPORT_DATA_ID"},"product" : {"type": "string","title": "PRODUCT"},"provider" : {"type": "string","title": "PROVIDER"},"is_confirmed" : {"type": "boolean","title": "IS_CONFIRMED"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, - "type": "object", - "required": [], - "title": "CostReportDataQuery" - } - , "CostReportDataStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"},"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"}}, - "type": "object", - "required": ["query"], - "title": "CostReportDataStatQuery" - } - , "CostReportsDataInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CostReportDataInfo"}, - "type": "array","$ref": "#/components/schemas/CostReportDataInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, - "type": "object", - "required": ["results","total_count"], - "title": "CostReportsDataInfo" + "required": ["cost","project_id","data_source_id","billed_date"], + "title": "CreateCostRequest" } , "BudgetInfo": { "properties" : {"budget_id" : {"type": "string","title": "BUDGET_ID"},"name" : {"type": "string","title": "NAME"},"limit" : {"type": "float","title": "LIMIT"},"planned_limits" : {"items": {"$ref": "#/components/schemas/PlannedLimit"}, @@ -2824,85 +2673,81 @@ "required": ["budget_id"], "title": "UpdateBudgetRequest" } - , "CostQuerySetInfo": { - "properties" : {"cost_query_set_id" : {"type": "string","title": "COST_QUERY_SET_ID"},"name" : {"type": "string","title": "NAME"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"user_id" : {"type": "string","title": "USER_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, - "type": "object", - "required": ["cost_query_set_id","name","options","tags","domain_id","workspace_id","user_id","data_source_id","created_at","updated_at"], - "title": "CostQuerySetInfo" - } - , "CostQuerySetQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"name" : {"type": "string","title": "NAME"}}, - "type": "object", - "required": ["data_source_id"], - "title": "CostQuerySetQuery" - } - , "CostQuerySetRequest": { - "properties" : {"cost_query_set_id" : {"type": "string","title": "COST_QUERY_SET_ID"}}, + , "ChangeDataSourceRuleOrderRequest": { + "properties" : {"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID"},"order" : {"type": "integer","title": "ORDER"}}, "type": "object", - "required": ["cost_query_set_id"], - "title": "CostQuerySetRequest" + "required": ["data_source_rule_id","order"], + "title": "ChangeDataSourceRuleOrderRequest" } - , "CostQuerySetStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, + , "CreateDataSourceRuleRequest": { + "properties" : {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"name" : {"type": "string","title": "NAME"},"conditions" : {"items": {"$ref": "#/components/schemas/DataSourceRuleCondition"}, + "type": "array","$ref": "#/components/schemas/DataSourceRuleCondition","title": "CONDITIONS"},"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY"},"actions" : {"$ref": "#/components/schemas/DataSourceRuleActions","title": "ACTIONS"},"options" : {"$ref": "#/components/schemas/DataSourceRuleOptions","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, "type": "object", - "required": ["query","data_source_id"], - "title": "CostQuerySetStatQuery" + "required": ["data_source_id","conditions_policy","actions","resource_group","workspace_id"], + "title": "CreateDataSourceRuleRequest" } - , "CostQuerySetsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CostQuerySetInfo"}, - "type": "array","$ref": "#/components/schemas/CostQuerySetInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "DataSourceRuleActions": { + "properties" : {"change_project" : {"type": "string","title": "CHANGE_PROJECT"},"match_project" : {"$ref": "#/components/schemas/MatchRule","title": "MATCH_PROJECT"},"match_service_account" : {"$ref": "#/components/schemas/MatchRule","title": "MATCH_SERVICE_ACCOUNT"},"add_additional_info" : {"type": "object","title": "ADD_ADDITIONAL_INFO"}}, "type": "object", - "required": ["results","total_count"], - "title": "CostQuerySetsInfo" + "required": ["change_project","match_project","match_service_account","add_additional_info"], + "title": "DataSourceRuleActions" } - , "CreateCostQuerySetRequest": { - "properties" : {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"name" : {"type": "string","title": "NAME"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, + , "DataSourceRuleCondition": { + "properties" : {"key" : {"type": "string","title": "KEY"},"value" : {"type": "string","title": "VALUE"},"operator" : {"type": "string","title": "OPERATOR"}}, "type": "object", - "required": ["data_source_id","name","options"], - "title": "CreateCostQuerySetRequest" + "required": ["key","value","operator"], + "title": "DataSourceRuleCondition" } - , "UpdateCostQuerySetRequest": { - "properties" : {"cost_query_set_id" : {"type": "string","title": "COST_QUERY_SET_ID"},"name" : {"type": "string","title": "NAME"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, + , "DataSourceRuleInfo": { + "properties" : {"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID"},"name" : {"type": "string","title": "NAME"},"rule_type" : {"type": "string","title": "RULE_TYPE"},"order" : {"type": "integer","title": "ORDER"},"conditions" : {"items": {"$ref": "#/components/schemas/DataSourceRuleCondition"}, + "type": "array","$ref": "#/components/schemas/DataSourceRuleCondition","title": "CONDITIONS"},"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY"},"actions" : {"$ref": "#/components/schemas/DataSourceRuleActions","title": "ACTIONS"},"options" : {"$ref": "#/components/schemas/DataSourceRuleOptions","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, "type": "object", - "required": ["cost_query_set_id"], - "title": "UpdateCostQuerySetRequest" + "required": ["data_source_rule_id","name","rule_type","order","conditions","conditions_policy","actions","options","tags","resource_group","domain_id","workspace_id","data_source_id","created_at"], + "title": "DataSourceRuleInfo" } - , "CostReportInfo": { - "properties" : {"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"},"cost" : {"type": "object","title": "COST"},"status" : {"type": "string","title": "STATUS"},"report_number" : {"type": "string","title": "REPORT_NUMBER"},"currency" : {"type": "string","title": "CURRENCY"},"currency_date" : {"type": "string","title": "CURRENCY_DATE"},"issue_date" : {"type": "string","title": "ISSUE_DATE"},"report_year" : {"type": "string","title": "REPORT_YEAR"},"report_month" : {"type": "string","title": "REPORT_MONTH"},"workspace_name" : {"type": "string","title": "WORKSPACE_NAME"},"bank_name" : {"type": "string","title": "BANK_NAME"},"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + , "DataSourceRuleOptions": { + "properties" : {"stop_processing" : {"type": "boolean","title": "STOP_PROCESSING"}}, "type": "object", - "required": ["cost_report_id","cost","status","report_number","currency","currency_date","issue_date","report_year","report_month","workspace_name","bank_name","cost_report_config_id","workspace_id","domain_id","created_at"], - "title": "CostReportInfo" + "required": ["stop_processing"], + "title": "DataSourceRuleOptions" } - , "CostReportQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"},"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"status" : {"type": "string","title": "STATUS"},"issue_date" : {"type": "string","title": "ISSUE_DATE"},"workspace_name" : {"type": "string","title": "WORKSPACE_NAME"}}, + , "DataSourceRuleQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID"},"name" : {"type": "string","title": "NAME"},"rule_type" : {"type": "string","title": "RULE_TYPE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, "type": "object", "required": [], - "title": "CostReportQuery" + "title": "DataSourceRuleQuery" } - , "CostReportRequest": { - "properties" : {"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"}}, + , "DataSourceRuleRequest": { + "properties" : {"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID"}}, "type": "object", - "required": ["cost_report_id"], - "title": "CostReportRequest" + "required": ["data_source_rule_id"], + "title": "DataSourceRuleRequest" } - , "CostReportStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"}}, + , "DataSourceRuleStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "CostReportStatQuery" + "title": "DataSourceRuleStatQuery" } - , "CostReportsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CostReportInfo"}, - "type": "array","$ref": "#/components/schemas/CostReportInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "DataSourceRulesInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/DataSourceRuleInfo"}, + "type": "array","$ref": "#/components/schemas/DataSourceRuleInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "CostReportsInfo" + "title": "DataSourceRulesInfo" } - , "GetUrlCostReportRequest": { - "properties" : {"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"}}, + , "MatchRule": { + "properties" : {"source" : {"type": "string","title": "SOURCE"},"target" : {"type": "string","title": "TARGET"},"all_workspaces" : {"type": "boolean","title": "ALL_WORKSPACES"}}, "type": "object", - "required": ["cost_report_id"], - "title": "GetUrlCostReportRequest" + "required": ["source","target","all_workspaces"], + "title": "MatchRule" + } + , "UpdateDataSourceRuleRequest": { + "properties" : {"data_source_rule_id" : {"type": "string","title": "DATA_SOURCE_RULE_ID"},"name" : {"type": "string","title": "NAME"},"conditions" : {"items": {"$ref": "#/components/schemas/DataSourceRuleCondition"}, + "type": "array","$ref": "#/components/schemas/DataSourceRuleCondition","title": "CONDITIONS"},"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY"},"actions" : {"$ref": "#/components/schemas/DataSourceRuleActions","title": "ACTIONS"},"options" : {"$ref": "#/components/schemas/DataSourceRuleOptions","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["data_source_rule_id"], + "title": "UpdateDataSourceRuleRequest" } , "ChangedInfo": { "properties" : {"start" : {"type": "string","title": "START"},"end" : {"type": "string","title": "END"},"filter" : {"type": "object","title": "FILTER"}}, @@ -2948,6 +2793,161 @@ "type": "object", "required": ["account_id"], "title": "SyncedAccountInfo" + } + , "JobTaskInfo": { + "properties" : {"job_task_id" : {"type": "string","title": "JOB_TASK_ID"},"status" : {"type": "string","title": "STATUS"},"options" : {"type": "object","title": "OPTIONS"},"created_count" : {"type": "integer","title": "CREATED_COUNT"},"error_code" : {"type": "string","title": "ERROR_CODE"},"error_message" : {"type": "string","title": "ERROR_MESSAGE"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"job_id" : {"type": "string","title": "JOB_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"started_at" : {"type": "string","title": "STARTED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"},"finished_at" : {"type": "string","title": "FINISHED_AT"}}, + "type": "object", + "required": ["job_task_id","status","options","created_count","error_code","error_message","resource_group","domain_id","workspace_id","job_id","data_source_id","created_at","started_at","updated_at","finished_at"], + "title": "JobTaskInfo" + } + , "JobTaskQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"job_task_id" : {"type": "string","title": "JOB_TASK_ID"},"status" : {"type": "string","title": "STATUS"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"job_id" : {"type": "string","title": "JOB_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, + "type": "object", + "required": [], + "title": "JobTaskQuery" + } + , "JobTaskRequest": { + "properties" : {"job_task_id" : {"type": "string","title": "JOB_TASK_ID"}}, + "type": "object", + "required": ["job_task_id"], + "title": "JobTaskRequest" + } + , "JobTaskStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + "type": "object", + "required": ["query"], + "title": "JobTaskStatQuery" + } + , "JobTasksInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/JobTaskInfo"}, + "type": "array","$ref": "#/components/schemas/JobTaskInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "JobTasksInfo" + } + , "DataSourceAccountAnalyzeQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"account_id" : {"type": "string","title": "ACCOUNT_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + "type": "object", + "required": ["query","data_source_id","account_id","workspace_id"], + "title": "DataSourceAccountAnalyzeQuery" + } + , "DataSourceAccountInfo": { + "properties" : {"account_id" : {"type": "string","title": "ACCOUNT_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"name" : {"type": "string","title": "NAME"},"is_sync" : {"type": "boolean","title": "IS_SYNC"},"is_linked" : {"type": "boolean","title": "IS_LINKED"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"v_workspace_id" : {"type": "string","title": "V_WORKSPACE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"},"last_synced_at" : {"type": "string","title": "LAST_SYNCED_AT"}}, + "type": "object", + "required": ["account_id","data_source_id","name","is_sync","is_linked","domain_id","workspace_id","v_workspace_id","created_at","updated_at","last_synced_at"], + "title": "DataSourceAccountInfo" + } + , "DataSourceAccountQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"account_id" : {"type": "string","title": "ACCOUNT_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"}}, + "type": "object", + "required": [], + "title": "DataSourceAccountQuery" + } + , "DataSourceAccountRequest": { + "properties" : {"data_source_account_id" : {"type": "string","title": "DATA_SOURCE_ACCOUNT_ID"},"account_id" : {"type": "string","title": "ACCOUNT_ID"}}, + "type": "object", + "required": ["data_source_account_id","account_id"], + "title": "DataSourceAccountRequest" + } + , "DataSourceAccountStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + "type": "object", + "required": ["query"], + "title": "DataSourceAccountStatQuery" + } + , "DataSourceAccountsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/DataSourceAccountInfo"}, + "type": "array","$ref": "#/components/schemas/DataSourceAccountInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "DataSourceAccountsInfo" + } + , "ResetDataSourceAccountRequest": { + "properties" : {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"account_id" : {"type": "string","title": "ACCOUNT_ID"}}, + "type": "object", + "required": ["data_source_id"], + "title": "ResetDataSourceAccountRequest" + } + , "UpdateDataSourceAccountRequest": { + "properties" : {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"account_id" : {"type": "string","title": "ACCOUNT_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"}}, + "type": "object", + "required": ["data_source_id","account_id"], + "title": "UpdateDataSourceAccountRequest" + } + , "BudgetUsageAnalyzeQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY"},"budget_id" : {"type": "string","title": "BUDGET_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, + "type": "object", + "required": ["query"], + "title": "BudgetUsageAnalyzeQuery" + } + , "BudgetUsageInfo": { + "properties" : {"budget_id" : {"type": "string","title": "BUDGET_ID"},"name" : {"type": "string","title": "NAME"},"date" : {"type": "string","title": "DATE"},"cost" : {"type": "float","title": "COST"},"limit" : {"type": "float","title": "LIMIT"},"currency" : {"type": "string","title": "CURRENCY"},"provider_filter" : {"$ref": "#/components/schemas/BudgetUsageProviderFilter","title": "PROVIDER_FILTER"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + "type": "object", + "required": ["budget_id","name","date","cost","limit","currency","provider_filter","resource_group","data_source_id","project_id","workspace_id","domain_id","updated_at"], + "title": "BudgetUsageInfo" + } + , "BudgetUsageProviderFilter": { + "properties" : {"state" : {"type": "string","title": "STATE"},"providers" : {"items": {"type": "string"}, + "type": "array","title": "PROVIDERS"}}, + "type": "object", + "required": ["state","providers"], + "title": "BudgetUsageProviderFilter" + } + , "BudgetUsageQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"name" : {"type": "string","title": "NAME"},"date" : {"type": "string","title": "DATE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"budget_id" : {"type": "string","title": "BUDGET_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, + "type": "object", + "required": [], + "title": "BudgetUsageQuery" + } + , "BudgetUsageStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"budget_id" : {"type": "string","title": "BUDGET_ID"},"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"}}, + "type": "object", + "required": ["query"], + "title": "BudgetUsageStatQuery" + } + , "BudgetUsagesInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/BudgetUsageInfo"}, + "type": "array","$ref": "#/components/schemas/BudgetUsageInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "BudgetUsagesInfo" + } + , "CostReportInfo": { + "properties" : {"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"},"cost" : {"type": "object","title": "COST"},"status" : {"type": "string","title": "STATUS"},"report_number" : {"type": "string","title": "REPORT_NUMBER"},"currency" : {"type": "string","title": "CURRENCY"},"currency_date" : {"type": "string","title": "CURRENCY_DATE"},"issue_date" : {"type": "string","title": "ISSUE_DATE"},"report_year" : {"type": "string","title": "REPORT_YEAR"},"report_month" : {"type": "string","title": "REPORT_MONTH"},"workspace_name" : {"type": "string","title": "WORKSPACE_NAME"},"bank_name" : {"type": "string","title": "BANK_NAME"},"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + "type": "object", + "required": ["cost_report_id","cost","status","report_number","currency","currency_date","issue_date","report_year","report_month","workspace_name","bank_name","cost_report_config_id","workspace_id","domain_id","created_at"], + "title": "CostReportInfo" + } + , "CostReportQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"},"cost_report_config_id" : {"type": "string","title": "COST_REPORT_CONFIG_ID"},"status" : {"type": "string","title": "STATUS"},"issue_date" : {"type": "string","title": "ISSUE_DATE"},"workspace_name" : {"type": "string","title": "WORKSPACE_NAME"}}, + "type": "object", + "required": [], + "title": "CostReportQuery" + } + , "CostReportRequest": { + "properties" : {"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"}}, + "type": "object", + "required": ["cost_report_id"], + "title": "CostReportRequest" + } + , "CostReportStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"}}, + "type": "object", + "required": ["query"], + "title": "CostReportStatQuery" + } + , "CostReportsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CostReportInfo"}, + "type": "array","$ref": "#/components/schemas/CostReportInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "CostReportsInfo" + } + , "GetUrlCostReportRequest": { + "properties" : {"cost_report_id" : {"type": "string","title": "COST_REPORT_ID"}}, + "type": "object", + "required": ["cost_report_id"], + "title": "GetUrlCostReportRequest" } }, "Struct": {"properties": {"type": "object","title": "Struct"}}, diff --git a/dist/openapi/cloudforet/api/dashboard/v1/openapi.json b/dist/openapi/cloudforet/api/dashboard/v1/openapi.json index a0fea9bc4..a843911e4 100755 --- a/dist/openapi/cloudforet/api/dashboard/v1/openapi.json +++ b/dist/openapi/cloudforet/api/dashboard/v1/openapi.json @@ -205,18 +205,18 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-data-table/add": { + },"/dashboard/public-dashboard/create": { "post": { - "tags": ["dashboard > private-data-table"], - "summary": "Add", + "tags": ["dashboard > public-dashboard"], + "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n |source_type||SourceType|True|\n |options||AddOptions|True|\n |name||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |resource_group|DOMAIN, WORKSPACE, PROJECT |string|True|\n |description||string||\n |layouts||array||\n |vars||Struct||\n |options||Struct||\n |variables||Struct||\n |variables_schema||Struct||\n |labels||array||\n |tags||Struct||\n |workspace_id||string||\n |project_id||string||\n |folder_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" },"name" : {"type": "string","title": "NAME" },"source_type" : {"type": "SourceType","title": "SOURCE_TYPE" },"options" : {"$ref": "#/components/schemas/AddOptions","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"name" : {"type": "string","title": "NAME" },"description" : {"type": "string","title": "DESCRIPTION" },"layouts" : {"items": {"$ref": "#/components/schemas/Layout"}, "type": "array","title": "LAYOUTS" },"vars" : {"type": "object","title": "VARS" },"options" : {"type": "object","title": "OPTIONS" },"variables" : {"type": "object","title": "VARIABLES" },"variables_schema" : {"type": "object","title": "VARIABLES_SCHEMA" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"folder_id" : {"type": "string","title": "FOLDER_ID" } } }, "examples":{"Schema":{} } @@ -227,25 +227,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PrivateDataTableInfo"}, + "schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PrivateDataTableInfo"}} + "Schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-data-table/transform": { + },"/dashboard/public-dashboard/update": { "post": { - "tags": ["dashboard > private-data-table"], - "summary": "Transform", + "tags": ["dashboard > public-dashboard"], + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n |operator||Operator|True|\n |options||TransformOptions|True|\n |name||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |name||string||\n |description||string||\n |layouts||array||\n |vars||Struct||\n |options||Struct||\n |variables||Struct||\n |variables_schema||Struct||\n |labels||array||\n |tags||Struct||\n |folder_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" },"name" : {"type": "string","title": "NAME" },"operator" : {"type": "Operator","title": "OPERATOR" },"options" : {"$ref": "#/components/schemas/TransformOptions","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"name" : {"type": "string","title": "NAME" },"description" : {"type": "string","title": "DESCRIPTION" },"layouts" : {"items": {"$ref": "#/components/schemas/Layout"}, "type": "array","title": "LAYOUTS" },"vars" : {"type": "object","title": "VARS" },"options" : {"type": "object","title": "OPTIONS" },"variables" : {"type": "object","title": "VARIABLES" },"variables_schema" : {"type": "object","title": "VARIABLES_SCHEMA" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"folder_id" : {"type": "string","title": "FOLDER_ID" } } }, "examples":{"Schema":{} } @@ -256,25 +256,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PrivateDataTableInfo"}, + "schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PrivateDataTableInfo"}} + "Schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-data-table/update": { + },"/dashboard/public-dashboard/share": { "post": { - "tags": ["dashboard > private-data-table"], - "summary": "Update", + "tags": ["dashboard > public-dashboard"], + "summary": "Share", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_table_id||string|True|\n |name||string||\n |options||Struct||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |scope|WORKSPACE, PROJECT |string||\n
", "content": { "application/json": { "schema": { - "properties": {"data_table_id" : {"type": "string","title": "DATA_TABLE_ID" },"name" : {"type": "string","title": "NAME" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"scope" : {"type": "string","title": "SCOPE" } } }, "examples":{"Schema":{} } @@ -285,25 +285,54 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PrivateDataTableInfo"}, + "schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PrivateDataTableInfo"}} + "Schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-data-table/delete": { + },"/dashboard/public-dashboard/unshare": { "post": { - "tags": ["dashboard > private-data-table"], + "tags": ["dashboard > public-dashboard"], + "summary": "Unshare", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |scope|WORKSPACE, PROJECT |string||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"scope" : {"type": "string","title": "SCOPE" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/dashboard/public-dashboard/delete": { + "post": { + "tags": ["dashboard > public-dashboard"], "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_table_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |scope|WORKSPACE, PROJECT |string||\n
", "content": { "application/json": { "schema": { - "properties": {"data_table_id" : {"type": "string","title": "DATA_TABLE_ID" } } + "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"scope" : {"type": "string","title": "SCOPE" } } }, "examples":{"Schema":{} } @@ -315,18 +344,18 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-data-table/load": { + },"/dashboard/public-dashboard/get": { "post": { - "tags": ["dashboard > private-data-table"], - "summary": "Load", + "tags": ["dashboard > public-dashboard"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_table_id||string|True|\n |granularity|DAILY, MONTHLY, YEARLY |string|True|\n |start||string||\n |end||string||\n |sort||array||\n |page||Page||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |scope|WORKSPACE, PROJECT |string||\n
", "content": { "application/json": { "schema": { - "properties": {"data_table_id" : {"type": "string","title": "DATA_TABLE_ID" },"granularity" : {"type": "string","title": "GRANULARITY" },"start" : {"type": "string","title": "START" },"end" : {"type": "string","title": "END" },"sort" : {"items": {"$ref": "#/components/schemas/Sort"}, "type": "array","title": "SORT" },"page" : {"$ref": "#/components/schemas/Page","title": "PAGE" } } + "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"scope" : {"type": "string","title": "SCOPE" } } }, "examples":{"Schema":{} } @@ -337,25 +366,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-data-table/get": { + },"/dashboard/public-dashboard/list": { "post": { - "tags": ["dashboard > private-data-table"], - "summary": "Get", + "tags": ["dashboard > public-dashboard"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_table_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |dashboard_id||string||\n |name||string||\n |shared||boolean||\n |scope|WORKSPACE, PROJECT |string||\n |workspace_id||string||\n |project_id||string||\n |folder_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"data_table_id" : {"type": "string","title": "DATA_TABLE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"name" : {"type": "string","title": "NAME" },"shared" : {"type": "boolean","title": "SHARED" },"scope" : {"type": "string","title": "SCOPE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"folder_id" : {"type": "string","title": "FOLDER_ID" } } }, "examples":{"Schema":{} } @@ -366,25 +395,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PrivateDataTableInfo"}, + "schema": {"$ref": "#/components/schemas/PublicDashboardsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PrivateDataTableInfo"}} + "Schema": {"$ref": "#/components/schemas/PublicDashboardsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-data-table/list": { + },"/dashboard/public-dashboard/stat": { "post": { - "tags": ["dashboard > private-data-table"], - "summary": "List", + "tags": ["dashboard > public-dashboard"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n |query||Query||\n |data_table_id||string||\n |name||string||\n |data_type||DataType||\n |source_type||SourceType||\n |operator||Operator||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"widget_id" : {"type": "string","title": "WIDGET_ID" },"data_table_id" : {"type": "string","title": "DATA_TABLE_ID" },"name" : {"type": "string","title": "NAME" },"data_type" : {"type": "DataType","title": "DATA_TYPE" },"source_type" : {"type": "SourceType","title": "SOURCE_TYPE" },"operator" : {"type": "Operator","title": "OPERATOR" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, "examples":{"Schema":{} } @@ -395,25 +424,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PrivateDataTablesInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PrivateDataTablesInfo"}} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-folder/create": { + },"/dashboard/public-widget/create": { "post": { - "tags": ["dashboard > private-folder"], + "tags": ["dashboard > public-widget"], "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |tags||Struct||\n |dashboards||array||\n |workspace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |name||string||\n |state|ACTIVE, INACTIVE |string||\n |description||string||\n |widget_type||string||\n |size||string||\n |options||Struct||\n |data_table_id||int||\n |data_tables||array||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" },"dashboards" : {"items": {}, "type": "array","title": "DASHBOARDS" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"description" : {"type": "string","title": "DESCRIPTION" },"widget_type" : {"type": "string","title": "WIDGET_TYPE" },"size" : {"type": "string","title": "SIZE" },"options" : {"type": "object","title": "OPTIONS" },"data_table_id" : {"type": "integer","title": "DATA_TABLE_ID" },"data_tables" : {"items": {}, "type": "array","title": "DATA_TABLES" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -424,25 +453,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PrivateFolderInfo"}, + "schema": {"$ref": "#/components/schemas/PublicWidgetInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PrivateFolderInfo"}} + "Schema": {"$ref": "#/components/schemas/PublicWidgetInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-folder/update": { + },"/dashboard/public-widget/update": { "post": { - "tags": ["dashboard > private-folder"], + "tags": ["dashboard > public-widget"], "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |folder_id||string|True|\n |name||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n |name||string||\n |state|ACTIVE, INACTIVE |string||\n |description||string||\n |widget_type||string||\n |size||string||\n |options||Struct||\n |data_table_id||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"folder_id" : {"type": "string","title": "FOLDER_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"description" : {"type": "string","title": "DESCRIPTION" },"widget_type" : {"type": "string","title": "WIDGET_TYPE" },"size" : {"type": "string","title": "SIZE" },"options" : {"type": "object","title": "OPTIONS" },"data_table_id" : {"type": "string","title": "DATA_TABLE_ID" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -453,25 +482,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PrivateFolderInfo"}, + "schema": {"$ref": "#/components/schemas/PublicWidgetInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PrivateFolderInfo"}} + "Schema": {"$ref": "#/components/schemas/PublicWidgetInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-folder/delete": { + },"/dashboard/public-widget/delete": { "post": { - "tags": ["dashboard > private-folder"], + "tags": ["dashboard > public-widget"], "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |folder_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"folder_id" : {"type": "string","title": "FOLDER_ID" } } + "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" } } }, "examples":{"Schema":{} } @@ -483,18 +512,18 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-folder/get": { + },"/dashboard/public-widget/load": { "post": { - "tags": ["dashboard > private-folder"], - "summary": "Get", + "tags": ["dashboard > public-widget"], + "summary": "Load", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |folder_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n |query||TimeSeriesAnalyzeQuery|True|\n |vars||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"folder_id" : {"type": "string","title": "FOLDER_ID" } } + "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" },"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY" },"vars" : {"type": "object","title": "VARS" } } }, "examples":{"Schema":{} } @@ -505,25 +534,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PrivateFolderInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PrivateFolderInfo"}} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-folder/list": { + },"/dashboard/public-widget/get": { "post": { - "tags": ["dashboard > private-folder"], - "summary": "List", + "tags": ["dashboard > public-widget"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |folder_id||string||\n |name||string||\n |workspace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"folder_id" : {"type": "string","title": "FOLDER_ID" },"name" : {"type": "string","title": "NAME" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" } } }, "examples":{"Schema":{} } @@ -534,25 +563,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PrivateFoldersInfo"}, + "schema": {"$ref": "#/components/schemas/PublicWidgetInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PrivateFoldersInfo"}} + "Schema": {"$ref": "#/components/schemas/PublicWidgetInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-folder/stat": { + },"/dashboard/public-widget/list": { "post": { - "tags": ["dashboard > private-folder"], - "summary": "Stat", + "tags": ["dashboard > public-widget"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |query||Query||\n |widget_id||string||\n |name||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"widget_id" : {"type": "string","title": "WIDGET_ID" },"name" : {"type": "string","title": "NAME" } } }, "examples":{"Schema":{} } @@ -563,9 +592,9 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/PublicWidgetsInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/PublicWidgetsInfo"}} } }} } @@ -796,18 +825,18 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-widget/create": { + },"/dashboard/private-folder/create": { "post": { - "tags": ["dashboard > private-widget"], + "tags": ["dashboard > private-folder"], "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |name||string||\n |state|ACTIVE, INACTIVE |string||\n |description||string||\n |widget_type||string||\n |size||string||\n |options||Struct||\n |data_table_id||int||\n |data_tables||array||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |tags||Struct||\n |dashboards||array||\n |workspace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"description" : {"type": "string","title": "DESCRIPTION" },"widget_type" : {"type": "string","title": "WIDGET_TYPE" },"size" : {"type": "string","title": "SIZE" },"options" : {"type": "object","title": "OPTIONS" },"data_table_id" : {"type": "integer","title": "DATA_TABLE_ID" },"data_tables" : {"items": {}, "type": "array","title": "DATA_TABLES" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" },"dashboards" : {"items": {}, "type": "array","title": "DASHBOARDS" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, "examples":{"Schema":{} } @@ -818,25 +847,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PrivateWidgetInfo"}, + "schema": {"$ref": "#/components/schemas/PrivateFolderInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PrivateWidgetInfo"}} + "Schema": {"$ref": "#/components/schemas/PrivateFolderInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-widget/update": { + },"/dashboard/private-folder/update": { "post": { - "tags": ["dashboard > private-widget"], + "tags": ["dashboard > private-folder"], "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n |name||string||\n |state|ACTIVE, INACTIVE |string||\n |description||string||\n |widget_type||string||\n |size||string||\n |options||Struct||\n |data_table_id||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |folder_id||string|True|\n |name||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"description" : {"type": "string","title": "DESCRIPTION" },"widget_type" : {"type": "string","title": "WIDGET_TYPE" },"size" : {"type": "string","title": "SIZE" },"options" : {"type": "object","title": "OPTIONS" },"data_table_id" : {"type": "string","title": "DATA_TABLE_ID" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"folder_id" : {"type": "string","title": "FOLDER_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -847,25 +876,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PrivateWidgetInfo"}, + "schema": {"$ref": "#/components/schemas/PrivateFolderInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PrivateWidgetInfo"}} + "Schema": {"$ref": "#/components/schemas/PrivateFolderInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-widget/delete": { + },"/dashboard/private-folder/delete": { "post": { - "tags": ["dashboard > private-widget"], + "tags": ["dashboard > private-folder"], "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |folder_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" } } + "properties": {"folder_id" : {"type": "string","title": "FOLDER_ID" } } }, "examples":{"Schema":{} } @@ -877,18 +906,18 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-widget/load": { + },"/dashboard/private-folder/get": { "post": { - "tags": ["dashboard > private-widget"], - "summary": "Load", + "tags": ["dashboard > private-folder"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n |query||TimeSeriesAnalyzeQuery|True|\n |vars||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |folder_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" },"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY" },"vars" : {"type": "object","title": "VARS" } } + "properties": {"folder_id" : {"type": "string","title": "FOLDER_ID" } } }, "examples":{"Schema":{} } @@ -899,25 +928,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/PrivateFolderInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/PrivateFolderInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-widget/get": { + },"/dashboard/private-folder/list": { "post": { - "tags": ["dashboard > private-widget"], - "summary": "Get", + "tags": ["dashboard > private-folder"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |folder_id||string||\n |name||string||\n |workspace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"folder_id" : {"type": "string","title": "FOLDER_ID" },"name" : {"type": "string","title": "NAME" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, "examples":{"Schema":{} } @@ -928,25 +957,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PrivateWidgetInfo"}, + "schema": {"$ref": "#/components/schemas/PrivateFoldersInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PrivateWidgetInfo"}} + "Schema": {"$ref": "#/components/schemas/PrivateFoldersInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-widget/list": { + },"/dashboard/private-folder/stat": { "post": { - "tags": ["dashboard > private-widget"], - "summary": "List", + "tags": ["dashboard > private-folder"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |query||Query||\n |widget_id||string||\n |name||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"widget_id" : {"type": "string","title": "WIDGET_ID" },"name" : {"type": "string","title": "NAME" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, "examples":{"Schema":{} } @@ -957,25 +986,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PrivateWidgetsInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PrivateWidgetsInfo"}} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/public-widget/create": { + },"/dashboard/private-dashboard/create": { "post": { - "tags": ["dashboard > public-widget"], + "tags": ["dashboard > private-dashboard"], "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |name||string||\n |state|ACTIVE, INACTIVE |string||\n |description||string||\n |widget_type||string||\n |size||string||\n |options||Struct||\n |data_table_id||int||\n |data_tables||array||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |description||string||\n |layouts||array||\n |vars||Struct||\n |options||Struct||\n |variables||Struct||\n |variables_schema||Struct||\n |labels||array||\n |tags||Struct||\n |workspace_id||string||\n |folder_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"description" : {"type": "string","title": "DESCRIPTION" },"widget_type" : {"type": "string","title": "WIDGET_TYPE" },"size" : {"type": "string","title": "SIZE" },"options" : {"type": "object","title": "OPTIONS" },"data_table_id" : {"type": "integer","title": "DATA_TABLE_ID" },"data_tables" : {"items": {}, "type": "array","title": "DATA_TABLES" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"name" : {"type": "string","title": "NAME" },"description" : {"type": "string","title": "DESCRIPTION" },"layouts" : {"items": {"$ref": "#/components/schemas/Layout"}, "type": "array","title": "LAYOUTS" },"vars" : {"type": "object","title": "VARS" },"options" : {"type": "object","title": "OPTIONS" },"variables" : {"type": "object","title": "VARIABLES" },"variables_schema" : {"type": "object","title": "VARIABLES_SCHEMA" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"folder_id" : {"type": "string","title": "FOLDER_ID" } } }, "examples":{"Schema":{} } @@ -986,25 +1015,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PublicWidgetInfo"}, + "schema": {"$ref": "#/components/schemas/PrivateDashboardInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PublicWidgetInfo"}} + "Schema": {"$ref": "#/components/schemas/PrivateDashboardInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/public-widget/update": { + },"/dashboard/private-dashboard/update": { "post": { - "tags": ["dashboard > public-widget"], + "tags": ["dashboard > private-dashboard"], "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n |name||string||\n |state|ACTIVE, INACTIVE |string||\n |description||string||\n |widget_type||string||\n |size||string||\n |options||Struct||\n |data_table_id||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |name||string||\n |description||string||\n |layouts||array||\n |vars||Struct||\n |options||Struct||\n |variables||Struct||\n |variables_schema||Struct||\n |labels||array||\n |tags||Struct||\n |folder_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"description" : {"type": "string","title": "DESCRIPTION" },"widget_type" : {"type": "string","title": "WIDGET_TYPE" },"size" : {"type": "string","title": "SIZE" },"options" : {"type": "object","title": "OPTIONS" },"data_table_id" : {"type": "string","title": "DATA_TABLE_ID" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"name" : {"type": "string","title": "NAME" },"description" : {"type": "string","title": "DESCRIPTION" },"layouts" : {"items": {"$ref": "#/components/schemas/Layout"}, "type": "array","title": "LAYOUTS" },"vars" : {"type": "object","title": "VARS" },"options" : {"type": "object","title": "OPTIONS" },"variables" : {"type": "object","title": "VARIABLES" },"variables_schema" : {"type": "object","title": "VARIABLES_SCHEMA" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"folder_id" : {"type": "string","title": "FOLDER_ID" } } }, "examples":{"Schema":{} } @@ -1015,25 +1044,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PublicWidgetInfo"}, + "schema": {"$ref": "#/components/schemas/PrivateDashboardInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PublicWidgetInfo"}} + "Schema": {"$ref": "#/components/schemas/PrivateDashboardInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/public-widget/delete": { + },"/dashboard/private-dashboard/delete": { "post": { - "tags": ["dashboard > public-widget"], + "tags": ["dashboard > private-dashboard"], "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" } } + "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" } } }, "examples":{"Schema":{} } @@ -1045,18 +1074,18 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/public-widget/load": { + },"/dashboard/private-dashboard/get": { "post": { - "tags": ["dashboard > public-widget"], - "summary": "Load", + "tags": ["dashboard > private-dashboard"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n |query||TimeSeriesAnalyzeQuery|True|\n |vars||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" },"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY" },"vars" : {"type": "object","title": "VARS" } } + "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" } } }, "examples":{"Schema":{} } @@ -1067,25 +1096,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/PrivateDashboardInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/PrivateDashboardInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/public-widget/get": { + },"/dashboard/private-dashboard/list": { "post": { - "tags": ["dashboard > public-widget"], - "summary": "Get", + "tags": ["dashboard > private-dashboard"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |dashboard_id||string||\n |name||string||\n |workspace_id||string||\n |folder_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"name" : {"type": "string","title": "NAME" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"folder_id" : {"type": "string","title": "FOLDER_ID" } } }, "examples":{"Schema":{} } @@ -1096,25 +1125,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PublicWidgetInfo"}, + "schema": {"$ref": "#/components/schemas/PrivateDashboardsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PublicWidgetInfo"}} + "Schema": {"$ref": "#/components/schemas/PrivateDashboardsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/public-widget/list": { + },"/dashboard/private-dashboard/stat": { "post": { - "tags": ["dashboard > public-widget"], - "summary": "List", + "tags": ["dashboard > private-dashboard"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |query||Query||\n |widget_id||string||\n |name||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"widget_id" : {"type": "string","title": "WIDGET_ID" },"name" : {"type": "string","title": "NAME" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, "examples":{"Schema":{} } @@ -1125,25 +1154,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PublicWidgetsInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PublicWidgetsInfo"}} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/public-dashboard/create": { + },"/dashboard/private-widget/create": { "post": { - "tags": ["dashboard > public-dashboard"], + "tags": ["dashboard > private-widget"], "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |resource_group|DOMAIN, WORKSPACE, PROJECT |string|True|\n |description||string||\n |layouts||array||\n |vars||Struct||\n |options||Struct||\n |variables||Struct||\n |variables_schema||Struct||\n |labels||array||\n |tags||Struct||\n |workspace_id||string||\n |project_id||string||\n |folder_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |name||string||\n |state|ACTIVE, INACTIVE |string||\n |description||string||\n |widget_type||string||\n |size||string||\n |options||Struct||\n |data_table_id||int||\n |data_tables||array||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"description" : {"type": "string","title": "DESCRIPTION" },"layouts" : {"items": {"$ref": "#/components/schemas/Layout"}, "type": "array","title": "LAYOUTS" },"vars" : {"type": "object","title": "VARS" },"options" : {"type": "object","title": "OPTIONS" },"variables" : {"type": "object","title": "VARIABLES" },"variables_schema" : {"type": "object","title": "VARIABLES_SCHEMA" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"folder_id" : {"type": "string","title": "FOLDER_ID" } } + "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"description" : {"type": "string","title": "DESCRIPTION" },"widget_type" : {"type": "string","title": "WIDGET_TYPE" },"size" : {"type": "string","title": "SIZE" },"options" : {"type": "object","title": "OPTIONS" },"data_table_id" : {"type": "integer","title": "DATA_TABLE_ID" },"data_tables" : {"items": {}, "type": "array","title": "DATA_TABLES" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -1154,25 +1183,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}, + "schema": {"$ref": "#/components/schemas/PrivateWidgetInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}} + "Schema": {"$ref": "#/components/schemas/PrivateWidgetInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/public-dashboard/update": { + },"/dashboard/private-widget/update": { "post": { - "tags": ["dashboard > public-dashboard"], + "tags": ["dashboard > private-widget"], "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |name||string||\n |description||string||\n |layouts||array||\n |vars||Struct||\n |options||Struct||\n |variables||Struct||\n |variables_schema||Struct||\n |labels||array||\n |tags||Struct||\n |folder_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n |name||string||\n |state|ACTIVE, INACTIVE |string||\n |description||string||\n |widget_type||string||\n |size||string||\n |options||Struct||\n |data_table_id||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"name" : {"type": "string","title": "NAME" },"description" : {"type": "string","title": "DESCRIPTION" },"layouts" : {"items": {"$ref": "#/components/schemas/Layout"}, "type": "array","title": "LAYOUTS" },"vars" : {"type": "object","title": "VARS" },"options" : {"type": "object","title": "OPTIONS" },"variables" : {"type": "object","title": "VARIABLES" },"variables_schema" : {"type": "object","title": "VARIABLES_SCHEMA" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"folder_id" : {"type": "string","title": "FOLDER_ID" } } + "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"description" : {"type": "string","title": "DESCRIPTION" },"widget_type" : {"type": "string","title": "WIDGET_TYPE" },"size" : {"type": "string","title": "SIZE" },"options" : {"type": "object","title": "OPTIONS" },"data_table_id" : {"type": "string","title": "DATA_TABLE_ID" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -1183,25 +1212,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}, + "schema": {"$ref": "#/components/schemas/PrivateWidgetInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}} + "Schema": {"$ref": "#/components/schemas/PrivateWidgetInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/public-dashboard/share": { + },"/dashboard/private-widget/delete": { "post": { - "tags": ["dashboard > public-dashboard"], - "summary": "Share", + "tags": ["dashboard > private-widget"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |scope|WORKSPACE, PROJECT |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"scope" : {"type": "string","title": "SCOPE" } } + "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" } } }, "examples":{"Schema":{} } @@ -1210,27 +1239,21 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/public-dashboard/unshare": { + },"/dashboard/private-widget/load": { "post": { - "tags": ["dashboard > public-dashboard"], - "summary": "Unshare", + "tags": ["dashboard > private-widget"], + "summary": "Load", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |scope|WORKSPACE, PROJECT |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n |query||TimeSeriesAnalyzeQuery|True|\n |vars||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"scope" : {"type": "string","title": "SCOPE" } } + "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" },"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY" },"vars" : {"type": "object","title": "VARS" } } }, "examples":{"Schema":{} } @@ -1241,48 +1264,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/public-dashboard/delete": { - "post": { - "tags": ["dashboard > public-dashboard"], - "summary": "Delete", - "operationId" : "", - "description": "### Description \n", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |scope|WORKSPACE, PROJECT |string||\n
", - "content": { - "application/json": { - "schema": { - "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"scope" : {"type": "string","title": "SCOPE" } } - }, - "examples":{"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response"} - } - ,"security": [{"HTTPBearer": []}] } - },"/dashboard/public-dashboard/get": { + },"/dashboard/private-widget/get": { "post": { - "tags": ["dashboard > public-dashboard"], + "tags": ["dashboard > private-widget"], "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |scope|WORKSPACE, PROJECT |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"scope" : {"type": "string","title": "SCOPE" } } + "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" } } }, "examples":{"Schema":{} } @@ -1293,25 +1293,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}, + "schema": {"$ref": "#/components/schemas/PrivateWidgetInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PublicDashboardInfo"}} + "Schema": {"$ref": "#/components/schemas/PrivateWidgetInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/public-dashboard/list": { + },"/dashboard/private-widget/list": { "post": { - "tags": ["dashboard > public-dashboard"], + "tags": ["dashboard > private-widget"], "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |dashboard_id||string||\n |name||string||\n |shared||boolean||\n |scope|WORKSPACE, PROJECT |string||\n |workspace_id||string||\n |project_id||string||\n |folder_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |query||Query||\n |widget_id||string||\n |name||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"name" : {"type": "string","title": "NAME" },"shared" : {"type": "boolean","title": "SHARED" },"scope" : {"type": "string","title": "SCOPE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"folder_id" : {"type": "string","title": "FOLDER_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"widget_id" : {"type": "string","title": "WIDGET_ID" },"name" : {"type": "string","title": "NAME" } } }, "examples":{"Schema":{} } @@ -1322,25 +1322,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PublicDashboardsInfo"}, + "schema": {"$ref": "#/components/schemas/PrivateWidgetsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PublicDashboardsInfo"}} + "Schema": {"$ref": "#/components/schemas/PrivateWidgetsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/public-dashboard/stat": { + },"/dashboard/private-data-table/add": { "post": { - "tags": ["dashboard > public-dashboard"], - "summary": "Stat", + "tags": ["dashboard > private-data-table"], + "summary": "Add", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n |source_type||SourceType|True|\n |options||AddOptions|True|\n |name||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" },"name" : {"type": "string","title": "NAME" },"source_type" : {"type": "SourceType","title": "SOURCE_TYPE" },"options" : {"$ref": "#/components/schemas/AddOptions","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -1351,25 +1351,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/PrivateDataTableInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/PrivateDataTableInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-dashboard/create": { + },"/dashboard/private-data-table/transform": { "post": { - "tags": ["dashboard > private-dashboard"], - "summary": "Create", + "tags": ["dashboard > private-data-table"], + "summary": "Transform", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |description||string||\n |layouts||array||\n |vars||Struct||\n |options||Struct||\n |variables||Struct||\n |variables_schema||Struct||\n |labels||array||\n |tags||Struct||\n |workspace_id||string||\n |folder_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n |operator||Operator|True|\n |options||TransformOptions|True|\n |name||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"description" : {"type": "string","title": "DESCRIPTION" },"layouts" : {"items": {"$ref": "#/components/schemas/Layout"}, "type": "array","title": "LAYOUTS" },"vars" : {"type": "object","title": "VARS" },"options" : {"type": "object","title": "OPTIONS" },"variables" : {"type": "object","title": "VARIABLES" },"variables_schema" : {"type": "object","title": "VARIABLES_SCHEMA" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"folder_id" : {"type": "string","title": "FOLDER_ID" } } + "properties": {"widget_id" : {"type": "string","title": "WIDGET_ID" },"name" : {"type": "string","title": "NAME" },"operator" : {"type": "Operator","title": "OPERATOR" },"options" : {"$ref": "#/components/schemas/TransformOptions","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -1380,25 +1380,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PrivateDashboardInfo"}, + "schema": {"$ref": "#/components/schemas/PrivateDataTableInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PrivateDashboardInfo"}} + "Schema": {"$ref": "#/components/schemas/PrivateDataTableInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-dashboard/update": { + },"/dashboard/private-data-table/update": { "post": { - "tags": ["dashboard > private-dashboard"], + "tags": ["dashboard > private-data-table"], "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n |name||string||\n |description||string||\n |layouts||array||\n |vars||Struct||\n |options||Struct||\n |variables||Struct||\n |variables_schema||Struct||\n |labels||array||\n |tags||Struct||\n |folder_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_table_id||string|True|\n |name||string||\n |options||Struct||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"name" : {"type": "string","title": "NAME" },"description" : {"type": "string","title": "DESCRIPTION" },"layouts" : {"items": {"$ref": "#/components/schemas/Layout"}, "type": "array","title": "LAYOUTS" },"vars" : {"type": "object","title": "VARS" },"options" : {"type": "object","title": "OPTIONS" },"variables" : {"type": "object","title": "VARIABLES" },"variables_schema" : {"type": "object","title": "VARIABLES_SCHEMA" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"folder_id" : {"type": "string","title": "FOLDER_ID" } } + "properties": {"data_table_id" : {"type": "string","title": "DATA_TABLE_ID" },"name" : {"type": "string","title": "NAME" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -1409,25 +1409,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PrivateDashboardInfo"}, + "schema": {"$ref": "#/components/schemas/PrivateDataTableInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PrivateDashboardInfo"}} + "Schema": {"$ref": "#/components/schemas/PrivateDataTableInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-dashboard/delete": { + },"/dashboard/private-data-table/delete": { "post": { - "tags": ["dashboard > private-dashboard"], + "tags": ["dashboard > private-data-table"], "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_table_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" } } + "properties": {"data_table_id" : {"type": "string","title": "DATA_TABLE_ID" } } }, "examples":{"Schema":{} } @@ -1439,18 +1439,18 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-dashboard/get": { + },"/dashboard/private-data-table/load": { "post": { - "tags": ["dashboard > private-dashboard"], - "summary": "Get", + "tags": ["dashboard > private-data-table"], + "summary": "Load", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |dashboard_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_table_id||string|True|\n |granularity|DAILY, MONTHLY, YEARLY |string|True|\n |start||string||\n |end||string||\n |sort||array||\n |page||Page||\n
", "content": { "application/json": { "schema": { - "properties": {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" } } + "properties": {"data_table_id" : {"type": "string","title": "DATA_TABLE_ID" },"granularity" : {"type": "string","title": "GRANULARITY" },"start" : {"type": "string","title": "START" },"end" : {"type": "string","title": "END" },"sort" : {"items": {"$ref": "#/components/schemas/Sort"}, "type": "array","title": "SORT" },"page" : {"$ref": "#/components/schemas/Page","title": "PAGE" } } }, "examples":{"Schema":{} } @@ -1461,25 +1461,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PrivateDashboardInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PrivateDashboardInfo"}} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-dashboard/list": { + },"/dashboard/private-data-table/get": { "post": { - "tags": ["dashboard > private-dashboard"], - "summary": "List", + "tags": ["dashboard > private-data-table"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |dashboard_id||string||\n |name||string||\n |workspace_id||string||\n |folder_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_table_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"dashboard_id" : {"type": "string","title": "DASHBOARD_ID" },"name" : {"type": "string","title": "NAME" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"folder_id" : {"type": "string","title": "FOLDER_ID" } } + "properties": {"data_table_id" : {"type": "string","title": "DATA_TABLE_ID" } } }, "examples":{"Schema":{} } @@ -1490,25 +1490,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PrivateDashboardsInfo"}, + "schema": {"$ref": "#/components/schemas/PrivateDataTableInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PrivateDashboardsInfo"}} + "Schema": {"$ref": "#/components/schemas/PrivateDataTableInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/dashboard/private-dashboard/stat": { + },"/dashboard/private-data-table/list": { "post": { - "tags": ["dashboard > private-dashboard"], - "summary": "Stat", + "tags": ["dashboard > private-data-table"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |widget_id||string|True|\n |query||Query||\n |data_table_id||string||\n |name||string||\n |data_type||DataType||\n |source_type||SourceType||\n |operator||Operator||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"widget_id" : {"type": "string","title": "WIDGET_ID" },"data_table_id" : {"type": "string","title": "DATA_TABLE_ID" },"name" : {"type": "string","title": "NAME" },"data_type" : {"type": "DataType","title": "DATA_TYPE" },"source_type" : {"type": "SourceType","title": "SOURCE_TYPE" },"operator" : {"type": "Operator","title": "OPERATOR" } } }, "examples":{"Schema":{} } @@ -1519,9 +1519,9 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/PrivateDataTablesInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/PrivateDataTablesInfo"}} } }} } @@ -1646,44 +1646,6 @@ "required": ["data_table_id"], "title": "UpdatePublicDataTableRequest" } - , "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", @@ -1853,187 +1815,95 @@ "required": ["path","filter"], "title": "Unwind" } - , "AddPrivateDataTableRequest": { - "properties" : {"widget_id" : {"type": "string","title": "WIDGET_ID"},"name" : {"type": "string","title": "NAME"},"source_type" : {"type": "SourceType","title": "SOURCE_TYPE"},"options" : {"$ref": "#/components/schemas/AddOptions","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, - "type": "object", - "required": ["widget_id","source_type","options"], - "title": "AddPrivateDataTableRequest" - } - , "LoadPrivateDataTableRequest": { - "properties" : {"data_table_id" : {"type": "string","title": "DATA_TABLE_ID"},"granularity" : {"type": "string","title": "GRANULARITY"},"start" : {"type": "string","title": "START"},"end" : {"type": "string","title": "END"},"sort" : {"items": {"$ref": "#/components/schemas/Sort"}, - "type": "array","$ref": "#/components/schemas/Sort","title": "SORT"},"page" : {"$ref": "#/components/schemas/Page","title": "PAGE"}}, - "type": "object", - "required": ["data_table_id","granularity"], - "title": "LoadPrivateDataTableRequest" - } - , "PrivateDataTableInfo": { - "properties" : {"data_table_id" : {"type": "string","title": "DATA_TABLE_ID"},"name" : {"type": "string","title": "NAME"},"data_type" : {"type": "DataType","title": "DATA_TYPE"},"source_type" : {"type": "SourceType","title": "SOURCE_TYPE"},"operator" : {"type": "Operator","title": "OPERATOR"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"labels_info" : {"type": "object","title": "LABELS_INFO"},"data_info" : {"type": "object","title": "DATA_INFO"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"user_id" : {"type": "string","title": "USER_ID"},"dashboard_id" : {"type": "string","title": "DASHBOARD_ID"},"widget_id" : {"type": "string","title": "WIDGET_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, - "type": "object", - "required": ["data_table_id","name","data_type","source_type","operator","options","tags","labels_info","data_info","domain_id","user_id","dashboard_id","widget_id","created_at","updated_at"], - "title": "PrivateDataTableInfo" - } - , "PrivateDataTableQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"widget_id" : {"type": "string","title": "WIDGET_ID"},"data_table_id" : {"type": "string","title": "DATA_TABLE_ID"},"name" : {"type": "string","title": "NAME"},"data_type" : {"type": "DataType","title": "DATA_TYPE"},"source_type" : {"type": "SourceType","title": "SOURCE_TYPE"},"operator" : {"type": "Operator","title": "OPERATOR"}}, - "type": "object", - "required": ["widget_id"], - "title": "PrivateDataTableQuery" - } - , "PrivateDataTableRequest": { - "properties" : {"data_table_id" : {"type": "string","title": "DATA_TABLE_ID"}}, - "type": "object", - "required": ["data_table_id"], - "title": "PrivateDataTableRequest" - } - , "PrivateDataTablesInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/PrivateDataTableInfo"}, - "type": "array","$ref": "#/components/schemas/PrivateDataTableInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, - "type": "object", - "required": ["results","total_count"], - "title": "PrivateDataTablesInfo" - } - , "TransformPrivateDataTableRequest": { - "properties" : {"widget_id" : {"type": "string","title": "WIDGET_ID"},"name" : {"type": "string","title": "NAME"},"operator" : {"type": "Operator","title": "OPERATOR"},"options" : {"$ref": "#/components/schemas/TransformOptions","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, - "type": "object", - "required": ["widget_id","operator","options"], - "title": "TransformPrivateDataTableRequest" - } - , "UpdatePrivateDataTableRequest": { - "properties" : {"data_table_id" : {"type": "string","title": "DATA_TABLE_ID"},"name" : {"type": "string","title": "NAME"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, - "type": "object", - "required": ["data_table_id"], - "title": "UpdatePrivateDataTableRequest" - } - , "CreatePrivateFolderRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"},"dashboards" : {"items": {"type": "object"}, - "type": "array","title": "DASHBOARDS"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + , "AuthenticationRequest": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["name"], - "title": "CreatePrivateFolderRequest" + "required": ["domain_id"], + "title": "AuthenticationRequest" } - , "PrivateFolderInfo": { - "properties" : {"folder_id" : {"type": "string","title": "FOLDER_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"user_id" : {"type": "string","title": "USER_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + , "AuthenticationResponse": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"public_key" : {"type": "string","title": "PUBLIC_KEY"}}, "type": "object", - "required": ["folder_id","name","tags","domain_id","workspace_id","user_id","created_at","updated_at"], - "title": "PrivateFolderInfo" + "required": ["domain_id","public_key"], + "title": "AuthenticationResponse" } - , "PrivateFolderQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"folder_id" : {"type": "string","title": "FOLDER_ID"},"name" : {"type": "string","title": "NAME"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + , "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": [], - "title": "PrivateFolderQuery" + "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" } - , "PrivateFolderRequest": { - "properties" : {"folder_id" : {"type": "string","title": "FOLDER_ID"}}, + , "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": ["folder_id"], - "title": "PrivateFolderRequest" + "required": ["role_type","projects","project_groups"], + "title": "AuthorizationResponse" } - , "PrivateFolderStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + , "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": ["query"], - "title": "PrivateFolderStatQuery" + "required": ["service","resource","verb","status","message"], + "title": "EventRequest" } - , "PrivateFoldersInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/PrivateFolderInfo"}, - "type": "array","$ref": "#/components/schemas/PrivateFolderInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "VersionInfo": { + "properties" : {"version" : {"type": "string","title": "VERSION"}}, "type": "object", - "required": ["results","total_count"], - "title": "PrivateFoldersInfo" + "required": ["version"], + "title": "VersionInfo" } - , "UpdatePrivateFolderRequest": { - "properties" : {"folder_id" : {"type": "string","title": "FOLDER_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, + , "CreatePublicDashboardRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"description" : {"type": "string","title": "DESCRIPTION"},"layouts" : {"items": {"$ref": "#/components/schemas/Layout"}, + "type": "array","$ref": "#/components/schemas/Layout","title": "LAYOUTS"},"vars" : {"type": "object","title": "VARS"},"options" : {"type": "object","title": "OPTIONS"},"variables" : {"type": "object","title": "VARIABLES"},"variables_schema" : {"type": "object","title": "VARIABLES_SCHEMA"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"folder_id" : {"type": "string","title": "FOLDER_ID"}}, "type": "object", - "required": ["folder_id"], - "title": "UpdatePrivateFolderRequest" + "required": ["name","resource_group"], + "title": "CreatePublicDashboardRequest" } - , "CreatePublicFolderRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"},"dashboards" : {"items": {"type": "object"}, - "type": "array","title": "DASHBOARDS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, + , "Layout": { + "properties" : {"name" : {"type": "string","title": "NAME"},"options" : {"type": "object","title": "OPTIONS"},"widgets" : {"type": "array","title": "WIDGETS"}}, "type": "object", - "required": ["name"], - "title": "CreatePublicFolderRequest" + "required": ["name","options","widgets"], + "title": "Layout" } - , "PublicFolderInfo": { - "properties" : {"folder_id" : {"type": "string","title": "FOLDER_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"},"shared" : {"type": "boolean","title": "SHARED"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + , "PublicDashboardInfo": { + "properties" : {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID"},"name" : {"type": "string","title": "NAME"},"description" : {"type": "string","title": "DESCRIPTION"},"version" : {"type": "string","title": "VERSION"},"layouts" : {"items": {"$ref": "#/components/schemas/Layout"}, + "type": "array","$ref": "#/components/schemas/Layout","title": "LAYOUTS"},"vars" : {"type": "object","title": "VARS"},"options" : {"type": "object","title": "OPTIONS"},"variables" : {"type": "object","title": "VARIABLES"},"variables_schema" : {"type": "object","title": "VARIABLES_SCHEMA"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"shared" : {"type": "boolean","title": "SHARED"},"scope" : {"type": "string","title": "SCOPE"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"folder_id" : {"type": "string","title": "FOLDER_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, "type": "object", - "required": ["folder_id","name","tags","shared","resource_group","domain_id","workspace_id","project_id","created_at","updated_at"], - "title": "PublicFolderInfo" + "required": ["dashboard_id","name","description","version","layouts","vars","options","variables","variables_schema","labels","tags","shared","scope","resource_group","domain_id","workspace_id","project_id","folder_id","created_at","updated_at"], + "title": "PublicDashboardInfo" } - , "PublicFolderQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"folder_id" : {"type": "string","title": "FOLDER_ID"},"name" : {"type": "string","title": "NAME"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, + , "PublicDashboardQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"dashboard_id" : {"type": "string","title": "DASHBOARD_ID"},"name" : {"type": "string","title": "NAME"},"shared" : {"type": "boolean","title": "SHARED"},"scope" : {"type": "string","title": "SCOPE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"folder_id" : {"type": "string","title": "FOLDER_ID"}}, "type": "object", "required": [], - "title": "PublicFolderQuery" + "title": "PublicDashboardQuery" } - , "PublicFolderRequest": { - "properties" : {"folder_id" : {"type": "string","title": "FOLDER_ID"}}, + , "PublicDashboardRequest": { + "properties" : {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID"},"scope" : {"type": "string","title": "SCOPE"}}, "type": "object", - "required": ["folder_id"], - "title": "PublicFolderRequest" + "required": ["dashboard_id"], + "title": "PublicDashboardRequest" } - , "PublicFolderStatQuery": { + , "PublicDashboardStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "PublicFolderStatQuery" + "title": "PublicDashboardStatQuery" } - , "PublicFoldersInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/PublicFolderInfo"}, - "type": "array","$ref": "#/components/schemas/PublicFolderInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "PublicDashboardsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/PublicDashboardInfo"}, + "type": "array","$ref": "#/components/schemas/PublicDashboardInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "PublicFoldersInfo" - } - , "UpdatePublicFolderRequest": { - "properties" : {"folder_id" : {"type": "string","title": "FOLDER_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, - "type": "object", - "required": ["folder_id"], - "title": "UpdatePublicFolderRequest" - } - , "CreatePrivateWidgetRequest": { - "properties" : {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"description" : {"type": "string","title": "DESCRIPTION"},"widget_type" : {"type": "string","title": "WIDGET_TYPE"},"size" : {"type": "string","title": "SIZE"},"options" : {"type": "object","title": "OPTIONS"},"data_table_id" : {"type": "integer","title": "DATA_TABLE_ID"},"data_tables" : {"items": {"type": "object"}, - "type": "array","title": "DATA_TABLES"},"tags" : {"type": "object","title": "TAGS"}}, - "type": "object", - "required": ["dashboard_id"], - "title": "CreatePrivateWidgetRequest" - } - , "LoadPrivateWidgetRequest": { - "properties" : {"widget_id" : {"type": "string","title": "WIDGET_ID"},"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY"},"vars" : {"type": "object","title": "VARS"}}, - "type": "object", - "required": ["widget_id","query"], - "title": "LoadPrivateWidgetRequest" - } - , "PrivateWidgetInfo": { - "properties" : {"widget_id" : {"type": "string","title": "WIDGET_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"description" : {"type": "string","title": "DESCRIPTION"},"widget_type" : {"type": "string","title": "WIDGET_TYPE"},"size" : {"type": "string","title": "SIZE"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"user_id" : {"type": "string","title": "USER_ID"},"dashboard_id" : {"type": "string","title": "DASHBOARD_ID"},"data_table_id" : {"type": "string","title": "DATA_TABLE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, - "type": "object", - "required": ["widget_id","name","state","description","widget_type","size","options","tags","domain_id","user_id","dashboard_id","data_table_id","created_at","updated_at"], - "title": "PrivateWidgetInfo" + "title": "PublicDashboardsInfo" } - , "PrivateWidgetQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"dashboard_id" : {"type": "string","title": "DASHBOARD_ID"},"widget_id" : {"type": "string","title": "WIDGET_ID"},"name" : {"type": "string","title": "NAME"}}, + , "UpdatePublicDashboardRequest": { + "properties" : {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID"},"name" : {"type": "string","title": "NAME"},"description" : {"type": "string","title": "DESCRIPTION"},"layouts" : {"items": {"$ref": "#/components/schemas/Layout"}, + "type": "array","$ref": "#/components/schemas/Layout","title": "LAYOUTS"},"vars" : {"type": "object","title": "VARS"},"options" : {"type": "object","title": "OPTIONS"},"variables" : {"type": "object","title": "VARIABLES"},"variables_schema" : {"type": "object","title": "VARIABLES_SCHEMA"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"folder_id" : {"type": "string","title": "FOLDER_ID"}}, "type": "object", "required": ["dashboard_id"], - "title": "PrivateWidgetQuery" - } - , "PrivateWidgetRequest": { - "properties" : {"widget_id" : {"type": "string","title": "WIDGET_ID"}}, - "type": "object", - "required": ["widget_id"], - "title": "PrivateWidgetRequest" - } - , "PrivateWidgetsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/PrivateWidgetInfo"}, - "type": "array","$ref": "#/components/schemas/PrivateWidgetInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, - "type": "object", - "required": ["results","total_count"], - "title": "PrivateWidgetsInfo" - } - , "UpdatePrivateWidgetRequest": { - "properties" : {"widget_id" : {"type": "string","title": "WIDGET_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"description" : {"type": "string","title": "DESCRIPTION"},"widget_type" : {"type": "string","title": "WIDGET_TYPE"},"size" : {"type": "string","title": "SIZE"},"options" : {"type": "object","title": "OPTIONS"},"data_table_id" : {"type": "string","title": "DATA_TABLE_ID"},"tags" : {"type": "object","title": "TAGS"}}, - "type": "object", - "required": ["widget_id"], - "title": "UpdatePrivateWidgetRequest" + "title": "UpdatePublicDashboardRequest" } , "CreatePublicWidgetRequest": { "properties" : {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"description" : {"type": "string","title": "DESCRIPTION"},"widget_type" : {"type": "string","title": "WIDGET_TYPE"},"size" : {"type": "string","title": "SIZE"},"options" : {"type": "object","title": "OPTIONS"},"data_table_id" : {"type": "integer","title": "DATA_TABLE_ID"},"data_tables" : {"items": {"type": "object"}, @@ -2079,57 +1949,93 @@ "required": ["widget_id"], "title": "UpdatePublicWidgetRequest" } - , "CreatePublicDashboardRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"description" : {"type": "string","title": "DESCRIPTION"},"layouts" : {"items": {"$ref": "#/components/schemas/Layout"}, - "type": "array","$ref": "#/components/schemas/Layout","title": "LAYOUTS"},"vars" : {"type": "object","title": "VARS"},"options" : {"type": "object","title": "OPTIONS"},"variables" : {"type": "object","title": "VARIABLES"},"variables_schema" : {"type": "object","title": "VARIABLES_SCHEMA"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"folder_id" : {"type": "string","title": "FOLDER_ID"}}, + , "CreatePublicFolderRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"},"dashboards" : {"items": {"type": "object"}, + "type": "array","title": "DASHBOARDS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, "type": "object", - "required": ["name","resource_group"], - "title": "CreatePublicDashboardRequest" + "required": ["name"], + "title": "CreatePublicFolderRequest" } - , "Layout": { - "properties" : {"name" : {"type": "string","title": "NAME"},"options" : {"type": "object","title": "OPTIONS"},"widgets" : {"type": "array","title": "WIDGETS"}}, + , "PublicFolderInfo": { + "properties" : {"folder_id" : {"type": "string","title": "FOLDER_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"},"shared" : {"type": "boolean","title": "SHARED"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, "type": "object", - "required": ["name","options","widgets"], - "title": "Layout" + "required": ["folder_id","name","tags","shared","resource_group","domain_id","workspace_id","project_id","created_at","updated_at"], + "title": "PublicFolderInfo" } - , "PublicDashboardInfo": { - "properties" : {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID"},"name" : {"type": "string","title": "NAME"},"description" : {"type": "string","title": "DESCRIPTION"},"version" : {"type": "string","title": "VERSION"},"layouts" : {"items": {"$ref": "#/components/schemas/Layout"}, - "type": "array","$ref": "#/components/schemas/Layout","title": "LAYOUTS"},"vars" : {"type": "object","title": "VARS"},"options" : {"type": "object","title": "OPTIONS"},"variables" : {"type": "object","title": "VARIABLES"},"variables_schema" : {"type": "object","title": "VARIABLES_SCHEMA"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"shared" : {"type": "boolean","title": "SHARED"},"scope" : {"type": "string","title": "SCOPE"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"folder_id" : {"type": "string","title": "FOLDER_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + , "PublicFolderQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"folder_id" : {"type": "string","title": "FOLDER_ID"},"name" : {"type": "string","title": "NAME"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, "type": "object", - "required": ["dashboard_id","name","description","version","layouts","vars","options","variables","variables_schema","labels","tags","shared","scope","resource_group","domain_id","workspace_id","project_id","folder_id","created_at","updated_at"], - "title": "PublicDashboardInfo" + "required": [], + "title": "PublicFolderQuery" } - , "PublicDashboardQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"dashboard_id" : {"type": "string","title": "DASHBOARD_ID"},"name" : {"type": "string","title": "NAME"},"shared" : {"type": "boolean","title": "SHARED"},"scope" : {"type": "string","title": "SCOPE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"folder_id" : {"type": "string","title": "FOLDER_ID"}}, + , "PublicFolderRequest": { + "properties" : {"folder_id" : {"type": "string","title": "FOLDER_ID"}}, + "type": "object", + "required": ["folder_id"], + "title": "PublicFolderRequest" + } + , "PublicFolderStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + "type": "object", + "required": ["query"], + "title": "PublicFolderStatQuery" + } + , "PublicFoldersInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/PublicFolderInfo"}, + "type": "array","$ref": "#/components/schemas/PublicFolderInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "PublicFoldersInfo" + } + , "UpdatePublicFolderRequest": { + "properties" : {"folder_id" : {"type": "string","title": "FOLDER_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["folder_id"], + "title": "UpdatePublicFolderRequest" + } + , "CreatePrivateFolderRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"},"dashboards" : {"items": {"type": "object"}, + "type": "array","title": "DASHBOARDS"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + "type": "object", + "required": ["name"], + "title": "CreatePrivateFolderRequest" + } + , "PrivateFolderInfo": { + "properties" : {"folder_id" : {"type": "string","title": "FOLDER_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"user_id" : {"type": "string","title": "USER_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + "type": "object", + "required": ["folder_id","name","tags","domain_id","workspace_id","user_id","created_at","updated_at"], + "title": "PrivateFolderInfo" + } + , "PrivateFolderQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"folder_id" : {"type": "string","title": "FOLDER_ID"},"name" : {"type": "string","title": "NAME"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, "type": "object", "required": [], - "title": "PublicDashboardQuery" + "title": "PrivateFolderQuery" } - , "PublicDashboardRequest": { - "properties" : {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID"},"scope" : {"type": "string","title": "SCOPE"}}, + , "PrivateFolderRequest": { + "properties" : {"folder_id" : {"type": "string","title": "FOLDER_ID"}}, "type": "object", - "required": ["dashboard_id"], - "title": "PublicDashboardRequest" + "required": ["folder_id"], + "title": "PrivateFolderRequest" } - , "PublicDashboardStatQuery": { + , "PrivateFolderStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "PublicDashboardStatQuery" + "title": "PrivateFolderStatQuery" } - , "PublicDashboardsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/PublicDashboardInfo"}, - "type": "array","$ref": "#/components/schemas/PublicDashboardInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "PrivateFoldersInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/PrivateFolderInfo"}, + "type": "array","$ref": "#/components/schemas/PrivateFolderInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "PublicDashboardsInfo" + "title": "PrivateFoldersInfo" } - , "UpdatePublicDashboardRequest": { - "properties" : {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID"},"name" : {"type": "string","title": "NAME"},"description" : {"type": "string","title": "DESCRIPTION"},"layouts" : {"items": {"$ref": "#/components/schemas/Layout"}, - "type": "array","$ref": "#/components/schemas/Layout","title": "LAYOUTS"},"vars" : {"type": "object","title": "VARS"},"options" : {"type": "object","title": "OPTIONS"},"variables" : {"type": "object","title": "VARIABLES"},"variables_schema" : {"type": "object","title": "VARIABLES_SCHEMA"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"folder_id" : {"type": "string","title": "FOLDER_ID"}}, + , "UpdatePrivateFolderRequest": { + "properties" : {"folder_id" : {"type": "string","title": "FOLDER_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["dashboard_id"], - "title": "UpdatePublicDashboardRequest" + "required": ["folder_id"], + "title": "UpdatePrivateFolderRequest" } , "CreatePrivateDashboardRequest": { "properties" : {"name" : {"type": "string","title": "NAME"},"description" : {"type": "string","title": "DESCRIPTION"},"layouts" : {"items": {"$ref": "#/components/schemas/Layout"}, @@ -2176,6 +2082,100 @@ "type": "object", "required": ["dashboard_id"], "title": "UpdatePrivateDashboardRequest" + } + , "CreatePrivateWidgetRequest": { + "properties" : {"dashboard_id" : {"type": "string","title": "DASHBOARD_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"description" : {"type": "string","title": "DESCRIPTION"},"widget_type" : {"type": "string","title": "WIDGET_TYPE"},"size" : {"type": "string","title": "SIZE"},"options" : {"type": "object","title": "OPTIONS"},"data_table_id" : {"type": "integer","title": "DATA_TABLE_ID"},"data_tables" : {"items": {"type": "object"}, + "type": "array","title": "DATA_TABLES"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["dashboard_id"], + "title": "CreatePrivateWidgetRequest" + } + , "LoadPrivateWidgetRequest": { + "properties" : {"widget_id" : {"type": "string","title": "WIDGET_ID"},"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY"},"vars" : {"type": "object","title": "VARS"}}, + "type": "object", + "required": ["widget_id","query"], + "title": "LoadPrivateWidgetRequest" + } + , "PrivateWidgetInfo": { + "properties" : {"widget_id" : {"type": "string","title": "WIDGET_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"description" : {"type": "string","title": "DESCRIPTION"},"widget_type" : {"type": "string","title": "WIDGET_TYPE"},"size" : {"type": "string","title": "SIZE"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"user_id" : {"type": "string","title": "USER_ID"},"dashboard_id" : {"type": "string","title": "DASHBOARD_ID"},"data_table_id" : {"type": "string","title": "DATA_TABLE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + "type": "object", + "required": ["widget_id","name","state","description","widget_type","size","options","tags","domain_id","user_id","dashboard_id","data_table_id","created_at","updated_at"], + "title": "PrivateWidgetInfo" + } + , "PrivateWidgetQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"dashboard_id" : {"type": "string","title": "DASHBOARD_ID"},"widget_id" : {"type": "string","title": "WIDGET_ID"},"name" : {"type": "string","title": "NAME"}}, + "type": "object", + "required": ["dashboard_id"], + "title": "PrivateWidgetQuery" + } + , "PrivateWidgetRequest": { + "properties" : {"widget_id" : {"type": "string","title": "WIDGET_ID"}}, + "type": "object", + "required": ["widget_id"], + "title": "PrivateWidgetRequest" + } + , "PrivateWidgetsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/PrivateWidgetInfo"}, + "type": "array","$ref": "#/components/schemas/PrivateWidgetInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "PrivateWidgetsInfo" + } + , "UpdatePrivateWidgetRequest": { + "properties" : {"widget_id" : {"type": "string","title": "WIDGET_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"description" : {"type": "string","title": "DESCRIPTION"},"widget_type" : {"type": "string","title": "WIDGET_TYPE"},"size" : {"type": "string","title": "SIZE"},"options" : {"type": "object","title": "OPTIONS"},"data_table_id" : {"type": "string","title": "DATA_TABLE_ID"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["widget_id"], + "title": "UpdatePrivateWidgetRequest" + } + , "AddPrivateDataTableRequest": { + "properties" : {"widget_id" : {"type": "string","title": "WIDGET_ID"},"name" : {"type": "string","title": "NAME"},"source_type" : {"type": "SourceType","title": "SOURCE_TYPE"},"options" : {"$ref": "#/components/schemas/AddOptions","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["widget_id","source_type","options"], + "title": "AddPrivateDataTableRequest" + } + , "LoadPrivateDataTableRequest": { + "properties" : {"data_table_id" : {"type": "string","title": "DATA_TABLE_ID"},"granularity" : {"type": "string","title": "GRANULARITY"},"start" : {"type": "string","title": "START"},"end" : {"type": "string","title": "END"},"sort" : {"items": {"$ref": "#/components/schemas/Sort"}, + "type": "array","$ref": "#/components/schemas/Sort","title": "SORT"},"page" : {"$ref": "#/components/schemas/Page","title": "PAGE"}}, + "type": "object", + "required": ["data_table_id","granularity"], + "title": "LoadPrivateDataTableRequest" + } + , "PrivateDataTableInfo": { + "properties" : {"data_table_id" : {"type": "string","title": "DATA_TABLE_ID"},"name" : {"type": "string","title": "NAME"},"data_type" : {"type": "DataType","title": "DATA_TYPE"},"source_type" : {"type": "SourceType","title": "SOURCE_TYPE"},"operator" : {"type": "Operator","title": "OPERATOR"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"labels_info" : {"type": "object","title": "LABELS_INFO"},"data_info" : {"type": "object","title": "DATA_INFO"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"user_id" : {"type": "string","title": "USER_ID"},"dashboard_id" : {"type": "string","title": "DASHBOARD_ID"},"widget_id" : {"type": "string","title": "WIDGET_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + "type": "object", + "required": ["data_table_id","name","data_type","source_type","operator","options","tags","labels_info","data_info","domain_id","user_id","dashboard_id","widget_id","created_at","updated_at"], + "title": "PrivateDataTableInfo" + } + , "PrivateDataTableQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"widget_id" : {"type": "string","title": "WIDGET_ID"},"data_table_id" : {"type": "string","title": "DATA_TABLE_ID"},"name" : {"type": "string","title": "NAME"},"data_type" : {"type": "DataType","title": "DATA_TYPE"},"source_type" : {"type": "SourceType","title": "SOURCE_TYPE"},"operator" : {"type": "Operator","title": "OPERATOR"}}, + "type": "object", + "required": ["widget_id"], + "title": "PrivateDataTableQuery" + } + , "PrivateDataTableRequest": { + "properties" : {"data_table_id" : {"type": "string","title": "DATA_TABLE_ID"}}, + "type": "object", + "required": ["data_table_id"], + "title": "PrivateDataTableRequest" + } + , "PrivateDataTablesInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/PrivateDataTableInfo"}, + "type": "array","$ref": "#/components/schemas/PrivateDataTableInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "PrivateDataTablesInfo" + } + , "TransformPrivateDataTableRequest": { + "properties" : {"widget_id" : {"type": "string","title": "WIDGET_ID"},"name" : {"type": "string","title": "NAME"},"operator" : {"type": "Operator","title": "OPERATOR"},"options" : {"$ref": "#/components/schemas/TransformOptions","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["widget_id","operator","options"], + "title": "TransformPrivateDataTableRequest" + } + , "UpdatePrivateDataTableRequest": { + "properties" : {"data_table_id" : {"type": "string","title": "DATA_TABLE_ID"},"name" : {"type": "string","title": "NAME"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["data_table_id"], + "title": "UpdatePrivateDataTableRequest" } }, "Struct": {"properties": {"type": "object","title": "Struct"}}, diff --git a/dist/openapi/cloudforet/api/file_manager/v1/openapi.json b/dist/openapi/cloudforet/api/file_manager/v1/openapi.json index 67f391ada..fcac409f7 100755 --- a/dist/openapi/cloudforet/api/file_manager/v1/openapi.json +++ b/dist/openapi/cloudforet/api/file_manager/v1/openapi.json @@ -258,44 +258,6 @@ "required": ["file_id"], "title": "UpdateFileRequest" } - , "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", @@ -464,6 +426,44 @@ "type": "object", "required": ["path","filter"], "title": "Unwind" + } + , "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" } }, "Struct": {"properties": {"type": "object","title": "Struct"}}, diff --git a/dist/openapi/cloudforet/api/identity/v1/openapi.json b/dist/openapi/cloudforet/api/identity/v1/openapi.json index 2f4c3d633..e8ff381e2 100755 --- a/dist/openapi/cloudforet/api/identity/v1/openapi.json +++ b/dist/openapi/cloudforet/api/identity/v1/openapi.json @@ -8,20 +8,20 @@ "title": "Identity API", "version": "3.1.0" }, - "paths":{"/identity/domain/update": { + "paths":{"/identity/user/create": { "post": { - "tags": ["identity > domain"], - "summary": "Update", + "tags": ["identity > user"], + "summary": "Create", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nYou can create user. after create user you have to binding role to user.\nSee role-binding create api.\nExternal type user do not need password.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |plugin_info||PluginInfo||\n |config||Struct||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |backend|LOCAL, EXTERNAL |string|True|\n |domain_id||string|True|\n |password|When backend is LOCAL, password is required. |string||\n |name||string||\n |email||string||\n |user_type|USER, API_USER |string||\n |language|en,ko |string||\n |timezone|UTC, Asia/Seoul |string||\n |tags||Struct||\n |reset_password|If reset_password is true, send email |boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" },"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO" },"config" : {"type": "object","title": "CONFIG" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"password" : {"type": "string","title": "PASSWORD" },"name" : {"type": "string","title": "NAME" },"email" : {"type": "string","title": "EMAIL" },"user_type" : {"type": "string","title": "USER_TYPE" },"backend" : {"type": "string","title": "BACKEND" },"language" : {"type": "string","title": "LANGUAGE" },"timezone" : {"type": "string","title": "TIMEZONE" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"reset_password" : {"type": "boolean","title": "RESET_PASSWORD" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"password\": \"password\",\n \"name\": \"Wonny\",\n \"email\": \"example@cloudforet.com\",\n \"user_type\": \"USER\",\n \"backend\": \"LOCAL\",\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\"\n }\n}"},"Schema":{} } } },"required": true @@ -30,27 +30,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DomainInfo"}, + "schema": {"$ref": "#/components/schemas/UserInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DomainInfo"}} + "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ + "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/domain/change-auth-plugin": { + },"/identity/user/update": { "post": { - "tags": ["identity > domain"], - "summary": "Change Auth Plugin", + "tags": ["identity > user"], + "summary": "Update", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nUpdate user info by given user_id", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |plugin_info||PluginInfo||\n |release_auth_plugin||boolean||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n |password||string||\n |name||string||\n |email||string||\n |language||string||\n |timezone||string||\n |tags||Struct||\n |reset_password||boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" },"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO" },"release_auth_plugin" : {"type": "boolean","title": "RELEASE_AUTH_PLUGIN" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"password" : {"type": "string","title": "PASSWORD" },"name" : {"type": "string","title": "NAME" },"email" : {"type": "string","title": "EMAIL" },"language" : {"type": "string","title": "LANGUAGE" },"timezone" : {"type": "string","title": "TIMEZONE" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"reset_password" : {"type": "boolean","title": "RESET_PASSWORD" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}"},"Schema":{} } } },"required": true @@ -59,25 +61,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DomainInfo"}, + "schema": {"$ref": "#/components/schemas/UserInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DomainInfo"}} + "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ + "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/domain/update-plugin": { + },"/identity/user/verify-email": { "post": { - "tags": ["identity > domain"], - "summary": "Update Plugin", + "tags": ["identity > user"], + "summary": "Verify Email", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |version||string||\n |options||Struct||\n |upgrade_mode|MANUAL, AUTO |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n |email||string||\n |force||boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" },"version" : {"type": "string","title": "VERSION" },"options" : {"type": "object","title": "OPTIONS" },"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"email" : {"type": "string","title": "EMAIL" },"force" : {"type": "boolean","title": "FORCE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -86,27 +90,21 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/DomainInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/DomainInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/domain/verify-plugin": { + },"/identity/user/confirm-email": { "post": { - "tags": ["identity > domain"], - "summary": "Verify Plugin", + "tags": ["identity > user"], + "summary": "Confirm Email", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |verify_code||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"verify_code" : {"type": "string","title": "VERIFY_CODE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -115,21 +113,29 @@ }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/UserInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ + "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" + }} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/domain/get": { + },"/identity/user/reset-password": { "post": { - "tags": ["identity > domain"], - "summary": "Get", + "tags": ["identity > user"], + "summary": "Reset Password", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |only||array||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -138,27 +144,21 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/DomainInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/DomainInfo"}} - } - }} + "description": "Successfull Response"} } - ,"security": [{"HTTPBearer": []}] } - },"/identity/role/create": { + } + },"/identity/user/set-required-actions": { "post": { - "tags": ["identity > role"], - "summary": "Create", + "tags": ["identity > user"], + "summary": "Set Required Actions", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |role_type|SYSTEM, DOMAIN, PROJECT |string|True|\n |policies||array|True|\n |domain_id||string|True|\n |page_permissions||array||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |actions| |array|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"role_type" : {"type": "string","title": "ROLE_TYPE" },"policies" : {"items": {"$ref": "#/components/schemas/RolePolicy"}, "type": "array","title": "POLICIES" },"page_permissions" : {"items": {"$ref": "#/components/schemas/PagePermission"}, "type": "array","title": "PAGE_PERMISSIONS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"actions" : {"items": {}, "type": "array","title": "ACTIONS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -169,27 +169,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RoleInfo"}, + "schema": {"$ref": "#/components/schemas/UserInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RoleInfo"}} + "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ + "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role/update": { + },"/identity/user/enable-mfa": { "post": { - "tags": ["identity > role"], - "summary": "Update", + "tags": ["identity > user"], + "summary": "Enable Mfa", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nEnable MFA for user. If this api is called, send email to user.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_id||string|True|\n |domain_id||string|True|\n |name||string||\n |policies||array||\n |page_permissions||array||\n |tags||Struct||\n |release_page_permissions||boolean||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |mfa_type|EMAIL|string|True|\n |options|If mfa_type is EMAIL, email is required in options. options will be saved in mfa's options field.|Struct|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"role_id" : {"type": "string","title": "ROLE_ID" },"name" : {"type": "string","title": "NAME" },"policies" : {"items": {"$ref": "#/components/schemas/RolePolicy"}, "type": "array","title": "POLICIES" },"page_permissions" : {"items": {"$ref": "#/components/schemas/PagePermission"}, "type": "array","title": "PAGE_PERMISSIONS" },"tags" : {"type": "object","title": "TAGS" },"release_page_permissions" : {"type": "boolean","title": "RELEASE_PAGE_PERMISSIONS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"mfa_type" : {"type": "string","title": "MFA_TYPE" },"options" : {"type": "object","title": "OPTIONS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"mfa_type\": \"EMAIL\",\n \"options\": {\"email\": \"wonny@cloudforet.com\"},\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}"},"Schema":{} } } },"required": true @@ -198,50 +200,60 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RoleInfo"}, + "schema": {"$ref": "#/components/schemas/UserInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RoleInfo"}} + "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ + "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role/delete": { + },"/identity/user/disable-mfa": { "post": { - "tags": ["identity > role"], - "summary": "Delete", + "tags": ["identity > user"], + "summary": "Disable Mfa", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nDisable MFA for user. If this api is called, send email to user.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_id||string|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n |force|If this value true, disable MFA without verification for user. |boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"role_id" : {"type": "string","title": "ROLE_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"force" : {"type": "boolean","title": "FORCE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"force\": false,\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/UserInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ + "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" + }} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role/get": { + },"/identity/user/confirm-mfa": { "post": { - "tags": ["identity > role"], - "summary": "Get", + "tags": ["identity > user"], + "summary": "Confirm Mfa", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nConfirm MFA for user by given verify_code which is sent by your authentication method.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_id||string|True|\n |domain_id||string|True|\n |only||array||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |verify_code||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"role_id" : {"type": "string","title": "ROLE_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"verify_code" : {"type": "string","title": "VERIFY_CODE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet\",\n \"verify_code\": \"123456\",\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}"},"Schema":{} } } },"required": true @@ -250,25 +262,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RoleInfo"}, + "schema": {"$ref": "#/components/schemas/UserInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RoleInfo"}} + "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ + "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role/list": { + },"/identity/user/enable": { "post": { - "tags": ["identity > role"], - "summary": "List", + "tags": ["identity > user"], + "summary": "Enable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |query||Query||\n |role_id||string||\n |name||string||\n |role_type|SYSTEM, DOMAIN, PROJECT |string||\n |policy_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"role_id" : {"type": "string","title": "ROLE_ID" },"name" : {"type": "string","title": "NAME" },"role_type" : {"type": "string","title": "ROLE_TYPE" },"policy_id" : {"type": "string","title": "POLICY_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -279,25 +293,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RolesInfo"}, + "schema": {"$ref": "#/components/schemas/UserInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RolesInfo"}} + "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ + "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role/stat": { + },"/identity/user/disable": { "post": { - "tags": ["identity > role"], - "summary": "Stat", + "tags": ["identity > user"], + "summary": "Disable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -308,25 +324,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/UserInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ + "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role-binding/create": { + },"/identity/user/delete": { "post": { - "tags": ["identity > role-binding"], - "summary": "Create", + "tags": ["identity > user"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |resource_type||string|True|\n |resource_id||string|True|\n |role_id||string|True|\n |domain_id||string|True|\n |project_id||string||\n |project_group_id||string||\n |labels||array||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"resource_id" : {"type": "string","title": "RESOURCE_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -335,27 +353,21 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/RoleBindingInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/RoleBindingInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role-binding/update": { + },"/identity/user/get": { "post": { - "tags": ["identity > role-binding"], - "summary": "Update", + "tags": ["identity > user"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_binding_id||string|True|\n |domain_id||string|True|\n |labels||array||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n |only||array||\n
", "content": { "application/json": { "schema": { - "properties": {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } }, "examples":{"Schema":{} } @@ -366,48 +378,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RoleBindingInfo"}, + "schema": {"$ref": "#/components/schemas/UserInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RoleBindingInfo"}} + "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ + "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role-binding/delete": { + },"/identity/user/list": { "post": { - "tags": ["identity > role-binding"], - "summary": "Delete", + "tags": ["identity > user"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_binding_id||string|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |user_id||string||\n |name||string||\n |state||string||\n |email||string||\n |user_type|USER, API_USER |string||\n |backend|LOCAL, EXTERNAL |string||\n |domain_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } - }, - "examples":{"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response"} - } - ,"security": [{"HTTPBearer": []}] } - },"/identity/role-binding/get": { - "post": { - "tags": ["identity > role-binding"], - "summary": "Get", - "operationId" : "", - "description": "### Description \n", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_binding_id||string|True|\n |domain_id||string|True|\n |only||array||\n
", - "content": { - "application/json": { - "schema": { - "properties": {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"user_id" : {"type": "string","title": "USER_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"email" : {"type": "string","title": "EMAIL" },"user_type" : {"type": "string","title": "USER_TYPE" },"backend" : {"type": "string","title": "BACKEND" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -418,25 +409,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RoleBindingInfo"}, + "schema": {"$ref": "#/components/schemas/UsersInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RoleBindingInfo"}} + "Schema": {"$ref": "#/components/schemas/UsersInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role-binding/list": { + },"/identity/user/stat": { "post": { - "tags": ["identity > role-binding"], - "summary": "List", + "tags": ["identity > user"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |query||Query||\n |role_binding_id||string||\n |resource_type||string||\n |resource_id||string||\n |role_id||string||\n |role_type||string||\n |project_id||string||\n |project_group_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"resource_id" : {"type": "string","title": "RESOURCE_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"role_type" : {"type": "string","title": "ROLE_TYPE" },"project_id" : {"type": "string","title": "PROJECT_ID" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -447,25 +438,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RoleBindingsInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RoleBindingsInfo"}} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role-binding/stat": { + },"/identity/user/find": { "post": { - "tags": ["identity > role-binding"], - "summary": "Stat", + "tags": ["identity > user"], + "summary": "Find", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |search||FindUserSearch|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"search" : {"$ref": "#/components/schemas/FindUserSearch","title": "SEARCH" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -476,25 +467,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/FindUsersInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/FindUsersInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/create": { + },"/identity/user/sync": { "post": { - "tags": ["identity > project"], - "summary": "Create", + "tags": ["identity > user"], + "summary": "Sync", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |project_group_id||string|True|\n |domain_id||string|True|\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -505,25 +496,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectInfo"}, + "schema": {"$ref": "#/components/schemas/UserInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} + "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ + "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/update": { + },"/identity/token/issue": { "post": { - "tags": ["identity > project"], - "summary": "Update", + "tags": ["identity > token"], + "summary": "Issue", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |domain_id||string|True|\n |project_group_id||string||\n |name||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |credentials||Struct|True|\n |domain_id||string|True|\n |user_id||string||\n |user_type|LOCAL, EXTERNAL |string||\n |timeout||int||\n |refresh_count||int||\n |verify_code|if MFA is enabled, verify_code is required |string||\n
", "content": { "application/json": { "schema": { - "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"credentials" : {"type": "object","title": "CREDENTIALS" },"user_type" : {"type": "string","title": "USER_TYPE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"timeout" : {"type": "integer","title": "TIMEOUT" },"refresh_count" : {"type": "integer","title": "REFRESH_COUNT" },"verify_code" : {"type": "string","title": "VERIFY_CODE" } } }, "examples":{"Schema":{} } @@ -534,25 +527,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectInfo"}, + "schema": {"$ref": "#/components/schemas/TokenInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} + "Schema": {"$ref": "#/components/schemas/TokenInfo"}} } }} } - ,"security": [{"HTTPBearer": []}] } - },"/identity/project/delete": { + } + },"/identity/token/refresh": { "post": { - "tags": ["identity > project"], - "summary": "Delete", + "tags": ["identity > token"], + "summary": "Refresh", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |domain_id||string|True|\n
", + "description": "
", "content": { "application/json": { "schema": { - "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": { } }, "examples":{"Schema":{} } @@ -561,21 +554,27 @@ }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/TokenInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/TokenInfo"}} + } + }} } - ,"security": [{"HTTPBearer": []}] } - },"/identity/project/get": { + } + },"/identity/provider/create": { "post": { - "tags": ["identity > project"], - "summary": "Get", + "tags": ["identity > provider"], + "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |domain_id||string|True|\n |only||array||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider||string|True|\n |name||string|True|\n |template||Struct|True|\n |domain_id||string|True|\n |order||int||\n |metadata||Struct||\n |capability||Struct||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } + "properties": {"provider" : {"type": "string","title": "PROVIDER" },"name" : {"type": "string","title": "NAME" },"order" : {"type": "integer","title": "ORDER" },"template" : {"type": "object","title": "TEMPLATE" },"metadata" : {"type": "object","title": "METADATA" },"capability" : {"type": "object","title": "CAPABILITY" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -586,25 +585,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectInfo"}, + "schema": {"$ref": "#/components/schemas/ProviderInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} + "Schema": {"$ref": "#/components/schemas/ProviderInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/list": { + },"/identity/provider/update": { "post": { - "tags": ["identity > project"], - "summary": "List", + "tags": ["identity > provider"], + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |query||Query||\n |project_id||string||\n |name||string||\n |project_group_id||string||\n |user_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider||string|True|\n |domain_id||string|True|\n |name||string||\n |order||int||\n |template||Struct||\n |metadata||Struct||\n |capability||Struct||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"project_id" : {"type": "string","title": "PROJECT_ID" },"name" : {"type": "string","title": "NAME" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"provider" : {"type": "string","title": "PROVIDER" },"name" : {"type": "string","title": "NAME" },"order" : {"type": "integer","title": "ORDER" },"template" : {"type": "object","title": "TEMPLATE" },"metadata" : {"type": "object","title": "METADATA" },"capability" : {"type": "object","title": "CAPABILITY" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -615,25 +614,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectsInfo"}, + "schema": {"$ref": "#/components/schemas/ProviderInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectsInfo"}} + "Schema": {"$ref": "#/components/schemas/ProviderInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/stat": { + },"/identity/provider/delete": { "post": { - "tags": ["identity > project"], - "summary": "Stat", + "tags": ["identity > provider"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"provider" : {"type": "string","title": "PROVIDER" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -642,27 +641,21 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"type": "object"}, - "examples": { - "Schema": {"type": "object"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/add-member": { + },"/identity/provider/get": { "post": { - "tags": ["identity > project"], - "summary": "Add Member", + "tags": ["identity > provider"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |user_id||string|True|\n |domain_id||string|True|\n |role_id||string||\n |labels||array||\n |tags||Struct||\n |is_external_user||boolean||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider||string|True|\n |domain_id||string|True|\n |only||array||\n
", "content": { "application/json": { "schema": { - "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"user_id" : {"type": "string","title": "USER_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"is_external_user" : {"type": "boolean","title": "IS_EXTERNAL_USER" } } + "properties": {"provider" : {"type": "string","title": "PROVIDER" },"only" : {"items": {}, "type": "array","title": "ONLY" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -673,25 +666,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectRoleBindingInfo"}, + "schema": {"$ref": "#/components/schemas/ProviderInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectRoleBindingInfo"}} + "Schema": {"$ref": "#/components/schemas/ProviderInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/modify-member": { + },"/identity/provider/list": { "post": { - "tags": ["identity > project"], - "summary": "Modify Member", + "tags": ["identity > provider"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |user_id||string|True|\n |domain_id||string|True|\n |labels||array||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |query||Query||\n |provider||string||\n |name||string||\n
", "content": { "application/json": { "schema": { - "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"user_id" : {"type": "string","title": "USER_ID" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"provider" : {"type": "string","title": "PROVIDER" },"name" : {"type": "string","title": "NAME" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -702,25 +695,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectRoleBindingInfo"}, + "schema": {"$ref": "#/components/schemas/ProvidersInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectRoleBindingInfo"}} + "Schema": {"$ref": "#/components/schemas/ProvidersInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/remove-member": { + },"/identity/provider/stat": { "post": { - "tags": ["identity > project"], - "summary": "Remove Member", + "tags": ["identity > provider"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |user_id||string|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -729,21 +722,27 @@ }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"type": "object"}, + "examples": { + "Schema": {"type": "object"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/list-members": { + },"/identity/api-key/create": { "post": { - "tags": ["identity > project"], - "summary": "List Members", + "tags": ["identity > api-key"], + "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |domain_id||string|True|\n |query||Query||\n |user_id||string||\n |role_id||string||\n |include_parent_member||boolean||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"project_id" : {"type": "string","title": "PROJECT_ID" },"user_id" : {"type": "string","title": "USER_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"include_parent_member" : {"type": "boolean","title": "INCLUDE_PARENT_MEMBER" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -754,25 +753,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectRoleBindingsInfo"}, + "schema": {"$ref": "#/components/schemas/APIKeyInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectRoleBindingsInfo"}} + "Schema": {"$ref": "#/components/schemas/APIKeyInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/create": { + },"/identity/api-key/enable": { "post": { - "tags": ["identity > project-group"], - "summary": "Create", + "tags": ["identity > api-key"], + "summary": "Enable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |domain_id||string|True|\n |parent_project_group_id||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |api_key_id||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"parent_project_group_id" : {"type": "string","title": "PARENT_PROJECT_GROUP_ID" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"api_key_id" : {"type": "string","title": "API_KEY_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -783,25 +782,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, + "schema": {"$ref": "#/components/schemas/APIKeyInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} + "Schema": {"$ref": "#/components/schemas/APIKeyInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/update": { + },"/identity/api-key/disable": { "post": { - "tags": ["identity > project-group"], - "summary": "Update", + "tags": ["identity > api-key"], + "summary": "Disable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |domain_id||string|True|\n |name||string||\n |parent_project_group_id||string||\n |release_parent_project_group||boolean||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |api_key_id||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"name" : {"type": "string","title": "NAME" },"parent_project_group_id" : {"type": "string","title": "PARENT_PROJECT_GROUP_ID" },"release_parent_project_group" : {"type": "boolean","title": "RELEASE_PARENT_PROJECT_GROUP" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"api_key_id" : {"type": "string","title": "API_KEY_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -812,25 +811,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, + "schema": {"$ref": "#/components/schemas/APIKeyInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} + "Schema": {"$ref": "#/components/schemas/APIKeyInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/delete": { + },"/identity/api-key/delete": { "post": { - "tags": ["identity > project-group"], + "tags": ["identity > api-key"], "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |api_key_id||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"api_key_id" : {"type": "string","title": "API_KEY_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -842,18 +841,18 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/get": { + },"/identity/api-key/get": { "post": { - "tags": ["identity > project-group"], + "tags": ["identity > api-key"], "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |domain_id||string|True|\n |only||array||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |api_key_id||string|True|\n |domain_id||string|True|\n |only||array||\n
", "content": { "application/json": { "schema": { - "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } + "properties": {"api_key_id" : {"type": "string","title": "API_KEY_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } }, "examples":{"Schema":{} } @@ -864,25 +863,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, + "schema": {"$ref": "#/components/schemas/APIKeyInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} + "Schema": {"$ref": "#/components/schemas/APIKeyInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/list": { + },"/identity/api-key/list": { "post": { - "tags": ["identity > project-group"], + "tags": ["identity > api-key"], "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |query||Query||\n |project_group_id||string||\n |name||string||\n |parent_project_group_id||string||\n |author_within||boolean||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |query||Query||\n |api_key_id||string||\n |state|ENABLED, DISABLED |string||\n |user_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"name" : {"type": "string","title": "NAME" },"parent_project_group_id" : {"type": "string","title": "PARENT_PROJECT_GROUP_ID" },"author_within" : {"type": "boolean","title": "AUTHOR_WITHIN" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"api_key_id" : {"type": "string","title": "API_KEY_ID" },"state" : {"type": "string","title": "STATE" },"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -893,16 +892,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectGroupsInfo"}, + "schema": {"$ref": "#/components/schemas/APIKeysInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectGroupsInfo"}} + "Schema": {"$ref": "#/components/schemas/APIKeysInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/stat": { + },"/identity/api-key/stat": { "post": { - "tags": ["identity > project-group"], + "tags": ["identity > api-key"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -929,18 +928,18 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/add-member": { + },"/identity/role-binding/create": { "post": { - "tags": ["identity > project-group"], - "summary": "Add Member", + "tags": ["identity > role-binding"], + "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |user_id||string|True|\n |domain_id||string|True|\n |role_id||string||\n |labels||array||\n |tags||Struct||\n |is_external_user||boolean||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |resource_type||string|True|\n |resource_id||string|True|\n |role_id||string|True|\n |domain_id||string|True|\n |project_id||string||\n |project_group_id||string||\n |labels||array||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"user_id" : {"type": "string","title": "USER_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"is_external_user" : {"type": "boolean","title": "IS_EXTERNAL_USER" } } + "properties": {"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"resource_id" : {"type": "string","title": "RESOURCE_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -951,25 +950,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectGroupRoleBindingInfo"}, + "schema": {"$ref": "#/components/schemas/RoleBindingInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectGroupRoleBindingInfo"}} + "Schema": {"$ref": "#/components/schemas/RoleBindingInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/modify-member": { + },"/identity/role-binding/update": { "post": { - "tags": ["identity > project-group"], - "summary": "Modify Member", + "tags": ["identity > role-binding"], + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |user_id||string|True|\n |domain_id||string|True|\n |labels||array||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_binding_id||string|True|\n |domain_id||string|True|\n |labels||array||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"user_id" : {"type": "string","title": "USER_ID" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -980,25 +979,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectGroupRoleBindingInfo"}, + "schema": {"$ref": "#/components/schemas/RoleBindingInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectGroupRoleBindingInfo"}} + "Schema": {"$ref": "#/components/schemas/RoleBindingInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/remove-member": { + },"/identity/role-binding/delete": { "post": { - "tags": ["identity > project-group"], - "summary": "Remove Member", + "tags": ["identity > role-binding"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |user_id||string|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_binding_id||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -1010,18 +1009,18 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/list-members": { + },"/identity/role-binding/get": { "post": { - "tags": ["identity > project-group"], - "summary": "List Members", + "tags": ["identity > role-binding"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |domain_id||string|True|\n |query||Query||\n |user_id||string||\n |role_id||string||\n |include_parent_member||boolean||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_binding_id||string|True|\n |domain_id||string|True|\n |only||array||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"user_id" : {"type": "string","title": "USER_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"include_parent_member" : {"type": "boolean","title": "INCLUDE_PARENT_MEMBER" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } }, "examples":{"Schema":{} } @@ -1032,25 +1031,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectGroupRoleBindingsInfo"}, + "schema": {"$ref": "#/components/schemas/RoleBindingInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectGroupRoleBindingsInfo"}} + "Schema": {"$ref": "#/components/schemas/RoleBindingInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/list-projects": { + },"/identity/role-binding/list": { "post": { - "tags": ["identity > project-group"], - "summary": "List Projects", + "tags": ["identity > role-binding"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |domain_id||string|True|\n |query||Query||\n |recursive||boolean||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |query||Query||\n |role_binding_id||string||\n |resource_type||string||\n |resource_id||string||\n |role_id||string||\n |role_type||string||\n |project_id||string||\n |project_group_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"recursive" : {"type": "boolean","title": "RECURSIVE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"resource_id" : {"type": "string","title": "RESOURCE_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"role_type" : {"type": "string","title": "ROLE_TYPE" },"project_id" : {"type": "string","title": "PROJECT_ID" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -1061,25 +1060,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectGroupProjectsInfo"}, + "schema": {"$ref": "#/components/schemas/RoleBindingsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectGroupProjectsInfo"}} + "Schema": {"$ref": "#/components/schemas/RoleBindingsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/api-key/create": { + },"/identity/role-binding/stat": { "post": { - "tags": ["identity > api-key"], - "summary": "Create", + "tags": ["identity > role-binding"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -1090,25 +1089,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/APIKeyInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/APIKeyInfo"}} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/api-key/enable": { + },"/identity/project-group/create": { "post": { - "tags": ["identity > api-key"], - "summary": "Enable", + "tags": ["identity > project-group"], + "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |api_key_id||string|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |domain_id||string|True|\n |parent_project_group_id||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"api_key_id" : {"type": "string","title": "API_KEY_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"name" : {"type": "string","title": "NAME" },"parent_project_group_id" : {"type": "string","title": "PARENT_PROJECT_GROUP_ID" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -1119,25 +1118,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/APIKeyInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/APIKeyInfo"}} + "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/api-key/disable": { + },"/identity/project-group/update": { "post": { - "tags": ["identity > api-key"], - "summary": "Disable", + "tags": ["identity > project-group"], + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |api_key_id||string|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |domain_id||string|True|\n |name||string||\n |parent_project_group_id||string||\n |release_parent_project_group||boolean||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"api_key_id" : {"type": "string","title": "API_KEY_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"name" : {"type": "string","title": "NAME" },"parent_project_group_id" : {"type": "string","title": "PARENT_PROJECT_GROUP_ID" },"release_parent_project_group" : {"type": "boolean","title": "RELEASE_PARENT_PROJECT_GROUP" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -1148,25 +1147,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/APIKeyInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/APIKeyInfo"}} + "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/api-key/delete": { + },"/identity/project-group/delete": { "post": { - "tags": ["identity > api-key"], + "tags": ["identity > project-group"], "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |api_key_id||string|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"api_key_id" : {"type": "string","title": "API_KEY_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -1178,18 +1177,18 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/api-key/get": { + },"/identity/project-group/get": { "post": { - "tags": ["identity > api-key"], + "tags": ["identity > project-group"], "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |api_key_id||string|True|\n |domain_id||string|True|\n |only||array||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |domain_id||string|True|\n |only||array||\n
", "content": { "application/json": { "schema": { - "properties": {"api_key_id" : {"type": "string","title": "API_KEY_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } + "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } }, "examples":{"Schema":{} } @@ -1200,25 +1199,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/APIKeyInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/APIKeyInfo"}} + "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/api-key/list": { + },"/identity/project-group/list": { "post": { - "tags": ["identity > api-key"], + "tags": ["identity > project-group"], "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |query||Query||\n |api_key_id||string||\n |state|ENABLED, DISABLED |string||\n |user_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |query||Query||\n |project_group_id||string||\n |name||string||\n |parent_project_group_id||string||\n |author_within||boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"api_key_id" : {"type": "string","title": "API_KEY_ID" },"state" : {"type": "string","title": "STATE" },"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"name" : {"type": "string","title": "NAME" },"parent_project_group_id" : {"type": "string","title": "PARENT_PROJECT_GROUP_ID" },"author_within" : {"type": "boolean","title": "AUTHOR_WITHIN" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -1229,16 +1228,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/APIKeysInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectGroupsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/APIKeysInfo"}} + "Schema": {"$ref": "#/components/schemas/ProjectGroupsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/api-key/stat": { + },"/identity/project-group/stat": { "post": { - "tags": ["identity > api-key"], + "tags": ["identity > project-group"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -1265,18 +1264,18 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/provider/create": { + },"/identity/project-group/add-member": { "post": { - "tags": ["identity > provider"], - "summary": "Create", + "tags": ["identity > project-group"], + "summary": "Add Member", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider||string|True|\n |name||string|True|\n |template||Struct|True|\n |domain_id||string|True|\n |order||int||\n |metadata||Struct||\n |capability||Struct||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |user_id||string|True|\n |domain_id||string|True|\n |role_id||string||\n |labels||array||\n |tags||Struct||\n |is_external_user||boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"provider" : {"type": "string","title": "PROVIDER" },"name" : {"type": "string","title": "NAME" },"order" : {"type": "integer","title": "ORDER" },"template" : {"type": "object","title": "TEMPLATE" },"metadata" : {"type": "object","title": "METADATA" },"capability" : {"type": "object","title": "CAPABILITY" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"user_id" : {"type": "string","title": "USER_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"is_external_user" : {"type": "boolean","title": "IS_EXTERNAL_USER" } } }, "examples":{"Schema":{} } @@ -1287,25 +1286,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProviderInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectGroupRoleBindingInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProviderInfo"}} + "Schema": {"$ref": "#/components/schemas/ProjectGroupRoleBindingInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/provider/update": { + },"/identity/project-group/modify-member": { "post": { - "tags": ["identity > provider"], - "summary": "Update", + "tags": ["identity > project-group"], + "summary": "Modify Member", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider||string|True|\n |domain_id||string|True|\n |name||string||\n |order||int||\n |template||Struct||\n |metadata||Struct||\n |capability||Struct||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |user_id||string|True|\n |domain_id||string|True|\n |labels||array||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"provider" : {"type": "string","title": "PROVIDER" },"name" : {"type": "string","title": "NAME" },"order" : {"type": "integer","title": "ORDER" },"template" : {"type": "object","title": "TEMPLATE" },"metadata" : {"type": "object","title": "METADATA" },"capability" : {"type": "object","title": "CAPABILITY" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"user_id" : {"type": "string","title": "USER_ID" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -1316,25 +1315,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProviderInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectGroupRoleBindingInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProviderInfo"}} + "Schema": {"$ref": "#/components/schemas/ProjectGroupRoleBindingInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/provider/delete": { + },"/identity/project-group/remove-member": { "post": { - "tags": ["identity > provider"], - "summary": "Delete", + "tags": ["identity > project-group"], + "summary": "Remove Member", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider||string|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |user_id||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"provider" : {"type": "string","title": "PROVIDER" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -1346,18 +1345,18 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/provider/get": { + },"/identity/project-group/list-members": { "post": { - "tags": ["identity > provider"], - "summary": "Get", + "tags": ["identity > project-group"], + "summary": "List Members", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider||string|True|\n |domain_id||string|True|\n |only||array||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |domain_id||string|True|\n |query||Query||\n |user_id||string||\n |role_id||string||\n |include_parent_member||boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"provider" : {"type": "string","title": "PROVIDER" },"only" : {"items": {}, "type": "array","title": "ONLY" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"user_id" : {"type": "string","title": "USER_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"include_parent_member" : {"type": "boolean","title": "INCLUDE_PARENT_MEMBER" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -1368,25 +1367,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProviderInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectGroupRoleBindingsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProviderInfo"}} + "Schema": {"$ref": "#/components/schemas/ProjectGroupRoleBindingsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/provider/list": { + },"/identity/project-group/list-projects": { "post": { - "tags": ["identity > provider"], - "summary": "List", + "tags": ["identity > project-group"], + "summary": "List Projects", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |query||Query||\n |provider||string||\n |name||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |domain_id||string|True|\n |query||Query||\n |recursive||boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"provider" : {"type": "string","title": "PROVIDER" },"name" : {"type": "string","title": "NAME" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"recursive" : {"type": "boolean","title": "RECURSIVE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -1397,25 +1396,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProvidersInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectGroupProjectsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProvidersInfo"}} + "Schema": {"$ref": "#/components/schemas/ProjectGroupProjectsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/provider/stat": { + },"/identity/domain/update": { "post": { - "tags": ["identity > provider"], - "summary": "Stat", + "tags": ["identity > domain"], + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |plugin_info||PluginInfo||\n |config||Struct||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" },"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO" },"config" : {"type": "object","title": "CONFIG" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -1426,25 +1425,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/DomainInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/DomainInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/endpoint/list": { + },"/identity/domain/change-auth-plugin": { "post": { - "tags": ["identity > endpoint"], - "summary": "List", + "tags": ["identity > domain"], + "summary": "Change Auth Plugin", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |query||Query||\n |service||string||\n |endpoint_type|example: public | internal |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |plugin_info||PluginInfo||\n |release_auth_plugin||boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"service" : {"type": "string","title": "SERVICE" },"endpoint_type" : {"type": "string","title": "ENDPOINT_TYPE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" },"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO" },"release_auth_plugin" : {"type": "boolean","title": "RELEASE_AUTH_PLUGIN" } } }, "examples":{"Schema":{} } @@ -1455,25 +1454,106 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/EndpointsInfo"}, + "schema": {"$ref": "#/components/schemas/DomainInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/EndpointsInfo"}} + "Schema": {"$ref": "#/components/schemas/DomainInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/policy/create": { + },"/identity/domain/update-plugin": { "post": { - "tags": ["identity > policy"], + "tags": ["identity > domain"], + "summary": "Update Plugin", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |version||string||\n |options||Struct||\n |upgrade_mode|MANUAL, AUTO |string||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" },"version" : {"type": "string","title": "VERSION" },"options" : {"type": "object","title": "OPTIONS" },"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/DomainInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/DomainInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/identity/domain/verify-plugin": { + "post": { + "tags": ["identity > domain"], + "summary": "Verify Plugin", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n
", + "content": { + "application/json": { + "schema": { + "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response"} + } + ,"security": [{"HTTPBearer": []}] } + },"/identity/domain/get": { + "post": { + "tags": ["identity > domain"], + "summary": "Get", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |only||array||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/DomainInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/DomainInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/identity/role/create": { + "post": { + "tags": ["identity > role"], "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |permissions||array|True|\n |domain_id||string|True|\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |role_type|SYSTEM, DOMAIN, PROJECT |string|True|\n |policies||array|True|\n |domain_id||string|True|\n |page_permissions||array||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"permissions" : {"items": {}, "type": "array","title": "PERMISSIONS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"name" : {"type": "string","title": "NAME" },"role_type" : {"type": "string","title": "ROLE_TYPE" },"policies" : {"items": {"$ref": "#/components/schemas/RolePolicy"}, "type": "array","title": "POLICIES" },"page_permissions" : {"items": {"$ref": "#/components/schemas/PagePermission"}, "type": "array","title": "PAGE_PERMISSIONS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -1484,25 +1564,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PolicyInfo"}, + "schema": {"$ref": "#/components/schemas/RoleInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PolicyInfo"}} + "Schema": {"$ref": "#/components/schemas/RoleInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/policy/update": { + },"/identity/role/update": { "post": { - "tags": ["identity > policy"], + "tags": ["identity > role"], "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |policy_id||string|True|\n |domain_id||string|True|\n |name||string||\n |permissions||array||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_id||string|True|\n |domain_id||string|True|\n |name||string||\n |policies||array||\n |page_permissions||array||\n |tags||Struct||\n |release_page_permissions||boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"policy_id" : {"type": "string","title": "POLICY_ID" },"name" : {"type": "string","title": "NAME" },"permissions" : {"items": {}, "type": "array","title": "PERMISSIONS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"role_id" : {"type": "string","title": "ROLE_ID" },"name" : {"type": "string","title": "NAME" },"policies" : {"items": {"$ref": "#/components/schemas/RolePolicy"}, "type": "array","title": "POLICIES" },"page_permissions" : {"items": {"$ref": "#/components/schemas/PagePermission"}, "type": "array","title": "PAGE_PERMISSIONS" },"tags" : {"type": "object","title": "TAGS" },"release_page_permissions" : {"type": "boolean","title": "RELEASE_PAGE_PERMISSIONS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -1513,25 +1593,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PolicyInfo"}, + "schema": {"$ref": "#/components/schemas/RoleInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PolicyInfo"}} + "Schema": {"$ref": "#/components/schemas/RoleInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/policy/delete": { + },"/identity/role/delete": { "post": { - "tags": ["identity > policy"], + "tags": ["identity > role"], "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |policy_id||string|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_id||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"policy_id" : {"type": "string","title": "POLICY_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"role_id" : {"type": "string","title": "ROLE_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -1543,18 +1623,18 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/policy/get": { + },"/identity/role/get": { "post": { - "tags": ["identity > policy"], + "tags": ["identity > role"], "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |policy_id||string|True|\n |domain_id||string|True|\n |only||array||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_id||string|True|\n |domain_id||string|True|\n |only||array||\n
", "content": { "application/json": { "schema": { - "properties": {"policy_id" : {"type": "string","title": "POLICY_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } + "properties": {"role_id" : {"type": "string","title": "ROLE_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } }, "examples":{"Schema":{} } @@ -1565,25 +1645,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PolicyInfo"}, + "schema": {"$ref": "#/components/schemas/RoleInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PolicyInfo"}} + "Schema": {"$ref": "#/components/schemas/RoleInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/policy/list": { + },"/identity/role/list": { "post": { - "tags": ["identity > policy"], + "tags": ["identity > role"], "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |policy_id||string||\n |name||string||\n |domain_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |query||Query||\n |role_id||string||\n |name||string||\n |role_type|SYSTEM, DOMAIN, PROJECT |string||\n |policy_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"policy_id" : {"type": "string","title": "POLICY_ID" },"name" : {"type": "string","title": "NAME" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"role_id" : {"type": "string","title": "ROLE_ID" },"name" : {"type": "string","title": "NAME" },"role_type" : {"type": "string","title": "ROLE_TYPE" },"policy_id" : {"type": "string","title": "POLICY_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -1594,16 +1674,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PoliciesInfo"}, + "schema": {"$ref": "#/components/schemas/RolesInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PoliciesInfo"}} + "Schema": {"$ref": "#/components/schemas/RolesInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/policy/stat": { + },"/identity/role/stat": { "post": { - "tags": ["identity > policy"], + "tags": ["identity > role"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -1630,6 +1710,93 @@ }} } ,"security": [{"HTTPBearer": []}] } + },"/identity/domain-owner/update": { + "post": { + "tags": ["identity > domain-owner"], + "summary": "Update", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |owner_id||string|True|\n |domain_id||string|True|\n |password||string||\n |name||string||\n |email||string||\n |language||string||\n |timezone||string||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"owner_id" : {"type": "string","title": "OWNER_ID" },"password" : {"type": "string","title": "PASSWORD" },"name" : {"type": "string","title": "NAME" },"email" : {"type": "string","title": "EMAIL" },"language" : {"type": "string","title": "LANGUAGE" },"timezone" : {"type": "string","title": "TIMEZONE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/DomainOwnerInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/DomainOwnerInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/identity/domain-owner/get": { + "post": { + "tags": ["identity > domain-owner"], + "summary": "Get", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |owner_id||string|True|\n |only||array||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" },"owner_id" : {"type": "string","title": "OWNER_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/DomainOwnerInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/DomainOwnerInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/identity/endpoint/list": { + "post": { + "tags": ["identity > endpoint"], + "summary": "List", + "operationId" : "", + "description": "### Description \n", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |query||Query||\n |service||string||\n |endpoint_type|example: public | internal |string||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"service" : {"type": "string","title": "SERVICE" },"endpoint_type" : {"type": "string","title": "ENDPOINT_TYPE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + }, + "examples":{"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/EndpointsInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/EndpointsInfo"}} + } + }} + } + ,"security": [{"HTTPBearer": []}] } },"/identity/service-account/create": { "post": { "tags": ["identity > service-account"], @@ -1798,20 +1965,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/create": { + },"/identity/project/create": { "post": { - "tags": ["identity > user"], + "tags": ["identity > project"], "summary": "Create", "operationId" : "", - "description": "### Description \nYou can create user. after create user you have to binding role to user.\nSee role-binding create api.\nExternal type user do not need password.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |backend|LOCAL, EXTERNAL |string|True|\n |domain_id||string|True|\n |password|When backend is LOCAL, password is required. |string||\n |name||string||\n |email||string||\n |user_type|USER, API_USER |string||\n |language|en,ko |string||\n |timezone|UTC, Asia/Seoul |string||\n |tags||Struct||\n |reset_password|If reset_password is true, send email |boolean||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |project_group_id||string|True|\n |domain_id||string|True|\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"password" : {"type": "string","title": "PASSWORD" },"name" : {"type": "string","title": "NAME" },"email" : {"type": "string","title": "EMAIL" },"user_type" : {"type": "string","title": "USER_TYPE" },"backend" : {"type": "string","title": "BACKEND" },"language" : {"type": "string","title": "LANGUAGE" },"timezone" : {"type": "string","title": "TIMEZONE" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"reset_password" : {"type": "boolean","title": "RESET_PASSWORD" } } + "properties": {"name" : {"type": "string","title": "NAME" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"password\": \"password\",\n \"name\": \"Wonny\",\n \"email\": \"example@cloudforet.com\",\n \"user_type\": \"USER\",\n \"backend\": \"LOCAL\",\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\"\n }\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -1820,29 +1987,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ - "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/update": { + },"/identity/project/update": { "post": { - "tags": ["identity > user"], + "tags": ["identity > project"], "summary": "Update", "operationId" : "", - "description": "### Description \nUpdate user info by given user_id", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n |password||string||\n |name||string||\n |email||string||\n |language||string||\n |timezone||string||\n |tags||Struct||\n |reset_password||boolean||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |domain_id||string|True|\n |project_group_id||string||\n |name||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"password" : {"type": "string","title": "PASSWORD" },"name" : {"type": "string","title": "NAME" },"email" : {"type": "string","title": "EMAIL" },"language" : {"type": "string","title": "LANGUAGE" },"timezone" : {"type": "string","title": "TIMEZONE" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"reset_password" : {"type": "boolean","title": "RESET_PASSWORD" } } + "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -1851,27 +2016,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ - "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/verify-email": { + },"/identity/project/delete": { "post": { - "tags": ["identity > user"], - "summary": "Verify Email", + "tags": ["identity > project"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n |email||string||\n |force||boolean||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"email" : {"type": "string","title": "EMAIL" },"force" : {"type": "boolean","title": "FORCE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -1883,18 +2046,18 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/confirm-email": { + },"/identity/project/get": { "post": { - "tags": ["identity > user"], - "summary": "Confirm Email", + "tags": ["identity > project"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |verify_code||string|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |domain_id||string|True|\n |only||array||\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"verify_code" : {"type": "string","title": "VERIFY_CODE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } }, "examples":{"Schema":{} } @@ -1905,50 +2068,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ - "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/reset-password": { - "post": { - "tags": ["identity > user"], - "summary": "Reset Password", - "operationId" : "", - "description": "### Description \n", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n
", - "content": { - "application/json": { - "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } - }, - "examples":{"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response"} - } - } - },"/identity/user/set-required-actions": { + },"/identity/project/list": { "post": { - "tags": ["identity > user"], - "summary": "Set Required Actions", + "tags": ["identity > project"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |actions| |array|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |query||Query||\n |project_id||string||\n |name||string||\n |project_group_id||string||\n |user_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"actions" : {"items": {}, "type": "array","title": "ACTIONS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"project_id" : {"type": "string","title": "PROJECT_ID" },"name" : {"type": "string","title": "NAME" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -1959,29 +2097,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ - "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/ProjectsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/enable-mfa": { + },"/identity/project/stat": { "post": { - "tags": ["identity > user"], - "summary": "Enable Mfa", + "tags": ["identity > project"], + "summary": "Stat", "operationId" : "", - "description": "### Description \nEnable MFA for user. If this api is called, send email to user.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |mfa_type|EMAIL|string|True|\n |options|If mfa_type is EMAIL, email is required in options. options will be saved in mfa's options field.|Struct|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"mfa_type" : {"type": "string","title": "MFA_TYPE" },"options" : {"type": "object","title": "OPTIONS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"mfa_type\": \"EMAIL\",\n \"options\": {\"email\": \"wonny@cloudforet.com\"},\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -1990,29 +2126,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ - "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" - }} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/disable-mfa": { + },"/identity/project/add-member": { "post": { - "tags": ["identity > user"], - "summary": "Disable Mfa", + "tags": ["identity > project"], + "summary": "Add Member", "operationId" : "", - "description": "### Description \nDisable MFA for user. If this api is called, send email to user.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n |force|If this value true, disable MFA without verification for user. |boolean||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |user_id||string|True|\n |domain_id||string|True|\n |role_id||string||\n |labels||array||\n |tags||Struct||\n |is_external_user||boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"force" : {"type": "boolean","title": "FORCE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"user_id" : {"type": "string","title": "USER_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"is_external_user" : {"type": "boolean","title": "IS_EXTERNAL_USER" } } }, - "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"force\": false,\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -2021,29 +2155,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectRoleBindingInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ - "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/ProjectRoleBindingInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/confirm-mfa": { + },"/identity/project/modify-member": { "post": { - "tags": ["identity > user"], - "summary": "Confirm Mfa", + "tags": ["identity > project"], + "summary": "Modify Member", "operationId" : "", - "description": "### Description \nConfirm MFA for user by given verify_code which is sent by your authentication method.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |verify_code||string|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |user_id||string|True|\n |domain_id||string|True|\n |labels||array||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"verify_code" : {"type": "string","title": "VERIFY_CODE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"user_id" : {"type": "string","title": "USER_ID" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet\",\n \"verify_code\": \"123456\",\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -2052,27 +2184,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectRoleBindingInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ - "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/ProjectRoleBindingInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/enable": { + },"/identity/project/remove-member": { "post": { - "tags": ["identity > user"], - "summary": "Enable", + "tags": ["identity > project"], + "summary": "Remove Member", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |user_id||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -2081,29 +2211,21 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ - "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" - }} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/disable": { + },"/identity/project/list-members": { "post": { - "tags": ["identity > user"], - "summary": "Disable", + "tags": ["identity > project"], + "summary": "List Members", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |domain_id||string|True|\n |query||Query||\n |user_id||string||\n |role_id||string||\n |include_parent_member||boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"project_id" : {"type": "string","title": "PROJECT_ID" },"user_id" : {"type": "string","title": "USER_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"include_parent_member" : {"type": "boolean","title": "INCLUDE_PARENT_MEMBER" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -2114,27 +2236,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectRoleBindingsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ - "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/ProjectRoleBindingsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/delete": { + },"/identity/policy/create": { "post": { - "tags": ["identity > user"], - "summary": "Delete", + "tags": ["identity > policy"], + "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |permissions||array|True|\n |domain_id||string|True|\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"name" : {"type": "string","title": "NAME" },"permissions" : {"items": {}, "type": "array","title": "PERMISSIONS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -2143,21 +2263,27 @@ }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/PolicyInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/PolicyInfo"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/get": { + },"/identity/policy/update": { "post": { - "tags": ["identity > user"], - "summary": "Get", + "tags": ["identity > policy"], + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n |only||array||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |policy_id||string|True|\n |domain_id||string|True|\n |name||string||\n |permissions||array||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } + "properties": {"policy_id" : {"type": "string","title": "POLICY_ID" },"name" : {"type": "string","title": "NAME" },"permissions" : {"items": {}, "type": "array","title": "PERMISSIONS" },"tags" : {"type": "object","title": "TAGS" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -2168,27 +2294,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, + "schema": {"$ref": "#/components/schemas/PolicyInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ - "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/PolicyInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/list": { + },"/identity/policy/delete": { "post": { - "tags": ["identity > user"], - "summary": "List", + "tags": ["identity > policy"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |user_id||string||\n |name||string||\n |state||string||\n |email||string||\n |user_type|USER, API_USER |string||\n |backend|LOCAL, EXTERNAL |string||\n |domain_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |policy_id||string|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"user_id" : {"type": "string","title": "USER_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"email" : {"type": "string","title": "EMAIL" },"user_type" : {"type": "string","title": "USER_TYPE" },"backend" : {"type": "string","title": "BACKEND" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"policy_id" : {"type": "string","title": "POLICY_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -2197,27 +2321,21 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/UsersInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/UsersInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/stat": { + },"/identity/policy/get": { "post": { - "tags": ["identity > user"], - "summary": "Stat", + "tags": ["identity > policy"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |policy_id||string|True|\n |domain_id||string|True|\n |only||array||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"policy_id" : {"type": "string","title": "POLICY_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } }, "examples":{"Schema":{} } @@ -2228,25 +2346,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/PolicyInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/PolicyInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/find": { + },"/identity/policy/list": { "post": { - "tags": ["identity > user"], - "summary": "Find", + "tags": ["identity > policy"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |search||FindUserSearch|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |policy_id||string||\n |name||string||\n |domain_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"search" : {"$ref": "#/components/schemas/FindUserSearch","title": "SEARCH" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"policy_id" : {"type": "string","title": "POLICY_ID" },"name" : {"type": "string","title": "NAME" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -2257,25 +2375,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/FindUsersInfo"}, + "schema": {"$ref": "#/components/schemas/PoliciesInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/FindUsersInfo"}} + "Schema": {"$ref": "#/components/schemas/PoliciesInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/sync": { + },"/identity/policy/stat": { "post": { - "tags": ["identity > user"], - "summary": "Sync", + "tags": ["identity > policy"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -2286,240 +2404,135 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"},"Default Example":{ - "value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"name\": \"Wonny\",\n \"state\": \"ENABLED\",\n \"email\": \"Wonny@cloudforet.com\",\n \"email_verified\" : true,\n \"mfa\": {\n \"mfa_type\": \"EMAIL\",\n \"state\" : \"ENABLED\",\n \"options\": {\n \"email\": \"example@cloudforet.com\"\n }\n },\n \"language\": \"en\",\n \"timezone\": \"UTC\",\n \"tags\": {\n \"Department\": \"Development\",\n \"Role\"\n },\n \"last_accessed_at\": \"2023-01-01T07:12:41.890Z\"\n \"created_at\": \"2023-01-01T15:23:31.705Z\"\n \"domain_id\": \"domain-xxxxxxxxxxxx\"\n}" - }} - } - }} - } - ,"security": [{"HTTPBearer": []}] } - },"/identity/domain-owner/update": { - "post": { - "tags": ["identity > domain-owner"], - "summary": "Update", - "operationId" : "", - "description": "### Description \n", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |owner_id||string|True|\n |domain_id||string|True|\n |password||string||\n |name||string||\n |email||string||\n |language||string||\n |timezone||string||\n
", - "content": { - "application/json": { - "schema": { - "properties": {"owner_id" : {"type": "string","title": "OWNER_ID" },"password" : {"type": "string","title": "PASSWORD" },"name" : {"type": "string","title": "NAME" },"email" : {"type": "string","title": "EMAIL" },"language" : {"type": "string","title": "LANGUAGE" },"timezone" : {"type": "string","title": "TIMEZONE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } - }, - "examples":{"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/DomainOwnerInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/DomainOwnerInfo"}} - } - }} - } - ,"security": [{"HTTPBearer": []}] } - },"/identity/domain-owner/get": { - "post": { - "tags": ["identity > domain-owner"], - "summary": "Get", - "operationId" : "", - "description": "### Description \n", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |owner_id||string|True|\n |only||array||\n
", - "content": { - "application/json": { - "schema": { - "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" },"owner_id" : {"type": "string","title": "OWNER_ID" },"only" : {"items": {}, "type": "array","title": "ONLY" } } - }, - "examples":{"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/DomainOwnerInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DomainOwnerInfo"}} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/token/issue": { - "post": { - "tags": ["identity > token"], - "summary": "Issue", - "operationId" : "", - "description": "### Description \n", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |credentials||Struct|True|\n |domain_id||string|True|\n |user_id||string||\n |user_type|LOCAL, EXTERNAL |string||\n |timeout||int||\n |refresh_count||int||\n |verify_code|if MFA is enabled, verify_code is required |string||\n
", - "content": { - "application/json": { - "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"credentials" : {"type": "object","title": "CREDENTIALS" },"user_type" : {"type": "string","title": "USER_TYPE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"timeout" : {"type": "integer","title": "TIMEOUT" },"refresh_count" : {"type": "integer","title": "REFRESH_COUNT" },"verify_code" : {"type": "string","title": "VERIFY_CODE" } } - }, - "examples":{"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/TokenInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/TokenInfo"}} - } - }} - } - } - },"/identity/token/refresh": { - "post": { - "tags": ["identity > token"], - "summary": "Refresh", - "operationId" : "", - "description": "### Description \n", - "requestBody": { - "description": "
", - "content": { - "application/json": { - "schema": { - "properties": { } - }, - "examples":{"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/TokenInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/TokenInfo"}} - } - }} - } - } },"securitySchemes": {"HTTPBearer": {"type": "http","scheme": "bearer","bearerFormat": "JWT"}} }, "components":{ "schemas": { - "ChangeAuthRequest": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"release_auth_plugin" : {"type": "boolean","title": "RELEASE_AUTH_PLUGIN"}}, + "ConfirmEmailRequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"verify_code" : {"type": "string","title": "VERIFY_CODE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["domain_id"], - "title": "ChangeAuthRequest" + "required": ["user_id","verify_code","domain_id"], + "title": "ConfirmEmailRequest" } - , "CreateDomainRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"config" : {"type": "object","title": "CONFIG"},"tags" : {"type": "object","title": "TAGS"}}, + , "ConfirmMFARequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"verify_code" : {"type": "string","title": "VERIFY_CODE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["name"], - "title": "CreateDomainRequest" + "required": ["user_id","verify_code","domain_id"], + "title": "ConfirmMFARequest" } - , "DomainInfo": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"config" : {"type": "object","title": "CONFIG"},"tags" : {"type": "object","title": "TAGS"},"created_at" : {"type": "string","title": "CREATED_AT"},"deleted_at" : {"type": "string","title": "DELETED_AT"}}, + , "CreateUserRequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"password" : {"type": "string","title": "PASSWORD"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"user_type" : {"type": "string","title": "USER_TYPE"},"backend" : {"type": "string","title": "BACKEND"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"reset_password" : {"type": "boolean","title": "RESET_PASSWORD"}}, "type": "object", - "required": ["domain_id","name","state","plugin_info","config","tags","created_at","deleted_at"], - "title": "DomainInfo" + "required": ["user_id","backend","domain_id"], + "title": "CreateUserRequest" } - , "DomainQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"}}, + , "DisableMFARequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"force" : {"type": "boolean","title": "FORCE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": [], - "title": "DomainQuery" + "required": ["user_id","domain_id"], + "title": "DisableMFARequest" } - , "DomainRequest": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "EnableMFARequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"mfa_type" : {"type": "string","title": "MFA_TYPE"},"options" : {"type": "object","title": "OPTIONS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["domain_id"], - "title": "DomainRequest" + "required": ["user_id","mfa_type","options","domain_id"], + "title": "EnableMFARequest" } - , "DomainStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + , "FindUserInfo": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["query"], - "title": "DomainStatQuery" + "required": ["user_id","name","email","tags"], + "title": "FindUserInfo" } - , "DomainsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/DomainInfo"}, - "type": "array","$ref": "#/components/schemas/DomainInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "FindUserQuery": { + "properties" : {"search" : {"$ref": "#/components/schemas/FindUserSearch","title": "SEARCH"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + "type": "object", + "required": ["search","domain_id"], + "title": "FindUserQuery" + } + , "FindUserSearch": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"keyword" : {"type": "string","title": "KEYWORD"}}, + "type": "object", + "required": ["user_id","keyword"], + "title": "FindUserSearch" + } + , "FindUsersInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/FindUserInfo"}, + "type": "array","$ref": "#/components/schemas/FindUserInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "DomainsInfo" + "title": "FindUsersInfo" } - , "GetDomainRequest": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"only" : {"items": {"type": "string"}, + , "GetUserRequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"only" : {"items": {"type": "string"}, "type": "array","title": "ONLY"}}, "type": "object", - "required": ["domain_id"], - "title": "GetDomainRequest" + "required": ["user_id","domain_id"], + "title": "GetUserRequest" } - , "PluginInfo": { - "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"version" : {"type": "string","title": "VERSION"},"secret_id" : {"type": "string","title": "SECRET_ID"},"options" : {"type": "object","title": "OPTIONS"},"secret_data" : {"type": "object","title": "SECRET_DATA"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"metadata" : {"type": "object","title": "METADATA"},"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE"}}, + , "MFA": { + "properties" : {"state" : {"type": "string","title": "STATE"},"mfa_type" : {"type": "string","title": "MFA_TYPE"},"options" : {"type": "object","title": "OPTIONS"}}, "type": "object", - "required": ["plugin_id","version","secret_id","options","secret_data","schema_id","metadata","upgrade_mode"], - "title": "PluginInfo" + "required": ["state","mfa_type","options"], + "title": "MFA" } - , "UpdateDomainRequest": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"config" : {"type": "object","title": "CONFIG"},"tags" : {"type": "object","title": "TAGS"}}, + , "SetRequiredActionsRequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"actions" : {"items": {"type": "string"}, + "type": "array","title": "ACTIONS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["domain_id"], - "title": "UpdateDomainRequest" + "required": ["user_id","actions","domain_id"], + "title": "SetRequiredActionsRequest" } - , "UpdatePluginRequest": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"version" : {"type": "string","title": "VERSION"},"options" : {"type": "object","title": "OPTIONS"},"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE"}}, + , "UpdateUserRequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"password" : {"type": "string","title": "PASSWORD"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"reset_password" : {"type": "boolean","title": "RESET_PASSWORD"}}, "type": "object", - "required": ["domain_id"], - "title": "UpdatePluginRequest" + "required": ["user_id","domain_id"], + "title": "UpdateUserRequest" } - , "AuthenticationRequest": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "UserInfo": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"email" : {"type": "string","title": "EMAIL"},"user_type" : {"type": "string","title": "USER_TYPE"},"backend" : {"type": "string","title": "BACKEND"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"required_actions" : {"items": {"type": "string"}, + "type": "array","title": "REQUIRED_ACTIONS"},"tags" : {"type": "object","title": "TAGS"},"last_accessed_at" : {"type": "string","title": "LAST_ACCESSED_AT"},"created_at" : {"type": "string","title": "CREATED_AT"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"email_verified" : {"type": "boolean","title": "EMAIL_VERIFIED"},"mfa" : {"$ref": "#/components/schemas/MFA","title": "MFA"}}, "type": "object", - "required": ["domain_id"], - "title": "AuthenticationRequest" + "required": ["user_id","name","state","email","user_type","backend","language","timezone","required_actions","tags","last_accessed_at","created_at","domain_id","email_verified","mfa"], + "title": "UserInfo" } - , "AuthenticationResponse": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"public_key" : {"type": "string","title": "PUBLIC_KEY"}}, + , "UserQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"email" : {"type": "string","title": "EMAIL"},"user_type" : {"type": "string","title": "USER_TYPE"},"backend" : {"type": "string","title": "BACKEND"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["domain_id","public_key"], - "title": "AuthenticationResponse" + "required": [], + "title": "UserQuery" } - , "AuthorizationRequest": { - "properties" : {"service" : {"type": "string","title": "SERVICE"},"resource" : {"type": "string","title": "RESOURCE"},"verb" : {"type": "string","title": "VERB"},"scope" : {"type": "string","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"}}, + , "UserRequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"domain_id" : {"type": "string","title": "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" + "required": ["user_id","domain_id"], + "title": "UserRequest" } - , "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"}}, + , "UserStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["role_type","projects","project_groups"], - "title": "AuthorizationResponse" + "required": ["query","domain_id"], + "title": "UserStatQuery" } - , "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"}}, + , "UsersInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/UserInfo"}, + "type": "array","$ref": "#/components/schemas/UserInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": ["service","resource","verb","status","message"], - "title": "EventRequest" + "required": ["results","total_count"], + "title": "UsersInfo" } - , "VersionInfo": { - "properties" : {"version" : {"type": "string","title": "VERSION"}}, + , "VerifyEmailRequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"email" : {"type": "string","title": "EMAIL"},"force" : {"type": "boolean","title": "FORCE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["version"], - "title": "VersionInfo" + "required": ["user_id","domain_id"], + "title": "VerifyEmailRequest" } , "AggregateCount": { "properties" : {"name" : {"type": "string","title": "NAME"}}, @@ -2690,210 +2703,199 @@ "required": ["path","filter"], "title": "Unwind" } - , "CreateRoleRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"policies" : {"items": {"$ref": "#/components/schemas/RolePolicy"}, - "type": "array","$ref": "#/components/schemas/RolePolicy","title": "POLICIES"},"page_permissions" : {"items": {"$ref": "#/components/schemas/PagePermission"}, - "type": "array","$ref": "#/components/schemas/PagePermission","title": "PAGE_PERMISSIONS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, - "type": "object", - "required": ["name","role_type","policies","domain_id"], - "title": "CreateRoleRequest" - } - , "GetRoleRequest": { - "properties" : {"role_id" : {"type": "string","title": "ROLE_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"only" : {"items": {"type": "string"}, - "type": "array","title": "ONLY"}}, - "type": "object", - "required": ["role_id","domain_id"], - "title": "GetRoleRequest" - } - , "PagePermission": { - "properties" : {"page" : {"type": "string","title": "PAGE"},"permission" : {"type": "string","title": "PERMISSION"}}, + , "AuthenticationRequest": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["page","permission"], - "title": "PagePermission" + "required": ["domain_id"], + "title": "AuthenticationRequest" } - , "RoleInfo": { - "properties" : {"role_id" : {"type": "string","title": "ROLE_ID"},"name" : {"type": "string","title": "NAME"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"policies" : {"items": {"$ref": "#/components/schemas/RolePolicy"}, - "type": "array","$ref": "#/components/schemas/RolePolicy","title": "POLICIES"},"page_permissions" : {"items": {"$ref": "#/components/schemas/PagePermission"}, - "type": "array","$ref": "#/components/schemas/PagePermission","title": "PAGE_PERMISSIONS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"deleted_at" : {"type": "string","title": "DELETED_AT"}}, + , "AuthenticationResponse": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"public_key" : {"type": "string","title": "PUBLIC_KEY"}}, "type": "object", - "required": ["role_id","name","role_type","policies","page_permissions","tags","domain_id","created_at","deleted_at"], - "title": "RoleInfo" + "required": ["domain_id","public_key"], + "title": "AuthenticationResponse" } - , "RolePolicy": { - "properties" : {"policy_type" : {"type": "string","title": "POLICY_TYPE"},"policy_id" : {"type": "string","title": "POLICY_ID"}}, + , "AuthorizationRequest": { + "properties" : {"service" : {"type": "string","title": "SERVICE"},"resource" : {"type": "string","title": "RESOURCE"},"verb" : {"type": "string","title": "VERB"},"scope" : {"type": "string","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": ["policy_type","policy_id"], - "title": "RolePolicy" + "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" } - , "RoleQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"role_id" : {"type": "string","title": "ROLE_ID"},"name" : {"type": "string","title": "NAME"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"policy_id" : {"type": "string","title": "POLICY_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "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": ["domain_id"], - "title": "RoleQuery" + "required": ["role_type","projects","project_groups"], + "title": "AuthorizationResponse" } - , "RoleRequest": { - "properties" : {"role_id" : {"type": "string","title": "ROLE_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "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": ["role_id","domain_id"], - "title": "RoleRequest" + "required": ["service","resource","verb","status","message"], + "title": "EventRequest" } - , "RoleStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "VersionInfo": { + "properties" : {"version" : {"type": "string","title": "VERSION"}}, "type": "object", - "required": ["query","domain_id"], - "title": "RoleStatQuery" + "required": ["version"], + "title": "VersionInfo" } - , "RolesInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/RoleInfo"}, - "type": "array","$ref": "#/components/schemas/RoleInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "IssueTokenRequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"credentials" : {"type": "object","title": "CREDENTIALS"},"user_type" : {"type": "string","title": "USER_TYPE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"timeout" : {"type": "integer","title": "TIMEOUT"},"refresh_count" : {"type": "integer","title": "REFRESH_COUNT"},"verify_code" : {"type": "string","title": "VERIFY_CODE"}}, "type": "object", - "required": ["results","total_count"], - "title": "RolesInfo" + "required": ["credentials","domain_id"], + "title": "IssueTokenRequest" } - , "UpdateRoleRequest": { - "properties" : {"role_id" : {"type": "string","title": "ROLE_ID"},"name" : {"type": "string","title": "NAME"},"policies" : {"items": {"$ref": "#/components/schemas/RolePolicy"}, - "type": "array","$ref": "#/components/schemas/RolePolicy","title": "POLICIES"},"page_permissions" : {"items": {"$ref": "#/components/schemas/PagePermission"}, - "type": "array","$ref": "#/components/schemas/PagePermission","title": "PAGE_PERMISSIONS"},"tags" : {"type": "object","title": "TAGS"},"release_page_permissions" : {"type": "boolean","title": "RELEASE_PAGE_PERMISSIONS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "TokenInfo": { + "properties" : {"access_token" : {"type": "string","title": "ACCESS_TOKEN"},"refresh_token" : {"type": "string","title": "REFRESH_TOKEN"}}, "type": "object", - "required": ["role_id","domain_id"], - "title": "UpdateRoleRequest" + "required": ["access_token","refresh_token"], + "title": "TokenInfo" } - , "CreateRoleBindingRequest": { - "properties" : {"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"resource_id" : {"type": "string","title": "RESOURCE_ID"},"role_id" : {"type": "string","title": "ROLE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "CreateProviderRequest": { + "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"name" : {"type": "string","title": "NAME"},"order" : {"type": "integer","title": "ORDER"},"template" : {"type": "object","title": "TEMPLATE"},"metadata" : {"type": "object","title": "METADATA"},"capability" : {"type": "object","title": "CAPABILITY"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["resource_type","resource_id","role_id","domain_id"], - "title": "CreateRoleBindingRequest" + "required": ["provider","name","template","domain_id"], + "title": "CreateProviderRequest" } - , "GetRoleBindingRequest": { - "properties" : {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"only" : {"items": {"type": "string"}, - "type": "array","title": "ONLY"}}, + , "GetProviderRequest": { + "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"only" : {"items": {"type": "string"}, + "type": "array","title": "ONLY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["role_binding_id","domain_id"], - "title": "GetRoleBindingRequest" + "required": ["provider","domain_id"], + "title": "GetProviderRequest" } - , "RoleBindingInfo": { - "properties" : {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"resource_id" : {"type": "string","title": "RESOURCE_ID"},"role_info" : {"$ref": "#/components/schemas/RoleInfo","title": "ROLE_INFO"},"project_info" : {"$ref": "#/components/schemas/ProjectInfo","title": "PROJECT_INFO"},"project_group_info" : {"$ref": "#/components/schemas/ProjectGroupInfo","title": "PROJECT_GROUP_INFO"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + , "ProviderInfo": { + "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"name" : {"type": "string","title": "NAME"},"order" : {"type": "integer","title": "ORDER"},"template" : {"type": "object","title": "TEMPLATE"},"metadata" : {"type": "object","title": "METADATA"},"capability" : {"type": "object","title": "CAPABILITY"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, "type": "object", - "required": ["role_binding_id","resource_type","resource_id","role_info","project_info","project_group_info","labels","tags","domain_id","created_at"], - "title": "RoleBindingInfo" + "required": ["provider","name","order","template","metadata","capability","tags","domain_id","created_at"], + "title": "ProviderInfo" } - , "RoleBindingQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"resource_id" : {"type": "string","title": "RESOURCE_ID"},"role_id" : {"type": "string","title": "ROLE_ID"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"project_id" : {"type": "string","title": "PROJECT_ID"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "ProviderQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"provider" : {"type": "string","title": "PROVIDER"},"name" : {"type": "string","title": "NAME"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", "required": ["domain_id"], - "title": "RoleBindingQuery" + "title": "ProviderQuery" } - , "RoleBindingRequest": { - "properties" : {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "ProviderRequest": { + "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["role_binding_id","domain_id"], - "title": "RoleBindingRequest" + "required": ["provider","domain_id"], + "title": "ProviderRequest" } - , "RoleBindingStatQuery": { + , "ProviderStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", "required": ["query","domain_id"], - "title": "RoleBindingStatQuery" + "title": "ProviderStatQuery" } - , "RoleBindingsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/RoleBindingInfo"}, - "type": "array","$ref": "#/components/schemas/RoleBindingInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "ProvidersInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/ProviderInfo"}, + "type": "array","$ref": "#/components/schemas/ProviderInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "RoleBindingsInfo" + "title": "ProvidersInfo" } - , "UpdateRoleBindingRequest": { - "properties" : {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "UpdateProviderRequest": { + "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"name" : {"type": "string","title": "NAME"},"order" : {"type": "integer","title": "ORDER"},"template" : {"type": "object","title": "TEMPLATE"},"metadata" : {"type": "object","title": "METADATA"},"capability" : {"type": "object","title": "CAPABILITY"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["role_binding_id","domain_id"], - "title": "UpdateRoleBindingRequest" + "required": ["provider","domain_id"], + "title": "UpdateProviderRequest" } - , "AddProjectMemberRequest": { - "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"user_id" : {"type": "string","title": "USER_ID"},"role_id" : {"type": "string","title": "ROLE_ID"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"is_external_user" : {"type": "boolean","title": "IS_EXTERNAL_USER"}}, + , "APIKeyInfo": { + "properties" : {"api_key_id" : {"type": "string","title": "API_KEY_ID"},"api_key" : {"type": "string","title": "API_KEY"},"state" : {"type": "string","title": "STATE"},"user_id" : {"type": "string","title": "USER_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"last_accessed_at" : {"type": "string","title": "LAST_ACCESSED_AT"},"created_at" : {"type": "string","title": "CREATED_AT"}}, "type": "object", - "required": ["project_id","user_id","domain_id"], - "title": "AddProjectMemberRequest" + "required": ["api_key_id","api_key","state","user_id","domain_id","last_accessed_at","created_at"], + "title": "APIKeyInfo" } - , "CreateProjectRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "APIKeyQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"api_key_id" : {"type": "string","title": "API_KEY_ID"},"state" : {"type": "string","title": "STATE"},"user_id" : {"type": "string","title": "USER_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["name","project_group_id","domain_id"], - "title": "CreateProjectRequest" + "required": ["domain_id"], + "title": "APIKeyQuery" } - , "GetProjectRequest": { - "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"only" : {"items": {"type": "string"}, - "type": "array","title": "ONLY"}}, + , "APIKeyRequest": { + "properties" : {"api_key_id" : {"type": "string","title": "API_KEY_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["project_id","domain_id"], - "title": "GetProjectRequest" + "required": ["api_key_id","domain_id"], + "title": "APIKeyRequest" } - , "ModifyProjectMemberRequest": { - "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"user_id" : {"type": "string","title": "USER_ID"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "APIKeyStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["project_id","user_id","domain_id"], - "title": "ModifyProjectMemberRequest" + "required": ["query","domain_id"], + "title": "APIKeyStatQuery" } - , "ProjectInfo": { - "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"},"project_group_info" : {"$ref": "#/components/schemas/ProjectGroupInfo","title": "PROJECT_GROUP_INFO"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_by" : {"type": "string","title": "CREATED_BY"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + , "APIKeysInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/APIKeyInfo"}, + "type": "array","$ref": "#/components/schemas/APIKeyInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": ["project_id","name","tags","project_group_info","domain_id","created_by","created_at"], - "title": "ProjectInfo" + "required": ["results","total_count"], + "title": "APIKeysInfo" } - , "ProjectMemberQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"project_id" : {"type": "string","title": "PROJECT_ID"},"user_id" : {"type": "string","title": "USER_ID"},"role_id" : {"type": "string","title": "ROLE_ID"},"include_parent_member" : {"type": "boolean","title": "INCLUDE_PARENT_MEMBER"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "CreateAPIKeyRequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["project_id","domain_id"], - "title": "ProjectMemberQuery" + "required": ["user_id","domain_id"], + "title": "CreateAPIKeyRequest" } - , "ProjectQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"project_id" : {"type": "string","title": "PROJECT_ID"},"name" : {"type": "string","title": "NAME"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"user_id" : {"type": "string","title": "USER_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "GetAPIKeyRequest": { + "properties" : {"api_key_id" : {"type": "string","title": "API_KEY_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"only" : {"items": {"type": "string"}, + "type": "array","title": "ONLY"}}, + "type": "object", + "required": ["api_key_id","domain_id"], + "title": "GetAPIKeyRequest" + } + , "CreateRoleBindingRequest": { + "properties" : {"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"resource_id" : {"type": "string","title": "RESOURCE_ID"},"role_id" : {"type": "string","title": "ROLE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["domain_id"], - "title": "ProjectQuery" + "required": ["resource_type","resource_id","role_id","domain_id"], + "title": "CreateRoleBindingRequest" } - , "ProjectRequest": { - "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "GetRoleBindingRequest": { + "properties" : {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"only" : {"items": {"type": "string"}, + "type": "array","title": "ONLY"}}, "type": "object", - "required": ["project_id","domain_id"], - "title": "ProjectRequest" + "required": ["role_binding_id","domain_id"], + "title": "GetRoleBindingRequest" } - , "ProjectRoleBindingInfo": { + , "RoleBindingInfo": { "properties" : {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"resource_id" : {"type": "string","title": "RESOURCE_ID"},"role_info" : {"$ref": "#/components/schemas/RoleInfo","title": "ROLE_INFO"},"project_info" : {"$ref": "#/components/schemas/ProjectInfo","title": "PROJECT_INFO"},"project_group_info" : {"$ref": "#/components/schemas/ProjectGroupInfo","title": "PROJECT_GROUP_INFO"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, "type": "object", "required": ["role_binding_id","resource_type","resource_id","role_info","project_info","project_group_info","labels","tags","domain_id","created_at"], - "title": "ProjectRoleBindingInfo" + "title": "RoleBindingInfo" } - , "ProjectRoleBindingsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/ProjectRoleBindingInfo"}, - "type": "array","$ref": "#/components/schemas/ProjectRoleBindingInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "RoleBindingQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"resource_id" : {"type": "string","title": "RESOURCE_ID"},"role_id" : {"type": "string","title": "ROLE_ID"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"project_id" : {"type": "string","title": "PROJECT_ID"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["results","total_count"], - "title": "ProjectRoleBindingsInfo" + "required": ["domain_id"], + "title": "RoleBindingQuery" } - , "ProjectStatQuery": { + , "RoleBindingRequest": { + "properties" : {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + "type": "object", + "required": ["role_binding_id","domain_id"], + "title": "RoleBindingRequest" + } + , "RoleBindingStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", "required": ["query","domain_id"], - "title": "ProjectStatQuery" + "title": "RoleBindingStatQuery" } - , "ProjectsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/ProjectInfo"}, - "type": "array","$ref": "#/components/schemas/ProjectInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "RoleBindingsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/RoleBindingInfo"}, + "type": "array","$ref": "#/components/schemas/RoleBindingInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "ProjectsInfo" - } - , "RemoveProjectMemberRequest": { - "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"user_id" : {"type": "string","title": "USER_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, - "type": "object", - "required": ["project_id","user_id","domain_id"], - "title": "RemoveProjectMemberRequest" + "title": "RoleBindingsInfo" } - , "UpdateProjectRequest": { - "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "UpdateRoleBindingRequest": { + "properties" : {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["project_id","domain_id"], - "title": "UpdateProjectRequest" + "required": ["role_binding_id","domain_id"], + "title": "UpdateRoleBindingRequest" } , "AddProjectGroupMemberRequest": { "properties" : {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"user_id" : {"type": "string","title": "USER_ID"},"role_id" : {"type": "string","title": "ROLE_ID"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"is_external_user" : {"type": "boolean","title": "IS_EXTERNAL_USER"}}, @@ -3001,171 +3003,191 @@ "required": ["project_group_id","domain_id"], "title": "UpdateProjectGroupRequest" } - , "APIKeyInfo": { - "properties" : {"api_key_id" : {"type": "string","title": "API_KEY_ID"},"api_key" : {"type": "string","title": "API_KEY"},"state" : {"type": "string","title": "STATE"},"user_id" : {"type": "string","title": "USER_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"last_accessed_at" : {"type": "string","title": "LAST_ACCESSED_AT"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + , "ChangeAuthRequest": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"release_auth_plugin" : {"type": "boolean","title": "RELEASE_AUTH_PLUGIN"}}, "type": "object", - "required": ["api_key_id","api_key","state","user_id","domain_id","last_accessed_at","created_at"], - "title": "APIKeyInfo" + "required": ["domain_id"], + "title": "ChangeAuthRequest" } - , "APIKeyQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"api_key_id" : {"type": "string","title": "API_KEY_ID"},"state" : {"type": "string","title": "STATE"},"user_id" : {"type": "string","title": "USER_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "CreateDomainRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"config" : {"type": "object","title": "CONFIG"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["domain_id"], - "title": "APIKeyQuery" + "required": ["name"], + "title": "CreateDomainRequest" } - , "APIKeyRequest": { - "properties" : {"api_key_id" : {"type": "string","title": "API_KEY_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "DomainInfo": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"config" : {"type": "object","title": "CONFIG"},"tags" : {"type": "object","title": "TAGS"},"created_at" : {"type": "string","title": "CREATED_AT"},"deleted_at" : {"type": "string","title": "DELETED_AT"}}, "type": "object", - "required": ["api_key_id","domain_id"], - "title": "APIKeyRequest" + "required": ["domain_id","name","state","plugin_info","config","tags","created_at","deleted_at"], + "title": "DomainInfo" } - , "APIKeyStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "DomainQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"}}, "type": "object", - "required": ["query","domain_id"], - "title": "APIKeyStatQuery" + "required": [], + "title": "DomainQuery" } - , "APIKeysInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/APIKeyInfo"}, - "type": "array","$ref": "#/components/schemas/APIKeyInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "DomainRequest": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["results","total_count"], - "title": "APIKeysInfo" + "required": ["domain_id"], + "title": "DomainRequest" } - , "CreateAPIKeyRequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "DomainStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", - "required": ["user_id","domain_id"], - "title": "CreateAPIKeyRequest" + "required": ["query"], + "title": "DomainStatQuery" } - , "GetAPIKeyRequest": { - "properties" : {"api_key_id" : {"type": "string","title": "API_KEY_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"only" : {"items": {"type": "string"}, - "type": "array","title": "ONLY"}}, + , "DomainsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/DomainInfo"}, + "type": "array","$ref": "#/components/schemas/DomainInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": ["api_key_id","domain_id"], - "title": "GetAPIKeyRequest" + "required": ["results","total_count"], + "title": "DomainsInfo" } - , "CreateProviderRequest": { - "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"name" : {"type": "string","title": "NAME"},"order" : {"type": "integer","title": "ORDER"},"template" : {"type": "object","title": "TEMPLATE"},"metadata" : {"type": "object","title": "METADATA"},"capability" : {"type": "object","title": "CAPABILITY"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "GetDomainRequest": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"only" : {"items": {"type": "string"}, + "type": "array","title": "ONLY"}}, "type": "object", - "required": ["provider","name","template","domain_id"], - "title": "CreateProviderRequest" + "required": ["domain_id"], + "title": "GetDomainRequest" } - , "GetProviderRequest": { - "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"only" : {"items": {"type": "string"}, - "type": "array","title": "ONLY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "PluginInfo": { + "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"version" : {"type": "string","title": "VERSION"},"secret_id" : {"type": "string","title": "SECRET_ID"},"options" : {"type": "object","title": "OPTIONS"},"secret_data" : {"type": "object","title": "SECRET_DATA"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"metadata" : {"type": "object","title": "METADATA"},"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE"}}, "type": "object", - "required": ["provider","domain_id"], - "title": "GetProviderRequest" + "required": ["plugin_id","version","secret_id","options","secret_data","schema_id","metadata","upgrade_mode"], + "title": "PluginInfo" } - , "ProviderInfo": { - "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"name" : {"type": "string","title": "NAME"},"order" : {"type": "integer","title": "ORDER"},"template" : {"type": "object","title": "TEMPLATE"},"metadata" : {"type": "object","title": "METADATA"},"capability" : {"type": "object","title": "CAPABILITY"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + , "UpdateDomainRequest": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"config" : {"type": "object","title": "CONFIG"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["provider","name","order","template","metadata","capability","tags","domain_id","created_at"], - "title": "ProviderInfo" + "required": ["domain_id"], + "title": "UpdateDomainRequest" } - , "ProviderQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"provider" : {"type": "string","title": "PROVIDER"},"name" : {"type": "string","title": "NAME"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "UpdatePluginRequest": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"version" : {"type": "string","title": "VERSION"},"options" : {"type": "object","title": "OPTIONS"},"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE"}}, "type": "object", "required": ["domain_id"], - "title": "ProviderQuery" + "title": "UpdatePluginRequest" } - , "ProviderRequest": { - "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "CreateRoleRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"policies" : {"items": {"$ref": "#/components/schemas/RolePolicy"}, + "type": "array","$ref": "#/components/schemas/RolePolicy","title": "POLICIES"},"page_permissions" : {"items": {"$ref": "#/components/schemas/PagePermission"}, + "type": "array","$ref": "#/components/schemas/PagePermission","title": "PAGE_PERMISSIONS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["provider","domain_id"], - "title": "ProviderRequest" + "required": ["name","role_type","policies","domain_id"], + "title": "CreateRoleRequest" } - , "ProviderStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "GetRoleRequest": { + "properties" : {"role_id" : {"type": "string","title": "ROLE_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"only" : {"items": {"type": "string"}, + "type": "array","title": "ONLY"}}, "type": "object", - "required": ["query","domain_id"], - "title": "ProviderStatQuery" + "required": ["role_id","domain_id"], + "title": "GetRoleRequest" } - , "ProvidersInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/ProviderInfo"}, - "type": "array","$ref": "#/components/schemas/ProviderInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "PagePermission": { + "properties" : {"page" : {"type": "string","title": "PAGE"},"permission" : {"type": "string","title": "PERMISSION"}}, "type": "object", - "required": ["results","total_count"], - "title": "ProvidersInfo" + "required": ["page","permission"], + "title": "PagePermission" } - , "UpdateProviderRequest": { - "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"name" : {"type": "string","title": "NAME"},"order" : {"type": "integer","title": "ORDER"},"template" : {"type": "object","title": "TEMPLATE"},"metadata" : {"type": "object","title": "METADATA"},"capability" : {"type": "object","title": "CAPABILITY"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "RoleInfo": { + "properties" : {"role_id" : {"type": "string","title": "ROLE_ID"},"name" : {"type": "string","title": "NAME"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"policies" : {"items": {"$ref": "#/components/schemas/RolePolicy"}, + "type": "array","$ref": "#/components/schemas/RolePolicy","title": "POLICIES"},"page_permissions" : {"items": {"$ref": "#/components/schemas/PagePermission"}, + "type": "array","$ref": "#/components/schemas/PagePermission","title": "PAGE_PERMISSIONS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"deleted_at" : {"type": "string","title": "DELETED_AT"}}, "type": "object", - "required": ["provider","domain_id"], - "title": "UpdateProviderRequest" + "required": ["role_id","name","role_type","policies","page_permissions","tags","domain_id","created_at","deleted_at"], + "title": "RoleInfo" } - , "EndpointInfo": { - "properties" : {"service" : {"type": "string","title": "SERVICE"},"name" : {"type": "string","title": "NAME"},"endpoint" : {"type": "string","title": "ENDPOINT"},"state" : {"type": "string","title": "STATE"},"version" : {"type": "string","title": "VERSION"}}, + , "RolePolicy": { + "properties" : {"policy_type" : {"type": "string","title": "POLICY_TYPE"},"policy_id" : {"type": "string","title": "POLICY_ID"}}, "type": "object", - "required": ["service","name","endpoint","state","version"], - "title": "EndpointInfo" + "required": ["policy_type","policy_id"], + "title": "RolePolicy" } - , "EndpointQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"service" : {"type": "string","title": "SERVICE"},"endpoint_type" : {"type": "string","title": "ENDPOINT_TYPE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "RoleQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"role_id" : {"type": "string","title": "ROLE_ID"},"name" : {"type": "string","title": "NAME"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"policy_id" : {"type": "string","title": "POLICY_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", "required": ["domain_id"], - "title": "EndpointQuery" + "title": "RoleQuery" } - , "EndpointsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/EndpointInfo"}, - "type": "array","$ref": "#/components/schemas/EndpointInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "RoleRequest": { + "properties" : {"role_id" : {"type": "string","title": "ROLE_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + "type": "object", + "required": ["role_id","domain_id"], + "title": "RoleRequest" + } + , "RoleStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + "type": "object", + "required": ["query","domain_id"], + "title": "RoleStatQuery" + } + , "RolesInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/RoleInfo"}, + "type": "array","$ref": "#/components/schemas/RoleInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "EndpointsInfo" + "title": "RolesInfo" } - , "CreatePolicyRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"permissions" : {"items": {"type": "string"}, - "type": "array","title": "PERMISSIONS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "UpdateRoleRequest": { + "properties" : {"role_id" : {"type": "string","title": "ROLE_ID"},"name" : {"type": "string","title": "NAME"},"policies" : {"items": {"$ref": "#/components/schemas/RolePolicy"}, + "type": "array","$ref": "#/components/schemas/RolePolicy","title": "POLICIES"},"page_permissions" : {"items": {"$ref": "#/components/schemas/PagePermission"}, + "type": "array","$ref": "#/components/schemas/PagePermission","title": "PAGE_PERMISSIONS"},"tags" : {"type": "object","title": "TAGS"},"release_page_permissions" : {"type": "boolean","title": "RELEASE_PAGE_PERMISSIONS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["name","permissions","domain_id"], - "title": "CreatePolicyRequest" + "required": ["role_id","domain_id"], + "title": "UpdateRoleRequest" } - , "GetPolicyRequest": { - "properties" : {"policy_id" : {"type": "string","title": "POLICY_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"only" : {"items": {"type": "string"}, - "type": "array","title": "ONLY"}}, + , "CreateDomainOwner": { + "properties" : {"owner_id" : {"type": "string","title": "OWNER_ID"},"password" : {"type": "string","title": "PASSWORD"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["policy_id","domain_id"], - "title": "GetPolicyRequest" + "required": ["password","domain_id"], + "title": "CreateDomainOwner" } - , "PoliciesInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/PolicyInfo"}, - "type": "array","$ref": "#/components/schemas/PolicyInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "DomainOwnerInfo": { + "properties" : {"owner_id" : {"type": "string","title": "OWNER_ID"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"last_accessed_at" : {"type": "string","title": "LAST_ACCESSED_AT"},"created_at" : {"type": "string","title": "CREATED_AT"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["results","total_count"], - "title": "PoliciesInfo" + "required": ["owner_id","name","email","language","timezone","last_accessed_at","created_at","domain_id"], + "title": "DomainOwnerInfo" + } + , "DomainOwnerRequest": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"owner_id" : {"type": "string","title": "OWNER_ID"}}, + "type": "object", + "required": ["domain_id","owner_id"], + "title": "DomainOwnerRequest" } - , "PolicyInfo": { - "properties" : {"policy_id" : {"type": "string","title": "POLICY_ID"},"name" : {"type": "string","title": "NAME"},"permissions" : {"items": {"type": "string"}, - "type": "array","title": "PERMISSIONS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"tags" : {"type": "object","title": "TAGS"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + , "GetDomainOwnerRequest": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"owner_id" : {"type": "string","title": "OWNER_ID"},"only" : {"items": {"type": "string"}, + "type": "array","title": "ONLY"}}, "type": "object", - "required": ["policy_id","name","permissions","domain_id","tags","created_at"], - "title": "PolicyInfo" + "required": ["domain_id","owner_id"], + "title": "GetDomainOwnerRequest" } - , "PolicyQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"policy_id" : {"type": "string","title": "POLICY_ID"},"name" : {"type": "string","title": "NAME"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "UpdateDomainOwner": { + "properties" : {"owner_id" : {"type": "string","title": "OWNER_ID"},"password" : {"type": "string","title": "PASSWORD"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": [], - "title": "PolicyQuery" + "required": ["owner_id","domain_id"], + "title": "UpdateDomainOwner" } - , "PolicyRequest": { - "properties" : {"policy_id" : {"type": "string","title": "POLICY_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "EndpointInfo": { + "properties" : {"service" : {"type": "string","title": "SERVICE"},"name" : {"type": "string","title": "NAME"},"endpoint" : {"type": "string","title": "ENDPOINT"},"state" : {"type": "string","title": "STATE"},"version" : {"type": "string","title": "VERSION"}}, "type": "object", - "required": ["policy_id","domain_id"], - "title": "PolicyRequest" + "required": ["service","name","endpoint","state","version"], + "title": "EndpointInfo" } - , "PolicyStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "EndpointQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"service" : {"type": "string","title": "SERVICE"},"endpoint_type" : {"type": "string","title": "ENDPOINT_TYPE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["query","domain_id"], - "title": "PolicyStatQuery" + "required": ["domain_id"], + "title": "EndpointQuery" } - , "UpdatePolicyRequest": { - "properties" : {"policy_id" : {"type": "string","title": "POLICY_ID"},"name" : {"type": "string","title": "NAME"},"permissions" : {"items": {"type": "string"}, - "type": "array","title": "PERMISSIONS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "EndpointsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/EndpointInfo"}, + "type": "array","$ref": "#/components/schemas/EndpointInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": ["policy_id","domain_id"], - "title": "UpdatePolicyRequest" + "required": ["results","total_count"], + "title": "EndpointsInfo" } , "CreateServiceAccountRequest": { "properties" : {"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"provider" : {"type": "string","title": "PROVIDER"},"project_id" : {"type": "string","title": "PROJECT_ID"},"tags" : {"type": "object","title": "TAGS"},"service_account_type" : {"type": "string","title": "SERVICE_ACCOUNT_TYPE"},"trusted_service_account_id" : {"type": "string","title": "TRUSTED_SERVICE_ACCOUNT_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, @@ -3217,167 +3239,145 @@ "required": ["service_account_id","domain_id"], "title": "UpdateServiceAccountRequest" } - , "ConfirmEmailRequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"verify_code" : {"type": "string","title": "VERIFY_CODE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, - "type": "object", - "required": ["user_id","verify_code","domain_id"], - "title": "ConfirmEmailRequest" - } - , "ConfirmMFARequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"verify_code" : {"type": "string","title": "VERIFY_CODE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "AddProjectMemberRequest": { + "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"user_id" : {"type": "string","title": "USER_ID"},"role_id" : {"type": "string","title": "ROLE_ID"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"is_external_user" : {"type": "boolean","title": "IS_EXTERNAL_USER"}}, "type": "object", - "required": ["user_id","verify_code","domain_id"], - "title": "ConfirmMFARequest" + "required": ["project_id","user_id","domain_id"], + "title": "AddProjectMemberRequest" } - , "CreateUserRequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"password" : {"type": "string","title": "PASSWORD"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"user_type" : {"type": "string","title": "USER_TYPE"},"backend" : {"type": "string","title": "BACKEND"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"reset_password" : {"type": "boolean","title": "RESET_PASSWORD"}}, + , "CreateProjectRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["user_id","backend","domain_id"], - "title": "CreateUserRequest" + "required": ["name","project_group_id","domain_id"], + "title": "CreateProjectRequest" } - , "DisableMFARequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"force" : {"type": "boolean","title": "FORCE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "GetProjectRequest": { + "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"only" : {"items": {"type": "string"}, + "type": "array","title": "ONLY"}}, "type": "object", - "required": ["user_id","domain_id"], - "title": "DisableMFARequest" + "required": ["project_id","domain_id"], + "title": "GetProjectRequest" } - , "EnableMFARequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"mfa_type" : {"type": "string","title": "MFA_TYPE"},"options" : {"type": "object","title": "OPTIONS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "ModifyProjectMemberRequest": { + "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"user_id" : {"type": "string","title": "USER_ID"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["user_id","mfa_type","options","domain_id"], - "title": "EnableMFARequest" + "required": ["project_id","user_id","domain_id"], + "title": "ModifyProjectMemberRequest" } - , "FindUserInfo": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"tags" : {"type": "object","title": "TAGS"}}, + , "ProjectInfo": { + "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"},"project_group_info" : {"$ref": "#/components/schemas/ProjectGroupInfo","title": "PROJECT_GROUP_INFO"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_by" : {"type": "string","title": "CREATED_BY"},"created_at" : {"type": "string","title": "CREATED_AT"}}, "type": "object", - "required": ["user_id","name","email","tags"], - "title": "FindUserInfo" + "required": ["project_id","name","tags","project_group_info","domain_id","created_by","created_at"], + "title": "ProjectInfo" } - , "FindUserQuery": { - "properties" : {"search" : {"$ref": "#/components/schemas/FindUserSearch","title": "SEARCH"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "ProjectMemberQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"project_id" : {"type": "string","title": "PROJECT_ID"},"user_id" : {"type": "string","title": "USER_ID"},"role_id" : {"type": "string","title": "ROLE_ID"},"include_parent_member" : {"type": "boolean","title": "INCLUDE_PARENT_MEMBER"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["search","domain_id"], - "title": "FindUserQuery" + "required": ["project_id","domain_id"], + "title": "ProjectMemberQuery" } - , "FindUserSearch": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"keyword" : {"type": "string","title": "KEYWORD"}}, + , "ProjectQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"project_id" : {"type": "string","title": "PROJECT_ID"},"name" : {"type": "string","title": "NAME"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"user_id" : {"type": "string","title": "USER_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["user_id","keyword"], - "title": "FindUserSearch" + "required": ["domain_id"], + "title": "ProjectQuery" } - , "FindUsersInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/FindUserInfo"}, - "type": "array","$ref": "#/components/schemas/FindUserInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "ProjectRequest": { + "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["results","total_count"], - "title": "FindUsersInfo" + "required": ["project_id","domain_id"], + "title": "ProjectRequest" } - , "GetUserRequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"only" : {"items": {"type": "string"}, - "type": "array","title": "ONLY"}}, + , "ProjectRoleBindingInfo": { + "properties" : {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"resource_id" : {"type": "string","title": "RESOURCE_ID"},"role_info" : {"$ref": "#/components/schemas/RoleInfo","title": "ROLE_INFO"},"project_info" : {"$ref": "#/components/schemas/ProjectInfo","title": "PROJECT_INFO"},"project_group_info" : {"$ref": "#/components/schemas/ProjectGroupInfo","title": "PROJECT_GROUP_INFO"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, "type": "object", - "required": ["user_id","domain_id"], - "title": "GetUserRequest" + "required": ["role_binding_id","resource_type","resource_id","role_info","project_info","project_group_info","labels","tags","domain_id","created_at"], + "title": "ProjectRoleBindingInfo" } - , "MFA": { - "properties" : {"state" : {"type": "string","title": "STATE"},"mfa_type" : {"type": "string","title": "MFA_TYPE"},"options" : {"type": "object","title": "OPTIONS"}}, + , "ProjectRoleBindingsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/ProjectRoleBindingInfo"}, + "type": "array","$ref": "#/components/schemas/ProjectRoleBindingInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": ["state","mfa_type","options"], - "title": "MFA" + "required": ["results","total_count"], + "title": "ProjectRoleBindingsInfo" } - , "SetRequiredActionsRequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"actions" : {"items": {"type": "string"}, - "type": "array","title": "ACTIONS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "ProjectStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["user_id","actions","domain_id"], - "title": "SetRequiredActionsRequest" + "required": ["query","domain_id"], + "title": "ProjectStatQuery" } - , "UpdateUserRequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"password" : {"type": "string","title": "PASSWORD"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"reset_password" : {"type": "boolean","title": "RESET_PASSWORD"}}, + , "ProjectsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/ProjectInfo"}, + "type": "array","$ref": "#/components/schemas/ProjectInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": ["user_id","domain_id"], - "title": "UpdateUserRequest" + "required": ["results","total_count"], + "title": "ProjectsInfo" } - , "UserInfo": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"email" : {"type": "string","title": "EMAIL"},"user_type" : {"type": "string","title": "USER_TYPE"},"backend" : {"type": "string","title": "BACKEND"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"required_actions" : {"items": {"type": "string"}, - "type": "array","title": "REQUIRED_ACTIONS"},"tags" : {"type": "object","title": "TAGS"},"last_accessed_at" : {"type": "string","title": "LAST_ACCESSED_AT"},"created_at" : {"type": "string","title": "CREATED_AT"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"email_verified" : {"type": "boolean","title": "EMAIL_VERIFIED"},"mfa" : {"$ref": "#/components/schemas/MFA","title": "MFA"}}, + , "RemoveProjectMemberRequest": { + "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"user_id" : {"type": "string","title": "USER_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["user_id","name","state","email","user_type","backend","language","timezone","required_actions","tags","last_accessed_at","created_at","domain_id","email_verified","mfa"], - "title": "UserInfo" + "required": ["project_id","user_id","domain_id"], + "title": "RemoveProjectMemberRequest" } - , "UserQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"email" : {"type": "string","title": "EMAIL"},"user_type" : {"type": "string","title": "USER_TYPE"},"backend" : {"type": "string","title": "BACKEND"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "UpdateProjectRequest": { + "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": [], - "title": "UserQuery" + "required": ["project_id","domain_id"], + "title": "UpdateProjectRequest" } - , "UserRequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "CreatePolicyRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"permissions" : {"items": {"type": "string"}, + "type": "array","title": "PERMISSIONS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["user_id","domain_id"], - "title": "UserRequest" + "required": ["name","permissions","domain_id"], + "title": "CreatePolicyRequest" } - , "UserStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "GetPolicyRequest": { + "properties" : {"policy_id" : {"type": "string","title": "POLICY_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"only" : {"items": {"type": "string"}, + "type": "array","title": "ONLY"}}, "type": "object", - "required": ["query","domain_id"], - "title": "UserStatQuery" + "required": ["policy_id","domain_id"], + "title": "GetPolicyRequest" } - , "UsersInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/UserInfo"}, - "type": "array","$ref": "#/components/schemas/UserInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "PoliciesInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/PolicyInfo"}, + "type": "array","$ref": "#/components/schemas/PolicyInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "UsersInfo" - } - , "VerifyEmailRequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"email" : {"type": "string","title": "EMAIL"},"force" : {"type": "boolean","title": "FORCE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, - "type": "object", - "required": ["user_id","domain_id"], - "title": "VerifyEmailRequest" - } - , "CreateDomainOwner": { - "properties" : {"owner_id" : {"type": "string","title": "OWNER_ID"},"password" : {"type": "string","title": "PASSWORD"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, - "type": "object", - "required": ["password","domain_id"], - "title": "CreateDomainOwner" - } - , "DomainOwnerInfo": { - "properties" : {"owner_id" : {"type": "string","title": "OWNER_ID"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"last_accessed_at" : {"type": "string","title": "LAST_ACCESSED_AT"},"created_at" : {"type": "string","title": "CREATED_AT"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, - "type": "object", - "required": ["owner_id","name","email","language","timezone","last_accessed_at","created_at","domain_id"], - "title": "DomainOwnerInfo" + "title": "PoliciesInfo" } - , "DomainOwnerRequest": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"owner_id" : {"type": "string","title": "OWNER_ID"}}, + , "PolicyInfo": { + "properties" : {"policy_id" : {"type": "string","title": "POLICY_ID"},"name" : {"type": "string","title": "NAME"},"permissions" : {"items": {"type": "string"}, + "type": "array","title": "PERMISSIONS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"tags" : {"type": "object","title": "TAGS"},"created_at" : {"type": "string","title": "CREATED_AT"}}, "type": "object", - "required": ["domain_id","owner_id"], - "title": "DomainOwnerRequest" + "required": ["policy_id","name","permissions","domain_id","tags","created_at"], + "title": "PolicyInfo" } - , "GetDomainOwnerRequest": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"owner_id" : {"type": "string","title": "OWNER_ID"},"only" : {"items": {"type": "string"}, - "type": "array","title": "ONLY"}}, + , "PolicyQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"policy_id" : {"type": "string","title": "POLICY_ID"},"name" : {"type": "string","title": "NAME"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["domain_id","owner_id"], - "title": "GetDomainOwnerRequest" + "required": [], + "title": "PolicyQuery" } - , "UpdateDomainOwner": { - "properties" : {"owner_id" : {"type": "string","title": "OWNER_ID"},"password" : {"type": "string","title": "PASSWORD"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "PolicyRequest": { + "properties" : {"policy_id" : {"type": "string","title": "POLICY_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["owner_id","domain_id"], - "title": "UpdateDomainOwner" + "required": ["policy_id","domain_id"], + "title": "PolicyRequest" } - , "IssueTokenRequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"credentials" : {"type": "object","title": "CREDENTIALS"},"user_type" : {"type": "string","title": "USER_TYPE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"timeout" : {"type": "integer","title": "TIMEOUT"},"refresh_count" : {"type": "integer","title": "REFRESH_COUNT"},"verify_code" : {"type": "string","title": "VERIFY_CODE"}}, + , "PolicyStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["credentials","domain_id"], - "title": "IssueTokenRequest" + "required": ["query","domain_id"], + "title": "PolicyStatQuery" } - , "TokenInfo": { - "properties" : {"access_token" : {"type": "string","title": "ACCESS_TOKEN"},"refresh_token" : {"type": "string","title": "REFRESH_TOKEN"}}, + , "UpdatePolicyRequest": { + "properties" : {"policy_id" : {"type": "string","title": "POLICY_ID"},"name" : {"type": "string","title": "NAME"},"permissions" : {"items": {"type": "string"}, + "type": "array","title": "PERMISSIONS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["access_token","refresh_token"], - "title": "TokenInfo" + "required": ["policy_id","domain_id"], + "title": "UpdatePolicyRequest" } }, "Struct": {"properties": {"type": "object","title": "Struct"}}, diff --git a/dist/openapi/cloudforet/api/identity/v2/openapi.json b/dist/openapi/cloudforet/api/identity/v2/openapi.json index b45d601a2..2b9b90da3 100755 --- a/dist/openapi/cloudforet/api/identity/v2/openapi.json +++ b/dist/openapi/cloudforet/api/identity/v2/openapi.json @@ -8,18 +8,18 @@ "title": "Identity API", "version": "3.1.0" }, - "paths":{"/identity/domain/create": { + "paths":{"/identity/user-group/create": { "post": { - "tags": ["identity > domain"], + "tags": ["identity > user-group"], "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |admin||Admin|True|\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"admin" : {"$ref": "#/components/schemas/Admin","title": "ADMIN" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -30,25 +30,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DomainInfo"}, + "schema": {"$ref": "#/components/schemas/UserGroupInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DomainInfo"}} + "Schema": {"$ref": "#/components/schemas/UserGroupInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/domain/update": { + },"/identity/user-group/update": { "post": { - "tags": ["identity > domain"], + "tags": ["identity > user-group"], "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |name||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_group_id||string|True|\n |name||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"user_group_id" : {"type": "string","title": "USER_GROUP_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -59,25 +59,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DomainInfo"}, + "schema": {"$ref": "#/components/schemas/UserGroupInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DomainInfo"}} + "Schema": {"$ref": "#/components/schemas/UserGroupInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/domain/delete": { + },"/identity/user-group/delete": { "post": { - "tags": ["identity > domain"], + "tags": ["identity > user-group"], "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_group_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"user_group_id" : {"type": "string","title": "USER_GROUP_ID" } } }, "examples":{"Schema":{} } @@ -89,18 +89,18 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/domain/enable": { + },"/identity/user-group/add-users": { "post": { - "tags": ["identity > domain"], - "summary": "Enable", + "tags": ["identity > user-group"], + "summary": "Add Users", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_group_id||string|True|\n |users||array|True|\n
", "content": { "application/json": { "schema": { - "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"user_group_id" : {"type": "string","title": "USER_GROUP_ID" },"users" : {"items": {}, "type": "array","title": "USERS" } } }, "examples":{"Schema":{} } @@ -111,25 +111,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DomainInfo"}, + "schema": {"$ref": "#/components/schemas/UserGroupInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DomainInfo"}} + "Schema": {"$ref": "#/components/schemas/UserGroupInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/domain/disable": { + },"/identity/user-group/remove-users": { "post": { - "tags": ["identity > domain"], - "summary": "Disable", + "tags": ["identity > user-group"], + "summary": "Remove Users", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_group_id||string|True|\n |users||array|True|\n
", "content": { "application/json": { "schema": { - "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"user_group_id" : {"type": "string","title": "USER_GROUP_ID" },"users" : {"items": {}, "type": "array","title": "USERS" } } }, "examples":{"Schema":{} } @@ -140,25 +140,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DomainInfo"}, + "schema": {"$ref": "#/components/schemas/UserGroupInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DomainInfo"}} + "Schema": {"$ref": "#/components/schemas/UserGroupInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/domain/get": { + },"/identity/user-group/get": { "post": { - "tags": ["identity > domain"], + "tags": ["identity > user-group"], "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_group_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"user_group_id" : {"type": "string","title": "USER_GROUP_ID" } } }, "examples":{"Schema":{} } @@ -169,25 +169,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DomainInfo"}, + "schema": {"$ref": "#/components/schemas/UserGroupInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DomainInfo"}} + "Schema": {"$ref": "#/components/schemas/UserGroupInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/domain/get-auth-info": { + },"/identity/user-group/list": { "post": { - "tags": ["identity > domain"], - "summary": "Get Auth Info", + "tags": ["identity > user-group"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |user_group_id||string||\n |name||string||\n |user_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"user_group_id" : {"type": "string","title": "USER_GROUP_ID" },"name" : {"type": "string","title": "NAME" },"user_id" : {"type": "string","title": "USER_ID" } } }, "examples":{"Schema":{} } @@ -198,25 +198,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DomainAuthInfo"}, + "schema": {"$ref": "#/components/schemas/UserGroupsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DomainAuthInfo"}} + "Schema": {"$ref": "#/components/schemas/UserGroupsInfo"}} } }} } - } - },"/identity/domain/list": { + ,"security": [{"HTTPBearer": []}] } + },"/identity/user-group/stat": { "post": { - "tags": ["identity > domain"], - "summary": "List", + "tags": ["identity > user-group"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |domain_id||string||\n |name||string||\n |state|ENABLED, DISABLED |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, "examples":{"Schema":{} } @@ -227,27 +227,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DomainsInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DomainsInfo"}} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role/create": { + },"/identity/user/create": { "post": { - "tags": ["identity > role"], + "tags": ["identity > user"], "summary": "Create", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nYou can create user. after create user you have to binding role to user.\nSee role-binding create api.\nExternal type user do not need password.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |role_type|DOMAIN_ADMIN, WORKSPACE_OWNER, WORKSPACE_MEMBER |string|True|\n |permissions||array||\n |page_access||array||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |auth_type|LOCAL, EXTERNAL |string|True|\n |reset_password|If reset_password is true, send email|boolean|True|\n |password|When auth_type is LOCAL, password is required. |string||\n |name||string||\n |email||string||\n |language|en,ko |string||\n |timezone|UTC, Asia/Seoul |string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"role_type" : {"type": "string","title": "ROLE_TYPE" },"permissions" : {"items": {}, "type": "array","title": "PERMISSIONS" },"page_access" : {"items": {}, "type": "array","title": "PAGE_ACCESS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"password" : {"type": "string","title": "PASSWORD" },"name" : {"type": "string","title": "NAME" },"email" : {"type": "string","title": "EMAIL" },"auth_type" : {"type": "string","title": "AUTH_TYPE" },"language" : {"type": "string","title": "LANGUAGE" },"timezone" : {"type": "string","title": "TIMEZONE" },"tags" : {"type": "object","title": "TAGS" },"reset_password" : {"type": "boolean","title": "RESET_PASSWORD" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"user_id\": \"wonny@cloudforet.io\",\n \"password\": \"Password1234!\",\n \"name\": \"Wonny\",\n \"email\": \"wonny@cloudforet.io\",\n \"auth_type\": \"LOCAL\",\n \"language\": \"en\",\n \"timezone\": \"UTC\"\n}"},"Schema":{} } } },"required": true @@ -256,25 +256,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RoleInfo"}, + "schema": {"$ref": "#/components/schemas/UserInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RoleInfo"}} + "Schema": {"$ref": "#/components/schemas/UserInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role/update": { + },"/identity/user/update": { "post": { - "tags": ["identity > role"], + "tags": ["identity > user"], "summary": "Update", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nUpdate user info by given user_id", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_id||string|True|\n |name||string||\n |permissions||array||\n |page_access||array||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |password||string||\n |name||string||\n |email||string||\n |language||string||\n |timezone||string||\n |tags||Struct||\n |reset_password||boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"role_id" : {"type": "string","title": "ROLE_ID" },"name" : {"type": "string","title": "NAME" },"permissions" : {"items": {}, "type": "array","title": "PERMISSIONS" },"page_access" : {"items": {}, "type": "array","title": "PAGE_ACCESS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"password" : {"type": "string","title": "PASSWORD" },"name" : {"type": "string","title": "NAME" },"email" : {"type": "string","title": "EMAIL" },"language" : {"type": "string","title": "LANGUAGE" },"timezone" : {"type": "string","title": "TIMEZONE" },"tags" : {"type": "object","title": "TAGS" },"reset_password" : {"type": "boolean","title": "RESET_PASSWORD" } } }, "examples":{"Schema":{} } @@ -285,56 +285,50 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RoleInfo"}, + "schema": {"$ref": "#/components/schemas/UserInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RoleInfo"}} + "Schema": {"$ref": "#/components/schemas/UserInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role/enable": { + },"/identity/user/verify-email": { "post": { - "tags": ["identity > role"], - "summary": "Enable", + "tags": ["identity > user"], + "summary": "Verify Email", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |email||string||\n
", "content": { "application/json": { "schema": { - "properties": {"role_id" : {"type": "string","title": "ROLE_ID" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"email" : {"type": "string","title": "EMAIL" } } }, - "examples":{"Default Example":{"value": "{\n \"role_id\": \"role-a12335a6a4fe\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"email\": \"example@cloudforet.com\",\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/RoleInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/RoleInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role/disable": { + },"/identity/user/disable-mfa": { "post": { - "tags": ["identity > role"], - "summary": "Disable", + "tags": ["identity > user"], + "summary": "Disable Mfa", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nDisable MFA for user. If this api is called, send email to user.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"role_id" : {"type": "string","title": "ROLE_ID" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"role_id\": \"role-a12335a6a4fe\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\"\n}"},"Schema":{} } } },"required": true @@ -343,50 +337,56 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RoleInfo"}, + "schema": {"$ref": "#/components/schemas/UserInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RoleInfo"}} + "Schema": {"$ref": "#/components/schemas/UserInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role/delete": { + },"/identity/user/set-required-actions": { "post": { - "tags": ["identity > role"], - "summary": "Delete", + "tags": ["identity > user"], + "summary": "Set Required Actions", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |required_actions| |array|True|\n
", "content": { "application/json": { "schema": { - "properties": {"role_id" : {"type": "string","title": "ROLE_ID" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"required_actions" : {"items": {}, "type": "array","title": "REQUIRED_ACTIONS" } } }, - "examples":{"Default Example":{"value": "{\n \"role_id\": \"role-a12335a6a4fe\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"required_actions\": [\"UPDATE_PASSWORD\"]\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/UserInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/UserInfo"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role/get": { + },"/identity/user/enable": { "post": { - "tags": ["identity > role"], - "summary": "Get", + "tags": ["identity > user"], + "summary": "Enable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"role_id" : {"type": "string","title": "ROLE_ID" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"role_id\": \"role-a12335a6a4fe\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\"\n}"},"Schema":{} } } },"required": true @@ -395,27 +395,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RoleInfo"}, + "schema": {"$ref": "#/components/schemas/UserInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RoleInfo"}} + "Schema": {"$ref": "#/components/schemas/UserInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role/list": { + },"/identity/user/disable": { "post": { - "tags": ["identity > role"], - "summary": "List", + "tags": ["identity > user"], + "summary": "Disable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |role_id||string||\n |name||string||\n |role_type|DOMAIN_ADMIN, WORKSPACE_OWNER, WORKSPACE_MEMBER |string||\n |state|ENABLED, DISABLED |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"role_id" : {"type": "string","title": "ROLE_ID" },"name" : {"type": "string","title": "NAME" },"role_type" : {"type": "string","title": "ROLE_TYPE" },"state" : {"type": "string","title": "STATE" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\"\n}"},"Schema":{} } } },"required": true @@ -424,56 +424,50 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RolesInfo"}, + "schema": {"$ref": "#/components/schemas/UserInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RolesInfo"}} + "Schema": {"$ref": "#/components/schemas/UserInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role/stat": { + },"/identity/user/delete": { "post": { - "tags": ["identity > role"], - "summary": "Stat", + "tags": ["identity > user"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\"\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"type": "object"}, - "examples": { - "Schema": {"type": "object"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user-group/create": { + },"/identity/user/get": { "post": { - "tags": ["identity > user-group"], - "summary": "Create", + "tags": ["identity > user"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\"\n}"},"Schema":{} } } },"required": true @@ -482,25 +476,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserGroupInfo"}, + "schema": {"$ref": "#/components/schemas/UserInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserGroupInfo"}} + "Schema": {"$ref": "#/components/schemas/UserInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user-group/update": { + },"/identity/user/list": { "post": { - "tags": ["identity > user-group"], - "summary": "Update", + "tags": ["identity > user"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_group_id||string|True|\n |name||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |user_id||string||\n |name||string||\n |state|ENABLED, DISABLED, PENDING |string||\n |email||string||\n |auth_type|LOCAL, EXTERNAL |string||\n
", "content": { "application/json": { "schema": { - "properties": {"user_group_id" : {"type": "string","title": "USER_GROUP_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"user_id" : {"type": "string","title": "USER_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"email" : {"type": "string","title": "EMAIL" },"auth_type" : {"type": "string","title": "AUTH_TYPE" } } }, "examples":{"Schema":{} } @@ -511,25 +505,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserGroupInfo"}, + "schema": {"$ref": "#/components/schemas/UsersInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserGroupInfo"}} + "Schema": {"$ref": "#/components/schemas/UsersInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user-group/delete": { + },"/identity/user/stat": { "post": { - "tags": ["identity > user-group"], - "summary": "Delete", + "tags": ["identity > user"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_group_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_group_id" : {"type": "string","title": "USER_GROUP_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, "examples":{"Schema":{} } @@ -538,23 +532,29 @@ }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"type": "object"}, + "examples": { + "Schema": {"type": "object"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user-group/add-users": { + },"/identity/trusted-account/create": { "post": { - "tags": ["identity > user-group"], - "summary": "Add Users", + "tags": ["identity > trusted-account"], + "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_group_id||string|True|\n |users||array|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |data|Base Information of Trusted Account. It depends on provider.|Struct|True|\n |provider||string|True|\n |secret_schema_id||string|True|\n |secret_data||Struct|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |schedule||Scheduled||\n |sync_options||Struct||\n |plugin_options||Struct||\n |tags||Struct||\n |workspace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"user_group_id" : {"type": "string","title": "USER_GROUP_ID" },"users" : {"items": {}, "type": "array","title": "USERS" } } + "properties": {"name" : {"type": "string","title": "NAME" },"data" : {"type": "object","title": "DATA" },"provider" : {"type": "string","title": "PROVIDER" },"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID" },"secret_data" : {"type": "object","title": "SECRET_DATA" },"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE" },"sync_options" : {"type": "object","title": "SYNC_OPTIONS" },"plugin_options" : {"type": "object","title": "PLUGIN_OPTIONS" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"name\": \"Trusted Account\",\n \"data\": {\n \"account_id\": \"123456789\",\n }\n \"provider\": \"aws\",\n \"secret_schema_id\": \"aws-secret-access-key\",\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [3, 15]\n },\n \"resource_group\": \"DOMAIN\",\n \"workspace_id\": \"*\"\n}"},"Schema":{} } } },"required": true @@ -563,25 +563,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserGroupInfo"}, + "schema": {"$ref": "#/components/schemas/TrustedAccountInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserGroupInfo"}} + "Schema": {"$ref": "#/components/schemas/TrustedAccountInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user-group/remove-users": { + },"/identity/trusted-account/update": { "post": { - "tags": ["identity > user-group"], - "summary": "Remove Users", + "tags": ["identity > trusted-account"], + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_group_id||string|True|\n |users||array|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_account_id||string|True|\n |tags||Struct|True|\n |name||string||\n |data||Struct||\n |schedule||Scheduled||\n |sync_options||Struct||\n |plugin_options||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"user_group_id" : {"type": "string","title": "USER_GROUP_ID" },"users" : {"items": {}, "type": "array","title": "USERS" } } + "properties": {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" },"name" : {"type": "string","title": "NAME" },"data" : {"type": "object","title": "DATA" },"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE" },"sync_options" : {"type": "object","title": "SYNC_OPTIONS" },"plugin_options" : {"type": "object","title": "PLUGIN_OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -592,25 +592,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserGroupInfo"}, + "schema": {"$ref": "#/components/schemas/TrustedAccountInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserGroupInfo"}} + "Schema": {"$ref": "#/components/schemas/TrustedAccountInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user-group/get": { + },"/identity/trusted-account/update-secret-data": { "post": { - "tags": ["identity > user-group"], - "summary": "Get", + "tags": ["identity > trusted-account"], + "summary": "Update Secret Data", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_group_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_account_id||string|True|\n |secret_schema_id||string|True|\n |secret_data||Struct|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_group_id" : {"type": "string","title": "USER_GROUP_ID" } } + "properties": {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" },"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID" },"secret_data" : {"type": "object","title": "SECRET_DATA" } } }, "examples":{"Schema":{} } @@ -621,25 +621,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserGroupInfo"}, + "schema": {"$ref": "#/components/schemas/TrustedAccountInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserGroupInfo"}} + "Schema": {"$ref": "#/components/schemas/TrustedAccountInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user-group/list": { + },"/identity/trusted-account/delete": { "post": { - "tags": ["identity > user-group"], - "summary": "List", + "tags": ["identity > trusted-account"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |user_group_id||string||\n |name||string||\n |user_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_account_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"user_group_id" : {"type": "string","title": "USER_GROUP_ID" },"name" : {"type": "string","title": "NAME" },"user_id" : {"type": "string","title": "USER_ID" } } + "properties": {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" } } }, "examples":{"Schema":{} } @@ -648,27 +648,21 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/UserGroupsInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/UserGroupsInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user-group/stat": { + },"/identity/trusted-account/sync": { "post": { - "tags": ["identity > user-group"], - "summary": "Stat", + "tags": ["identity > trusted-account"], + "summary": "Sync", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_account_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" } } }, "examples":{"Schema":{} } @@ -679,25 +673,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/JobInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/JobInfo"},"Default Example":{ + "value": "{\n \"job_id\": \"job-123456789012\",\n \"status\": \"ERROR\",\n \"resource_group\": \"DOMAIN\",\n \"plugin_id\": \"plugin-aws-cloud-service-inven-collector\",\n \"trusted_account_id\": \"ta-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T10:00:01.389Z\",\n \"updated_at\": \"2022-01-01T10:00:01.389Z\",\n \"finished_at\": \"2022-01-01T10:02:11.270Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role-binding/create": { + },"/identity/trusted-account/get": { "post": { - "tags": ["identity > role-binding"], - "summary": "Create", + "tags": ["identity > trusted-account"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |role_id||string|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |workspace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_account_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" } } }, "examples":{"Schema":{} } @@ -708,25 +704,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RoleBindingInfo"}, + "schema": {"$ref": "#/components/schemas/TrustedAccountInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RoleBindingInfo"}} + "Schema": {"$ref": "#/components/schemas/TrustedAccountInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role-binding/update-role": { + },"/identity/trusted-account/list": { "post": { - "tags": ["identity > role-binding"], - "summary": "Update Role", + "tags": ["identity > trusted-account"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_binding_id||string|True|\n |role_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |trusted_account_id||string||\n |name||string||\n |provider||string||\n |workspace_id||string||\n |secret_schema_id||string||\n |trusted_secret_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID" },"role_id" : {"type": "string","title": "ROLE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" },"name" : {"type": "string","title": "NAME" },"provider" : {"type": "string","title": "PROVIDER" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID" },"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID" } } }, "examples":{"Schema":{} } @@ -737,25 +733,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RoleBindingInfo"}, + "schema": {"$ref": "#/components/schemas/TrustedAccountsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RoleBindingInfo"}} + "Schema": {"$ref": "#/components/schemas/TrustedAccountsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role-binding/delete": { + },"/identity/trusted-account/stat": { "post": { - "tags": ["identity > role-binding"], - "summary": "Delete", + "tags": ["identity > trusted-account"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_binding_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, "examples":{"Schema":{} } @@ -764,21 +760,27 @@ }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"type": "object"}, + "examples": { + "Schema": {"type": "object"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role-binding/get": { + },"/identity/workspace-user/create": { "post": { - "tags": ["identity > role-binding"], - "summary": "Get", + "tags": ["identity > workspace-user"], + "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_binding_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |auth_type||AuthType|True|\n |reset_password|If reset_password is true, send email|boolean|True|\n |role_id||string|True|\n |password|When auth_type is LOCAL, password is required. |string||\n |name||string||\n |email||string||\n |language|en,ko |string||\n |timezone|UTC, Asia/Seoul |string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"password" : {"type": "string","title": "PASSWORD" },"name" : {"type": "string","title": "NAME" },"email" : {"type": "string","title": "EMAIL" },"auth_type" : {"type": "AuthType","title": "AUTH_TYPE" },"language" : {"type": "string","title": "LANGUAGE" },"timezone" : {"type": "string","title": "TIMEZONE" },"tags" : {"type": "object","title": "TAGS" },"reset_password" : {"type": "boolean","title": "RESET_PASSWORD" },"role_id" : {"type": "string","title": "ROLE_ID" } } }, "examples":{"Schema":{} } @@ -789,25 +791,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RoleBindingInfo"}, + "schema": {"$ref": "#/components/schemas/WorkspaceUserInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RoleBindingInfo"}} + "Schema": {"$ref": "#/components/schemas/WorkspaceUserInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role-binding/list": { + },"/identity/workspace-user/get": { "post": { - "tags": ["identity > role-binding"], - "summary": "List", + "tags": ["identity > workspace-user"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |role_binding_id||string||\n |role_type|DOMAIN_ADMIN, WORKSPACE_OWNER, WORKSPACE_MEMBER |string||\n |workspace_id||string||\n |role_id||string||\n |user_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |workspace_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID" },"role_type" : {"type": "string","title": "ROLE_TYPE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"user_id" : {"type": "string","title": "USER_ID" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, "examples":{"Schema":{} } @@ -818,25 +820,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RoleBindingsInfo"}, + "schema": {"$ref": "#/components/schemas/WorkspaceUserInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RoleBindingsInfo"}} + "Schema": {"$ref": "#/components/schemas/WorkspaceUserInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/role-binding/stat": { + },"/identity/workspace-user/find": { "post": { - "tags": ["identity > role-binding"], - "summary": "Stat", + "tags": ["identity > workspace-user"], + "summary": "Find", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |keyword||string|True|\n |workspace_id||string|True|\n |state|ENABLED, DISABLED, PENDING |string||\n |page||Page||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"keyword" : {"type": "string","title": "KEYWORD" },"state" : {"type": "string","title": "STATE" },"page" : {"$ref": "#/components/schemas/Page","title": "PAGE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, "examples":{"Schema":{} } @@ -847,25 +849,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/UsersSummaryInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/UsersSummaryInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/schema/create": { + },"/identity/workspace-user/list": { "post": { - "tags": ["identity > schema"], - "summary": "Create", + "tags": ["identity > workspace-user"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |schema_id||string|True|\n |name||string|True|\n |schema_type|SERVICE_ACCOUNT, TRUSTED_ACCOUNT, SECRET, TRUSTING_SECRET |string|True|\n |provider||string|True|\n |schema||Struct||\n |related_schemas||array||\n |options||Struct||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |workspace_id||string|True|\n |query||Query||\n |user_id||string||\n |name||string||\n |state|ENABLED, DISABLED, PENDING |string||\n |email||string||\n |auth_type||AuthType||\n |role_type||string||\n
", "content": { "application/json": { "schema": { - "properties": {"schema_id" : {"type": "string","title": "SCHEMA_ID" },"name" : {"type": "string","title": "NAME" },"schema_type" : {"type": "string","title": "SCHEMA_TYPE" },"schema" : {"type": "object","title": "SCHEMA" },"provider" : {"type": "string","title": "PROVIDER" },"related_schemas" : {"items": {}, "type": "array","title": "RELATED_SCHEMAS" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"user_id" : {"type": "string","title": "USER_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"email" : {"type": "string","title": "EMAIL" },"auth_type" : {"type": "AuthType","title": "AUTH_TYPE" },"role_type" : {"type": "string","title": "ROLE_TYPE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, "examples":{"Schema":{} } @@ -876,25 +878,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/SchemaInfo"}, + "schema": {"$ref": "#/components/schemas/WorkspaceUsersInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/SchemaInfo"}} + "Schema": {"$ref": "#/components/schemas/WorkspaceUsersInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/schema/update": { + },"/identity/workspace-user/stat": { "post": { - "tags": ["identity > schema"], - "summary": "Update", + "tags": ["identity > workspace-user"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |schema_id||string|True|\n |name||string||\n |schema||Struct||\n |related_schemas||array||\n |options||Struct||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |workspace_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"schema_id" : {"type": "string","title": "SCHEMA_ID" },"name" : {"type": "string","title": "NAME" },"schema" : {"type": "object","title": "SCHEMA" },"related_schemas" : {"items": {}, "type": "array","title": "RELATED_SCHEMAS" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, "examples":{"Schema":{} } @@ -905,25 +907,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/SchemaInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/SchemaInfo"}} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/schema/delete": { + },"/identity/token/issue": { "post": { - "tags": ["identity > schema"], - "summary": "Delete", + "tags": ["identity > token"], + "summary": "Issue", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |schema_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |credentials||Struct|True|\n |domain_id||string|True|\n |auth_type|LOCAL, EXTERNAL, MFA LOCAL, EXTERNAL |string||\n |timeout||int||\n |verify_code|if MFA is enabled, verify_code is required |string||\n
", "content": { "application/json": { "schema": { - "properties": {"schema_id" : {"type": "string","title": "SCHEMA_ID" } } + "properties": {"credentials" : {"type": "object","title": "CREDENTIALS" },"auth_type" : {"type": "string","title": "AUTH_TYPE" },"timeout" : {"type": "integer","title": "TIMEOUT" },"verify_code" : {"type": "string","title": "VERIFY_CODE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -932,21 +934,27 @@ }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/TokenInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/TokenInfo"}} + } + }} } - ,"security": [{"HTTPBearer": []}] } - },"/identity/schema/get": { + } + },"/identity/token/grant": { "post": { - "tags": ["identity > schema"], - "summary": "Get", + "tags": ["identity > token"], + "summary": "Grant", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |schema_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |grant_type|REFRESH_TOKEN, SYSTEM_TOKEN |string|True|\n |token||string|True|\n |scope|SYSTEM, DOMAIN, WORKSPACE, PROJECT, USER |string|True|\n |timeout||int||\n |workspace_id||string||\n |domain_id||string||\n |permissions||array||\n
", "content": { "application/json": { "schema": { - "properties": {"schema_id" : {"type": "string","title": "SCHEMA_ID" } } + "properties": {"grant_type" : {"type": "string","title": "GRANT_TYPE" },"token" : {"type": "string","title": "TOKEN" },"scope" : {"type": "string","title": "SCOPE" },"timeout" : {"type": "integer","title": "TIMEOUT" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"permissions" : {"items": {}, "type": "array","title": "PERMISSIONS" } } }, "examples":{"Schema":{} } @@ -957,54 +965,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/SchemaInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/SchemaInfo"}} - } - }} - } - ,"security": [{"HTTPBearer": []}] } - },"/identity/schema/list": { - "post": { - "tags": ["identity > schema"], - "summary": "List", - "operationId" : "", - "description": "### Description \n", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |schema_id||string||\n |name||string||\n |schema_type|SERVICE_ACCOUNT, TRUSTED_ACCOUNT, SECRET, TRUSTING_SECRET |string||\n |provider||string||\n |related_schema_id||string||\n |is_managed||boolean||\n
", - "content": { - "application/json": { - "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"schema_id" : {"type": "string","title": "SCHEMA_ID" },"name" : {"type": "string","title": "NAME" },"schema_type" : {"type": "string","title": "SCHEMA_TYPE" },"provider" : {"type": "string","title": "PROVIDER" },"related_schema_id" : {"type": "string","title": "RELATED_SCHEMA_ID" },"is_managed" : {"type": "boolean","title": "IS_MANAGED" } } - }, - "examples":{"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/SchemasInfo"}, + "schema": {"$ref": "#/components/schemas/GrantTokenInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/SchemasInfo"}} + "Schema": {"$ref": "#/components/schemas/GrantTokenInfo"}} } }} } - ,"security": [{"HTTPBearer": []}] } - },"/identity/schema/stat": { + } + },"/identity/external-auth/set": { "post": { - "tags": ["identity > schema"], - "summary": "Stat", + "tags": ["identity > external-auth"], + "summary": "Set", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |plugin_info||PluginRequest|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"plugin_info" : {"type": "PluginRequest","title": "PLUGIN_INFO" } } }, "examples":{"Schema":{} } @@ -1015,25 +994,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/ExternalAuthInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/ExternalAuthInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/create": { + },"/identity/external-auth/unset": { "post": { - "tags": ["identity > project"], - "summary": "Create", + "tags": ["identity > external-auth"], + "summary": "Unset", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |project_type|PRIVATE, PUBLIC |string|True|\n |tags||Struct||\n |project_group_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"project_type" : {"type": "string","title": "PROJECT_TYPE" },"tags" : {"type": "object","title": "TAGS" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" } } + "properties": { } }, "examples":{"Schema":{} } @@ -1044,25 +1023,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectInfo"}, + "schema": {"$ref": "#/components/schemas/ExternalAuthInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} + "Schema": {"$ref": "#/components/schemas/ExternalAuthInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/update": { + },"/identity/external-auth/get": { "post": { - "tags": ["identity > project"], - "summary": "Update", + "tags": ["identity > external-auth"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |name||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n
", "content": { "application/json": { "schema": { - "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } + "properties": { } }, "examples":{"Schema":{} } @@ -1073,25 +1052,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectInfo"}, + "schema": {"$ref": "#/components/schemas/ExternalAuthInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} + "Schema": {"$ref": "#/components/schemas/ExternalAuthInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/update-project-type": { + },"/identity/workspace/create": { "post": { - "tags": ["identity > project"], - "summary": "Update Project Type", + "tags": ["identity > workspace"], + "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |project_type|PRIVATE, PUBLIC |string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |tags||Struct|True|\n
", "content": { "application/json": { "schema": { - "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"project_type" : {"type": "string","title": "PROJECT_TYPE" } } + "properties": {"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -1102,25 +1081,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectInfo"}, + "schema": {"$ref": "#/components/schemas/WorkspaceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} + "Schema": {"$ref": "#/components/schemas/WorkspaceInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/change-project-group": { + },"/identity/workspace/update": { "post": { - "tags": ["identity > project"], - "summary": "Change Project Group", + "tags": ["identity > workspace"], + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |project_group_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |workspace_id||string|True|\n |name||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" } } + "properties": {"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -1131,25 +1110,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectInfo"}, + "schema": {"$ref": "#/components/schemas/WorkspaceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} + "Schema": {"$ref": "#/components/schemas/WorkspaceInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/delete": { + },"/identity/workspace/delete": { "post": { - "tags": ["identity > project"], + "tags": ["identity > workspace"], "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |workspace_id||string|True|\n |force||boolean|True|\n
", "content": { "application/json": { "schema": { - "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" } } + "properties": {"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"force" : {"type": "boolean","title": "FORCE" } } }, "examples":{"Schema":{} } @@ -1161,18 +1140,18 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/add-users": { + },"/identity/workspace/enable": { "post": { - "tags": ["identity > project"], - "summary": "Add Users", + "tags": ["identity > workspace"], + "summary": "Enable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |users||array|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |workspace_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"users" : {"items": {}, "type": "array","title": "USERS" } } + "properties": {"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, "examples":{"Schema":{} } @@ -1183,25 +1162,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectInfo"}, + "schema": {"$ref": "#/components/schemas/WorkspaceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} + "Schema": {"$ref": "#/components/schemas/WorkspaceInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/remove-users": { + },"/identity/workspace/disable": { "post": { - "tags": ["identity > project"], - "summary": "Remove Users", + "tags": ["identity > workspace"], + "summary": "Disable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |users||array|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |workspace_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"users" : {"items": {}, "type": "array","title": "USERS" } } + "properties": {"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, "examples":{"Schema":{} } @@ -1212,25 +1191,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectInfo"}, + "schema": {"$ref": "#/components/schemas/WorkspaceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} + "Schema": {"$ref": "#/components/schemas/WorkspaceInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/get": { + },"/identity/workspace/get": { "post": { - "tags": ["identity > project"], + "tags": ["identity > workspace"], "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |workspace_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" } } + "properties": {"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, "examples":{"Schema":{} } @@ -1241,25 +1220,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectInfo"}, + "schema": {"$ref": "#/components/schemas/WorkspaceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} + "Schema": {"$ref": "#/components/schemas/WorkspaceInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/list": { + },"/identity/workspace/list": { "post": { - "tags": ["identity > project"], + "tags": ["identity > workspace"], "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |project_id||string||\n |name||string||\n |project_type|PRIVATE, PUBLIC |string||\n |created_by||string||\n |include_children||boolean||\n |workspace_id||string||\n |project_group_id||string||\n |user_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |workspace_id||string||\n |name||string||\n |state|ENABLED, DISABLED |string||\n |created_by||string||\n |is_managed||boolean||\n |is_dormant||boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"project_id" : {"type": "string","title": "PROJECT_ID" },"name" : {"type": "string","title": "NAME" },"project_type" : {"type": "string","title": "PROJECT_TYPE" },"created_by" : {"type": "string","title": "CREATED_BY" },"include_children" : {"type": "boolean","title": "INCLUDE_CHILDREN" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"user_id" : {"type": "string","title": "USER_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"created_by" : {"type": "string","title": "CREATED_BY" },"is_managed" : {"type": "boolean","title": "IS_MANAGED" },"is_dormant" : {"type": "boolean","title": "IS_DORMANT" } } }, "examples":{"Schema":{} } @@ -1270,16 +1249,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectsInfo"}, + "schema": {"$ref": "#/components/schemas/WorkspacesInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectsInfo"}} + "Schema": {"$ref": "#/components/schemas/WorkspacesInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project/stat": { + },"/identity/workspace/stat": { "post": { - "tags": ["identity > project"], + "tags": ["identity > workspace"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -1306,20 +1285,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/agent/create": { + },"/identity/provider/create": { "post": { - "tags": ["identity > agent"], + "tags": ["identity > provider"], "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n |options||Struct|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider||string|True|\n |name||string|True|\n |alias||string||\n |plugin_info|If plugin_info is not empty, your provider support trusted account and support auto sync for Cloudforet. These two options are located in options field. not in plugin_info. |PluginInfo||\n |color||string||\n |icon||string||\n |order||int||\n |options||Struct||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" },"options" : {"type": "object","title": "OPTIONS" } } + "properties": {"provider" : {"type": "string","title": "PROVIDER" },"name" : {"type": "string","title": "NAME" },"alias" : {"type": "string","title": "ALIAS" },"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO" },"color" : {"type": "string","title": "COLOR" },"icon" : {"type": "string","title": "ICON" },"order" : {"type": "integer","title": "ORDER" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"provider\": \"aws\",\n \"name\": \"AWS\",\n \"alias\": \"AWS\",\n \"color\": \"#FF9900\",\n \"icon\": \"https://cloudforet.io/icons/aws.svg\",\n \"order\": 1,\n \"options\": {\n \"supported_trusted_account\": false\n }\n}"},"Schema":{} } } },"required": true @@ -1328,27 +1307,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/AgentInfo"}, + "schema": {"$ref": "#/components/schemas/ProviderInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/AgentInfo"}} + "Schema": {"$ref": "#/components/schemas/ProviderInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/agent/enable": { + },"/identity/provider/update": { "post": { - "tags": ["identity > agent"], - "summary": "Enable", + "tags": ["identity > provider"], + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider||string|True|\n |name||string||\n |alias||string||\n |plugin_info||PluginInfo||\n |color||string||\n |icon||string||\n |order||int||\n |options||Struct||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } + "properties": {"provider" : {"type": "string","title": "PROVIDER" },"name" : {"type": "string","title": "NAME" },"alias" : {"type": "string","title": "ALIAS" },"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO" },"color" : {"type": "string","title": "COLOR" },"icon" : {"type": "string","title": "ICON" },"order" : {"type": "integer","title": "ORDER" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"provider\": \"aws\",\n \"name\": \"AWS\",\n \"alias\": \"AWS\",\n \"color\": \"#FF9900\",\n \"icon\": \"https://cloudforet.io/icons/aws.svg\",\n \"order\": 2,\n \"options\": {\n \"supported_trusted_account\": false\n },\n}"},"Schema":{} } } },"required": true @@ -1357,27 +1336,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/AgentInfo"}, + "schema": {"$ref": "#/components/schemas/ProviderInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/AgentInfo"}} + "Schema": {"$ref": "#/components/schemas/ProviderInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/agent/disable": { + },"/identity/provider/update-plugin": { "post": { - "tags": ["identity > agent"], - "summary": "Disable", + "tags": ["identity > provider"], + "summary": "Update Plugin", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider|Managed provider are aws, azure, google_cloud and kubernetes. Maybe more in the future.|string|True|\n |version||string||\n |options||Struct||\n |upgrade_mode|MANUAL, AUTO |string||\n
", "content": { "application/json": { "schema": { - "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } + "properties": {"provider" : {"type": "string","title": "PROVIDER" },"version" : {"type": "string","title": "VERSION" },"options" : {"type": "object","title": "OPTIONS" },"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"provider\": \"aws\",\n \"version\": \"1.0.0\",\n \"options\": {},\n \"upgrade_mode\": \"AUTO\"\n}"},"Schema":{} } } },"required": true @@ -1386,77 +1365,77 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/AgentInfo"}, + "schema": {"$ref": "#/components/schemas/ProviderInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/AgentInfo"}} + "Schema": {"$ref": "#/components/schemas/ProviderInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/agent/regenerate": { + },"/identity/provider/delete": { "post": { - "tags": ["identity > agent"], - "summary": "Regenerate", + "tags": ["identity > provider"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } + "properties": {"provider" : {"type": "string","title": "PROVIDER" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"provider\": \"aws\"\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/AgentInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/AgentInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/agent/delete": { + },"/identity/provider/get": { "post": { - "tags": ["identity > agent"], - "summary": "Delete", + "tags": ["identity > provider"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } + "properties": {"provider" : {"type": "string","title": "PROVIDER" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"provider\": \"aws\"\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/ProviderInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/ProviderInfo"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/agent/get": { + },"/identity/provider/list": { "post": { - "tags": ["identity > agent"], - "summary": "Get", + "tags": ["identity > provider"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |provider||string||\n |name||string||\n |alias||string||\n |is_managed||boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"provider" : {"type": "string","title": "PROVIDER" },"name" : {"type": "string","title": "NAME" },"alias" : {"type": "string","title": "ALIAS" },"is_managed" : {"type": "boolean","title": "IS_MANAGED" } } }, "examples":{"Schema":{} } @@ -1467,25 +1446,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/AgentInfo"}, + "schema": {"$ref": "#/components/schemas/ProvidersInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/AgentInfo"}} + "Schema": {"$ref": "#/components/schemas/ProvidersInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/agent/list": { + },"/identity/provider/stat": { "post": { - "tags": ["identity > agent"], - "summary": "List", + "tags": ["identity > provider"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |agent_id||string||\n |service_account_id||string||\n |state|ENABLED, DISABLED, EXPIRED |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"agent_id" : {"type": "string","title": "AGENT_ID" },"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" },"state" : {"type": "string","title": "STATE" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, "examples":{"Schema":{} } @@ -1496,25 +1475,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/AgentsInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/AgentsInfo"}} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/create": { + },"/identity/agent/create": { "post": { - "tags": ["identity > project-group"], + "tags": ["identity > agent"], "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |tags||Struct||\n |parent_group_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n |options||Struct|True|\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" },"parent_group_id" : {"type": "string","title": "PARENT_GROUP_ID" } } + "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" },"options" : {"type": "object","title": "OPTIONS" } } }, "examples":{"Schema":{} } @@ -1525,25 +1504,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, + "schema": {"$ref": "#/components/schemas/AgentInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} + "Schema": {"$ref": "#/components/schemas/AgentInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/update": { + },"/identity/agent/enable": { "post": { - "tags": ["identity > project-group"], - "summary": "Update", + "tags": ["identity > agent"], + "summary": "Enable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |name||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } }, "examples":{"Schema":{} } @@ -1554,25 +1533,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, + "schema": {"$ref": "#/components/schemas/AgentInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} + "Schema": {"$ref": "#/components/schemas/AgentInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/change-parent-group": { + },"/identity/agent/disable": { "post": { - "tags": ["identity > project-group"], - "summary": "Change Parent Group", + "tags": ["identity > agent"], + "summary": "Disable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |parent_group_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"parent_group_id" : {"type": "string","title": "PARENT_GROUP_ID" } } + "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } }, "examples":{"Schema":{} } @@ -1583,48 +1562,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, + "schema": {"$ref": "#/components/schemas/AgentInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} + "Schema": {"$ref": "#/components/schemas/AgentInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/delete": { - "post": { - "tags": ["identity > project-group"], - "summary": "Delete", - "operationId" : "", - "description": "### Description \n", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n
", - "content": { - "application/json": { - "schema": { - "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" } } - }, - "examples":{"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response"} - } - ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/add-users": { + },"/identity/agent/regenerate": { "post": { - "tags": ["identity > project-group"], - "summary": "Add Users", + "tags": ["identity > agent"], + "summary": "Regenerate", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |users||array|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"users" : {"items": {}, "type": "array","title": "USERS" } } + "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } }, "examples":{"Schema":{} } @@ -1635,25 +1591,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, + "schema": {"$ref": "#/components/schemas/AgentInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} + "Schema": {"$ref": "#/components/schemas/AgentInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/remove-users": { + },"/identity/agent/delete": { "post": { - "tags": ["identity > project-group"], - "summary": "Remove Users", + "tags": ["identity > agent"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |users||array|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"users" : {"items": {}, "type": "array","title": "USERS" } } + "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } }, "examples":{"Schema":{} } @@ -1662,27 +1618,21 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/get": { + },"/identity/agent/get": { "post": { - "tags": ["identity > project-group"], + "tags": ["identity > agent"], "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" } } + "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } }, "examples":{"Schema":{} } @@ -1693,25 +1643,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, + "schema": {"$ref": "#/components/schemas/AgentInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} + "Schema": {"$ref": "#/components/schemas/AgentInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/list": { + },"/identity/agent/list": { "post": { - "tags": ["identity > project-group"], + "tags": ["identity > agent"], "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |project_group_id||string||\n |name||string||\n |workspace_id||string||\n |parent_group_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |agent_id||string||\n |service_account_id||string||\n |state|ENABLED, DISABLED, EXPIRED |string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"name" : {"type": "string","title": "NAME" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"parent_group_id" : {"type": "string","title": "PARENT_GROUP_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"agent_id" : {"type": "string","title": "AGENT_ID" },"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" },"state" : {"type": "string","title": "STATE" } } }, "examples":{"Schema":{} } @@ -1722,25 +1672,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectGroupsInfo"}, + "schema": {"$ref": "#/components/schemas/AgentsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectGroupsInfo"}} + "Schema": {"$ref": "#/components/schemas/AgentsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/project-group/stat": { + },"/identity/role-binding/create": { "post": { - "tags": ["identity > project-group"], - "summary": "Stat", + "tags": ["identity > role-binding"], + "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |role_id||string|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |workspace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"user_id" : {"type": "string","title": "USER_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, "examples":{"Schema":{} } @@ -1751,25 +1701,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/RoleBindingInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/RoleBindingInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/workspace-user/create": { + },"/identity/role-binding/update-role": { "post": { - "tags": ["identity > workspace-user"], - "summary": "Create", + "tags": ["identity > role-binding"], + "summary": "Update Role", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |auth_type||AuthType|True|\n |reset_password|If reset_password is true, send email|boolean|True|\n |role_id||string|True|\n |password|When auth_type is LOCAL, password is required. |string||\n |name||string||\n |email||string||\n |language|en,ko |string||\n |timezone|UTC, Asia/Seoul |string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_binding_id||string|True|\n |role_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"password" : {"type": "string","title": "PASSWORD" },"name" : {"type": "string","title": "NAME" },"email" : {"type": "string","title": "EMAIL" },"auth_type" : {"type": "AuthType","title": "AUTH_TYPE" },"language" : {"type": "string","title": "LANGUAGE" },"timezone" : {"type": "string","title": "TIMEZONE" },"tags" : {"type": "object","title": "TAGS" },"reset_password" : {"type": "boolean","title": "RESET_PASSWORD" },"role_id" : {"type": "string","title": "ROLE_ID" } } + "properties": {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID" },"role_id" : {"type": "string","title": "ROLE_ID" } } }, "examples":{"Schema":{} } @@ -1780,25 +1730,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/WorkspaceUserInfo"}, + "schema": {"$ref": "#/components/schemas/RoleBindingInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/WorkspaceUserInfo"}} + "Schema": {"$ref": "#/components/schemas/RoleBindingInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/workspace-user/get": { + },"/identity/role-binding/delete": { "post": { - "tags": ["identity > workspace-user"], - "summary": "Get", + "tags": ["identity > role-binding"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |workspace_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_binding_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID" } } }, "examples":{"Schema":{} } @@ -1807,27 +1757,21 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/WorkspaceUserInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/WorkspaceUserInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/workspace-user/find": { + },"/identity/role-binding/get": { "post": { - "tags": ["identity > workspace-user"], - "summary": "Find", + "tags": ["identity > role-binding"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |keyword||string|True|\n |workspace_id||string|True|\n |state|ENABLED, DISABLED, PENDING |string||\n |page||Page||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_binding_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"keyword" : {"type": "string","title": "KEYWORD" },"state" : {"type": "string","title": "STATE" },"page" : {"$ref": "#/components/schemas/Page","title": "PAGE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID" } } }, "examples":{"Schema":{} } @@ -1838,25 +1782,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UsersSummaryInfo"}, + "schema": {"$ref": "#/components/schemas/RoleBindingInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UsersSummaryInfo"}} + "Schema": {"$ref": "#/components/schemas/RoleBindingInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/workspace-user/list": { + },"/identity/role-binding/list": { "post": { - "tags": ["identity > workspace-user"], + "tags": ["identity > role-binding"], "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |workspace_id||string|True|\n |query||Query||\n |user_id||string||\n |name||string||\n |state|ENABLED, DISABLED, PENDING |string||\n |email||string||\n |auth_type||AuthType||\n |role_type||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |role_binding_id||string||\n |role_type|DOMAIN_ADMIN, WORKSPACE_OWNER, WORKSPACE_MEMBER |string||\n |workspace_id||string||\n |role_id||string||\n |user_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"user_id" : {"type": "string","title": "USER_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"email" : {"type": "string","title": "EMAIL" },"auth_type" : {"type": "AuthType","title": "AUTH_TYPE" },"role_type" : {"type": "string","title": "ROLE_TYPE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID" },"role_type" : {"type": "string","title": "ROLE_TYPE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"user_id" : {"type": "string","title": "USER_ID" } } }, "examples":{"Schema":{} } @@ -1867,25 +1811,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/WorkspaceUsersInfo"}, + "schema": {"$ref": "#/components/schemas/RoleBindingsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/WorkspaceUsersInfo"}} + "Schema": {"$ref": "#/components/schemas/RoleBindingsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/workspace-user/stat": { + },"/identity/role-binding/stat": { "post": { - "tags": ["identity > workspace-user"], + "tags": ["identity > role-binding"], "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |workspace_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, "examples":{"Schema":{} } @@ -1903,20 +1847,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/provider/create": { + },"/identity/project-group/create": { "post": { - "tags": ["identity > provider"], + "tags": ["identity > project-group"], "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider||string|True|\n |name||string|True|\n |alias||string||\n |plugin_info|If plugin_info is not empty, your provider support trusted account and support auto sync for Cloudforet. These two options are located in options field. not in plugin_info. |PluginInfo||\n |color||string||\n |icon||string||\n |order||int||\n |options||Struct||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |tags||Struct||\n |parent_group_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"provider" : {"type": "string","title": "PROVIDER" },"name" : {"type": "string","title": "NAME" },"alias" : {"type": "string","title": "ALIAS" },"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO" },"color" : {"type": "string","title": "COLOR" },"icon" : {"type": "string","title": "ICON" },"order" : {"type": "integer","title": "ORDER" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" },"parent_group_id" : {"type": "string","title": "PARENT_GROUP_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"provider\": \"aws\",\n \"name\": \"AWS\",\n \"alias\": \"AWS\",\n \"color\": \"#FF9900\",\n \"icon\": \"https://cloudforet.io/icons/aws.svg\",\n \"order\": 1,\n \"options\": {\n \"supported_trusted_account\": false\n }\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -1925,27 +1869,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProviderInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProviderInfo"}} + "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/provider/update": { + },"/identity/project-group/update": { "post": { - "tags": ["identity > provider"], + "tags": ["identity > project-group"], "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider||string|True|\n |name||string||\n |alias||string||\n |plugin_info||PluginInfo||\n |color||string||\n |icon||string||\n |order||int||\n |options||Struct||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |name||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"provider" : {"type": "string","title": "PROVIDER" },"name" : {"type": "string","title": "NAME" },"alias" : {"type": "string","title": "ALIAS" },"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO" },"color" : {"type": "string","title": "COLOR" },"icon" : {"type": "string","title": "ICON" },"order" : {"type": "integer","title": "ORDER" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"provider\": \"aws\",\n \"name\": \"AWS\",\n \"alias\": \"AWS\",\n \"color\": \"#FF9900\",\n \"icon\": \"https://cloudforet.io/icons/aws.svg\",\n \"order\": 2,\n \"options\": {\n \"supported_trusted_account\": false\n },\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -1954,27 +1898,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProviderInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProviderInfo"}} + "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/provider/update-plugin": { + },"/identity/project-group/change-parent-group": { "post": { - "tags": ["identity > provider"], - "summary": "Update Plugin", + "tags": ["identity > project-group"], + "summary": "Change Parent Group", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider|Managed provider are aws, azure, google_cloud and kubernetes. Maybe more in the future.|string|True|\n |version||string||\n |options||Struct||\n |upgrade_mode|MANUAL, AUTO |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |parent_group_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"provider" : {"type": "string","title": "PROVIDER" },"version" : {"type": "string","title": "VERSION" },"options" : {"type": "object","title": "OPTIONS" },"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE" } } + "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"parent_group_id" : {"type": "string","title": "PARENT_GROUP_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"provider\": \"aws\",\n \"version\": \"1.0.0\",\n \"options\": {},\n \"upgrade_mode\": \"AUTO\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -1983,27 +1927,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProviderInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProviderInfo"}} + "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/provider/delete": { + },"/identity/project-group/delete": { "post": { - "tags": ["identity > provider"], + "tags": ["identity > project-group"], "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"provider" : {"type": "string","title": "PROVIDER" } } + "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"provider\": \"aws\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -2013,20 +1957,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/provider/get": { + },"/identity/project-group/add-users": { "post": { - "tags": ["identity > provider"], - "summary": "Get", + "tags": ["identity > project-group"], + "summary": "Add Users", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |provider||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |users||array|True|\n
", "content": { "application/json": { "schema": { - "properties": {"provider" : {"type": "string","title": "PROVIDER" } } + "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"users" : {"items": {}, "type": "array","title": "USERS" } } }, - "examples":{"Default Example":{"value": "{\n \"provider\": \"aws\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -2035,25 +1979,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProviderInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProviderInfo"}} + "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/provider/list": { + },"/identity/project-group/remove-users": { "post": { - "tags": ["identity > provider"], - "summary": "List", + "tags": ["identity > project-group"], + "summary": "Remove Users", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |provider||string||\n |name||string||\n |alias||string||\n |is_managed||boolean||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n |users||array|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"provider" : {"type": "string","title": "PROVIDER" },"name" : {"type": "string","title": "NAME" },"alias" : {"type": "string","title": "ALIAS" },"is_managed" : {"type": "boolean","title": "IS_MANAGED" } } + "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"users" : {"items": {}, "type": "array","title": "USERS" } } }, "examples":{"Schema":{} } @@ -2064,25 +2008,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProvidersInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProvidersInfo"}} + "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/provider/stat": { + },"/identity/project-group/get": { "post": { - "tags": ["identity > provider"], - "summary": "Stat", + "tags": ["identity > project-group"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_group_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" } } }, "examples":{"Schema":{} } @@ -2093,25 +2037,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/ProjectGroupInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/endpoint/list": { + },"/identity/project-group/list": { "post": { - "tags": ["identity > endpoint"], + "tags": ["identity > project-group"], "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |service||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |project_group_id||string||\n |name||string||\n |workspace_id||string||\n |parent_group_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"service" : {"type": "string","title": "SERVICE" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"name" : {"type": "string","title": "NAME" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"parent_group_id" : {"type": "string","title": "PARENT_GROUP_ID" } } }, "examples":{"Schema":{} } @@ -2122,13 +2066,42 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/EndpointsInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectGroupsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/EndpointsInfo"}} + "Schema": {"$ref": "#/components/schemas/ProjectGroupsInfo"}} } }} } - } + ,"security": [{"HTTPBearer": []}] } + },"/identity/project-group/stat": { + "post": { + "tags": ["identity > project-group"], + "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": []}] } },"/identity/user-profile/update": { "post": { "tags": ["identity > user-profile"], @@ -2378,18 +2351,18 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/service-account/create": { + },"/identity/domain/create": { "post": { - "tags": ["identity > service-account"], + "tags": ["identity > domain"], "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |data||Struct|True|\n |provider||string|True|\n |project_id||string|True|\n |secret_schema_id||string||\n |secret_data||Struct||\n |tags||Struct||\n |trusted_account_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |admin||Admin|True|\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"data" : {"type": "object","title": "DATA" },"provider" : {"type": "string","title": "PROVIDER" },"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID" },"secret_data" : {"type": "object","title": "SECRET_DATA" },"tags" : {"type": "object","title": "TAGS" },"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" } } + "properties": {"name" : {"type": "string","title": "NAME" },"admin" : {"$ref": "#/components/schemas/Admin","title": "ADMIN" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -2400,25 +2373,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}, + "schema": {"$ref": "#/components/schemas/DomainInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}} + "Schema": {"$ref": "#/components/schemas/DomainInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/service-account/update": { + },"/identity/domain/update": { "post": { - "tags": ["identity > service-account"], + "tags": ["identity > domain"], "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n |name||string||\n |data||Struct||\n |tags||Struct||\n |project_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n |name||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" },"name" : {"type": "string","title": "NAME" },"data" : {"type": "object","title": "DATA" },"tags" : {"type": "object","title": "TAGS" },"project_id" : {"type": "string","title": "PROJECT_ID" } } + "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -2429,25 +2402,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}, + "schema": {"$ref": "#/components/schemas/DomainInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}} + "Schema": {"$ref": "#/components/schemas/DomainInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/service-account/update-secret-data": { + },"/identity/domain/delete": { "post": { - "tags": ["identity > service-account"], - "summary": "Update Secret Data", + "tags": ["identity > domain"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n |secret_schema_id||string|True|\n |secret_data||Struct|True|\n |trusted_account_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" },"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID" },"secret_data" : {"type": "object","title": "SECRET_DATA" },"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" } } + "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -2456,27 +2429,21 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/service-account/delete-secret-data": { + },"/identity/domain/enable": { "post": { - "tags": ["identity > service-account"], - "summary": "Delete Secret Data", + "tags": ["identity > domain"], + "summary": "Enable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } + "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -2487,25 +2454,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}, + "schema": {"$ref": "#/components/schemas/DomainInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}} + "Schema": {"$ref": "#/components/schemas/DomainInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/service-account/delete": { + },"/identity/domain/disable": { "post": { - "tags": ["identity > service-account"], - "summary": "Delete", + "tags": ["identity > domain"], + "summary": "Disable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } + "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -2514,21 +2481,27 @@ }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/DomainInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/DomainInfo"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/service-account/get": { + },"/identity/domain/get": { "post": { - "tags": ["identity > service-account"], + "tags": ["identity > domain"], "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } + "properties": {"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, "examples":{"Schema":{} } @@ -2539,25 +2512,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}, + "schema": {"$ref": "#/components/schemas/DomainInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}} + "Schema": {"$ref": "#/components/schemas/DomainInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/service-account/list": { + },"/identity/domain/get-auth-info": { "post": { - "tags": ["identity > service-account"], - "summary": "List", + "tags": ["identity > domain"], + "summary": "Get Auth Info", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |service_account_id||string||\n |name||string||\n |state||string||\n |provider||string||\n |workspace_id||string||\n |project_id||string||\n |trusted_account_id||string||\n |secret_schema_id||string||\n |secret_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"provider" : {"type": "string","title": "PROVIDER" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" },"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID" },"secret_id" : {"type": "string","title": "SECRET_ID" } } + "properties": {"name" : {"type": "string","title": "NAME" } } }, "examples":{"Schema":{} } @@ -2568,25 +2541,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ServiceAccountsInfo"}, + "schema": {"$ref": "#/components/schemas/DomainAuthInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ServiceAccountsInfo"}} + "Schema": {"$ref": "#/components/schemas/DomainAuthInfo"}} } }} } - ,"security": [{"HTTPBearer": []}] } - },"/identity/service-account/stat": { + } + },"/identity/domain/list": { "post": { - "tags": ["identity > service-account"], - "summary": "Stat", + "tags": ["identity > domain"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |domain_id||string||\n |name||string||\n |state|ENABLED, DISABLED |string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" } } }, "examples":{"Schema":{} } @@ -2597,56 +2570,50 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/DomainsInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/DomainsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/create": { + },"/identity/job/delete": { "post": { - "tags": ["identity > user"], - "summary": "Create", + "tags": ["identity > job"], + "summary": "Delete", "operationId" : "", - "description": "### Description \nYou can create user. after create user you have to binding role to user.\nSee role-binding create api.\nExternal type user do not need password.", + "description": "### Description \nDeletes a specific Job. You must specify the `job_id` of the Job to delete.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |auth_type|LOCAL, EXTERNAL |string|True|\n |reset_password|If reset_password is true, send email|boolean|True|\n |password|When auth_type is LOCAL, password is required. |string||\n |name||string||\n |email||string||\n |language|en,ko |string||\n |timezone|UTC, Asia/Seoul |string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"password" : {"type": "string","title": "PASSWORD" },"name" : {"type": "string","title": "NAME" },"email" : {"type": "string","title": "EMAIL" },"auth_type" : {"type": "string","title": "AUTH_TYPE" },"language" : {"type": "string","title": "LANGUAGE" },"timezone" : {"type": "string","title": "TIMEZONE" },"tags" : {"type": "object","title": "TAGS" },"reset_password" : {"type": "boolean","title": "RESET_PASSWORD" } } + "properties": {"job_id" : {"type": "string","title": "JOB_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"user_id\": \"wonny@cloudforet.io\",\n \"password\": \"Password1234!\",\n \"name\": \"Wonny\",\n \"email\": \"wonny@cloudforet.io\",\n \"auth_type\": \"LOCAL\",\n \"language\": \"en\",\n \"timezone\": \"UTC\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"job_id\": \"job-123456789012\",\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/update": { + },"/identity/job/get": { "post": { - "tags": ["identity > user"], - "summary": "Update", + "tags": ["identity > job"], + "summary": "Get", "operationId" : "", - "description": "### Description \nUpdate user info by given user_id", + "description": "### Description \nGets a specific Job. Prints detailed information about the Job, including its state.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |password||string||\n |name||string||\n |email||string||\n |language||string||\n |timezone||string||\n |tags||Struct||\n |reset_password||boolean||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"password" : {"type": "string","title": "PASSWORD" },"name" : {"type": "string","title": "NAME" },"email" : {"type": "string","title": "EMAIL" },"language" : {"type": "string","title": "LANGUAGE" },"timezone" : {"type": "string","title": "TIMEZONE" },"tags" : {"type": "object","title": "TAGS" },"reset_password" : {"type": "boolean","title": "RESET_PASSWORD" } } + "properties": {"job_id" : {"type": "string","title": "JOB_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"job_id\": \"job-123456789012\",\n}"},"Schema":{} } } },"required": true @@ -2655,50 +2622,89 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, + "schema": {"$ref": "#/components/schemas/JobInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"}} + "Schema": {"$ref": "#/components/schemas/JobInfo"},"Default Example":{ + "value": "{\n \"job_id\": \"job-123456789012\",\n \"status\": \"ERROR\",\n \"resource_group\": \"DOMAIN\",\n \"plugin_id\": \"plugin-aws-cloud-service-inven-collector\",\n \"trusted_account_id\": \"ta-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T10:00:01.389Z\",\n \"updated_at\": \"2022-01-01T10:00:01.389Z\",\n \"finished_at\": \"2022-01-01T10:02:11.270Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/verify-email": { + },"/identity/job/list": { "post": { - "tags": ["identity > user"], - "summary": "Verify Email", + "tags": ["identity > job"], + "summary": "List", + "operationId" : "", + "description": "### Description \nGets a list of all Jobs. You can use a query to get a filtered list of Jobs.", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |job_id||string||\n |status|PENDING, IN_PROGRESS, FAILURE, SUCCESS, CANCELED |string||\n |workspace_id||string||\n |trusted_account_id||string||\n |plugin_id||string||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"job_id" : {"type": "string","title": "JOB_ID" },"status" : {"type": "string","title": "STATUS" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" },"plugin_id" : {"type": "string","title": "PLUGIN_ID" } } + }, + "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/JobsInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/JobsInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"job_id\": \"job-3b124006c2d2\",\n \"status\": \"SUCCESS\",\n \"resource_group\": \"DOMAIN\",\n \"plugin_id\": \"plugin-aws-cloud-service-inven-collector\",\n \"trusted_account_id\": \"ta-3b124006c2d2\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-17T08:00:01.225Z\",\n \"updated_at\": \"2022-06-17T08:00:01.225Z\",\n \"finished_at\": \"2022-06-17T08:00:15.197Z\"\n },\n {\n \"job_id\": \"job-587a3d3b4db3\",\n \"status\": \"SUCCESS\",\n \"resource_group\": \"DOMAIN\",\n \"plugin_id\": \"plugin-aws-cloud-service-inven-collector\",\n \"trusted_account_id\": \"ta-587a3d3b4db3\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-17T08:00:00.407Z\",\n \"updated_at\": \"2022-06-17T08:00:00.407Z\",\n \"finished_at\": \"2022-06-17T08:07:32.023Z\"\n }\n ],\n \"total_count\": 2\n}" + }} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/identity/job/stat": { + "post": { + "tags": ["identity > job"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |email||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"email" : {"type": "string","title": "EMAIL" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, - "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"email\": \"example@cloudforet.com\",\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"type": "object"}, + "examples": { + "Schema": {"type": "object"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/disable-mfa": { + },"/identity/role/create": { "post": { - "tags": ["identity > user"], - "summary": "Disable Mfa", + "tags": ["identity > role"], + "summary": "Create", "operationId" : "", - "description": "### Description \nDisable MFA for user. If this api is called, send email to user.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |role_type|DOMAIN_ADMIN, WORKSPACE_OWNER, WORKSPACE_MEMBER |string|True|\n |permissions||array||\n |page_access||array||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" } } + "properties": {"name" : {"type": "string","title": "NAME" },"role_type" : {"type": "string","title": "ROLE_TYPE" },"permissions" : {"items": {}, "type": "array","title": "PERMISSIONS" },"page_access" : {"items": {}, "type": "array","title": "PAGE_ACCESS" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -2707,27 +2713,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, + "schema": {"$ref": "#/components/schemas/RoleInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"}} + "Schema": {"$ref": "#/components/schemas/RoleInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/set-required-actions": { + },"/identity/role/update": { "post": { - "tags": ["identity > user"], - "summary": "Set Required Actions", + "tags": ["identity > role"], + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n |required_actions| |array|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_id||string|True|\n |name||string||\n |permissions||array||\n |page_access||array||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" },"required_actions" : {"items": {}, "type": "array","title": "REQUIRED_ACTIONS" } } + "properties": {"role_id" : {"type": "string","title": "ROLE_ID" },"name" : {"type": "string","title": "NAME" },"permissions" : {"items": {}, "type": "array","title": "PERMISSIONS" },"page_access" : {"items": {}, "type": "array","title": "PAGE_ACCESS" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\",\n \"required_actions\": [\"UPDATE_PASSWORD\"]\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -2736,27 +2742,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, + "schema": {"$ref": "#/components/schemas/RoleInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"}} + "Schema": {"$ref": "#/components/schemas/RoleInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/enable": { + },"/identity/role/enable": { "post": { - "tags": ["identity > user"], + "tags": ["identity > role"], "summary": "Enable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" } } + "properties": {"role_id" : {"type": "string","title": "ROLE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"role_id\": \"role-a12335a6a4fe\"\n}"},"Schema":{} } } },"required": true @@ -2765,27 +2771,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, + "schema": {"$ref": "#/components/schemas/RoleInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"}} + "Schema": {"$ref": "#/components/schemas/RoleInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/disable": { + },"/identity/role/disable": { "post": { - "tags": ["identity > user"], + "tags": ["identity > role"], "summary": "Disable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" } } + "properties": {"role_id" : {"type": "string","title": "ROLE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"role_id\": \"role-a12335a6a4fe\"\n}"},"Schema":{} } } },"required": true @@ -2794,27 +2800,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, + "schema": {"$ref": "#/components/schemas/RoleInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"}} + "Schema": {"$ref": "#/components/schemas/RoleInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/delete": { + },"/identity/role/delete": { "post": { - "tags": ["identity > user"], + "tags": ["identity > role"], "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" } } + "properties": {"role_id" : {"type": "string","title": "ROLE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"role_id\": \"role-a12335a6a4fe\"\n}"},"Schema":{} } } },"required": true @@ -2824,20 +2830,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/get": { + },"/identity/role/get": { "post": { - "tags": ["identity > user"], + "tags": ["identity > role"], "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |role_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_id" : {"type": "string","title": "USER_ID" } } + "properties": {"role_id" : {"type": "string","title": "ROLE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"user_id\": \"example@cloudforet.com\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"role_id\": \"role-a12335a6a4fe\"\n}"},"Schema":{} } } },"required": true @@ -2846,25 +2852,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserInfo"}, + "schema": {"$ref": "#/components/schemas/RoleInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserInfo"}} + "Schema": {"$ref": "#/components/schemas/RoleInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/list": { + },"/identity/role/list": { "post": { - "tags": ["identity > user"], + "tags": ["identity > role"], "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |user_id||string||\n |name||string||\n |state|ENABLED, DISABLED, PENDING |string||\n |email||string||\n |auth_type|LOCAL, EXTERNAL |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |role_id||string||\n |name||string||\n |role_type|DOMAIN_ADMIN, WORKSPACE_OWNER, WORKSPACE_MEMBER |string||\n |state|ENABLED, DISABLED |string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"user_id" : {"type": "string","title": "USER_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"email" : {"type": "string","title": "EMAIL" },"auth_type" : {"type": "string","title": "AUTH_TYPE" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"role_id" : {"type": "string","title": "ROLE_ID" },"name" : {"type": "string","title": "NAME" },"role_type" : {"type": "string","title": "ROLE_TYPE" },"state" : {"type": "string","title": "STATE" } } }, "examples":{"Schema":{} } @@ -2875,16 +2881,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UsersInfo"}, + "schema": {"$ref": "#/components/schemas/RolesInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UsersInfo"}} + "Schema": {"$ref": "#/components/schemas/RolesInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/user/stat": { + },"/identity/role/stat": { "post": { - "tags": ["identity > user"], + "tags": ["identity > role"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -2911,18 +2917,18 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/app/create": { + },"/identity/schema/create": { "post": { - "tags": ["identity > app"], + "tags": ["identity > schema"], "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |role_id||string|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |tags||Struct||\n |expired_at||string||\n |workspace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |schema_id||string|True|\n |name||string|True|\n |schema_type|SERVICE_ACCOUNT, TRUSTED_ACCOUNT, SECRET, TRUSTING_SECRET |string|True|\n |provider||string|True|\n |schema||Struct||\n |related_schemas||array||\n |options||Struct||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"role_id" : {"type": "string","title": "ROLE_ID" },"tags" : {"type": "object","title": "TAGS" },"expired_at" : {"type": "string","title": "EXPIRED_AT" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"schema_id" : {"type": "string","title": "SCHEMA_ID" },"name" : {"type": "string","title": "NAME" },"schema_type" : {"type": "string","title": "SCHEMA_TYPE" },"schema" : {"type": "object","title": "SCHEMA" },"provider" : {"type": "string","title": "PROVIDER" },"related_schemas" : {"items": {}, "type": "array","title": "RELATED_SCHEMAS" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -2933,25 +2939,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/AppInfo"}, + "schema": {"$ref": "#/components/schemas/SchemaInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/AppInfo"}} + "Schema": {"$ref": "#/components/schemas/SchemaInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/app/update": { + },"/identity/schema/update": { "post": { - "tags": ["identity > app"], + "tags": ["identity > schema"], "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |app_id||string|True|\n |name||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |schema_id||string|True|\n |name||string||\n |schema||Struct||\n |related_schemas||array||\n |options||Struct||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"app_id" : {"type": "string","title": "APP_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"schema_id" : {"type": "string","title": "SCHEMA_ID" },"name" : {"type": "string","title": "NAME" },"schema" : {"type": "object","title": "SCHEMA" },"related_schemas" : {"items": {}, "type": "array","title": "RELATED_SCHEMAS" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -2962,25 +2968,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/AppInfo"}, + "schema": {"$ref": "#/components/schemas/SchemaInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/AppInfo"}} + "Schema": {"$ref": "#/components/schemas/SchemaInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/app/generate-client-secret": { + },"/identity/schema/delete": { "post": { - "tags": ["identity > app"], - "summary": "Generate Client Secret", + "tags": ["identity > schema"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |app_id||string|True|\n |expired_at||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |schema_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"app_id" : {"type": "string","title": "APP_ID" },"expired_at" : {"type": "string","title": "EXPIRED_AT" } } + "properties": {"schema_id" : {"type": "string","title": "SCHEMA_ID" } } }, "examples":{"Schema":{} } @@ -2989,27 +2995,21 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/AppInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/AppInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/app/enable": { + },"/identity/schema/get": { "post": { - "tags": ["identity > app"], - "summary": "Enable", + "tags": ["identity > schema"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |app_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |schema_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"app_id" : {"type": "string","title": "APP_ID" } } + "properties": {"schema_id" : {"type": "string","title": "SCHEMA_ID" } } }, "examples":{"Schema":{} } @@ -3020,25 +3020,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/AppInfo"}, + "schema": {"$ref": "#/components/schemas/SchemaInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/AppInfo"}} + "Schema": {"$ref": "#/components/schemas/SchemaInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/app/disable": { + },"/identity/schema/list": { "post": { - "tags": ["identity > app"], - "summary": "Disable", + "tags": ["identity > schema"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |app_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |schema_id||string||\n |name||string||\n |schema_type|SERVICE_ACCOUNT, TRUSTED_ACCOUNT, SECRET, TRUSTING_SECRET |string||\n |provider||string||\n |related_schema_id||string||\n |is_managed||boolean||\n
", "content": { "application/json": { "schema": { - "properties": {"app_id" : {"type": "string","title": "APP_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"schema_id" : {"type": "string","title": "SCHEMA_ID" },"name" : {"type": "string","title": "NAME" },"schema_type" : {"type": "string","title": "SCHEMA_TYPE" },"provider" : {"type": "string","title": "PROVIDER" },"related_schema_id" : {"type": "string","title": "RELATED_SCHEMA_ID" },"is_managed" : {"type": "boolean","title": "IS_MANAGED" } } }, "examples":{"Schema":{} } @@ -3049,25 +3049,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/AppInfo"}, + "schema": {"$ref": "#/components/schemas/SchemasInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/AppInfo"}} + "Schema": {"$ref": "#/components/schemas/SchemasInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/app/delete": { + },"/identity/schema/stat": { "post": { - "tags": ["identity > app"], - "summary": "Delete", + "tags": ["identity > schema"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |app_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"app_id" : {"type": "string","title": "APP_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, "examples":{"Schema":{} } @@ -3076,21 +3076,27 @@ }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"type": "object"}, + "examples": { + "Schema": {"type": "object"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/app/get": { + },"/identity/app/create": { "post": { "tags": ["identity > app"], - "summary": "Get", + "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |app_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |role_id||string|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |tags||Struct||\n |expired_at||string||\n |workspace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"app_id" : {"type": "string","title": "APP_ID" } } + "properties": {"name" : {"type": "string","title": "NAME" },"role_id" : {"type": "string","title": "ROLE_ID" },"tags" : {"type": "object","title": "TAGS" },"expired_at" : {"type": "string","title": "EXPIRED_AT" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, "examples":{"Schema":{} } @@ -3108,18 +3114,18 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/app/list": { + },"/identity/app/update": { "post": { "tags": ["identity > app"], - "summary": "List", + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |app_id||string||\n |name||string||\n |state|ENABLED, DISABLED, EXPIRED |string||\n |role_type|DOMAIN_ADMIN, WORKSPACE_OWNER |string||\n |workspace_id||string||\n |role_id||string||\n |client_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |app_id||string|True|\n |name||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"app_id" : {"type": "string","title": "APP_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"role_type" : {"type": "string","title": "ROLE_TYPE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"client_id" : {"type": "string","title": "CLIENT_ID" } } + "properties": {"app_id" : {"type": "string","title": "APP_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -3130,25 +3136,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/AppsInfo"}, + "schema": {"$ref": "#/components/schemas/AppInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/AppsInfo"}} + "Schema": {"$ref": "#/components/schemas/AppInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/app/stat": { + },"/identity/app/generate-client-secret": { "post": { "tags": ["identity > app"], - "summary": "Stat", + "summary": "Generate Client Secret", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |app_id||string|True|\n |expired_at||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"app_id" : {"type": "string","title": "APP_ID" },"expired_at" : {"type": "string","title": "EXPIRED_AT" } } }, "examples":{"Schema":{} } @@ -3159,25 +3165,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/AppInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/AppInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/external-auth/set": { + },"/identity/app/enable": { "post": { - "tags": ["identity > external-auth"], - "summary": "Set", + "tags": ["identity > app"], + "summary": "Enable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |plugin_info||PluginRequest|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |app_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"plugin_info" : {"type": "PluginRequest","title": "PLUGIN_INFO" } } + "properties": {"app_id" : {"type": "string","title": "APP_ID" } } }, "examples":{"Schema":{} } @@ -3188,25 +3194,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ExternalAuthInfo"}, + "schema": {"$ref": "#/components/schemas/AppInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ExternalAuthInfo"}} + "Schema": {"$ref": "#/components/schemas/AppInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/external-auth/unset": { + },"/identity/app/disable": { "post": { - "tags": ["identity > external-auth"], - "summary": "Unset", + "tags": ["identity > app"], + "summary": "Disable", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |app_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": { } + "properties": {"app_id" : {"type": "string","title": "APP_ID" } } }, "examples":{"Schema":{} } @@ -3217,25 +3223,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ExternalAuthInfo"}, + "schema": {"$ref": "#/components/schemas/AppInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ExternalAuthInfo"}} + "Schema": {"$ref": "#/components/schemas/AppInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/external-auth/get": { + },"/identity/app/delete": { "post": { - "tags": ["identity > external-auth"], - "summary": "Get", + "tags": ["identity > app"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |app_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": { } + "properties": {"app_id" : {"type": "string","title": "APP_ID" } } }, "examples":{"Schema":{} } @@ -3244,27 +3250,21 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/ExternalAuthInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/ExternalAuthInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/token/issue": { + },"/identity/app/get": { "post": { - "tags": ["identity > token"], - "summary": "Issue", + "tags": ["identity > app"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |credentials||Struct|True|\n |domain_id||string|True|\n |auth_type|LOCAL, EXTERNAL, MFA LOCAL, EXTERNAL |string||\n |timeout||int||\n |verify_code|if MFA is enabled, verify_code is required |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |app_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"credentials" : {"type": "object","title": "CREDENTIALS" },"auth_type" : {"type": "string","title": "AUTH_TYPE" },"timeout" : {"type": "integer","title": "TIMEOUT" },"verify_code" : {"type": "string","title": "VERIFY_CODE" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"app_id" : {"type": "string","title": "APP_ID" } } }, "examples":{"Schema":{} } @@ -3275,25 +3275,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/TokenInfo"}, + "schema": {"$ref": "#/components/schemas/AppInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/TokenInfo"}} + "Schema": {"$ref": "#/components/schemas/AppInfo"}} } }} } - } - },"/identity/token/grant": { + ,"security": [{"HTTPBearer": []}] } + },"/identity/app/list": { "post": { - "tags": ["identity > token"], - "summary": "Grant", + "tags": ["identity > app"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |grant_type|REFRESH_TOKEN, SYSTEM_TOKEN |string|True|\n |token||string|True|\n |scope|SYSTEM, DOMAIN, WORKSPACE, PROJECT, USER |string|True|\n |timeout||int||\n |workspace_id||string||\n |domain_id||string||\n |permissions||array||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |app_id||string||\n |name||string||\n |state|ENABLED, DISABLED, EXPIRED |string||\n |role_type|DOMAIN_ADMIN, WORKSPACE_OWNER |string||\n |workspace_id||string||\n |role_id||string||\n |client_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"grant_type" : {"type": "string","title": "GRANT_TYPE" },"token" : {"type": "string","title": "TOKEN" },"scope" : {"type": "string","title": "SCOPE" },"timeout" : {"type": "integer","title": "TIMEOUT" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"domain_id" : {"type": "string","title": "DOMAIN_ID" },"permissions" : {"items": {}, "type": "array","title": "PERMISSIONS" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"app_id" : {"type": "string","title": "APP_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"role_type" : {"type": "string","title": "ROLE_TYPE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"role_id" : {"type": "string","title": "ROLE_ID" },"client_id" : {"type": "string","title": "CLIENT_ID" } } }, "examples":{"Schema":{} } @@ -3304,25 +3304,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/GrantTokenInfo"}, + "schema": {"$ref": "#/components/schemas/AppsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/GrantTokenInfo"}} + "Schema": {"$ref": "#/components/schemas/AppsInfo"}} } }} } - } - },"/identity/workspace/create": { + ,"security": [{"HTTPBearer": []}] } + },"/identity/app/stat": { "post": { - "tags": ["identity > workspace"], - "summary": "Create", + "tags": ["identity > app"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |tags||Struct|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, "examples":{"Schema":{} } @@ -3333,25 +3333,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/WorkspaceInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/WorkspaceInfo"}} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/workspace/update": { + },"/identity/endpoint/list": { "post": { - "tags": ["identity > workspace"], - "summary": "Update", + "tags": ["identity > endpoint"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |workspace_id||string|True|\n |name||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |service||string||\n
", "content": { "application/json": { "schema": { - "properties": {"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"service" : {"type": "string","title": "SERVICE" } } }, "examples":{"Schema":{} } @@ -3362,25 +3362,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/WorkspaceInfo"}, + "schema": {"$ref": "#/components/schemas/EndpointsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/WorkspaceInfo"}} + "Schema": {"$ref": "#/components/schemas/EndpointsInfo"}} } }} } - ,"security": [{"HTTPBearer": []}] } - },"/identity/workspace/delete": { + } + },"/identity/service-account/create": { "post": { - "tags": ["identity > workspace"], - "summary": "Delete", + "tags": ["identity > service-account"], + "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |workspace_id||string|True|\n |force||boolean|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |data||Struct|True|\n |provider||string|True|\n |project_id||string|True|\n |secret_schema_id||string||\n |secret_data||Struct||\n |tags||Struct||\n |trusted_account_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"force" : {"type": "boolean","title": "FORCE" } } + "properties": {"name" : {"type": "string","title": "NAME" },"data" : {"type": "object","title": "DATA" },"provider" : {"type": "string","title": "PROVIDER" },"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID" },"secret_data" : {"type": "object","title": "SECRET_DATA" },"tags" : {"type": "object","title": "TAGS" },"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" } } }, "examples":{"Schema":{} } @@ -3389,21 +3389,27 @@ }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/workspace/enable": { + },"/identity/service-account/update": { "post": { - "tags": ["identity > workspace"], - "summary": "Enable", + "tags": ["identity > service-account"], + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |workspace_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n |name||string||\n |data||Struct||\n |tags||Struct||\n |project_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" },"name" : {"type": "string","title": "NAME" },"data" : {"type": "object","title": "DATA" },"tags" : {"type": "object","title": "TAGS" },"project_id" : {"type": "string","title": "PROJECT_ID" } } }, "examples":{"Schema":{} } @@ -3414,25 +3420,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/WorkspaceInfo"}, + "schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/WorkspaceInfo"}} + "Schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/workspace/disable": { + },"/identity/service-account/update-secret-data": { "post": { - "tags": ["identity > workspace"], - "summary": "Disable", + "tags": ["identity > service-account"], + "summary": "Update Secret Data", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |workspace_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n |secret_schema_id||string|True|\n |secret_data||Struct|True|\n |trusted_account_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" },"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID" },"secret_data" : {"type": "object","title": "SECRET_DATA" },"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" } } }, "examples":{"Schema":{} } @@ -3443,25 +3449,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/WorkspaceInfo"}, + "schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/WorkspaceInfo"}} + "Schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/workspace/get": { + },"/identity/service-account/delete-secret-data": { "post": { - "tags": ["identity > workspace"], - "summary": "Get", + "tags": ["identity > service-account"], + "summary": "Delete Secret Data", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |workspace_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } }, "examples":{"Schema":{} } @@ -3472,25 +3478,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/WorkspaceInfo"}, + "schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/WorkspaceInfo"}} + "Schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/workspace/list": { + },"/identity/service-account/delete": { "post": { - "tags": ["identity > workspace"], - "summary": "List", + "tags": ["identity > service-account"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |workspace_id||string||\n |name||string||\n |state|ENABLED, DISABLED |string||\n |created_by||string||\n |is_managed||boolean||\n |is_dormant||boolean||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"created_by" : {"type": "string","title": "CREATED_BY" },"is_managed" : {"type": "boolean","title": "IS_MANAGED" },"is_dormant" : {"type": "boolean","title": "IS_DORMANT" } } + "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } }, "examples":{"Schema":{} } @@ -3499,27 +3505,21 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/WorkspacesInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/WorkspacesInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/workspace/stat": { + },"/identity/service-account/get": { "post": { - "tags": ["identity > workspace"], - "summary": "Stat", + "tags": ["identity > service-account"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service_account_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" } } }, "examples":{"Schema":{} } @@ -3530,27 +3530,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/ServiceAccountInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/trusted-account/create": { + },"/identity/service-account/list": { "post": { - "tags": ["identity > trusted-account"], - "summary": "Create", + "tags": ["identity > service-account"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |data|Base Information of Trusted Account. It depends on provider.|Struct|True|\n |provider||string|True|\n |secret_schema_id||string|True|\n |secret_data||Struct|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |schedule||Scheduled||\n |sync_options||Struct||\n |plugin_options||Struct||\n |tags||Struct||\n |workspace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |service_account_id||string||\n |name||string||\n |state||string||\n |provider||string||\n |workspace_id||string||\n |project_id||string||\n |trusted_account_id||string||\n |secret_schema_id||string||\n |secret_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"data" : {"type": "object","title": "DATA" },"provider" : {"type": "string","title": "PROVIDER" },"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID" },"secret_data" : {"type": "object","title": "SECRET_DATA" },"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE" },"sync_options" : {"type": "object","title": "SYNC_OPTIONS" },"plugin_options" : {"type": "object","title": "PLUGIN_OPTIONS" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"provider" : {"type": "string","title": "PROVIDER" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" },"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID" },"secret_id" : {"type": "string","title": "SECRET_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"name\": \"Trusted Account\",\n \"data\": {\n \"account_id\": \"123456789\",\n }\n \"provider\": \"aws\",\n \"secret_schema_id\": \"aws-secret-access-key\",\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [3, 15]\n },\n \"resource_group\": \"DOMAIN\",\n \"workspace_id\": \"*\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -3559,25 +3559,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/TrustedAccountInfo"}, + "schema": {"$ref": "#/components/schemas/ServiceAccountsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/TrustedAccountInfo"}} + "Schema": {"$ref": "#/components/schemas/ServiceAccountsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/trusted-account/update": { + },"/identity/service-account/stat": { "post": { - "tags": ["identity > trusted-account"], - "summary": "Update", + "tags": ["identity > service-account"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_account_id||string|True|\n |tags||Struct|True|\n |name||string||\n |data||Struct||\n |schedule||Scheduled||\n |sync_options||Struct||\n |plugin_options||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" },"name" : {"type": "string","title": "NAME" },"data" : {"type": "object","title": "DATA" },"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE" },"sync_options" : {"type": "object","title": "SYNC_OPTIONS" },"plugin_options" : {"type": "object","title": "PLUGIN_OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, "examples":{"Schema":{} } @@ -3588,25 +3588,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/TrustedAccountInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/TrustedAccountInfo"}} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/trusted-account/update-secret-data": { + },"/identity/project/create": { "post": { - "tags": ["identity > trusted-account"], - "summary": "Update Secret Data", + "tags": ["identity > project"], + "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_account_id||string|True|\n |secret_schema_id||string|True|\n |secret_data||Struct|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |project_type|PRIVATE, PUBLIC |string|True|\n |tags||Struct||\n |project_group_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" },"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID" },"secret_data" : {"type": "object","title": "SECRET_DATA" } } + "properties": {"name" : {"type": "string","title": "NAME" },"project_type" : {"type": "string","title": "PROJECT_TYPE" },"tags" : {"type": "object","title": "TAGS" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" } } }, "examples":{"Schema":{} } @@ -3617,25 +3617,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/TrustedAccountInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/TrustedAccountInfo"}} + "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/trusted-account/delete": { + },"/identity/project/update": { "post": { - "tags": ["identity > trusted-account"], - "summary": "Delete", + "tags": ["identity > project"], + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_account_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |name||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" } } + "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Schema":{} } @@ -3644,21 +3644,27 @@ }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/ProjectInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/trusted-account/sync": { + },"/identity/project/update-project-type": { "post": { - "tags": ["identity > trusted-account"], - "summary": "Sync", + "tags": ["identity > project"], + "summary": "Update Project Type", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_account_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |project_type|PRIVATE, PUBLIC |string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" } } + "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"project_type" : {"type": "string","title": "PROJECT_TYPE" } } }, "examples":{"Schema":{} } @@ -3669,27 +3675,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/JobInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/JobInfo"},"Default Example":{ - "value": "{\n \"job_id\": \"job-123456789012\",\n \"status\": \"ERROR\",\n \"resource_group\": \"DOMAIN\",\n \"plugin_id\": \"plugin-aws-cloud-service-inven-collector\",\n \"trusted_account_id\": \"ta-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T10:00:01.389Z\",\n \"updated_at\": \"2022-01-01T10:00:01.389Z\",\n \"finished_at\": \"2022-01-01T10:02:11.270Z\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/trusted-account/get": { + },"/identity/project/change-project-group": { "post": { - "tags": ["identity > trusted-account"], - "summary": "Get", + "tags": ["identity > project"], + "summary": "Change Project Group", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_account_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |project_group_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" } } + "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" } } }, "examples":{"Schema":{} } @@ -3700,25 +3704,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/TrustedAccountInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/TrustedAccountInfo"}} + "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/trusted-account/list": { + },"/identity/project/delete": { "post": { - "tags": ["identity > trusted-account"], - "summary": "List", + "tags": ["identity > project"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |trusted_account_id||string||\n |name||string||\n |provider||string||\n |workspace_id||string||\n |secret_schema_id||string||\n |trusted_secret_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" },"name" : {"type": "string","title": "NAME" },"provider" : {"type": "string","title": "PROVIDER" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID" },"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID" } } + "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" } } }, "examples":{"Schema":{} } @@ -3727,27 +3731,21 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/TrustedAccountsInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/TrustedAccountsInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/identity/trusted-account/stat": { + },"/identity/project/add-users": { "post": { - "tags": ["identity > trusted-account"], - "summary": "Stat", + "tags": ["identity > project"], + "summary": "Add Users", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |users||array|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"users" : {"items": {}, "type": "array","title": "USERS" } } }, "examples":{"Schema":{} } @@ -3758,50 +3756,56 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/ProjectInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/job/delete": { + },"/identity/project/remove-users": { "post": { - "tags": ["identity > job"], - "summary": "Delete", + "tags": ["identity > project"], + "summary": "Remove Users", "operationId" : "", - "description": "### Description \nDeletes a specific Job. You must specify the `job_id` of the Job to delete.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |users||array|True|\n
", "content": { "application/json": { "schema": { - "properties": {"job_id" : {"type": "string","title": "JOB_ID" } } + "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"users" : {"items": {}, "type": "array","title": "USERS" } } }, - "examples":{"Default Example":{"value": "{\n \"job_id\": \"job-123456789012\",\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/ProjectInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/job/get": { + },"/identity/project/get": { "post": { - "tags": ["identity > job"], + "tags": ["identity > project"], "summary": "Get", "operationId" : "", - "description": "### Description \nGets a specific Job. Prints detailed information about the Job, including its state.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"job_id" : {"type": "string","title": "JOB_ID" } } + "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"job_id\": \"job-123456789012\",\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -3810,29 +3814,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/JobInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/JobInfo"},"Default Example":{ - "value": "{\n \"job_id\": \"job-123456789012\",\n \"status\": \"ERROR\",\n \"resource_group\": \"DOMAIN\",\n \"plugin_id\": \"plugin-aws-cloud-service-inven-collector\",\n \"trusted_account_id\": \"ta-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T10:00:01.389Z\",\n \"updated_at\": \"2022-01-01T10:00:01.389Z\",\n \"finished_at\": \"2022-01-01T10:02:11.270Z\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/ProjectInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/job/list": { + },"/identity/project/list": { "post": { - "tags": ["identity > job"], + "tags": ["identity > project"], "summary": "List", "operationId" : "", - "description": "### Description \nGets a list of all Jobs. You can use a query to get a filtered list of Jobs.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |job_id||string||\n |status|PENDING, IN_PROGRESS, FAILURE, SUCCESS, CANCELED |string||\n |workspace_id||string||\n |trusted_account_id||string||\n |plugin_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |project_id||string||\n |name||string||\n |project_type|PRIVATE, PUBLIC |string||\n |created_by||string||\n |include_children||boolean||\n |workspace_id||string||\n |project_group_id||string||\n |user_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"job_id" : {"type": "string","title": "JOB_ID" },"status" : {"type": "string","title": "STATUS" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" },"plugin_id" : {"type": "string","title": "PLUGIN_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"project_id" : {"type": "string","title": "PROJECT_ID" },"name" : {"type": "string","title": "NAME" },"project_type" : {"type": "string","title": "PROJECT_TYPE" },"created_by" : {"type": "string","title": "CREATED_BY" },"include_children" : {"type": "boolean","title": "INCLUDE_CHILDREN" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" },"user_id" : {"type": "string","title": "USER_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -3841,18 +3843,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/JobsInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/JobsInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"job_id\": \"job-3b124006c2d2\",\n \"status\": \"SUCCESS\",\n \"resource_group\": \"DOMAIN\",\n \"plugin_id\": \"plugin-aws-cloud-service-inven-collector\",\n \"trusted_account_id\": \"ta-3b124006c2d2\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-17T08:00:01.225Z\",\n \"updated_at\": \"2022-06-17T08:00:01.225Z\",\n \"finished_at\": \"2022-06-17T08:00:15.197Z\"\n },\n {\n \"job_id\": \"job-587a3d3b4db3\",\n \"status\": \"SUCCESS\",\n \"resource_group\": \"DOMAIN\",\n \"plugin_id\": \"plugin-aws-cloud-service-inven-collector\",\n \"trusted_account_id\": \"ta-587a3d3b4db3\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-17T08:00:00.407Z\",\n \"updated_at\": \"2022-06-17T08:00:00.407Z\",\n \"finished_at\": \"2022-06-17T08:07:32.023Z\"\n }\n ],\n \"total_count\": 2\n}" - }} + "Schema": {"$ref": "#/components/schemas/ProjectsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/identity/job/stat": { + },"/identity/project/stat": { "post": { - "tags": ["identity > job"], + "tags": ["identity > project"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -3883,135 +3883,87 @@ }, "components":{ "schemas": { - "Admin": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"password" : {"type": "string","title": "PASSWORD"},"email" : {"type": "string","title": "EMAIL"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"tags" : {"type": "object","title": "TAGS"},"reset_password" : {"type": "boolean","title": "RESET_PASSWORD"}}, - "type": "object", - "required": ["user_id","name","password"], - "title": "Admin" - } - , "CreateDomainRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"admin" : {"$ref": "#/components/schemas/Admin","title": "ADMIN"},"tags" : {"type": "object","title": "TAGS"}}, + "CreateUserGroupRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["name","admin"], - "title": "CreateDomainRequest" + "required": ["name"], + "title": "CreateUserGroupRequest" } - , "DomainAuthInfo": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"name" : {"type": "string","title": "NAME"},"external_auth_state" : {"type": "string","title": "EXTERNAL_AUTH_STATE"},"metadata" : {"type": "object","title": "METADATA"},"config" : {"type": "object","title": "CONFIG"}}, + , "UpdateUserGroupRequest": { + "properties" : {"user_group_id" : {"type": "string","title": "USER_GROUP_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["domain_id","name","external_auth_state","metadata","config"], - "title": "DomainAuthInfo" + "required": ["user_group_id"], + "title": "UpdateUserGroupRequest" } - , "DomainInfo": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"tags" : {"type": "object","title": "TAGS"},"created_at" : {"type": "string","title": "CREATED_AT"},"deleted_at" : {"type": "string","title": "DELETED_AT"}}, + , "UserGroupInfo": { + "properties" : {"user_group_id" : {"type": "string","title": "USER_GROUP_ID"},"name" : {"type": "string","title": "NAME"},"users" : {"items": {"type": "string"}, + "type": "array","title": "USERS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, "type": "object", - "required": ["domain_id","name","state","tags","created_at","deleted_at"], - "title": "DomainInfo" + "required": ["user_group_id","name","users","tags","domain_id","workspace_id","created_at"], + "title": "UserGroupInfo" } - , "DomainRequest": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "UserGroupRequest": { + "properties" : {"user_group_id" : {"type": "string","title": "USER_GROUP_ID"}}, "type": "object", - "required": ["domain_id"], - "title": "DomainRequest" + "required": ["user_group_id"], + "title": "UserGroupRequest" } - , "DomainSearchQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"}}, + , "UserGroupSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"user_group_id" : {"type": "string","title": "USER_GROUP_ID"},"name" : {"type": "string","title": "NAME"},"user_id" : {"type": "string","title": "USER_ID"}}, "type": "object", "required": [], - "title": "DomainSearchQuery" + "title": "UserGroupSearchQuery" } - , "DomainStatQuery": { + , "UserGroupStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "DomainStatQuery" + "title": "UserGroupStatQuery" } - , "DomainsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/DomainInfo"}, - "type": "array","$ref": "#/components/schemas/DomainInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "UserGroupsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/UserGroupInfo"}, + "type": "array","$ref": "#/components/schemas/UserGroupInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "DomainsInfo" + "title": "UserGroupsInfo" } - , "GetDomainAuthRequest": { + , "UsersUserGroupRequest": { + "properties" : {"user_group_id" : {"type": "string","title": "USER_GROUP_ID"},"users" : {"items": {"type": "string"}, + "type": "array","title": "USERS"}}, + "type": "object", + "required": ["user_group_id","users"], + "title": "UsersUserGroupRequest" + } + , "AggregateCount": { "properties" : {"name" : {"type": "string","title": "NAME"}}, "type": "object", "required": ["name"], - "title": "GetDomainAuthRequest" + "title": "AggregateCount" } - , "UpdateDomainRequest": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, + , "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": ["domain_id"], - "title": "UpdateDomainRequest" + "required": ["keys","fields"], + "title": "AggregateGroup" } - , "AuthenticationRequest": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "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": ["domain_id"], - "title": "AuthenticationRequest" + "required": ["key","k","name","n","operator","o","fields","conditions"], + "title": "AggregateGroupField" } - , "AuthenticationResponse": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"public_key" : {"type": "string","title": "PUBLIC_KEY"}}, + , "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": ["domain_id","public_key"], - "title": "AuthenticationResponse" + "required": ["key","k","name","n","date_format"], + "title": "AggregateGroupKey" } - , "AuthorizationRequest": { - "properties" : {"service" : {"type": "string","title": "SERVICE"},"resource" : {"type": "string","title": "RESOURCE"},"verb" : {"type": "string","title": "VERB"},"scope" : {"type": "string","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"}}, + , "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" @@ -4151,475 +4103,515 @@ "required": ["path","filter"], "title": "Unwind" } - , "CreateRoleRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"permissions" : {"items": {"type": "string"}, - "type": "array","title": "PERMISSIONS"},"page_access" : {"items": {"type": "string"}, - "type": "array","title": "PAGE_ACCESS"},"tags" : {"type": "object","title": "TAGS"}}, + , "AuthenticationRequest": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["name","role_type"], - "title": "CreateRoleRequest" + "required": ["domain_id"], + "title": "AuthenticationRequest" } - , "RoleInfo": { - "properties" : {"role_id" : {"type": "string","title": "ROLE_ID"},"name" : {"type": "string","title": "NAME"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"permissions" : {"items": {"type": "string"}, - "type": "array","title": "PERMISSIONS"},"page_access" : {"items": {"type": "string"}, - "type": "array","title": "PAGE_ACCESS"},"tags" : {"type": "object","title": "TAGS"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"state" : {"type": "string","title": "STATE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + , "AuthenticationResponse": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"public_key" : {"type": "string","title": "PUBLIC_KEY"}}, "type": "object", - "required": ["role_id","name","role_type","permissions","page_access","tags","is_managed","state","domain_id","created_at","updated_at"], - "title": "RoleInfo" + "required": ["domain_id","public_key"], + "title": "AuthenticationResponse" } - , "RoleRequest": { - "properties" : {"role_id" : {"type": "string","title": "ROLE_ID"}}, + , "AuthorizationRequest": { + "properties" : {"service" : {"type": "string","title": "SERVICE"},"resource" : {"type": "string","title": "RESOURCE"},"verb" : {"type": "string","title": "VERB"},"scope" : {"type": "string","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": ["role_id"], - "title": "RoleRequest" + "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" } - , "RoleSearchQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"role_id" : {"type": "string","title": "ROLE_ID"},"name" : {"type": "string","title": "NAME"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"state" : {"type": "string","title": "STATE"}}, + , "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": [], - "title": "RoleSearchQuery" + "required": ["role_type","projects","project_groups"], + "title": "AuthorizationResponse" } - , "RoleStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + , "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": ["query"], - "title": "RoleStatQuery" + "required": ["service","resource","verb","status","message"], + "title": "EventRequest" } - , "RolesInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/RoleInfo"}, - "type": "array","$ref": "#/components/schemas/RoleInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "VersionInfo": { + "properties" : {"version" : {"type": "string","title": "VERSION"}}, "type": "object", - "required": ["results","total_count"], - "title": "RolesInfo" + "required": ["version"], + "title": "VersionInfo" } - , "UpdateRoleRequest": { - "properties" : {"role_id" : {"type": "string","title": "ROLE_ID"},"name" : {"type": "string","title": "NAME"},"permissions" : {"items": {"type": "string"}, - "type": "array","title": "PERMISSIONS"},"page_access" : {"items": {"type": "string"}, - "type": "array","title": "PAGE_ACCESS"},"tags" : {"type": "object","title": "TAGS"}}, + , "CreateUserRequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"password" : {"type": "string","title": "PASSWORD"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"auth_type" : {"type": "string","title": "AUTH_TYPE"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"tags" : {"type": "object","title": "TAGS"},"reset_password" : {"type": "boolean","title": "RESET_PASSWORD"}}, "type": "object", - "required": ["role_id"], - "title": "UpdateRoleRequest" + "required": ["user_id","auth_type","reset_password"], + "title": "CreateUserRequest" } - , "CreateUserGroupRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, + , "DisableUserMFARequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"}}, "type": "object", - "required": ["name"], - "title": "CreateUserGroupRequest" + "required": ["user_id"], + "title": "DisableUserMFARequest" } - , "UpdateUserGroupRequest": { - "properties" : {"user_group_id" : {"type": "string","title": "USER_GROUP_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, + , "MFA": { + "properties" : {"state" : {"type": "string","title": "STATE"},"mfa_type" : {"type": "string","title": "MFA_TYPE"},"options" : {"type": "object","title": "OPTIONS"}}, "type": "object", - "required": ["user_group_id"], - "title": "UpdateUserGroupRequest" + "required": ["state","mfa_type","options"], + "title": "MFA" } - , "UserGroupInfo": { - "properties" : {"user_group_id" : {"type": "string","title": "USER_GROUP_ID"},"name" : {"type": "string","title": "NAME"},"users" : {"items": {"type": "string"}, - "type": "array","title": "USERS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + , "SetRequiredActionsRequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"required_actions" : {"items": {"type": "string"}, + "type": "array","title": "REQUIRED_ACTIONS"}}, "type": "object", - "required": ["user_group_id","name","users","tags","domain_id","workspace_id","created_at"], - "title": "UserGroupInfo" + "required": ["user_id","required_actions"], + "title": "SetRequiredActionsRequest" } - , "UserGroupRequest": { - "properties" : {"user_group_id" : {"type": "string","title": "USER_GROUP_ID"}}, + , "UpdateUserRequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"password" : {"type": "string","title": "PASSWORD"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"tags" : {"type": "object","title": "TAGS"},"reset_password" : {"type": "boolean","title": "RESET_PASSWORD"}}, "type": "object", - "required": ["user_group_id"], - "title": "UserGroupRequest" + "required": ["user_id"], + "title": "UpdateUserRequest" } - , "UserGroupSearchQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"user_group_id" : {"type": "string","title": "USER_GROUP_ID"},"name" : {"type": "string","title": "NAME"},"user_id" : {"type": "string","title": "USER_ID"}}, + , "UserInfo": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"email" : {"type": "string","title": "EMAIL"},"email_verified" : {"type": "boolean","title": "EMAIL_VERIFIED"},"auth_type" : {"type": "string","title": "AUTH_TYPE"},"role_id" : {"type": "string","title": "ROLE_ID"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"mfa" : {"$ref": "#/components/schemas/MFA","title": "MFA"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"required_actions" : {"items": {"type": "string"}, + "type": "array","title": "REQUIRED_ACTIONS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"last_accessed_at" : {"type": "string","title": "LAST_ACCESSED_AT"}}, + "type": "object", + "required": ["user_id","name","state","email","email_verified","auth_type","role_id","role_type","mfa","language","timezone","required_actions","tags","domain_id","created_at","last_accessed_at"], + "title": "UserInfo" + } + , "UserRequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"}}, + "type": "object", + "required": ["user_id"], + "title": "UserRequest" + } + , "UserSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"email" : {"type": "string","title": "EMAIL"},"auth_type" : {"type": "string","title": "AUTH_TYPE"}}, "type": "object", "required": [], - "title": "UserGroupSearchQuery" + "title": "UserSearchQuery" } - , "UserGroupStatQuery": { + , "UserStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "UserGroupStatQuery" + "title": "UserStatQuery" } - , "UserGroupsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/UserGroupInfo"}, - "type": "array","$ref": "#/components/schemas/UserGroupInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "UsersInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/UserInfo"}, + "type": "array","$ref": "#/components/schemas/UserInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "UserGroupsInfo" + "title": "UsersInfo" } - , "UsersUserGroupRequest": { - "properties" : {"user_group_id" : {"type": "string","title": "USER_GROUP_ID"},"users" : {"items": {"type": "string"}, - "type": "array","title": "USERS"}}, + , "VerifyUserEmailRequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"email" : {"type": "string","title": "EMAIL"}}, "type": "object", - "required": ["user_group_id","users"], - "title": "UsersUserGroupRequest" + "required": ["user_id"], + "title": "VerifyUserEmailRequest" } - , "CreateRoleBindingRequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"role_id" : {"type": "string","title": "ROLE_ID"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + , "CreateTrustedAccountRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"provider" : {"type": "string","title": "PROVIDER"},"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID"},"secret_data" : {"type": "object","title": "SECRET_DATA"},"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE"},"sync_options" : {"type": "object","title": "SYNC_OPTIONS"},"plugin_options" : {"type": "object","title": "PLUGIN_OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, "type": "object", - "required": ["user_id","role_id","resource_group"], - "title": "CreateRoleBindingRequest" + "required": ["name","data","provider","secret_schema_id","secret_data","resource_group"], + "title": "CreateTrustedAccountRequest" } - , "RoleBindingInfo": { - "properties" : {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"role_id" : {"type": "string","title": "ROLE_ID"},"user_id" : {"type": "string","title": "USER_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + , "Scheduled": { + "properties" : {"state" : {"type": "string","title": "STATE"},"hours" : {"items": {"type": "integer"}, + "type": "array","title": "HOURS"}}, "type": "object", - "required": ["role_binding_id","role_type","resource_group","domain_id","workspace_id","role_id","user_id","created_at"], - "title": "RoleBindingInfo" + "required": ["state","hours"], + "title": "Scheduled" } - , "RoleBindingRequest": { - "properties" : {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"}}, + , "TrustedAccountInfo": { + "properties" : {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"provider" : {"type": "string","title": "PROVIDER"},"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE"},"sync_options" : {"type": "object","title": "SYNC_OPTIONS"},"plugin_options" : {"type": "object","title": "PLUGIN_OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID"},"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, "type": "object", - "required": ["role_binding_id"], - "title": "RoleBindingRequest" + "required": ["trusted_account_id","name","data","provider","schedule","sync_options","plugin_options","tags","resource_group","domain_id","workspace_id","secret_schema_id","trusted_secret_id","created_at"], + "title": "TrustedAccountInfo" } - , "RoleBindingSearchQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"role_id" : {"type": "string","title": "ROLE_ID"},"user_id" : {"type": "string","title": "USER_ID"}}, + , "TrustedAccountRequest": { + "properties" : {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"}}, + "type": "object", + "required": ["trusted_account_id"], + "title": "TrustedAccountRequest" + } + , "TrustedAccountSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"name" : {"type": "string","title": "NAME"},"provider" : {"type": "string","title": "PROVIDER"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID"},"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID"}}, "type": "object", "required": [], - "title": "RoleBindingSearchQuery" + "title": "TrustedAccountSearchQuery" } - , "RoleBindingStatQuery": { + , "TrustedAccountStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "RoleBindingStatQuery" + "title": "TrustedAccountStatQuery" } - , "RoleBindingsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/RoleBindingInfo"}, - "type": "array","$ref": "#/components/schemas/RoleBindingInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "TrustedAccountsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/TrustedAccountInfo"}, + "type": "array","$ref": "#/components/schemas/TrustedAccountInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "RoleBindingsInfo" + "title": "TrustedAccountsInfo" } - , "UpdateRoleBindingRequest": { - "properties" : {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"},"role_id" : {"type": "string","title": "ROLE_ID"}}, + , "UpdateTrustedAccountRequest": { + "properties" : {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE"},"sync_options" : {"type": "object","title": "SYNC_OPTIONS"},"plugin_options" : {"type": "object","title": "PLUGIN_OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["role_binding_id","role_id"], - "title": "UpdateRoleBindingRequest" + "required": ["trusted_account_id","tags"], + "title": "UpdateTrustedAccountRequest" } - , "CreateSchemaRequest": { - "properties" : {"schema_id" : {"type": "string","title": "SCHEMA_ID"},"name" : {"type": "string","title": "NAME"},"schema_type" : {"type": "string","title": "SCHEMA_TYPE"},"schema" : {"type": "object","title": "SCHEMA"},"provider" : {"type": "string","title": "PROVIDER"},"related_schemas" : {"items": {"type": "string"}, - "type": "array","title": "RELATED_SCHEMAS"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, + , "UpdateTrustedAccountSecretRequest": { + "properties" : {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID"},"secret_data" : {"type": "object","title": "SECRET_DATA"}}, "type": "object", - "required": ["schema_id","name","schema_type","provider"], - "title": "CreateSchemaRequest" + "required": ["trusted_account_id","secret_schema_id","secret_data"], + "title": "UpdateTrustedAccountSecretRequest" } - , "SchemaInfo": { - "properties" : {"schema_id" : {"type": "string","title": "SCHEMA_ID"},"name" : {"type": "string","title": "NAME"},"schema_type" : {"type": "string","title": "SCHEMA_TYPE"},"schema" : {"type": "object","title": "SCHEMA"},"provider" : {"type": "string","title": "PROVIDER"},"related_schemas" : {"items": {"type": "string"}, - "type": "array","title": "RELATED_SCHEMAS"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + , "CreateWorkspaceUserRequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"password" : {"type": "string","title": "PASSWORD"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"auth_type" : {"type": "AuthType","title": "AUTH_TYPE"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"tags" : {"type": "object","title": "TAGS"},"reset_password" : {"type": "boolean","title": "RESET_PASSWORD"},"role_id" : {"type": "string","title": "ROLE_ID"}}, "type": "object", - "required": ["schema_id","name","schema_type","schema","provider","related_schemas","options","tags","is_managed","domain_id","created_at","updated_at"], - "title": "SchemaInfo" + "required": ["user_id","auth_type","reset_password","role_id"], + "title": "CreateWorkspaceUserRequest" } - , "SchemaRequest": { - "properties" : {"schema_id" : {"type": "string","title": "SCHEMA_ID"}}, + , "UserSummaryInfo": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"}}, "type": "object", - "required": ["schema_id"], - "title": "SchemaRequest" + "required": ["user_id","name","state"], + "title": "UserSummaryInfo" } - , "SchemaSearchQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"name" : {"type": "string","title": "NAME"},"schema_type" : {"type": "string","title": "SCHEMA_TYPE"},"provider" : {"type": "string","title": "PROVIDER"},"related_schema_id" : {"type": "string","title": "RELATED_SCHEMA_ID"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"}}, + , "UsersSummaryInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/UserSummaryInfo"}, + "type": "array","$ref": "#/components/schemas/UserSummaryInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": [], - "title": "SchemaSearchQuery" + "required": ["results","total_count"], + "title": "UsersSummaryInfo" } - , "SchemaStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + , "WorkspaceUserFindRequest": { + "properties" : {"keyword" : {"type": "string","title": "KEYWORD"},"state" : {"type": "string","title": "STATE"},"page" : {"$ref": "#/components/schemas/Page","title": "PAGE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, "type": "object", - "required": ["query"], - "title": "SchemaStatQuery" + "required": ["keyword","workspace_id"], + "title": "WorkspaceUserFindRequest" } - , "SchemasInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/SchemaInfo"}, - "type": "array","$ref": "#/components/schemas/SchemaInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "WorkspaceUserInfo": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"email" : {"type": "string","title": "EMAIL"},"auth_type" : {"type": "AuthType","title": "AUTH_TYPE"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"api_key_count" : {"type": "integer","title": "API_KEY_COUNT"},"tags" : {"type": "object","title": "TAGS"},"role_binding_info" : {"$ref": "#/components/schemas/RoleBindingInfo","title": "ROLE_BINDING_INFO"},"email_verified" : {"type": "boolean","title": "EMAIL_VERIFIED"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"last_accessed_at" : {"type": "string","title": "LAST_ACCESSED_AT"}}, + "type": "object", + "required": ["user_id","name","state","email","auth_type","role_type","language","timezone","api_key_count","tags","role_binding_info","email_verified","domain_id","created_at","last_accessed_at"], + "title": "WorkspaceUserInfo" + } + , "WorkspaceUserRequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + "type": "object", + "required": ["user_id","workspace_id"], + "title": "WorkspaceUserRequest" + } + , "WorkspaceUserSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"email" : {"type": "string","title": "EMAIL"},"auth_type" : {"type": "AuthType","title": "AUTH_TYPE"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + "type": "object", + "required": ["workspace_id"], + "title": "WorkspaceUserSearchQuery" + } + , "WorkspaceUserStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + "type": "object", + "required": ["query","workspace_id"], + "title": "WorkspaceUserStatQuery" + } + , "WorkspaceUsersInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/WorkspaceUserInfo"}, + "type": "array","$ref": "#/components/schemas/WorkspaceUserInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "SchemasInfo" + "title": "WorkspaceUsersInfo" } - , "UpdateSchemaRequest": { - "properties" : {"schema_id" : {"type": "string","title": "SCHEMA_ID"},"name" : {"type": "string","title": "NAME"},"schema" : {"type": "object","title": "SCHEMA"},"related_schemas" : {"items": {"type": "string"}, - "type": "array","title": "RELATED_SCHEMAS"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, + , "GrantTokenInfo": { + "properties" : {"access_token" : {"type": "string","title": "ACCESS_TOKEN"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"role_id" : {"type": "string","title": "ROLE_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, "type": "object", - "required": ["schema_id"], - "title": "UpdateSchemaRequest" + "required": ["access_token","role_type","role_id","domain_id","workspace_id"], + "title": "GrantTokenInfo" } - , "ChangeProjectGroupRequest": { - "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"}}, + , "GrantTokenRequest": { + "properties" : {"grant_type" : {"type": "string","title": "GRANT_TYPE"},"token" : {"type": "string","title": "TOKEN"},"scope" : {"type": "string","title": "SCOPE"},"timeout" : {"type": "integer","title": "TIMEOUT"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"permissions" : {"items": {"type": "string"}, + "type": "array","title": "PERMISSIONS"}}, "type": "object", - "required": ["project_id","project_group_id"], - "title": "ChangeProjectGroupRequest" + "required": ["grant_type","token","scope"], + "title": "GrantTokenRequest" } - , "CreateProjectRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"project_type" : {"type": "string","title": "PROJECT_TYPE"},"tags" : {"type": "object","title": "TAGS"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"}}, + , "IssueTokenRequest": { + "properties" : {"credentials" : {"type": "object","title": "CREDENTIALS"},"auth_type" : {"type": "string","title": "AUTH_TYPE"},"timeout" : {"type": "integer","title": "TIMEOUT"},"verify_code" : {"type": "string","title": "VERIFY_CODE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["name","project_type"], - "title": "CreateProjectRequest" + "required": ["credentials","domain_id"], + "title": "IssueTokenRequest" } - , "ProjectInfo": { - "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"name" : {"type": "string","title": "NAME"},"project_type" : {"type": "string","title": "PROJECT_TYPE"},"tags" : {"type": "object","title": "TAGS"},"users" : {"items": {"type": "string"}, - "type": "array","title": "USERS"},"created_by" : {"type": "string","title": "CREATED_BY"},"reference_id" : {"type": "string","title": "REFERENCE_ID"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"last_synced_at" : {"type": "string","title": "LAST_SYNCED_AT"}}, + , "TokenInfo": { + "properties" : {"access_token" : {"type": "string","title": "ACCESS_TOKEN"},"refresh_token" : {"type": "string","title": "REFRESH_TOKEN"}}, "type": "object", - "required": ["project_id","name","project_type","tags","users","created_by","reference_id","is_managed","domain_id","workspace_id","project_group_id","trusted_account_id","created_at","last_synced_at"], - "title": "ProjectInfo" + "required": ["access_token","refresh_token"], + "title": "TokenInfo" } - , "ProjectRequest": { - "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"}}, + , "ExternalAuthInfo": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"state" : {"type": "string","title": "STATE"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, "type": "object", - "required": ["project_id"], - "title": "ProjectRequest" + "required": ["domain_id","state","plugin_info","updated_at"], + "title": "ExternalAuthInfo" } - , "ProjectSearchQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"project_id" : {"type": "string","title": "PROJECT_ID"},"name" : {"type": "string","title": "NAME"},"project_type" : {"type": "string","title": "PROJECT_TYPE"},"created_by" : {"type": "string","title": "CREATED_BY"},"include_children" : {"type": "boolean","title": "INCLUDE_CHILDREN"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"user_id" : {"type": "string","title": "USER_ID"}}, + , "ExternalAuthRequest": { + "properties" : {}, "type": "object", "required": [], - "title": "ProjectSearchQuery" + "title": "ExternalAuthRequest" } - , "ProjectStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + , "SetExternalAuthRequest": { + "properties" : {"plugin_info" : {"type": "PluginRequest","title": "PLUGIN_INFO"}}, "type": "object", - "required": ["query"], - "title": "ProjectStatQuery" + "required": ["plugin_info"], + "title": "SetExternalAuthRequest" } - , "ProjectsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/ProjectInfo"}, - "type": "array","$ref": "#/components/schemas/ProjectInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "CreateWorkSpaceRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["results","total_count"], - "title": "ProjectsInfo" + "required": ["name","tags"], + "title": "CreateWorkSpaceRequest" } - , "UpdateProjectRequest": { - "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, + , "UpdateWorkSpaceRequest": { + "properties" : {"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["project_id"], - "title": "UpdateProjectRequest" + "required": ["workspace_id"], + "title": "UpdateWorkSpaceRequest" } - , "UpdateProjectTypeRequest": { - "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"project_type" : {"type": "string","title": "PROJECT_TYPE"}}, + , "WorkspaceCheckRequest": { + "properties" : {"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["project_id","project_type"], - "title": "UpdateProjectTypeRequest" + "required": ["workspace_id","domain_id"], + "title": "WorkspaceCheckRequest" } - , "UsersProjectRequest": { - "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"users" : {"items": {"type": "string"}, - "type": "array","title": "USERS"}}, + , "WorkspaceCostInfo": { + "properties" : {"day" : {"type": "float","title": "DAY"},"month" : {"type": "float","title": "MONTH"}}, "type": "object", - "required": ["project_id","users"], - "title": "UsersProjectRequest" + "required": ["day","month"], + "title": "WorkspaceCostInfo" } - , "AgentInfo": { - "properties" : {"agent_id" : {"type": "string","title": "AGENT_ID"},"options" : {"type": "object","title": "OPTIONS"},"client_secret" : {"type": "string","title": "CLIENT_SECRET"},"state" : {"type": "string","title": "STATE"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"app_id" : {"type": "string","title": "APP_ID"},"role_id" : {"type": "string","title": "ROLE_ID"},"client_id" : {"type": "string","title": "CLIENT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"expired_at" : {"type": "string","title": "EXPIRED_AT"},"last_accessed_at" : {"type": "string","title": "LAST_ACCESSED_AT"}}, + , "WorkspaceDeleteRequest": { + "properties" : {"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"force" : {"type": "boolean","title": "FORCE"}}, "type": "object", - "required": ["agent_id","options","client_secret","state","is_managed","role_type","domain_id","workspace_id","project_id","service_account_id","app_id","role_id","client_id","created_at","expired_at","last_accessed_at"], - "title": "AgentInfo" + "required": ["workspace_id","force"], + "title": "WorkspaceDeleteRequest" } - , "AgentRequest": { - "properties" : {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"}}, + , "WorkspaceInfo": { + "properties" : {"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"tags" : {"type": "object","title": "TAGS"},"created_by" : {"type": "string","title": "CREATED_BY"},"references" : {"items": {"type": "string"}, + "type": "array","title": "REFERENCES"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"is_dormant" : {"type": "boolean","title": "IS_DORMANT"},"dormant_ttl" : {"type": "integer","title": "DORMANT_TTL"},"service_account_count" : {"type": "integer","title": "SERVICE_ACCOUNT_COUNT"},"cost_info" : {"$ref": "#/components/schemas/WorkspaceCostInfo","title": "COST_INFO"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"last_synced_at" : {"type": "string","title": "LAST_SYNCED_AT"},"dormant_updated_at" : {"type": "string","title": "DORMANT_UPDATED_AT"}}, "type": "object", - "required": ["service_account_id"], - "title": "AgentRequest" + "required": ["workspace_id","name","state","tags","created_by","references","is_managed","is_dormant","dormant_ttl","service_account_count","cost_info","domain_id","trusted_account_id","created_at","last_synced_at","dormant_updated_at"], + "title": "WorkspaceInfo" } - , "AgentSearchQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"agent_id" : {"type": "string","title": "AGENT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"state" : {"type": "string","title": "STATE"}}, + , "WorkspaceRequest": { + "properties" : {"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + "type": "object", + "required": ["workspace_id"], + "title": "WorkspaceRequest" + } + , "WorkspaceSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"created_by" : {"type": "string","title": "CREATED_BY"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"is_dormant" : {"type": "boolean","title": "IS_DORMANT"}}, "type": "object", "required": [], - "title": "AgentSearchQuery" + "title": "WorkspaceSearchQuery" } - , "AgentsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/AgentInfo"}, - "type": "array","$ref": "#/components/schemas/AgentInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "WorkspaceStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", - "required": ["results","total_count"], - "title": "AgentsInfo" + "required": ["query"], + "title": "WorkspaceStatQuery" } - , "CreateAgentRequest": { - "properties" : {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"options" : {"type": "object","title": "OPTIONS"}}, + , "WorkspacesInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/WorkspaceInfo"}, + "type": "array","$ref": "#/components/schemas/WorkspaceInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": ["service_account_id","options"], - "title": "CreateAgentRequest" + "required": ["results","total_count"], + "title": "WorkspacesInfo" } - , "ChangeParentGroupRequest": { - "properties" : {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"parent_group_id" : {"type": "string","title": "PARENT_GROUP_ID"}}, + , "CreateProviderRequest": { + "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"name" : {"type": "string","title": "NAME"},"alias" : {"type": "string","title": "ALIAS"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"color" : {"type": "string","title": "COLOR"},"icon" : {"type": "string","title": "ICON"},"order" : {"type": "integer","title": "ORDER"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["project_group_id","parent_group_id"], - "title": "ChangeParentGroupRequest" + "required": ["provider","name"], + "title": "CreateProviderRequest" } - , "CreateProjectGroupRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"},"parent_group_id" : {"type": "string","title": "PARENT_GROUP_ID"}}, + , "PluginInfo": { + "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"version" : {"type": "string","title": "VERSION"},"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE"},"options" : {"type": "object","title": "OPTIONS"},"metadata" : {"type": "object","title": "METADATA"}}, "type": "object", - "required": ["name"], - "title": "CreateProjectGroupRequest" + "required": ["plugin_id","version","upgrade_mode","options","metadata"], + "title": "PluginInfo" } - , "ProjectGroupInfo": { - "properties" : {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"},"users" : {"items": {"type": "string"}, - "type": "array","title": "USERS"},"reference_id" : {"type": "string","title": "REFERENCE_ID"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"parent_group_id" : {"type": "string","title": "PARENT_GROUP_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"last_synced_at" : {"type": "string","title": "LAST_SYNCED_AT"}}, + , "ProviderInfo": { + "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"name" : {"type": "string","title": "NAME"},"alias" : {"type": "string","title": "ALIAS"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"color" : {"type": "string","title": "COLOR"},"icon" : {"type": "string","title": "ICON"},"order" : {"type": "integer","title": "ORDER"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, "type": "object", - "required": ["project_group_id","name","tags","users","reference_id","is_managed","domain_id","workspace_id","parent_group_id","trusted_account_id","created_at","last_synced_at"], - "title": "ProjectGroupInfo" + "required": ["provider","name","alias","plugin_info","color","icon","order","options","tags","is_managed","domain_id","created_at","updated_at"], + "title": "ProviderInfo" } - , "ProjectGroupRequest": { - "properties" : {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"}}, + , "ProviderRequest": { + "properties" : {"provider" : {"type": "string","title": "PROVIDER"}}, "type": "object", - "required": ["project_group_id"], - "title": "ProjectGroupRequest" + "required": ["provider"], + "title": "ProviderRequest" } - , "ProjectGroupSearchQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"name" : {"type": "string","title": "NAME"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"parent_group_id" : {"type": "string","title": "PARENT_GROUP_ID"}}, + , "ProviderSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"provider" : {"type": "string","title": "PROVIDER"},"name" : {"type": "string","title": "NAME"},"alias" : {"type": "string","title": "ALIAS"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"}}, "type": "object", "required": [], - "title": "ProjectGroupSearchQuery" + "title": "ProviderSearchQuery" } - , "ProjectGroupStatQuery": { + , "ProviderStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "ProjectGroupStatQuery" + "title": "ProviderStatQuery" } - , "ProjectGroupsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/ProjectGroupInfo"}, - "type": "array","$ref": "#/components/schemas/ProjectGroupInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "ProvidersInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/ProviderInfo"}, + "type": "array","$ref": "#/components/schemas/ProviderInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "ProjectGroupsInfo" + "title": "ProvidersInfo" } - , "UpdateProjectGroupRequest": { - "properties" : {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, + , "UpdatePluginProviderRequest": { + "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"version" : {"type": "string","title": "VERSION"},"options" : {"type": "object","title": "OPTIONS"},"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE"}}, "type": "object", - "required": ["project_group_id"], - "title": "UpdateProjectGroupRequest" + "required": ["provider"], + "title": "UpdatePluginProviderRequest" } - , "UsersProjectGroupRequest": { - "properties" : {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"users" : {"items": {"type": "string"}, - "type": "array","title": "USERS"}}, + , "UpdateProviderRequest": { + "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"name" : {"type": "string","title": "NAME"},"alias" : {"type": "string","title": "ALIAS"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"color" : {"type": "string","title": "COLOR"},"icon" : {"type": "string","title": "ICON"},"order" : {"type": "integer","title": "ORDER"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["project_group_id","users"], - "title": "UsersProjectGroupRequest" + "required": ["provider"], + "title": "UpdateProviderRequest" } - , "CreateWorkspaceUserRequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"password" : {"type": "string","title": "PASSWORD"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"auth_type" : {"type": "AuthType","title": "AUTH_TYPE"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"tags" : {"type": "object","title": "TAGS"},"reset_password" : {"type": "boolean","title": "RESET_PASSWORD"},"role_id" : {"type": "string","title": "ROLE_ID"}}, + , "AgentInfo": { + "properties" : {"agent_id" : {"type": "string","title": "AGENT_ID"},"options" : {"type": "object","title": "OPTIONS"},"client_secret" : {"type": "string","title": "CLIENT_SECRET"},"state" : {"type": "string","title": "STATE"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"app_id" : {"type": "string","title": "APP_ID"},"role_id" : {"type": "string","title": "ROLE_ID"},"client_id" : {"type": "string","title": "CLIENT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"expired_at" : {"type": "string","title": "EXPIRED_AT"},"last_accessed_at" : {"type": "string","title": "LAST_ACCESSED_AT"}}, "type": "object", - "required": ["user_id","auth_type","reset_password","role_id"], - "title": "CreateWorkspaceUserRequest" + "required": ["agent_id","options","client_secret","state","is_managed","role_type","domain_id","workspace_id","project_id","service_account_id","app_id","role_id","client_id","created_at","expired_at","last_accessed_at"], + "title": "AgentInfo" } - , "UserSummaryInfo": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"}}, + , "AgentRequest": { + "properties" : {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"}}, "type": "object", - "required": ["user_id","name","state"], - "title": "UserSummaryInfo" + "required": ["service_account_id"], + "title": "AgentRequest" } - , "UsersSummaryInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/UserSummaryInfo"}, - "type": "array","$ref": "#/components/schemas/UserSummaryInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "AgentSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"agent_id" : {"type": "string","title": "AGENT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"state" : {"type": "string","title": "STATE"}}, + "type": "object", + "required": [], + "title": "AgentSearchQuery" + } + , "AgentsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/AgentInfo"}, + "type": "array","$ref": "#/components/schemas/AgentInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "UsersSummaryInfo" + "title": "AgentsInfo" } - , "WorkspaceUserFindRequest": { - "properties" : {"keyword" : {"type": "string","title": "KEYWORD"},"state" : {"type": "string","title": "STATE"},"page" : {"$ref": "#/components/schemas/Page","title": "PAGE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + , "CreateAgentRequest": { + "properties" : {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"options" : {"type": "object","title": "OPTIONS"}}, "type": "object", - "required": ["keyword","workspace_id"], - "title": "WorkspaceUserFindRequest" + "required": ["service_account_id","options"], + "title": "CreateAgentRequest" } - , "WorkspaceUserInfo": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"email" : {"type": "string","title": "EMAIL"},"auth_type" : {"type": "AuthType","title": "AUTH_TYPE"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"api_key_count" : {"type": "integer","title": "API_KEY_COUNT"},"tags" : {"type": "object","title": "TAGS"},"role_binding_info" : {"$ref": "#/components/schemas/RoleBindingInfo","title": "ROLE_BINDING_INFO"},"email_verified" : {"type": "boolean","title": "EMAIL_VERIFIED"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"last_accessed_at" : {"type": "string","title": "LAST_ACCESSED_AT"}}, + , "CreateRoleBindingRequest": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"role_id" : {"type": "string","title": "ROLE_ID"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, "type": "object", - "required": ["user_id","name","state","email","auth_type","role_type","language","timezone","api_key_count","tags","role_binding_info","email_verified","domain_id","created_at","last_accessed_at"], - "title": "WorkspaceUserInfo" + "required": ["user_id","role_id","resource_group"], + "title": "CreateRoleBindingRequest" } - , "WorkspaceUserRequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + , "RoleBindingInfo": { + "properties" : {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"role_id" : {"type": "string","title": "ROLE_ID"},"user_id" : {"type": "string","title": "USER_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, "type": "object", - "required": ["user_id","workspace_id"], - "title": "WorkspaceUserRequest" + "required": ["role_binding_id","role_type","resource_group","domain_id","workspace_id","role_id","user_id","created_at"], + "title": "RoleBindingInfo" } - , "WorkspaceUserSearchQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"email" : {"type": "string","title": "EMAIL"},"auth_type" : {"type": "AuthType","title": "AUTH_TYPE"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + , "RoleBindingRequest": { + "properties" : {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"}}, "type": "object", - "required": ["workspace_id"], - "title": "WorkspaceUserSearchQuery" + "required": ["role_binding_id"], + "title": "RoleBindingRequest" } - , "WorkspaceUserStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + , "RoleBindingSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"role_id" : {"type": "string","title": "ROLE_ID"},"user_id" : {"type": "string","title": "USER_ID"}}, "type": "object", - "required": ["query","workspace_id"], - "title": "WorkspaceUserStatQuery" + "required": [], + "title": "RoleBindingSearchQuery" } - , "WorkspaceUsersInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/WorkspaceUserInfo"}, - "type": "array","$ref": "#/components/schemas/WorkspaceUserInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "RoleBindingStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + "type": "object", + "required": ["query"], + "title": "RoleBindingStatQuery" + } + , "RoleBindingsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/RoleBindingInfo"}, + "type": "array","$ref": "#/components/schemas/RoleBindingInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "WorkspaceUsersInfo" + "title": "RoleBindingsInfo" } - , "CreateProviderRequest": { - "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"name" : {"type": "string","title": "NAME"},"alias" : {"type": "string","title": "ALIAS"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"color" : {"type": "string","title": "COLOR"},"icon" : {"type": "string","title": "ICON"},"order" : {"type": "integer","title": "ORDER"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, + , "UpdateRoleBindingRequest": { + "properties" : {"role_binding_id" : {"type": "string","title": "ROLE_BINDING_ID"},"role_id" : {"type": "string","title": "ROLE_ID"}}, "type": "object", - "required": ["provider","name"], - "title": "CreateProviderRequest" + "required": ["role_binding_id","role_id"], + "title": "UpdateRoleBindingRequest" } - , "PluginInfo": { - "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"version" : {"type": "string","title": "VERSION"},"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE"},"options" : {"type": "object","title": "OPTIONS"},"metadata" : {"type": "object","title": "METADATA"}}, + , "ChangeParentGroupRequest": { + "properties" : {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"parent_group_id" : {"type": "string","title": "PARENT_GROUP_ID"}}, "type": "object", - "required": ["plugin_id","version","upgrade_mode","options","metadata"], - "title": "PluginInfo" + "required": ["project_group_id","parent_group_id"], + "title": "ChangeParentGroupRequest" + } + , "CreateProjectGroupRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"},"parent_group_id" : {"type": "string","title": "PARENT_GROUP_ID"}}, + "type": "object", + "required": ["name"], + "title": "CreateProjectGroupRequest" } - , "ProviderInfo": { - "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"name" : {"type": "string","title": "NAME"},"alias" : {"type": "string","title": "ALIAS"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"color" : {"type": "string","title": "COLOR"},"icon" : {"type": "string","title": "ICON"},"order" : {"type": "integer","title": "ORDER"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + , "ProjectGroupInfo": { + "properties" : {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"},"users" : {"items": {"type": "string"}, + "type": "array","title": "USERS"},"reference_id" : {"type": "string","title": "REFERENCE_ID"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"parent_group_id" : {"type": "string","title": "PARENT_GROUP_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"last_synced_at" : {"type": "string","title": "LAST_SYNCED_AT"}}, "type": "object", - "required": ["provider","name","alias","plugin_info","color","icon","order","options","tags","is_managed","domain_id","created_at","updated_at"], - "title": "ProviderInfo" + "required": ["project_group_id","name","tags","users","reference_id","is_managed","domain_id","workspace_id","parent_group_id","trusted_account_id","created_at","last_synced_at"], + "title": "ProjectGroupInfo" } - , "ProviderRequest": { - "properties" : {"provider" : {"type": "string","title": "PROVIDER"}}, + , "ProjectGroupRequest": { + "properties" : {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"}}, "type": "object", - "required": ["provider"], - "title": "ProviderRequest" + "required": ["project_group_id"], + "title": "ProjectGroupRequest" } - , "ProviderSearchQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"provider" : {"type": "string","title": "PROVIDER"},"name" : {"type": "string","title": "NAME"},"alias" : {"type": "string","title": "ALIAS"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"}}, + , "ProjectGroupSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"name" : {"type": "string","title": "NAME"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"parent_group_id" : {"type": "string","title": "PARENT_GROUP_ID"}}, "type": "object", "required": [], - "title": "ProviderSearchQuery" + "title": "ProjectGroupSearchQuery" } - , "ProviderStatQuery": { + , "ProjectGroupStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "ProviderStatQuery" + "title": "ProjectGroupStatQuery" } - , "ProvidersInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/ProviderInfo"}, - "type": "array","$ref": "#/components/schemas/ProviderInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "ProjectGroupsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/ProjectGroupInfo"}, + "type": "array","$ref": "#/components/schemas/ProjectGroupInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "ProvidersInfo" - } - , "UpdatePluginProviderRequest": { - "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"version" : {"type": "string","title": "VERSION"},"options" : {"type": "object","title": "OPTIONS"},"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE"}}, - "type": "object", - "required": ["provider"], - "title": "UpdatePluginProviderRequest" - } - , "UpdateProviderRequest": { - "properties" : {"provider" : {"type": "string","title": "PROVIDER"},"name" : {"type": "string","title": "NAME"},"alias" : {"type": "string","title": "ALIAS"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"color" : {"type": "string","title": "COLOR"},"icon" : {"type": "string","title": "ICON"},"order" : {"type": "integer","title": "ORDER"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, - "type": "object", - "required": ["provider"], - "title": "UpdateProviderRequest" - } - , "EndpointInfo": { - "properties" : {"name" : {"type": "string","title": "NAME"},"service" : {"type": "string","title": "SERVICE"},"endpoint" : {"type": "string","title": "ENDPOINT"},"state" : {"type": "string","title": "STATE"},"version" : {"type": "string","title": "VERSION"}}, - "type": "object", - "required": ["name","service","endpoint","state","version"], - "title": "EndpointInfo" + "title": "ProjectGroupsInfo" } - , "EndpointSearchQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"service" : {"type": "string","title": "SERVICE"}}, + , "UpdateProjectGroupRequest": { + "properties" : {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": [], - "title": "EndpointSearchQuery" + "required": ["project_group_id"], + "title": "UpdateProjectGroupRequest" } - , "EndpointsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/EndpointInfo"}, - "type": "array","$ref": "#/components/schemas/EndpointInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "UsersProjectGroupRequest": { + "properties" : {"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"users" : {"items": {"type": "string"}, + "type": "array","title": "USERS"}}, "type": "object", - "required": ["results","total_count"], - "title": "EndpointsInfo" + "required": ["project_group_id","users"], + "title": "UsersProjectGroupRequest" } , "ConfirmEmailRequest": { "properties" : {"verify_code" : {"type": "string","title": "VERIFY_CODE"}}, @@ -4682,54 +4674,66 @@ "required": [], "title": "VerifyEmailRequest" } - , "CreateServiceAccountRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"provider" : {"type": "string","title": "PROVIDER"},"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID"},"secret_data" : {"type": "object","title": "SECRET_DATA"},"tags" : {"type": "object","title": "TAGS"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, + , "Admin": { + "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"password" : {"type": "string","title": "PASSWORD"},"email" : {"type": "string","title": "EMAIL"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"tags" : {"type": "object","title": "TAGS"},"reset_password" : {"type": "boolean","title": "RESET_PASSWORD"}}, "type": "object", - "required": ["name","data","provider","project_id"], - "title": "CreateServiceAccountRequest" + "required": ["user_id","name","password"], + "title": "Admin" } - , "ServiceAccountInfo": { - "properties" : {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"data" : {"type": "object","title": "DATA"},"provider" : {"type": "string","title": "PROVIDER"},"tags" : {"type": "object","title": "TAGS"},"reference_id" : {"type": "string","title": "REFERENCE_ID"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID"},"secret_id" : {"type": "string","title": "SECRET_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"last_synced_at" : {"type": "string","title": "LAST_SYNCED_AT"},"deleted_at" : {"type": "string","title": "DELETED_AT"},"inactivated_at" : {"type": "string","title": "INACTIVATED_AT"}}, + , "CreateDomainRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"admin" : {"$ref": "#/components/schemas/Admin","title": "ADMIN"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["service_account_id","name","state","data","provider","tags","reference_id","is_managed","domain_id","workspace_id","project_id","trusted_account_id","secret_schema_id","secret_id","created_at","last_synced_at","deleted_at","inactivated_at"], - "title": "ServiceAccountInfo" + "required": ["name","admin"], + "title": "CreateDomainRequest" } - , "ServiceAccountRequest": { - "properties" : {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"}}, + , "DomainAuthInfo": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"name" : {"type": "string","title": "NAME"},"external_auth_state" : {"type": "string","title": "EXTERNAL_AUTH_STATE"},"metadata" : {"type": "object","title": "METADATA"},"config" : {"type": "object","title": "CONFIG"}}, "type": "object", - "required": ["service_account_id"], - "title": "ServiceAccountRequest" + "required": ["domain_id","name","external_auth_state","metadata","config"], + "title": "DomainAuthInfo" } - , "ServiceAccountSearchQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"provider" : {"type": "string","title": "PROVIDER"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID"},"secret_id" : {"type": "string","title": "SECRET_ID"}}, + , "DomainInfo": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"tags" : {"type": "object","title": "TAGS"},"created_at" : {"type": "string","title": "CREATED_AT"},"deleted_at" : {"type": "string","title": "DELETED_AT"}}, + "type": "object", + "required": ["domain_id","name","state","tags","created_at","deleted_at"], + "title": "DomainInfo" + } + , "DomainRequest": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + "type": "object", + "required": ["domain_id"], + "title": "DomainRequest" + } + , "DomainSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"}}, "type": "object", "required": [], - "title": "ServiceAccountSearchQuery" + "title": "DomainSearchQuery" } - , "ServiceAccountStatQuery": { + , "DomainStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "ServiceAccountStatQuery" + "title": "DomainStatQuery" } - , "ServiceAccountsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/ServiceAccountInfo"}, - "type": "array","$ref": "#/components/schemas/ServiceAccountInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "DomainsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/DomainInfo"}, + "type": "array","$ref": "#/components/schemas/DomainInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "ServiceAccountsInfo" + "title": "DomainsInfo" } - , "UpdateServiceAccountRequest": { - "properties" : {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"tags" : {"type": "object","title": "TAGS"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, + , "GetDomainAuthRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"}}, "type": "object", - "required": ["service_account_id"], - "title": "UpdateServiceAccountRequest" + "required": ["name"], + "title": "GetDomainAuthRequest" } - , "UpdateServiceAccountSecretRequest": { - "properties" : {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID"},"secret_data" : {"type": "object","title": "SECRET_DATA"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"}}, + , "UpdateDomainRequest": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["service_account_id","secret_schema_id","secret_data"], - "title": "UpdateServiceAccountSecretRequest" + "required": ["domain_id"], + "title": "UpdateDomainRequest" } , "SystemInfo": { "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"name" : {"type": "string","title": "NAME"},"system_token" : {"type": "string","title": "SYSTEM_TOKEN"}}, @@ -4743,74 +4747,131 @@ "required": ["admin","force"], "title": "SystemInitRequest" } - , "CreateUserRequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"password" : {"type": "string","title": "PASSWORD"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"auth_type" : {"type": "string","title": "AUTH_TYPE"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"tags" : {"type": "object","title": "TAGS"},"reset_password" : {"type": "boolean","title": "RESET_PASSWORD"}}, + , "JobInfo": { + "properties" : {"job_id" : {"type": "string","title": "JOB_ID"},"status" : {"type": "string","title": "STATUS"},"options" : {"type": "object","title": "OPTIONS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"error_message" : {"type": "string","title": "ERROR_MESSAGE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"},"finished_at" : {"type": "string","title": "FINISHED_AT"}}, "type": "object", - "required": ["user_id","auth_type","reset_password"], - "title": "CreateUserRequest" + "required": ["job_id","status","options","resource_group","error_message","domain_id","workspace_id","trusted_account_id","plugin_id","created_at","updated_at","finished_at"], + "title": "JobInfo" } - , "DisableUserMFARequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"}}, + , "JobRequest": { + "properties" : {"job_id" : {"type": "string","title": "JOB_ID"}}, "type": "object", - "required": ["user_id"], - "title": "DisableUserMFARequest" + "required": ["job_id"], + "title": "JobRequest" } - , "MFA": { - "properties" : {"state" : {"type": "string","title": "STATE"},"mfa_type" : {"type": "string","title": "MFA_TYPE"},"options" : {"type": "object","title": "OPTIONS"}}, + , "JobStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", - "required": ["state","mfa_type","options"], - "title": "MFA" + "required": ["query"], + "title": "JobStatQuery" } - , "SetRequiredActionsRequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"required_actions" : {"items": {"type": "string"}, - "type": "array","title": "REQUIRED_ACTIONS"}}, + , "JobsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/JobInfo"}, + "type": "array","$ref": "#/components/schemas/JobInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": ["user_id","required_actions"], - "title": "SetRequiredActionsRequest" + "required": ["results","total_count"], + "title": "JobsInfo" } - , "UpdateUserRequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"password" : {"type": "string","title": "PASSWORD"},"name" : {"type": "string","title": "NAME"},"email" : {"type": "string","title": "EMAIL"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"tags" : {"type": "object","title": "TAGS"},"reset_password" : {"type": "boolean","title": "RESET_PASSWORD"}}, + , "JobsQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"job_id" : {"type": "string","title": "JOB_ID"},"status" : {"type": "string","title": "STATUS"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"}}, "type": "object", - "required": ["user_id"], - "title": "UpdateUserRequest" + "required": [], + "title": "JobsQuery" } - , "UserInfo": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"email" : {"type": "string","title": "EMAIL"},"email_verified" : {"type": "boolean","title": "EMAIL_VERIFIED"},"auth_type" : {"type": "string","title": "AUTH_TYPE"},"role_id" : {"type": "string","title": "ROLE_ID"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"mfa" : {"$ref": "#/components/schemas/MFA","title": "MFA"},"language" : {"type": "string","title": "LANGUAGE"},"timezone" : {"type": "string","title": "TIMEZONE"},"required_actions" : {"items": {"type": "string"}, - "type": "array","title": "REQUIRED_ACTIONS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"last_accessed_at" : {"type": "string","title": "LAST_ACCESSED_AT"}}, + , "CreateRoleRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"permissions" : {"items": {"type": "string"}, + "type": "array","title": "PERMISSIONS"},"page_access" : {"items": {"type": "string"}, + "type": "array","title": "PAGE_ACCESS"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["user_id","name","state","email","email_verified","auth_type","role_id","role_type","mfa","language","timezone","required_actions","tags","domain_id","created_at","last_accessed_at"], - "title": "UserInfo" + "required": ["name","role_type"], + "title": "CreateRoleRequest" } - , "UserRequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"}}, + , "RoleInfo": { + "properties" : {"role_id" : {"type": "string","title": "ROLE_ID"},"name" : {"type": "string","title": "NAME"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"permissions" : {"items": {"type": "string"}, + "type": "array","title": "PERMISSIONS"},"page_access" : {"items": {"type": "string"}, + "type": "array","title": "PAGE_ACCESS"},"tags" : {"type": "object","title": "TAGS"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"state" : {"type": "string","title": "STATE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, "type": "object", - "required": ["user_id"], - "title": "UserRequest" + "required": ["role_id","name","role_type","permissions","page_access","tags","is_managed","state","domain_id","created_at","updated_at"], + "title": "RoleInfo" + } + , "RoleRequest": { + "properties" : {"role_id" : {"type": "string","title": "ROLE_ID"}}, + "type": "object", + "required": ["role_id"], + "title": "RoleRequest" + } + , "RoleSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"role_id" : {"type": "string","title": "ROLE_ID"},"name" : {"type": "string","title": "NAME"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"state" : {"type": "string","title": "STATE"}}, + "type": "object", + "required": [], + "title": "RoleSearchQuery" + } + , "RoleStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + "type": "object", + "required": ["query"], + "title": "RoleStatQuery" + } + , "RolesInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/RoleInfo"}, + "type": "array","$ref": "#/components/schemas/RoleInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "RolesInfo" + } + , "UpdateRoleRequest": { + "properties" : {"role_id" : {"type": "string","title": "ROLE_ID"},"name" : {"type": "string","title": "NAME"},"permissions" : {"items": {"type": "string"}, + "type": "array","title": "PERMISSIONS"},"page_access" : {"items": {"type": "string"}, + "type": "array","title": "PAGE_ACCESS"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["role_id"], + "title": "UpdateRoleRequest" + } + , "CreateSchemaRequest": { + "properties" : {"schema_id" : {"type": "string","title": "SCHEMA_ID"},"name" : {"type": "string","title": "NAME"},"schema_type" : {"type": "string","title": "SCHEMA_TYPE"},"schema" : {"type": "object","title": "SCHEMA"},"provider" : {"type": "string","title": "PROVIDER"},"related_schemas" : {"items": {"type": "string"}, + "type": "array","title": "RELATED_SCHEMAS"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["schema_id","name","schema_type","provider"], + "title": "CreateSchemaRequest" + } + , "SchemaInfo": { + "properties" : {"schema_id" : {"type": "string","title": "SCHEMA_ID"},"name" : {"type": "string","title": "NAME"},"schema_type" : {"type": "string","title": "SCHEMA_TYPE"},"schema" : {"type": "object","title": "SCHEMA"},"provider" : {"type": "string","title": "PROVIDER"},"related_schemas" : {"items": {"type": "string"}, + "type": "array","title": "RELATED_SCHEMAS"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + "type": "object", + "required": ["schema_id","name","schema_type","schema","provider","related_schemas","options","tags","is_managed","domain_id","created_at","updated_at"], + "title": "SchemaInfo" + } + , "SchemaRequest": { + "properties" : {"schema_id" : {"type": "string","title": "SCHEMA_ID"}}, + "type": "object", + "required": ["schema_id"], + "title": "SchemaRequest" } - , "UserSearchQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"user_id" : {"type": "string","title": "USER_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"email" : {"type": "string","title": "EMAIL"},"auth_type" : {"type": "string","title": "AUTH_TYPE"}}, + , "SchemaSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"name" : {"type": "string","title": "NAME"},"schema_type" : {"type": "string","title": "SCHEMA_TYPE"},"provider" : {"type": "string","title": "PROVIDER"},"related_schema_id" : {"type": "string","title": "RELATED_SCHEMA_ID"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"}}, "type": "object", "required": [], - "title": "UserSearchQuery" + "title": "SchemaSearchQuery" } - , "UserStatQuery": { + , "SchemaStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "UserStatQuery" + "title": "SchemaStatQuery" } - , "UsersInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/UserInfo"}, - "type": "array","$ref": "#/components/schemas/UserInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "SchemasInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/SchemaInfo"}, + "type": "array","$ref": "#/components/schemas/SchemaInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "UsersInfo" + "title": "SchemasInfo" } - , "VerifyUserEmailRequest": { - "properties" : {"user_id" : {"type": "string","title": "USER_ID"},"email" : {"type": "string","title": "EMAIL"}}, + , "UpdateSchemaRequest": { + "properties" : {"schema_id" : {"type": "string","title": "SCHEMA_ID"},"name" : {"type": "string","title": "NAME"},"schema" : {"type": "object","title": "SCHEMA"},"related_schemas" : {"items": {"type": "string"}, + "type": "array","title": "RELATED_SCHEMAS"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["user_id"], - "title": "VerifyUserEmailRequest" + "required": ["schema_id"], + "title": "UpdateSchemaRequest" } , "AppCheckRequest": { "properties" : {"client_id" : {"type": "string","title": "CLIENT_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, @@ -4874,197 +4935,136 @@ "required": ["app_id"], "title": "UpdateAppRequest" } - , "ExternalAuthInfo": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"state" : {"type": "string","title": "STATE"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + , "EndpointInfo": { + "properties" : {"name" : {"type": "string","title": "NAME"},"service" : {"type": "string","title": "SERVICE"},"endpoint" : {"type": "string","title": "ENDPOINT"},"state" : {"type": "string","title": "STATE"},"version" : {"type": "string","title": "VERSION"}}, "type": "object", - "required": ["domain_id","state","plugin_info","updated_at"], - "title": "ExternalAuthInfo" + "required": ["name","service","endpoint","state","version"], + "title": "EndpointInfo" } - , "ExternalAuthRequest": { - "properties" : {}, + , "EndpointSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"service" : {"type": "string","title": "SERVICE"}}, "type": "object", "required": [], - "title": "ExternalAuthRequest" - } - , "SetExternalAuthRequest": { - "properties" : {"plugin_info" : {"type": "PluginRequest","title": "PLUGIN_INFO"}}, - "type": "object", - "required": ["plugin_info"], - "title": "SetExternalAuthRequest" - } - , "GrantTokenInfo": { - "properties" : {"access_token" : {"type": "string","title": "ACCESS_TOKEN"},"role_type" : {"type": "string","title": "ROLE_TYPE"},"role_id" : {"type": "string","title": "ROLE_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, - "type": "object", - "required": ["access_token","role_type","role_id","domain_id","workspace_id"], - "title": "GrantTokenInfo" - } - , "GrantTokenRequest": { - "properties" : {"grant_type" : {"type": "string","title": "GRANT_TYPE"},"token" : {"type": "string","title": "TOKEN"},"scope" : {"type": "string","title": "SCOPE"},"timeout" : {"type": "integer","title": "TIMEOUT"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"permissions" : {"items": {"type": "string"}, - "type": "array","title": "PERMISSIONS"}}, - "type": "object", - "required": ["grant_type","token","scope"], - "title": "GrantTokenRequest" - } - , "IssueTokenRequest": { - "properties" : {"credentials" : {"type": "object","title": "CREDENTIALS"},"auth_type" : {"type": "string","title": "AUTH_TYPE"},"timeout" : {"type": "integer","title": "TIMEOUT"},"verify_code" : {"type": "string","title": "VERIFY_CODE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, - "type": "object", - "required": ["credentials","domain_id"], - "title": "IssueTokenRequest" - } - , "TokenInfo": { - "properties" : {"access_token" : {"type": "string","title": "ACCESS_TOKEN"},"refresh_token" : {"type": "string","title": "REFRESH_TOKEN"}}, - "type": "object", - "required": ["access_token","refresh_token"], - "title": "TokenInfo" - } - , "CreateWorkSpaceRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, - "type": "object", - "required": ["name","tags"], - "title": "CreateWorkSpaceRequest" - } - , "UpdateWorkSpaceRequest": { - "properties" : {"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, - "type": "object", - "required": ["workspace_id"], - "title": "UpdateWorkSpaceRequest" - } - , "WorkspaceCheckRequest": { - "properties" : {"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, - "type": "object", - "required": ["workspace_id","domain_id"], - "title": "WorkspaceCheckRequest" + "title": "EndpointSearchQuery" } - , "WorkspaceCostInfo": { - "properties" : {"day" : {"type": "float","title": "DAY"},"month" : {"type": "float","title": "MONTH"}}, + , "EndpointsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/EndpointInfo"}, + "type": "array","$ref": "#/components/schemas/EndpointInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": ["day","month"], - "title": "WorkspaceCostInfo" + "required": ["results","total_count"], + "title": "EndpointsInfo" } - , "WorkspaceDeleteRequest": { - "properties" : {"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"force" : {"type": "boolean","title": "FORCE"}}, + , "CreateServiceAccountRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"provider" : {"type": "string","title": "PROVIDER"},"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID"},"secret_data" : {"type": "object","title": "SECRET_DATA"},"tags" : {"type": "object","title": "TAGS"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, "type": "object", - "required": ["workspace_id","force"], - "title": "WorkspaceDeleteRequest" + "required": ["name","data","provider","project_id"], + "title": "CreateServiceAccountRequest" } - , "WorkspaceInfo": { - "properties" : {"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"tags" : {"type": "object","title": "TAGS"},"created_by" : {"type": "string","title": "CREATED_BY"},"references" : {"items": {"type": "string"}, - "type": "array","title": "REFERENCES"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"is_dormant" : {"type": "boolean","title": "IS_DORMANT"},"dormant_ttl" : {"type": "integer","title": "DORMANT_TTL"},"service_account_count" : {"type": "integer","title": "SERVICE_ACCOUNT_COUNT"},"cost_info" : {"$ref": "#/components/schemas/WorkspaceCostInfo","title": "COST_INFO"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"last_synced_at" : {"type": "string","title": "LAST_SYNCED_AT"},"dormant_updated_at" : {"type": "string","title": "DORMANT_UPDATED_AT"}}, + , "ServiceAccountInfo": { + "properties" : {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"data" : {"type": "object","title": "DATA"},"provider" : {"type": "string","title": "PROVIDER"},"tags" : {"type": "object","title": "TAGS"},"reference_id" : {"type": "string","title": "REFERENCE_ID"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID"},"secret_id" : {"type": "string","title": "SECRET_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"last_synced_at" : {"type": "string","title": "LAST_SYNCED_AT"},"deleted_at" : {"type": "string","title": "DELETED_AT"},"inactivated_at" : {"type": "string","title": "INACTIVATED_AT"}}, "type": "object", - "required": ["workspace_id","name","state","tags","created_by","references","is_managed","is_dormant","dormant_ttl","service_account_count","cost_info","domain_id","trusted_account_id","created_at","last_synced_at","dormant_updated_at"], - "title": "WorkspaceInfo" + "required": ["service_account_id","name","state","data","provider","tags","reference_id","is_managed","domain_id","workspace_id","project_id","trusted_account_id","secret_schema_id","secret_id","created_at","last_synced_at","deleted_at","inactivated_at"], + "title": "ServiceAccountInfo" } - , "WorkspaceRequest": { - "properties" : {"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + , "ServiceAccountRequest": { + "properties" : {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"}}, "type": "object", - "required": ["workspace_id"], - "title": "WorkspaceRequest" + "required": ["service_account_id"], + "title": "ServiceAccountRequest" } - , "WorkspaceSearchQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"created_by" : {"type": "string","title": "CREATED_BY"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"is_dormant" : {"type": "boolean","title": "IS_DORMANT"}}, + , "ServiceAccountSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"provider" : {"type": "string","title": "PROVIDER"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID"},"secret_id" : {"type": "string","title": "SECRET_ID"}}, "type": "object", "required": [], - "title": "WorkspaceSearchQuery" + "title": "ServiceAccountSearchQuery" } - , "WorkspaceStatQuery": { + , "ServiceAccountStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "WorkspaceStatQuery" + "title": "ServiceAccountStatQuery" } - , "WorkspacesInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/WorkspaceInfo"}, - "type": "array","$ref": "#/components/schemas/WorkspaceInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "ServiceAccountsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/ServiceAccountInfo"}, + "type": "array","$ref": "#/components/schemas/ServiceAccountInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "WorkspacesInfo" - } - , "CreateTrustedAccountRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"provider" : {"type": "string","title": "PROVIDER"},"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID"},"secret_data" : {"type": "object","title": "SECRET_DATA"},"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE"},"sync_options" : {"type": "object","title": "SYNC_OPTIONS"},"plugin_options" : {"type": "object","title": "PLUGIN_OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, - "type": "object", - "required": ["name","data","provider","secret_schema_id","secret_data","resource_group"], - "title": "CreateTrustedAccountRequest" - } - , "Scheduled": { - "properties" : {"state" : {"type": "string","title": "STATE"},"hours" : {"items": {"type": "integer"}, - "type": "array","title": "HOURS"}}, - "type": "object", - "required": ["state","hours"], - "title": "Scheduled" + "title": "ServiceAccountsInfo" } - , "TrustedAccountInfo": { - "properties" : {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"provider" : {"type": "string","title": "PROVIDER"},"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE"},"sync_options" : {"type": "object","title": "SYNC_OPTIONS"},"plugin_options" : {"type": "object","title": "PLUGIN_OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID"},"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + , "UpdateServiceAccountRequest": { + "properties" : {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"tags" : {"type": "object","title": "TAGS"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, "type": "object", - "required": ["trusted_account_id","name","data","provider","schedule","sync_options","plugin_options","tags","resource_group","domain_id","workspace_id","secret_schema_id","trusted_secret_id","created_at"], - "title": "TrustedAccountInfo" + "required": ["service_account_id"], + "title": "UpdateServiceAccountRequest" } - , "TrustedAccountRequest": { - "properties" : {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"}}, + , "UpdateServiceAccountSecretRequest": { + "properties" : {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID"},"secret_data" : {"type": "object","title": "SECRET_DATA"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"}}, "type": "object", - "required": ["trusted_account_id"], - "title": "TrustedAccountRequest" + "required": ["service_account_id","secret_schema_id","secret_data"], + "title": "UpdateServiceAccountSecretRequest" } - , "TrustedAccountSearchQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"name" : {"type": "string","title": "NAME"},"provider" : {"type": "string","title": "PROVIDER"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID"},"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID"}}, + , "ChangeProjectGroupRequest": { + "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"}}, "type": "object", - "required": [], - "title": "TrustedAccountSearchQuery" + "required": ["project_id","project_group_id"], + "title": "ChangeProjectGroupRequest" } - , "TrustedAccountStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + , "CreateProjectRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"project_type" : {"type": "string","title": "PROJECT_TYPE"},"tags" : {"type": "object","title": "TAGS"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"}}, "type": "object", - "required": ["query"], - "title": "TrustedAccountStatQuery" + "required": ["name","project_type"], + "title": "CreateProjectRequest" } - , "TrustedAccountsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/TrustedAccountInfo"}, - "type": "array","$ref": "#/components/schemas/TrustedAccountInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "ProjectInfo": { + "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"name" : {"type": "string","title": "NAME"},"project_type" : {"type": "string","title": "PROJECT_TYPE"},"tags" : {"type": "object","title": "TAGS"},"users" : {"items": {"type": "string"}, + "type": "array","title": "USERS"},"created_by" : {"type": "string","title": "CREATED_BY"},"reference_id" : {"type": "string","title": "REFERENCE_ID"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"last_synced_at" : {"type": "string","title": "LAST_SYNCED_AT"}}, "type": "object", - "required": ["results","total_count"], - "title": "TrustedAccountsInfo" + "required": ["project_id","name","project_type","tags","users","created_by","reference_id","is_managed","domain_id","workspace_id","project_group_id","trusted_account_id","created_at","last_synced_at"], + "title": "ProjectInfo" } - , "UpdateTrustedAccountRequest": { - "properties" : {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE"},"sync_options" : {"type": "object","title": "SYNC_OPTIONS"},"plugin_options" : {"type": "object","title": "PLUGIN_OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, + , "ProjectRequest": { + "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"}}, "type": "object", - "required": ["trusted_account_id","tags"], - "title": "UpdateTrustedAccountRequest" + "required": ["project_id"], + "title": "ProjectRequest" } - , "UpdateTrustedAccountSecretRequest": { - "properties" : {"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"secret_schema_id" : {"type": "string","title": "SECRET_SCHEMA_ID"},"secret_data" : {"type": "object","title": "SECRET_DATA"}}, + , "ProjectSearchQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"project_id" : {"type": "string","title": "PROJECT_ID"},"name" : {"type": "string","title": "NAME"},"project_type" : {"type": "string","title": "PROJECT_TYPE"},"created_by" : {"type": "string","title": "CREATED_BY"},"include_children" : {"type": "boolean","title": "INCLUDE_CHILDREN"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"},"user_id" : {"type": "string","title": "USER_ID"}}, "type": "object", - "required": ["trusted_account_id","secret_schema_id","secret_data"], - "title": "UpdateTrustedAccountSecretRequest" + "required": [], + "title": "ProjectSearchQuery" } - , "JobInfo": { - "properties" : {"job_id" : {"type": "string","title": "JOB_ID"},"status" : {"type": "string","title": "STATUS"},"options" : {"type": "object","title": "OPTIONS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"error_message" : {"type": "string","title": "ERROR_MESSAGE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"},"finished_at" : {"type": "string","title": "FINISHED_AT"}}, + , "ProjectStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", - "required": ["job_id","status","options","resource_group","error_message","domain_id","workspace_id","trusted_account_id","plugin_id","created_at","updated_at","finished_at"], - "title": "JobInfo" + "required": ["query"], + "title": "ProjectStatQuery" } - , "JobRequest": { - "properties" : {"job_id" : {"type": "string","title": "JOB_ID"}}, + , "ProjectsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/ProjectInfo"}, + "type": "array","$ref": "#/components/schemas/ProjectInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": ["job_id"], - "title": "JobRequest" + "required": ["results","total_count"], + "title": "ProjectsInfo" } - , "JobStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + , "UpdateProjectRequest": { + "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["query"], - "title": "JobStatQuery" + "required": ["project_id"], + "title": "UpdateProjectRequest" } - , "JobsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/JobInfo"}, - "type": "array","$ref": "#/components/schemas/JobInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "UpdateProjectTypeRequest": { + "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"project_type" : {"type": "string","title": "PROJECT_TYPE"}}, "type": "object", - "required": ["results","total_count"], - "title": "JobsInfo" + "required": ["project_id","project_type"], + "title": "UpdateProjectTypeRequest" } - , "JobsQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"job_id" : {"type": "string","title": "JOB_ID"},"status" : {"type": "string","title": "STATUS"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"}}, + , "UsersProjectRequest": { + "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"users" : {"items": {"type": "string"}, + "type": "array","title": "USERS"}}, "type": "object", - "required": [], - "title": "JobsQuery" + "required": ["project_id","users"], + "title": "UsersProjectRequest" } }, "Struct": {"properties": {"type": "object","title": "Struct"}}, diff --git a/dist/openapi/cloudforet/api/inventory/v1/openapi.json b/dist/openapi/cloudforet/api/inventory/v1/openapi.json index d0d63fb93..71e62248b 100755 --- a/dist/openapi/cloudforet/api/inventory/v1/openapi.json +++ b/dist/openapi/cloudforet/api/inventory/v1/openapi.json @@ -8,20 +8,20 @@ "title": "Inventory API", "version": "3.1.0" }, - "paths":{"/inventory/change-history/list": { + "paths":{"/inventory/namespace/create": { "post": { - "tags": ["inventory > change-history"], - "summary": "List", + "tags": ["inventory > namespace"], + "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cloud_service_id||string|True|\n |query||Query||\n |action|CREATE, UPDATE, DELETE |string||\n |user_id||string||\n |collector_id||string||\n |job_id||string||\n |updated_by||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |category||string|True|\n |resource_type||string|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |namespace_id||string||\n |group||string||\n |icon||string||\n |tags||Struct||\n |workspace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID" },"action" : {"type": "string","title": "ACTION" },"user_id" : {"type": "string","title": "USER_ID" },"collector_id" : {"type": "string","title": "COLLECTOR_ID" },"job_id" : {"type": "string","title": "JOB_ID" },"updated_by" : {"type": "string","title": "UPDATED_BY" } } + "properties": {"namespace_id" : {"type": "string","title": "NAMESPACE_ID" },"name" : {"type": "string","title": "NAME" },"category" : {"type": "string","title": "CATEGORY" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"group" : {"type": "string","title": "GROUP" },"icon" : {"type": "string","title": "ICON" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } } },"required": true @@ -30,27 +30,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ChangeHistoryInfo"}, + "schema": {"$ref": "#/components/schemas/NamespaceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ChangeHistoryInfo"}} + "Schema": {"$ref": "#/components/schemas/NamespaceInfo"},"Default Example":{ + "value": "{\n\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/change-history/stat": { + },"/inventory/namespace/update": { "post": { - "tags": ["inventory > change-history"], - "summary": "Stat", + "tags": ["inventory > namespace"], + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |cloud_service_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |namespace_id||string|True|\n |name||string||\n |icon||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID" } } + "properties": {"namespace_id" : {"type": "string","title": "NAMESPACE_ID" },"name" : {"type": "string","title": "NAME" },"icon" : {"type": "string","title": "ICON" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } } },"required": true @@ -59,58 +61,52 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/NamespaceInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/NamespaceInfo"},"Default Example":{ + "value": "{\n\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-type/create": { + },"/inventory/namespace/delete": { "post": { - "tags": ["inventory > cloud-service-type"], - "summary": "Create", + "tags": ["inventory > namespace"], + "summary": "Delete", "operationId" : "", - "description": "### Description \nCreates a new CloudServiceType. You must specify the `name`, `provider`, and `group` parameters to create a CloudServiceType. One or several CloudServiceTypes exist in a specific `group`, and each CloudServiceType is identified by the `name` parameter.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |provider||string|True|\n |group||string|True|\n |service_code||string||\n |is_primary||boolean||\n |is_major||boolean||\n |resource_type||string||\n |metadata||Struct||\n |labels||array||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |namespace_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"provider" : {"type": "string","title": "PROVIDER" },"group" : {"type": "string","title": "GROUP" },"service_code" : {"type": "string","title": "SERVICE_CODE" },"is_primary" : {"type": "boolean","title": "IS_PRIMARY" },"is_major" : {"type": "boolean","title": "IS_MAJOR" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"metadata" : {"type": "object","title": "METADATA" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"namespace_id" : {"type": "string","title": "NAMESPACE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"name\": \"API-TEST\",\n \"provider\": \"aws\",\n \"group\": \"APIGateway\",\n \"service_code\": \"AmazonApiGateway\",\n \"is_primary\": true,\n \"is_major\": true,\n \"resource_type\": \"inventory.CloudService\",\n \"metadata\": {},\n \"labels\": [\n \"Networking\"\n ],\n \"tags\": {\n \"a\": \"b\"\n }\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceTypeInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceTypeInfo"},"Default Example":{ - "value": "{\n \"cloud_service_type_id\": \"cloud-svc-type-27dd73ac89f8\",\n \"name\": \"API-TEST\",\n \"provider\": \"aws\",\n \"group\": \"APIGateway\",\n \"cloud_service_type_key\": \"aws.APIGateway.API-TEST\",\n \"service_code\": \"AmazonApiGateway\",\n \"is_primary\": true,\n \"is_major\": true,\n \"resource_type\": \"inventory.CloudService\",\n \"metadata\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"labels\": [\n \"Networking\"\n ],\n \"domain_id\": \"domain-58010aa2e451\",\n \"workspace_id\": \"workspace-abcde12345\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\",\n \"updated_at\": \"2022-06-22T01:38:16.301Z\"\n}" - }} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-type/update": { + },"/inventory/namespace/get": { "post": { - "tags": ["inventory > cloud-service-type"], - "summary": "Update", + "tags": ["inventory > namespace"], + "summary": "Get", "operationId" : "", - "description": "### Description \nUpdates a specific CloudServiceType. You can make changes in CloudServiceType settings, except for `name`, `provider` and `group`. In particular, you can set the CloudServiceType's priority in a `group`.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cloud_service_type_id||string|True|\n |service_code||string||\n |is_primary||boolean||\n |is_major||boolean||\n |resource_type||string||\n |metadata||Struct||\n |labels||array||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |namespace_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"cloud_service_type_id" : {"type": "string","title": "CLOUD_SERVICE_TYPE_ID" },"service_code" : {"type": "string","title": "SERVICE_CODE" },"is_primary" : {"type": "boolean","title": "IS_PRIMARY" },"is_major" : {"type": "boolean","title": "IS_MAJOR" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"metadata" : {"type": "object","title": "METADATA" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"namespace_id" : {"type": "string","title": "NAMESPACE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"cloud_service_type_id\": \"cloud-svc-type-27dd73ac89f8\",\n \"service_code\": \"AmazonApi\",\n \"metadata\": {},\n \"labels\": [\n \"Networking2\"\n ],\n \"tags\": {\n \"b\": \"c\"\n }\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } } },"required": true @@ -119,52 +115,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceTypeInfo"}, + "schema": {"$ref": "#/components/schemas/NamespaceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceTypeInfo"},"Default Example":{ - "value": "{\n \"cloud_service_type_id\": \"cloud-svc-type-27dd73ac89f8\",\n \"name\": \"API-TEST\",\n \"provider\": \"aws\",\n \"group\": \"APIGateway\",\n \"cloud_service_type_key\": \"aws.APIGateway.API-TEST\",\n \"service_code\": \"AmazonApiGateway\",\n \"is_primary\": true,\n \"is_major\": true,\n \"resource_type\": \"inventory.CloudService\",\n \"metadata\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"labels\": [\n \"Networking\"\n ],\n \"domain_id\": \"domain-58010aa2e451\",\n \"workspace_id\": \"workspace-abcde12345\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\",\n \"updated_at\": \"2022-06-22T01:38:16.301Z\"\n}" + "Schema": {"$ref": "#/components/schemas/NamespaceInfo"},"Default Example":{ + "value": "{\n\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-type/delete": { - "post": { - "tags": ["inventory > cloud-service-type"], - "summary": "Delete", - "operationId" : "", - "description": "### Description \nDeletes a specific CloudServiceType. You must specify the `cloud_service_type_id` of the CloudServiceType to delete.", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cloud_service_type_id||string|True|\n
", - "content": { - "application/json": { - "schema": { - "properties": {"cloud_service_type_id" : {"type": "string","title": "CLOUD_SERVICE_TYPE_ID" } } - }, - "examples":{"Default Example":{"value": "{\n \"cloud_service_type_id\": \"cloud-svc-type-27dd73ac89f8\"\n}"},"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response"} - } - ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-type/get": { + },"/inventory/namespace/list": { "post": { - "tags": ["inventory > cloud-service-type"], - "summary": "Get", + "tags": ["inventory > namespace"], + "summary": "List", "operationId" : "", - "description": "### Description \nGets a specific CloudServiceType. Prints detailed information about the CloudServiceType.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cloud_service_type_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |namespace_id||string||\n |category||string||\n |resource_type||string||\n |group||string||\n |is_managed||string||\n |workspace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"cloud_service_type_id" : {"type": "string","title": "CLOUD_SERVICE_TYPE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"namespace_id" : {"type": "string","title": "NAMESPACE_ID" },"category" : {"type": "string","title": "CATEGORY" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"group" : {"type": "string","title": "GROUP" },"is_managed" : {"type": "string","title": "IS_MANAGED" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"cloud_service_type_id\": \"cloud-svc-type-27dd73ac89f8\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } } },"required": true @@ -173,29 +146,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceTypeInfo"}, + "schema": {"$ref": "#/components/schemas/NamespacesInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceTypeInfo"},"Default Example":{ - "value": "{\n \"cloud_service_type_id\": \"cloud-svc-type-27dd73ac89f8\",\n \"name\": \"API-TEST\",\n \"provider\": \"aws\",\n \"group\": \"APIGateway\",\n \"cloud_service_type_key\": \"aws.APIGateway.API-TEST\",\n \"service_code\": \"AmazonApiGateway\",\n \"is_primary\": true,\n \"is_major\": true,\n \"resource_type\": \"inventory.CloudService\",\n \"metadata\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"labels\": [\n \"Networking\"\n ],\n \"domain_id\": \"domain-58010aa2e451\",\n \"workspace_id\": \"workspace-abcde12345\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\",\n \"updated_at\": \"2022-06-22T01:38:16.301Z\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/NamespacesInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-type/list": { + },"/inventory/namespace/stat": { "post": { - "tags": ["inventory > cloud-service-type"], - "summary": "List", + "tags": ["inventory > namespace"], + "summary": "Stat", "operationId" : "", - "description": "### Description \nGets a list of all CloudServiceTypes. You can use a query to get a filtered list of CloudServiceTypes.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |cloud_service_type_id||string||\n |name||string||\n |provider||string||\n |group||string||\n |cloud_service_type_key||string||\n |service_code||string||\n |is_primary||boolean||\n |is_major||boolean||\n |resource_type||string||\n |workspace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"cloud_service_type_id" : {"type": "string","title": "CLOUD_SERVICE_TYPE_ID" },"name" : {"type": "string","title": "NAME" },"provider" : {"type": "string","title": "PROVIDER" },"group" : {"type": "string","title": "GROUP" },"cloud_service_type_key" : {"type": "string","title": "CLOUD_SERVICE_TYPE_KEY" },"service_code" : {"type": "string","title": "SERVICE_CODE" },"is_primary" : {"type": "boolean","title": "IS_PRIMARY" },"is_major" : {"type": "boolean","title": "IS_MAJOR" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": {\n \"filter\": [\n {\n \"key\": \"provider\",\n \"value\": \"aws\",\n \"operator\": \"eq\"\n }\n ]\n }\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -204,27 +175,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceTypesInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceTypesInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"cloud_service_type_id\": \"cloud-svc-type-7e1c113b39ff\",\n \"name\": \"API\",\n \"provider\": \"aws\",\n \"group\": \"APIGateway\",\n \"cloud_service_type_key\": \"aws.APIGateway.API\",\n \"service_code\": \"AmazonApiGateway\",\n \"is_primary\": true,\n \"is_major\": true,\n \"resource_type\": \"inventory.CloudService\",\n \"metadata\": {\n },\n \"tags\": {\n \"spaceone:icon\": \"https://spaceone.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/aws/Amazon-API-Gateway.svg\"\n },\n \"labels\": [\n \"Networking\"\n ],\n \"domain_id\": \"domain-58010aa2e451\",\n \"workspace_id\": \"workspace-abcde12345\",\n \"created_at\": \"2021-06-03T02:29:32.690Z\",\n \"updated_at\": \"2022-06-22T00:04:45.477Z\"\n },\n {\n \"cloud_service_type_id\": \"cloud-svc-type-64a0de601371\",\n \"name\": \"Certificate\",\n \"provider\": \"aws\",\n \"group\": \"CertificateManager\",\n \"cloud_service_type_key\": \"aws.CertificateManager.Certificate\",\n \"service_code\": \"AWSCertificateManager\",\n \"is_primary\": true,\n \"resource_type\": \"inventory.CloudService\",\n \"metadata\": {\n },\n \"tags\": {\n \"spaceone:icon\": \"https://spaceone.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/aws/AWS-Certificate-Manager.svg\"\n },\n \"labels\": [\n \"Security\"\n ],\n \"domain_id\": \"domain-58010aa2e451\",\n \"workspace_id\": \"workspace-abcde12345\",\n \"created_at\": \"2021-06-03T02:29:53.052Z\",\n \"updated_at\": \"2022-06-22T00:05:41.252Z\"\n }\n ],\n \"total_count\": 2\n}" - }} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-type/stat": { + },"/inventory/cloud-service-report/create": { "post": { - "tags": ["inventory > cloud-service-type"], - "summary": "Stat", + "tags": ["inventory > cloud-service-report"], + "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |domain_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |options||array|True|\n |schedule||ReportSchedule|True|\n |target||Struct|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |file_format|EXCEL, CSV |string||\n |timezone||string||\n |language||string||\n |tags||Struct||\n |workspace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } + "properties": {"name" : {"type": "string","title": "NAME" },"options" : {"items": {"$ref": "#/components/schemas/ExportOption"}, "type": "array","title": "OPTIONS" },"file_format" : {"type": "string","title": "FILE_FORMAT" },"timezone" : {"type": "string","title": "TIMEZONE" },"language" : {"type": "string","title": "LANGUAGE" },"schedule" : {"$ref": "#/components/schemas/ReportSchedule","title": "SCHEDULE" },"target" : {"type": "object","title": "TARGET" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, "examples":{"Schema":{} } @@ -235,27 +204,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/CloudServiceReportInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/CloudServiceReportInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/namespace/create": { + },"/inventory/cloud-service-report/update": { "post": { - "tags": ["inventory > namespace"], - "summary": "Create", + "tags": ["inventory > cloud-service-report"], + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |category||string|True|\n |resource_type||string|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |namespace_id||string||\n |group||string||\n |icon||string||\n |tags||Struct||\n |workspace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |report_id||string|True|\n |name||string||\n |options||array||\n |file_format|EXCEL, CSV |string||\n |timezone||string||\n |language||string||\n |schedule||ReportSchedule||\n |target||Struct||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"namespace_id" : {"type": "string","title": "NAMESPACE_ID" },"name" : {"type": "string","title": "NAME" },"category" : {"type": "string","title": "CATEGORY" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"group" : {"type": "string","title": "GROUP" },"icon" : {"type": "string","title": "ICON" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"report_id" : {"type": "string","title": "REPORT_ID" },"name" : {"type": "string","title": "NAME" },"options" : {"items": {"$ref": "#/components/schemas/ExportOption"}, "type": "array","title": "OPTIONS" },"file_format" : {"type": "string","title": "FILE_FORMAT" },"timezone" : {"type": "string","title": "TIMEZONE" },"language" : {"type": "string","title": "LANGUAGE" },"schedule" : {"$ref": "#/components/schemas/ReportSchedule","title": "SCHEDULE" },"target" : {"type": "object","title": "TARGET" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -264,60 +233,50 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/NamespaceInfo"}, + "schema": {"$ref": "#/components/schemas/CloudServiceReportInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/NamespaceInfo"},"Default Example":{ - "value": "{\n\n}" - }} + "Schema": {"$ref": "#/components/schemas/CloudServiceReportInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/namespace/update": { + },"/inventory/cloud-service-report/delete": { "post": { - "tags": ["inventory > namespace"], - "summary": "Update", + "tags": ["inventory > cloud-service-report"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |namespace_id||string|True|\n |name||string||\n |icon||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |report_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"namespace_id" : {"type": "string","title": "NAMESPACE_ID" },"name" : {"type": "string","title": "NAME" },"icon" : {"type": "string","title": "ICON" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"report_id" : {"type": "string","title": "REPORT_ID" } } }, - "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/NamespaceInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/NamespaceInfo"},"Default Example":{ - "value": "{\n\n}" - }} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/namespace/delete": { + },"/inventory/cloud-service-report/send": { "post": { - "tags": ["inventory > namespace"], - "summary": "Delete", + "tags": ["inventory > cloud-service-report"], + "summary": "Send", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |namespace_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |report_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"namespace_id" : {"type": "string","title": "NAMESPACE_ID" } } + "properties": {"report_id" : {"type": "string","title": "REPORT_ID" } } }, - "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -327,20 +286,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/namespace/get": { + },"/inventory/cloud-service-report/get": { "post": { - "tags": ["inventory > namespace"], + "tags": ["inventory > cloud-service-report"], "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |namespace_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |report_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"namespace_id" : {"type": "string","title": "NAMESPACE_ID" } } + "properties": {"report_id" : {"type": "string","title": "REPORT_ID" } } }, - "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -349,29 +308,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/NamespaceInfo"}, + "schema": {"$ref": "#/components/schemas/CloudServiceReportInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/NamespaceInfo"},"Default Example":{ - "value": "{\n\n}" - }} + "Schema": {"$ref": "#/components/schemas/CloudServiceReportInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/namespace/list": { + },"/inventory/cloud-service-report/list": { "post": { - "tags": ["inventory > namespace"], + "tags": ["inventory > cloud-service-report"], "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |namespace_id||string||\n |category||string||\n |resource_type||string||\n |group||string||\n |is_managed||string||\n |workspace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |report_id||string||\n |name||string||\n |workspace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"namespace_id" : {"type": "string","title": "NAMESPACE_ID" },"category" : {"type": "string","title": "CATEGORY" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"group" : {"type": "string","title": "GROUP" },"is_managed" : {"type": "string","title": "IS_MANAGED" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"report_id" : {"type": "string","title": "REPORT_ID" },"name" : {"type": "string","title": "NAME" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, - "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -380,16 +337,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/NamespacesInfo"}, + "schema": {"$ref": "#/components/schemas/CloudServiceReportsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/NamespacesInfo"}} + "Schema": {"$ref": "#/components/schemas/CloudServiceReportsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/namespace/stat": { + },"/inventory/cloud-service-report/stat": { "post": { - "tags": ["inventory > namespace"], + "tags": ["inventory > cloud-service-report"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -416,20 +373,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-query-set/create": { + },"/inventory/cloud-service-type/create": { "post": { - "tags": ["inventory > cloud-service-query-set"], + "tags": ["inventory > cloud-service-type"], "summary": "Create", "operationId" : "", - "description": "### Description \nCreate a new query set. Periodic statistics data is created based on the query set.\n`query` parameters refer to AnalyzeQuery.", + "description": "### Description \nCreates a new CloudServiceType. You must specify the `name`, `provider`, and `group` parameters to create a CloudServiceType. One or several CloudServiceTypes exist in a specific `group`, and each CloudServiceType is identified by the `name` parameter.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |query_options||AnalyzeQuery|True|\n |provider||string|True|\n |cloud_service_group||string|True|\n |cloud_service_type||string|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |unit||Struct||\n |tags||Struct||\n |workspace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |provider||string|True|\n |group||string|True|\n |service_code||string||\n |is_primary||boolean||\n |is_major||boolean||\n |resource_type||string||\n |metadata||Struct||\n |labels||array||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"query_options" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY_OPTIONS" },"unit" : {"type": "object","title": "UNIT" },"provider" : {"type": "string","title": "PROVIDER" },"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP" },"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"name" : {"type": "string","title": "NAME" },"provider" : {"type": "string","title": "PROVIDER" },"group" : {"type": "string","title": "GROUP" },"service_code" : {"type": "string","title": "SERVICE_CODE" },"is_primary" : {"type": "boolean","title": "IS_PRIMARY" },"is_major" : {"type": "boolean","title": "IS_MAJOR" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"metadata" : {"type": "object","title": "METADATA" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"name\": \"EC2 Count by Instance Type\",\n \"query_options\": \"\u003cAnalyzeQuery\u003e\",\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"tags\": {\n \"foo\": \"bar\"\n }\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"name\": \"API-TEST\",\n \"provider\": \"aws\",\n \"group\": \"APIGateway\",\n \"service_code\": \"AmazonApiGateway\",\n \"is_primary\": true,\n \"is_major\": true,\n \"resource_type\": \"inventory.CloudService\",\n \"metadata\": {},\n \"labels\": [\n \"Networking\"\n ],\n \"tags\": {\n \"a\": \"b\"\n }\n}"},"Schema":{} } } },"required": true @@ -438,29 +395,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"}, + "schema": {"$ref": "#/components/schemas/CloudServiceTypeInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"},"Default Example":{ - "value": "{\n \"query_set_id\": \"query-set-abcd1234\",\n \"name\": \"EC2 Count by Instance Type\",\n \"state\": \"ENABLED\",\n \"query_options\": \"\u003cAnalyzeQuery\u003e\",\n \"query_type\": \"MANAGED\",\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"data_keys\": [\n \"Disk Size\",\n \"Memory\",\n \"CPU\n ],\n \"additional_info_keys\": [\n \"instance_type\"\n ],\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"tags\": {\n \"foo\": \"bar\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\"\n \"updated_at\": \"2023-03-16T06:00:00.000Z\"\n}" + "Schema": {"$ref": "#/components/schemas/CloudServiceTypeInfo"},"Default Example":{ + "value": "{\n \"cloud_service_type_id\": \"cloud-svc-type-27dd73ac89f8\",\n \"name\": \"API-TEST\",\n \"provider\": \"aws\",\n \"group\": \"APIGateway\",\n \"cloud_service_type_key\": \"aws.APIGateway.API-TEST\",\n \"service_code\": \"AmazonApiGateway\",\n \"is_primary\": true,\n \"is_major\": true,\n \"resource_type\": \"inventory.CloudService\",\n \"metadata\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"labels\": [\n \"Networking\"\n ],\n \"domain_id\": \"domain-58010aa2e451\",\n \"workspace_id\": \"workspace-abcde12345\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\",\n \"updated_at\": \"2022-06-22T01:38:16.301Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-query-set/update": { + },"/inventory/cloud-service-type/update": { "post": { - "tags": ["inventory > cloud-service-query-set"], + "tags": ["inventory > cloud-service-type"], "summary": "Update", "operationId" : "", - "description": "### Description \nUpdate a specific query set. You can only update the query set of custom type.", + "description": "### Description \nUpdates a specific CloudServiceType. You can make changes in CloudServiceType settings, except for `name`, `provider` and `group`. In particular, you can set the CloudServiceType's priority in a `group`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query_set_id||string|True|\n |name||string||\n |query_options||AnalyzeQuery||\n |unit||Struct||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cloud_service_type_id||string|True|\n |service_code||string||\n |is_primary||boolean||\n |is_major||boolean||\n |resource_type||string||\n |metadata||Struct||\n |labels||array||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"query_set_id" : {"type": "string","title": "QUERY_SET_ID" },"name" : {"type": "string","title": "NAME" },"query_options" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY_OPTIONS" },"unit" : {"type": "object","title": "UNIT" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"cloud_service_type_id" : {"type": "string","title": "CLOUD_SERVICE_TYPE_ID" },"service_code" : {"type": "string","title": "SERVICE_CODE" },"is_primary" : {"type": "boolean","title": "IS_PRIMARY" },"is_major" : {"type": "boolean","title": "IS_MAJOR" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"metadata" : {"type": "object","title": "METADATA" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"query_set_id\": \"query-set-abcd1234\",\n \"name\": \"Changed Name\",\n \"query_options\": \"\u003cAnalyzeQuery\u003e\",\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"tags\": {\n \"changed_key\": \"changed_value\"\n }\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"cloud_service_type_id\": \"cloud-svc-type-27dd73ac89f8\",\n \"service_code\": \"AmazonApi\",\n \"metadata\": {},\n \"labels\": [\n \"Networking2\"\n ],\n \"tags\": {\n \"b\": \"c\"\n }\n}"},"Schema":{} } } },"required": true @@ -469,29 +426,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"}, + "schema": {"$ref": "#/components/schemas/CloudServiceTypeInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"},"Default Example":{ - "value": "{\n \"query_set_id\": \"query-set-abcd1234\",\n \"name\": \"EC2 Count by Instance Type\",\n \"state\": \"ENABLED\",\n \"query_options\": \"\u003cAnalyzeQuery\u003e\",\n \"query_type\": \"MANAGED\",\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"data_keys\": [\n \"Disk Size\",\n \"Memory\",\n \"CPU\n ],\n \"additional_info_keys\": [\n \"instance_type\"\n ],\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"tags\": {\n \"foo\": \"bar\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\"\n \"updated_at\": \"2023-03-16T06:00:00.000Z\"\n}" + "Schema": {"$ref": "#/components/schemas/CloudServiceTypeInfo"},"Default Example":{ + "value": "{\n \"cloud_service_type_id\": \"cloud-svc-type-27dd73ac89f8\",\n \"name\": \"API-TEST\",\n \"provider\": \"aws\",\n \"group\": \"APIGateway\",\n \"cloud_service_type_key\": \"aws.APIGateway.API-TEST\",\n \"service_code\": \"AmazonApiGateway\",\n \"is_primary\": true,\n \"is_major\": true,\n \"resource_type\": \"inventory.CloudService\",\n \"metadata\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"labels\": [\n \"Networking\"\n ],\n \"domain_id\": \"domain-58010aa2e451\",\n \"workspace_id\": \"workspace-abcde12345\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\",\n \"updated_at\": \"2022-06-22T01:38:16.301Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-query-set/delete": { + },"/inventory/cloud-service-type/delete": { "post": { - "tags": ["inventory > cloud-service-query-set"], + "tags": ["inventory > cloud-service-type"], "summary": "Delete", "operationId" : "", - "description": "### Description \nDelete a specific query set.", + "description": "### Description \nDeletes a specific CloudServiceType. You must specify the `cloud_service_type_id` of the CloudServiceType to delete.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query_set_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cloud_service_type_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query_set_id" : {"type": "string","title": "QUERY_SET_ID" } } + "properties": {"cloud_service_type_id" : {"type": "string","title": "CLOUD_SERVICE_TYPE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"query_set_id\": \"query-set-abcd1234\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"cloud_service_type_id\": \"cloud-svc-type-27dd73ac89f8\"\n}"},"Schema":{} } } },"required": true @@ -501,43 +458,51 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-query-set/run": { + },"/inventory/cloud-service-type/get": { "post": { - "tags": ["inventory > cloud-service-query-set"], - "summary": "Run", + "tags": ["inventory > cloud-service-type"], + "summary": "Get", "operationId" : "", - "description": "### Description \nRun a specific query set and store the result in the statistics data.", + "description": "### Description \nGets a specific CloudServiceType. Prints detailed information about the CloudServiceType.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query_set_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cloud_service_type_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query_set_id" : {"type": "string","title": "QUERY_SET_ID" } } + "properties": {"cloud_service_type_id" : {"type": "string","title": "CLOUD_SERVICE_TYPE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"query_set_id\": \"query-set-abcd1234\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"cloud_service_type_id\": \"cloud-svc-type-27dd73ac89f8\"\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/CloudServiceTypeInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/CloudServiceTypeInfo"},"Default Example":{ + "value": "{\n \"cloud_service_type_id\": \"cloud-svc-type-27dd73ac89f8\",\n \"name\": \"API-TEST\",\n \"provider\": \"aws\",\n \"group\": \"APIGateway\",\n \"cloud_service_type_key\": \"aws.APIGateway.API-TEST\",\n \"service_code\": \"AmazonApiGateway\",\n \"is_primary\": true,\n \"is_major\": true,\n \"resource_type\": \"inventory.CloudService\",\n \"metadata\": {},\n \"tags\": {\n \"a\": \"b\"\n },\n \"labels\": [\n \"Networking\"\n ],\n \"domain_id\": \"domain-58010aa2e451\",\n \"workspace_id\": \"workspace-abcde12345\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\",\n \"updated_at\": \"2022-06-22T01:38:16.301Z\"\n}" + }} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-query-set/test": { + },"/inventory/cloud-service-type/list": { "post": { - "tags": ["inventory > cloud-service-query-set"], - "summary": "Test", + "tags": ["inventory > cloud-service-type"], + "summary": "List", "operationId" : "", - "description": "### Description \nRun a specific query set and store the result in the statistics data.", + "description": "### Description \nGets a list of all CloudServiceTypes. You can use a query to get a filtered list of CloudServiceTypes.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query_set_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |cloud_service_type_id||string||\n |name||string||\n |provider||string||\n |group||string||\n |cloud_service_type_key||string||\n |service_code||string||\n |is_primary||boolean||\n |is_major||boolean||\n |resource_type||string||\n |workspace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query_set_id" : {"type": "string","title": "QUERY_SET_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"cloud_service_type_id" : {"type": "string","title": "CLOUD_SERVICE_TYPE_ID" },"name" : {"type": "string","title": "NAME" },"provider" : {"type": "string","title": "PROVIDER" },"group" : {"type": "string","title": "GROUP" },"cloud_service_type_key" : {"type": "string","title": "CLOUD_SERVICE_TYPE_KEY" },"service_code" : {"type": "string","title": "SERVICE_CODE" },"is_primary" : {"type": "boolean","title": "IS_PRIMARY" },"is_major" : {"type": "boolean","title": "IS_MAJOR" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"query_set_id\": \"query-set-abcd1234\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query\": {\n \"filter\": [\n {\n \"key\": \"provider\",\n \"value\": \"aws\",\n \"operator\": \"eq\"\n }\n ]\n }\n}"},"Schema":{} } } },"required": true @@ -546,27 +511,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/CloudServiceTypesInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/CloudServiceTypesInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"cloud_service_type_id\": \"cloud-svc-type-7e1c113b39ff\",\n \"name\": \"API\",\n \"provider\": \"aws\",\n \"group\": \"APIGateway\",\n \"cloud_service_type_key\": \"aws.APIGateway.API\",\n \"service_code\": \"AmazonApiGateway\",\n \"is_primary\": true,\n \"is_major\": true,\n \"resource_type\": \"inventory.CloudService\",\n \"metadata\": {\n },\n \"tags\": {\n \"spaceone:icon\": \"https://spaceone.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/aws/Amazon-API-Gateway.svg\"\n },\n \"labels\": [\n \"Networking\"\n ],\n \"domain_id\": \"domain-58010aa2e451\",\n \"workspace_id\": \"workspace-abcde12345\",\n \"created_at\": \"2021-06-03T02:29:32.690Z\",\n \"updated_at\": \"2022-06-22T00:04:45.477Z\"\n },\n {\n \"cloud_service_type_id\": \"cloud-svc-type-64a0de601371\",\n \"name\": \"Certificate\",\n \"provider\": \"aws\",\n \"group\": \"CertificateManager\",\n \"cloud_service_type_key\": \"aws.CertificateManager.Certificate\",\n \"service_code\": \"AWSCertificateManager\",\n \"is_primary\": true,\n \"resource_type\": \"inventory.CloudService\",\n \"metadata\": {\n },\n \"tags\": {\n \"spaceone:icon\": \"https://spaceone.s3.ap-northeast-2.amazonaws.com/console-assets/icons/cloud-services/aws/AWS-Certificate-Manager.svg\"\n },\n \"labels\": [\n \"Security\"\n ],\n \"domain_id\": \"domain-58010aa2e451\",\n \"workspace_id\": \"workspace-abcde12345\",\n \"created_at\": \"2021-06-03T02:29:53.052Z\",\n \"updated_at\": \"2022-06-22T00:05:41.252Z\"\n }\n ],\n \"total_count\": 2\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-query-set/enable": { + },"/inventory/cloud-service-type/stat": { "post": { - "tags": ["inventory > cloud-service-query-set"], - "summary": "Enable", + "tags": ["inventory > cloud-service-type"], + "summary": "Stat", "operationId" : "", - "description": "### Description \nEnable a specific query set.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query_set_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |domain_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query_set_id" : {"type": "string","title": "QUERY_SET_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"domain_id" : {"type": "string","title": "DOMAIN_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"query_set_id\": \"query-set-abcd1234\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -575,29 +542,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"},"Default Example":{ - "value": "{\n \"query_set_id\": \"query-set-abcd1234\",\n \"name\": \"EC2 Count by Instance Type\",\n \"state\": \"ENABLED\",\n \"query_options\": \"\u003cAnalyzeQuery\u003e\",\n \"query_type\": \"MANAGED\",\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"data_keys\": [\n \"Disk Size\",\n \"Memory\",\n \"CPU\n ],\n \"additional_info_keys\": [\n \"instance_type\"\n ],\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"tags\": {\n \"foo\": \"bar\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\"\n \"updated_at\": \"2023-03-16T06:00:00.000Z\"\n}" - }} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-query-set/disable": { + },"/inventory/metric-data/list": { "post": { - "tags": ["inventory > cloud-service-query-set"], - "summary": "Disable", + "tags": ["inventory > metric-data"], + "summary": "List", "operationId" : "", - "description": "### Description \nDisable a specific query set. query set is not executed when disabled.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query_set_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |metric_id||string|True|\n |query||Query||\n |workspace_id||string||\n |project_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query_set_id" : {"type": "string","title": "QUERY_SET_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"metric_id" : {"type": "string","title": "METRIC_ID" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"query_set_id\": \"query-set-abcd1234\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } } },"required": true @@ -606,29 +571,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"}, + "schema": {"$ref": "#/components/schemas/MetricDatasInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"},"Default Example":{ - "value": "{\n \"query_set_id\": \"query-set-abcd1234\",\n \"name\": \"EC2 Count by Instance Type\",\n \"state\": \"ENABLED\",\n \"query_options\": \"\u003cAnalyzeQuery\u003e\",\n \"query_type\": \"MANAGED\",\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"data_keys\": [\n \"Disk Size\",\n \"Memory\",\n \"CPU\n ],\n \"additional_info_keys\": [\n \"instance_type\"\n ],\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"tags\": {\n \"foo\": \"bar\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\"\n \"updated_at\": \"2023-03-16T06:00:00.000Z\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/MetricDatasInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-query-set/get": { + },"/inventory/metric-data/stat": { "post": { - "tags": ["inventory > cloud-service-query-set"], - "summary": "Get", + "tags": ["inventory > metric-data"], + "summary": "Stat", "operationId" : "", - "description": "### Description \nGet a specific query set.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query_set_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |metric_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query_set_id" : {"type": "string","title": "QUERY_SET_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"metric_id" : {"type": "string","title": "METRIC_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"query_set_id\": \"query-set-abcd1234\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -637,29 +600,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"},"Default Example":{ - "value": "{\n \"query_set_id\": \"query-set-abcd1234\",\n \"name\": \"EC2 Count by Instance Type\",\n \"state\": \"ENABLED\",\n \"query_options\": \"\u003cAnalyzeQuery\u003e\",\n \"query_type\": \"MANAGED\",\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"data_keys\": [\n \"Disk Size\",\n \"Memory\",\n \"CPU\n ],\n \"additional_info_keys\": [\n \"instance_type\"\n ],\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"tags\": {\n \"foo\": \"bar\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\"\n \"updated_at\": \"2023-03-16T06:00:00.000Z\"\n}" - }} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-query-set/list": { + },"/inventory/metric-data/analyze": { "post": { - "tags": ["inventory > cloud-service-query-set"], - "summary": "List", + "tags": ["inventory > metric-data"], + "summary": "Analyze", "operationId" : "", - "description": "### Description \nGets a list of all query sets.\nYou can use a query to get a filtered list of query sets.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |query_set_id||string||\n |name||string||\n |state|ENABLED, DISABLED |string||\n |query_type|MANAGED, CUSTOM |string||\n |provider||string||\n |cloud_service_group||string||\n |cloud_service_type||string||\n |workspace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||TimeSeriesAnalyzeQuery|True|\n |metric_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"query_set_id" : {"type": "string","title": "QUERY_SET_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"query_type" : {"type": "string","title": "QUERY_TYPE" },"provider" : {"type": "string","title": "PROVIDER" },"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP" },"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY" },"metric_id" : {"type": "string","title": "METRIC_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": \u003cSearchQuery\u003e,\n \"query_set_id\": \"query-set-abcd1234\",\n \"name\": \"EC2 Count by Instance Type\",\n \"state\": \"ENABLED\",\n \"query_type\": \"MANAGED\",\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"resource_group\": \"DOMAIN\",\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -668,29 +629,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceQuerySetsInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceQuerySetsInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"query_set_id\": \"query-set-abcd1234\",\n \"name\": \"EC2 Count by Instance Type\",\n \"state\": \"ENABLED\",\n \"query_type\": \"MANAGED\",\n \"query_options\": \"\u003cAnalyzeQuery\u003e\",\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"data_keys\": [\n \"Disk Size\",\n \"Memory\",\n \"CPU\n ],\n \"additional_info_keys\": [\n \"instance_type\"\n ],\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"tags\": {\n \"foo\": \"bar\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\",\n \"updated_at\": \"2023-03-16T06:00:00.000Z\"\n },\n {...}\n ],\n \"total_count\": 2\n}" - }} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-query-set/stat": { + },"/inventory/cloud-service-stats/list": { "post": { - "tags": ["inventory > cloud-service-query-set"], - "summary": "Stat", + "tags": ["inventory > cloud-service-stats"], + "summary": "List", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nGets a list of raw statistics data.\nYou can use a query to get a filtered list of statistics data.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query_set_id||string|True|\n |query||Query||\n |provider||string||\n |cloud_service_group||string||\n |cloud_service_type||string||\n |region_code||string||\n |account||string||\n |workspace_id||string||\n |project_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"query_set_id" : {"type": "string","title": "QUERY_SET_ID" },"provider" : {"type": "string","title": "PROVIDER" },"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP" },"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE" },"region_code" : {"type": "string","title": "REGION_CODE" },"account" : {"type": "string","title": "ACCOUNT" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query\": \u003cSearchQuery\u003e,\n \"query_set_id\": \"query-set-abcd1234\",\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"region_code\": \"us-east-1\",\n \"account\": \"aws-account-id\",\n \"project_id\": \"project-abcd1234\"\n}"},"Schema":{} } } },"required": true @@ -699,27 +658,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/CloudServiceStatsInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/CloudServiceStatsInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"query_set_id\": \"query-set-abcd1234\",\n \"key\": \"Disk Size\",\n \"data\": {\n \"Disk Size\": 1040,\n \"Memory Size\": 1024,\n \"CPU\": 2\n },\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"region_code\": \"us-east-1\",\n \"account\": \"aws-account-id\",\n \"additional_info\": {\n \"instance_type\": \"t2.micro\"\n },\n \"project_id\": \"project-abcd1234\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_date\": \"2022-06-22\"\n },\n {...}\n ],\n \"total_count\": 2\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service/create": { + },"/inventory/cloud-service-stats/analyze": { "post": { - "tags": ["inventory > cloud-service"], - "summary": "Create", + "tags": ["inventory > cloud-service-stats"], + "summary": "Analyze", "operationId" : "", - "description": "### Description \nCreates a new CloudService. A CloudService instance is created based on data including the `resource`'s attribute values. When creating, the classification information defined by CloudServiceType is also needed. The created CloudService has collection information which is the collection history for the `resource` by plugin.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cloud_service_type||string|True|\n |provider||string|True|\n |cloud_service_group||string|True|\n |data||Struct|True|\n |name||string||\n |account||string||\n |instance_type||string||\n |instance_size||float||\n |ip_addresses||array||\n |metadata||Struct||\n |reference||CloudServiceReference||\n |tags||Struct||\n |region_code||string||\n |project_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||TimeSeriesAnalyzeQuery|True|\n |query_set_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE" },"provider" : {"type": "string","title": "PROVIDER" },"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP" },"name" : {"type": "string","title": "NAME" },"account" : {"type": "string","title": "ACCOUNT" },"instance_type" : {"type": "string","title": "INSTANCE_TYPE" },"instance_size" : {"type": "float","title": "INSTANCE_SIZE" },"ip_addresses" : {"items": {}, "type": "array","title": "IP_ADDRESSES" },"data" : {"type": "object","title": "DATA" },"metadata" : {"type": "object","title": "METADATA" },"reference" : {"$ref": "#/components/schemas/CloudServiceReference","title": "REFERENCE" },"tags" : {"type": "object","title": "TAGS" },"region_code" : {"type": "string","title": "REGION_CODE" },"project_id" : {"type": "string","title": "PROJECT_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY" },"query_set_id" : {"type": "string","title": "QUERY_SET_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"cloud_service_type\": \"Key\",\n \"provider\": \"aws\",\n \"cloud_service_group\": \"KMS\",\n \"name\": \"cloud_service_test\",\n \"account\": \"251340636361\",\n \"launched_at\": \"2020-08-03T15:00:54.000Z\",\n \"ip_addresses\": [],\n \"data\": {\n \"alias_arn\": null,\n \"origin\": \"AWS_KMS\",\n \"cloudwatch\": {\n \"region_name\": \"ap-northeast-1\",\n \"namespace\": \"AWS/KMS\",\n \"dimensions\": [\n {\n \"Value\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"Name\": \"KeyId\"\n }\n ]\n },\n \"aws_account_id\": \"251340636361\",\n \"creation_date\": \"2020-07-09T09:39:03.097000+0000\",\n \"encryption_algorithms\": [\n \"SYMMETRIC_DEFAULT\"\n ],\n \"key_usage\": \"ENCRYPT_DECRYPT\",\n \"key_id\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_type_path\": \"defaultKeys\",\n \"key_rotated\": false,\n \"description\": \"Default master key that protects my Secrets Manager data when no other key is defined\",\n \"key_state\": \"Enabled\",\n \"customer_master_key_spec\": \"SYMMETRIC_DEFAULT\",\n \"enabled\": true,\n \"arn\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_manager\": \"AWS\"\n },\n \"metadata\": {},\n \"reference\": {\n \"resource_id\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"external_link\": \"https://console.aws.amazon.com/kms/home?region=ap-northeast-1#/kms/defaultKeys/0drda5e1-c40f-45d7-a647-xxxxxxx/\"\n },\n \"tags\": {\n \"a\": \"b\"\n },\n \"region_code\": \"ap-northeast-1\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -728,29 +689,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceInfo"},"Default Example":{ - "value": "{\n \"cloud_service_id\": \"cloud-svc-c00f38a173e1\",\n \"name\": \"cloud_service_test\",\n \"state\": \"ACTIVE\",\n \"account\": \"251340636361\",\n \"cloud_service_type\": \"Key\",\n \"cloud_service_group\": \"KMS\",\n \"provider\": \"aws\",\n \"data\": {\n \"alias_arn\": null,\n \"origin\": \"AWS_KMS\",\n \"cloudwatch\": {\n \"region_name\": \"ap-northeast-1\",\n \"namespace\": \"AWS/KMS\",\n \"dimensions\": [\n {\n \"Value\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"Name\": \"KeyId\"\n }\n ]\n },\n \"aws_account_id\": \"251340636361\",\n \"creation_date\": \"2020-07-09T09:39:03.097000+0000\",\n \"encryption_algorithms\": [\n \"SYMMETRIC_DEFAULT\"\n ],\n \"key_usage\": \"ENCRYPT_DECRYPT\",\n \"key_id\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_type_path\": \"defaultKeys\",\n \"key_rotated\": false,\n \"description\": \"Default master key that protects my Secrets Manager data when no other key is defined\",\n \"key_state\": \"Enabled\",\n \"customer_master_key_spec\": \"SYMMETRIC_DEFAULT\",\n \"enabled\": true,\n \"arn\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_manager\": \"AWS\"\n },\n \"metadata\": {\n \"manual\": {}\n },\n \"reference\": {\n \"resource_id\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"external_link\": \"https://console.aws.amazon.com/kms/home?region=ap-northeast-1#/kms/defaultKeys/0drda5e1-c40f-45d7-a647-xxxxxxx/\"\n },\n \"tags\": {\n \"a\": \"b\"\n },\n \"collection_info\": {\n \"service_account_id\": \"sa-abcd1234\",\n \"secret_id\": \"secret-abcd1234\",\n \"collector_id\": \"collector-abcd1234\",\n \"last_collected_at\": \"2022-06-22T06:38:48.989Z\"\n },\n \"ip_addresses\": [],\n \"region_code\": \"ap-northeast-1\",\n \"workspace_id\": \"workspace-58010aa2e451\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T06:38:48.989Z\",\n \"updated_at\": \"2022-06-22T06:38:48.989Z\",\n \"launched_at\": \"2020-08-03T15:00:54.000Z\"\n}" - }} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service/update": { + },"/inventory/cloud-service-stats/stat": { "post": { - "tags": ["inventory > cloud-service"], - "summary": "Update", + "tags": ["inventory > cloud-service-stats"], + "summary": "Stat", "operationId" : "", - "description": "### Description \nUpdates a specific CloudService. You can make changes in CloudService settings, except for the classification system of CloudService and the information about the `resource` attribute value.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cloud_service_id||string|True|\n |name||string||\n |account||string||\n |instance_type||string||\n |instance_size||float||\n |ip_addresses||array||\n |data||Struct||\n |metadata||Struct||\n |reference||CloudServiceReference||\n |tags||Struct||\n |region_code||string||\n |project_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |query_set_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID" },"name" : {"type": "string","title": "NAME" },"account" : {"type": "string","title": "ACCOUNT" },"instance_type" : {"type": "string","title": "INSTANCE_TYPE" },"instance_size" : {"type": "float","title": "INSTANCE_SIZE" },"ip_addresses" : {"items": {}, "type": "array","title": "IP_ADDRESSES" },"data" : {"type": "object","title": "DATA" },"metadata" : {"type": "object","title": "METADATA" },"reference" : {"$ref": "#/components/schemas/CloudServiceReference","title": "REFERENCE" },"tags" : {"type": "object","title": "TAGS" },"region_code" : {"type": "string","title": "REGION_CODE" },"project_id" : {"type": "string","title": "PROJECT_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"query_set_id" : {"type": "string","title": "QUERY_SET_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"cloud_service_id\": \"cloud-svc-c00f38a173e1\",\n \"name\": \"cloud_service_test2\",\n \"ip_addresses\": [\n \"1.1.1.1\",\n \"2.2.2.2\"\n ],\n \"tags\": {\n \"description\": \"spaceone\"\n },\n \"region_code\": \"ap-northeast-2\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -759,29 +718,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceInfo"},"Default Example":{ - "value": "{\n \"cloud_service_id\": \"cloud-svc-c00f38a173e1\",\n \"name\": \"cloud_service_test\",\n \"state\": \"ACTIVE\",\n \"account\": \"251340636361\",\n \"cloud_service_type\": \"Key\",\n \"cloud_service_group\": \"KMS\",\n \"provider\": \"aws\",\n \"data\": {\n \"alias_arn\": null,\n \"origin\": \"AWS_KMS\",\n \"cloudwatch\": {\n \"region_name\": \"ap-northeast-1\",\n \"namespace\": \"AWS/KMS\",\n \"dimensions\": [\n {\n \"Value\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"Name\": \"KeyId\"\n }\n ]\n },\n \"aws_account_id\": \"251340636361\",\n \"creation_date\": \"2020-07-09T09:39:03.097000+0000\",\n \"encryption_algorithms\": [\n \"SYMMETRIC_DEFAULT\"\n ],\n \"key_usage\": \"ENCRYPT_DECRYPT\",\n \"key_id\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_type_path\": \"defaultKeys\",\n \"key_rotated\": false,\n \"description\": \"Default master key that protects my Secrets Manager data when no other key is defined\",\n \"key_state\": \"Enabled\",\n \"customer_master_key_spec\": \"SYMMETRIC_DEFAULT\",\n \"enabled\": true,\n \"arn\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_manager\": \"AWS\"\n },\n \"metadata\": {\n \"manual\": {}\n },\n \"reference\": {\n \"resource_id\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"external_link\": \"https://console.aws.amazon.com/kms/home?region=ap-northeast-1#/kms/defaultKeys/0drda5e1-c40f-45d7-a647-xxxxxxx/\"\n },\n \"tags\": {\n \"a\": \"b\"\n },\n \"collection_info\": {\n \"service_account_id\": \"sa-abcd1234\",\n \"secret_id\": \"secret-abcd1234\",\n \"collector_id\": \"collector-abcd1234\",\n \"last_collected_at\": \"2022-06-22T06:38:48.989Z\"\n },\n \"ip_addresses\": [],\n \"region_code\": \"ap-northeast-1\",\n \"workspace_id\": \"workspace-58010aa2e451\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T06:38:48.989Z\",\n \"updated_at\": \"2022-06-22T06:38:48.989Z\",\n \"launched_at\": \"2020-08-03T15:00:54.000Z\"\n}" - }} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service/delete": { + },"/inventory/job/delete": { "post": { - "tags": ["inventory > cloud-service"], + "tags": ["inventory > job"], "summary": "Delete", "operationId" : "", - "description": "### Description \nDeletes a specific CloudService. You must specify the `cloud_service_id` of the CloudService to delete.", + "description": "### Description \nDeletes a specific Job. You must specify the `job_id` of the Job to delete.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cloud_service_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID" } } + "properties": {"job_id" : {"type": "string","title": "JOB_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"cloud_service_id\": \"cloud-svc-fea2b0d32141\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"job_id\": \"job-123456789012\",\n}"},"Schema":{} } } },"required": true @@ -791,20 +748,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service/get": { + },"/inventory/job/get": { "post": { - "tags": ["inventory > cloud-service"], + "tags": ["inventory > job"], "summary": "Get", "operationId" : "", - "description": "### Description \nGets a specific CloudService. Prints detailed information about the CloudService, including its state, classification information, and attribute values.", + "description": "### Description \nGets a specific Job. Prints detailed information about the Job, including its state, total tasks, and collector info.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cloud_service_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID" } } + "properties": {"job_id" : {"type": "string","title": "JOB_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"cloud_service_id\": \"cloud-svc-fea2b0d32141\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"job_id\": \"job-123456789012\",\n}"},"Schema":{} } } },"required": true @@ -813,29 +770,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceInfo"}, + "schema": {"$ref": "#/components/schemas/JobInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceInfo"},"Default Example":{ - "value": "{\n \"cloud_service_id\": \"cloud-svc-c00f38a173e1\",\n \"name\": \"cloud_service_test\",\n \"state\": \"ACTIVE\",\n \"account\": \"251340636361\",\n \"cloud_service_type\": \"Key\",\n \"cloud_service_group\": \"KMS\",\n \"provider\": \"aws\",\n \"data\": {\n \"alias_arn\": null,\n \"origin\": \"AWS_KMS\",\n \"cloudwatch\": {\n \"region_name\": \"ap-northeast-1\",\n \"namespace\": \"AWS/KMS\",\n \"dimensions\": [\n {\n \"Value\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"Name\": \"KeyId\"\n }\n ]\n },\n \"aws_account_id\": \"251340636361\",\n \"creation_date\": \"2020-07-09T09:39:03.097000+0000\",\n \"encryption_algorithms\": [\n \"SYMMETRIC_DEFAULT\"\n ],\n \"key_usage\": \"ENCRYPT_DECRYPT\",\n \"key_id\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_type_path\": \"defaultKeys\",\n \"key_rotated\": false,\n \"description\": \"Default master key that protects my Secrets Manager data when no other key is defined\",\n \"key_state\": \"Enabled\",\n \"customer_master_key_spec\": \"SYMMETRIC_DEFAULT\",\n \"enabled\": true,\n \"arn\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_manager\": \"AWS\"\n },\n \"metadata\": {\n \"manual\": {}\n },\n \"reference\": {\n \"resource_id\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"external_link\": \"https://console.aws.amazon.com/kms/home?region=ap-northeast-1#/kms/defaultKeys/0drda5e1-c40f-45d7-a647-xxxxxxx/\"\n },\n \"tags\": {\n \"a\": \"b\"\n },\n \"collection_info\": {\n \"service_account_id\": \"sa-abcd1234\",\n \"secret_id\": \"secret-abcd1234\",\n \"collector_id\": \"collector-abcd1234\",\n \"last_collected_at\": \"2022-06-22T06:38:48.989Z\"\n },\n \"ip_addresses\": [],\n \"region_code\": \"ap-northeast-1\",\n \"workspace_id\": \"workspace-58010aa2e451\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T06:38:48.989Z\",\n \"updated_at\": \"2022-06-22T06:38:48.989Z\",\n \"launched_at\": \"2020-08-03T15:00:54.000Z\"\n}" + "Schema": {"$ref": "#/components/schemas/JobInfo"},"Default Example":{ + "value": "{\n \"job_id\": \"job-123456789012\",\n \"status\": \"ERROR\",\n \"filter\": {},\n \"total_tasks\": 2,\n \"collector_info\": {\n \"collector_id\": \"collector-123456789012\",\n \"name\": \"Jenkins Collector\",\n \"state\": \"ENABLED\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-jenkins-inven-collector\",\n \"version\": \"0.1.1\"\n },\n \"provider\": \"jenkins\",\n \"capability\": {},\n \"is_public\": true\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T10:00:01.389Z\",\n \"updated_at\": \"2022-01-01T10:00:01.389Z\",\n \"finished_at\": \"2022-01-01T10:02:11.270Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service/list": { + },"/inventory/job/list": { "post": { - "tags": ["inventory > cloud-service"], + "tags": ["inventory > job"], "summary": "List", "operationId" : "", - "description": "### Description \nGets a list of all CloudServices. You can use a query to get a filtered list of CloudServices.", + "description": "### Description \nGets a list of all Jobs. You can use a query to get a filtered list of Jobs.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |cloud_service_id||string||\n |name||string||\n |state||string||\n |ip_address||string||\n |account||string||\n |instance_type||string||\n |cloud_service_type||string||\n |cloud_service_group||string||\n |provider||string||\n |region_code||string||\n |workspace_id||string||\n |project_id||string||\n |project_group_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |job_id||string||\n |status|CANCELED, IN_PROGRESS, SUCCESS, FAILURE, TIMEOUT |string||\n |workspace_id||string||\n |collector_id||string||\n |plugin_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"ip_address" : {"type": "string","title": "IP_ADDRESS" },"account" : {"type": "string","title": "ACCOUNT" },"instance_type" : {"type": "string","title": "INSTANCE_TYPE" },"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE" },"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP" },"provider" : {"type": "string","title": "PROVIDER" },"region_code" : {"type": "string","title": "REGION_CODE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"job_id" : {"type": "string","title": "JOB_ID" },"status" : {"type": "string","title": "STATUS" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"collector_id" : {"type": "string","title": "COLLECTOR_ID" },"plugin_id" : {"type": "string","title": "PLUGIN_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": {\n \"filter\": [\n {\n \"key\": \"cloud_service_type\",\n \"value\": \"Key\",\n \"operator\": \"eq\"\n }\n ]\n }\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} } } },"required": true @@ -844,47 +801,18 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServicesInfo"}, + "schema": {"$ref": "#/components/schemas/JobsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServicesInfo"},"Default Example":{ - "value": "{\n \"results\": [{\n \"cloud_service_id\": \"cloud-svc-c00f38a173e1\",\n \"name\": \"cloud_service_test2\",\n \"state\": \"ACTIVE\",\n \"account\": \"251340636361\",\n \"cloud_service_type\": \"Key\",\n \"cloud_service_group\": \"KMS\",\n \"provider\": \"aws\",\n \"data\": {\n \"alias_arn\": null,\n \"origin\": \"AWS_KMS\",\n \"cloudwatch\": {\n \"region_name\": \"ap-northeast-1\",\n \"namespace\": \"AWS/KMS\",\n \"dimensions\": [\n {\n \"Value\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"Name\": \"KeyId\"\n }\n ]\n },\n \"aws_account_id\": \"251340636361\",\n \"creation_date\": \"2020-07-09T09:39:03.097000+0000\",\n \"encryption_algorithms\": [\n \"SYMMETRIC_DEFAULT\"\n ],\n \"key_usage\": \"ENCRYPT_DECRYPT\",\n \"key_id\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_type_path\": \"defaultKeys\",\n \"key_rotated\": false,\n \"description\": \"Default master key that protects my Secrets Manager data when no other key is defined\",\n \"key_state\": \"Enabled\",\n \"customer_master_key_spec\": \"SYMMETRIC_DEFAULT\",\n \"enabled\": true,\n \"arn\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_manager\": \"AWS\"\n },\n \"metadata\": {\n \"manual\": {}\n },\n \"reference\": {\n \"resource_id\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"external_link\": \"https://console.aws.amazon.com/kms/home?region=ap-northeast-1#/kms/defaultKeys/0drda5e1-c40f-45d7-a647-xxxxxxx/\"\n },\n \"tags\": {\n \"description\": \"spaceone\"\n },\n \"collection_info\": {\n \"service_account_id\": \"sa-abcd1234\",\n \"secret_id\": \"secret-abcd1234\",\n \"collector_id\": \"collector-abcd1234\",\n \"last_collected_at\": \"2022-06-22T06:38:48.989Z\"\n },\n \"ip_addresses\": [\n \"1.1.1.1\",\n \"2.2.2.2\"\n ],\n \"region_code\": \"ap-northeast-1\",\n \"workspace_id\": \"workspace-58010aa2e451\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T06:38:48.989Z\",\n \"updated_at\": \"2022-06-22T06:38:48.989Z\",\n \"launched_at\": \"2020-08-03T15:00:54.000Z\"\n }],\n \"total_count\": 1\n}" + "Schema": {"$ref": "#/components/schemas/JobsInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"job_id\": \"job-3b124006c2d2\",\n \"status\": \"SUCCESS\",\n \"filter\": {},\n \"total_tasks\": 2,\n \"collector_info\": {\n \"collector_id\": \"collector-accd02663b3d\",\n \"name\": \"openstack-collector\",\n \"state\": \"ENABLED\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-openstack-inven-collector\",\n \"version\": \"0.4.2.20220616.134758\"\n },\n \"provider\": \"openstack\",\n \"capability\": {\n \"supported_schema\": [\n \"openstack_credentials\"\n ]\n },\n \"is_public\": true\n },\n \"resource_group\": \"DOMAIN\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-17T08:00:01.225Z\",\n \"updated_at\": \"2022-06-17T08:00:01.225Z\",\n \"finished_at\": \"2022-06-17T08:00:15.197Z\"\n },\n {\n \"job_id\": \"job-587a3d3b4db3\",\n \"status\": \"SUCCESS\",\n \"filter\": {},\n \"total_tasks\": 3,\n \"collector_info\": {\n \"collector_id\": \"collector-2c0847644f39\",\n \"name\": \"AWS stat-kwon Collector\",\n \"state\": \"ENABLED\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.13.13.20220610.143142\"\n },\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\"\n ]\n },\n \"is_public\": true\n },\n \"resource_group\": \"DOMAIN\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-17T08:00:00.407Z\",\n \"updated_at\": \"2022-06-17T08:00:00.407Z\",\n \"finished_at\": \"2022-06-17T08:07:32.023Z\"\n }\n ],\n \"total_count\": 2\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service/export": { - "post": { - "tags": ["inventory > cloud-service"], - "summary": "Export", - "operationId" : "", - "description": "### Description \n", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |options||array|True|\n |file_format|EXCEL, CSV |string||\n |file_name||string||\n |timezone||string||\n
", - "content": { - "application/json": { - "schema": { - "properties": {"options" : {"items": {"$ref": "#/components/schemas/ExportOption"}, "type": "array","title": "OPTIONS" },"file_format" : {"type": "string","title": "FILE_FORMAT" },"file_name" : {"type": "string","title": "FILE_NAME" },"timezone" : {"type": "string","title": "TIMEZONE" } } - }, - "examples":{"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"type": "object"}, - "examples": { - "Schema": {"type": "object"}} - } - }} - } - ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service/analyze": { + },"/inventory/job/analyze": { "post": { - "tags": ["inventory > cloud-service"], + "tags": ["inventory > job"], "summary": "Analyze", "operationId" : "", "description": "### Description \n", @@ -911,9 +839,9 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service/stat": { + },"/inventory/job/stat": { "post": { - "tags": ["inventory > cloud-service"], + "tags": ["inventory > job"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -940,20 +868,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/metric-example/create": { + },"/inventory/change-history/list": { "post": { - "tags": ["inventory > metric-example"], - "summary": "Create", + "tags": ["inventory > change-history"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |metric_id||string|True|\n |name||string|True|\n |options||Struct|True|\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cloud_service_id||string|True|\n |query||Query||\n |action|CREATE, UPDATE, DELETE |string||\n |user_id||string||\n |collector_id||string||\n |job_id||string||\n |updated_by||string||\n
", "content": { "application/json": { "schema": { - "properties": {"metric_id" : {"type": "string","title": "METRIC_ID" },"name" : {"type": "string","title": "NAME" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID" },"action" : {"type": "string","title": "ACTION" },"user_id" : {"type": "string","title": "USER_ID" },"collector_id" : {"type": "string","title": "COLLECTOR_ID" },"job_id" : {"type": "string","title": "JOB_ID" },"updated_by" : {"type": "string","title": "UPDATED_BY" } } }, - "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -962,29 +890,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/MetricExampleInfo"}, + "schema": {"$ref": "#/components/schemas/ChangeHistoryInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/MetricExampleInfo"},"Default Example":{ - "value": "{\n\n}" - }} + "Schema": {"$ref": "#/components/schemas/ChangeHistoryInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/metric-example/update": { + },"/inventory/change-history/stat": { "post": { - "tags": ["inventory > metric-example"], - "summary": "Update", + "tags": ["inventory > change-history"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |example_id||string|True|\n |name||string||\n |options||Struct||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |cloud_service_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"example_id" : {"type": "string","title": "EXAMPLE_ID" },"name" : {"type": "string","title": "NAME" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID" } } }, - "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -993,29 +919,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/MetricExampleInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/MetricExampleInfo"},"Default Example":{ - "value": "{\n\n}" - }} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/metric-example/delete": { + },"/inventory/job-task/delete": { "post": { - "tags": ["inventory > metric-example"], + "tags": ["inventory > job-task"], "summary": "Delete", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nDeletes a specific JobTask. You must specify the `job_task_id` of the JobTask to delete.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |example_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_task_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"example_id" : {"type": "string","title": "EXAMPLE_ID" } } + "properties": {"job_task_id" : {"type": "string","title": "JOB_TASK_ID" } } }, - "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"job_task_id\": \"job-task-123456789012\",\n}"},"Schema":{} } } },"required": true @@ -1025,20 +949,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/metric-example/get": { + },"/inventory/job-task/get": { "post": { - "tags": ["inventory > metric-example"], + "tags": ["inventory > job-task"], "summary": "Get", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nGets a specific JobTask. Prints detailed information about the JobTask, including its state, updated or failure counts, and error log.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |example_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_task_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"example_id" : {"type": "string","title": "EXAMPLE_ID" } } + "properties": {"job_task_id" : {"type": "string","title": "JOB_TASK_ID" } } }, - "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"job_task_id\": \"job-task-123456789012\",\n}"},"Schema":{} } } },"required": true @@ -1047,29 +971,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/MetricExampleInfo"}, + "schema": {"$ref": "#/components/schemas/JobTaskInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/MetricExampleInfo"},"Default Example":{ - "value": "{\n\n}" + "Schema": {"$ref": "#/components/schemas/JobTaskInfo"},"Default Example":{ + "value": "{\n \"job_task_id\": \"job-task-123456789012\",\n \"status\": \"FAILURE\",\n \"updated_count\": 199,\n \"failure_count\": 1,\n \"errors\": [\n {\n \"error_code\": \"ERROR_PLUGIN\",\n \"message\": \"{\\\"tags\\\": [\\\"Could not interpret the value as a list\\\"]}\",\n \"additional\": {\n \"domain_id\": \"domain-123456789012\",\n \"resource_id\": \"eventarc-us-central1-function\",\n \"resource_type\": \"inventory.CloudService\",\n \"cloud_service_group\": \"Pub/Sub\",\n \"cloud_service_type\": \"Subscription\",\n \"provider\": \"google_cloud\"\n }\n }\n ],\n \"job_id\": \"job-123456789012\",\n \"secret_id\": \"secret-123456789012\",\n \"provider\": \"google_cloud\",\n \"service_account_id\": \"sa-123456789012\",\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T11:00:02.588Z\",\n \"started_at\": \"2022-01-01T11:00:02.819Z\",\n \"finished_at\": \"2022-01-01T11:00:34.398Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/metric-example/list": { + },"/inventory/job-task/list": { "post": { - "tags": ["inventory > metric-example"], + "tags": ["inventory > job-task"], "summary": "List", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nGets a list of all JobTasks in a specific Job. You can use a query to get a filtered list of JobTasks.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |example_id||string||\n |name||string||\n |metric_id||string||\n |namespace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |job_task_id||string||\n |status|PENDING, CANCELED, IN_PROGRESS, SUCCESS, FAILURE |string||\n |provider||string||\n |workspace_id||string||\n |project_id||string||\n |service_account_id||string||\n |job_id||string||\n |secret_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"example_id" : {"type": "string","title": "EXAMPLE_ID" },"name" : {"type": "string","title": "NAME" },"metric_id" : {"type": "string","title": "METRIC_ID" },"namespace_id" : {"type": "string","title": "NAMESPACE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"job_task_id" : {"type": "string","title": "JOB_TASK_ID" },"status" : {"type": "string","title": "STATUS" },"provider" : {"type": "string","title": "PROVIDER" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" },"job_id" : {"type": "string","title": "JOB_ID" },"secret_id" : {"type": "string","title": "SECRET_ID" } } }, - "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} } } },"required": true @@ -1078,16 +1002,18 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/MetricExamplesInfo"}, + "schema": {"$ref": "#/components/schemas/JobTasksInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/MetricExamplesInfo"}} + "Schema": {"$ref": "#/components/schemas/JobTasksInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"job_task_id\": \"job_task-69b301d0fbfc\",\n \"status\": \"SUCCESS\",\n \"updated_count\": 55,\n \"job_id\": \"job-587a3d3b4db3\",\n \"secret_id\": \"secret-957e407bfc15\",\n \"provider\": \"aws\",\n \"service_account_id\": \"sa-a41ff4765671\",\n \"project_id\": \"project-77dffd3f7cd3\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-17T08:00:00.680Z\",\n \"started_at\": \"2022-06-17T08:00:00.914Z\",\n \"finished_at\": \"2022-06-17T08:05:48.933Z\"\n },\n {\n \"job_task_id\": \"job_task-c5077338cf23\",\n \"status\": \"SUCCESS\",\n \"updated_count\": 1921,\n \"job_id\": \"job-587a3d3b4db3\",\n \"secret_id\": \"secret-1cd7417c1889\",\n \"provider\": \"aws\",\n \"service_account_id\": \"sa-5e186fcc7c91\",\n \"project_id\": \"project-18655561c535\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-17T08:00:00.582Z\",\n \"started_at\": \"2022-06-17T08:00:00.814Z\",\n \"finished_at\": \"2022-06-17T08:07:31.995Z\"\n }\n ],\n \"total_count\": 4839\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/metric-example/stat": { + },"/inventory/job-task/stat": { "post": { - "tags": ["inventory > metric-example"], + "tags": ["inventory > job-task"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -1114,20 +1040,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-stats/list": { + },"/inventory/region/create": { "post": { - "tags": ["inventory > cloud-service-stats"], - "summary": "List", + "tags": ["inventory > region"], + "summary": "Create", "operationId" : "", - "description": "### Description \nGets a list of raw statistics data.\nYou can use a query to get a filtered list of statistics data.", + "description": "### Description \nCreates a new Region. As the parameter `region_key`, which is automatically created when a Region is created, is in a form of `{provider}.{region_code}`, it is unique regardless of providers. You can also specify the latitude, longitude, and continent information in `tags`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query_set_id||string|True|\n |query||Query||\n |provider||string||\n |cloud_service_group||string||\n |cloud_service_type||string||\n |region_code||string||\n |account||string||\n |workspace_id||string||\n |project_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |region_code||string|True|\n |provider||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"query_set_id" : {"type": "string","title": "QUERY_SET_ID" },"provider" : {"type": "string","title": "PROVIDER" },"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP" },"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE" },"region_code" : {"type": "string","title": "REGION_CODE" },"account" : {"type": "string","title": "ACCOUNT" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" } } + "properties": {"name" : {"type": "string","title": "NAME" },"region_code" : {"type": "string","title": "REGION_CODE" },"provider" : {"type": "string","title": "PROVIDER" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": \u003cSearchQuery\u003e,\n \"query_set_id\": \"query-set-abcd1234\",\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"region_code\": \"us-east-1\",\n \"account\": \"aws-account-id\",\n \"project_id\": \"project-abcd1234\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"name\": \"Asia Pacific (Seoul)\",\n \"region_code\": \"ap-northeast-2\",\n \"provider\": \"aws\",\n \"tags\": {\n \"continent\": \"asis_pacific\",\n \"longitude\": \"73.013805\",\n \"latitude\": \"19.147428\"\n }\n}"},"Schema":{} } } },"required": true @@ -1136,29 +1062,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceStatsInfo"}, + "schema": {"$ref": "#/components/schemas/RegionInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceStatsInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"query_set_id\": \"query-set-abcd1234\",\n \"key\": \"Disk Size\",\n \"data\": {\n \"Disk Size\": 1040,\n \"Memory Size\": 1024,\n \"CPU\": 2\n },\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"region_code\": \"us-east-1\",\n \"account\": \"aws-account-id\",\n \"additional_info\": {\n \"instance_type\": \"t2.micro\"\n },\n \"project_id\": \"project-abcd1234\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_date\": \"2022-06-22\"\n },\n {...}\n ],\n \"total_count\": 2\n}" + "Schema": {"$ref": "#/components/schemas/RegionInfo"},"Default Example":{ + "value": "{\n \"region_id\": \"region-e41deed3c939\",\n \"name\": \"Asia Pacific (Seoul)\",\n \"region_key\": \"aws.ap-northeast-2\",\n \"region_code\": \"ap-northeast-2\",\n \"provider\": \"aws\",\n \"tags\": {\n \"continent\": \"asia_pacific\",\n \"longitude\": \"73.013805\",\n \"latitude\": \"19.147428\"\n },\n \"domain_id\": \"domain-x1b3c34v432\",\n \"workspace_id\": \"workspace-123456789012\",\n \"created_at\": \"2021-11-18T13:07:31.382Z\",\n \"updated_at\": \"2022-06-17T00:07:35.469Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-stats/analyze": { + },"/inventory/region/update": { "post": { - "tags": ["inventory > cloud-service-stats"], - "summary": "Analyze", + "tags": ["inventory > region"], + "summary": "Update", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nUpdates a specific Region. You can make changes in Region settings, including `name` and `tags`. The `tags` contain the continent, latitude, and longitude.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||TimeSeriesAnalyzeQuery|True|\n |query_set_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |region_id||string|True|\n |name||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY" },"query_set_id" : {"type": "string","title": "QUERY_SET_ID" } } + "properties": {"region_id" : {"type": "string","title": "REGION_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"region_id\": \"region-e41deed3c939\",\n \"name\": \"Region home\",\n \"tags\": {\n \"latitude\": \"6.34545\",\n \"continent\": \"asia_pacific\",\n \"longitude\": \"5.6433213\"\n }\n}"},"Schema":{} } } },"required": true @@ -1167,56 +1093,52 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/RegionInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/RegionInfo"},"Default Example":{ + "value": "{\n \"region_id\": \"region-e41deed3c939\",\n \"name\": \"Asia Pacific (Seoul)\",\n \"region_key\": \"aws.ap-northeast-2\",\n \"region_code\": \"ap-northeast-2\",\n \"provider\": \"aws\",\n \"tags\": {\n \"continent\": \"asia_pacific\",\n \"longitude\": \"73.013805\",\n \"latitude\": \"19.147428\"\n },\n \"domain_id\": \"domain-x1b3c34v432\",\n \"workspace_id\": \"workspace-123456789012\",\n \"created_at\": \"2021-11-18T13:07:31.382Z\",\n \"updated_at\": \"2022-06-17T00:07:35.469Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-stats/stat": { + },"/inventory/region/delete": { "post": { - "tags": ["inventory > cloud-service-stats"], - "summary": "Stat", + "tags": ["inventory > region"], + "summary": "Delete", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nDeletes a specific Region. You must specify the `region_id` of the Region to delete.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |query_set_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |region_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"query_set_id" : {"type": "string","title": "QUERY_SET_ID" } } + "properties": {"region_id" : {"type": "string","title": "REGION_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"region_id\": \"region-e41deed3c939\"\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"type": "object"}, - "examples": { - "Schema": {"type": "object"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/metric/create": { + },"/inventory/region/get": { "post": { - "tags": ["inventory > metric"], - "summary": "Create", + "tags": ["inventory > region"], + "summary": "Get", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nGets a specific Region. Prints detailed information about the Region, including `name`, `region_code`, and a location coordinate.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |metric_type|COUNTER, GAUGE |string|True|\n |query_options||AnalyzeQuery|True|\n |namespace_id||string|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |metric_id||string||\n |resource_type||string||\n |date_field||string||\n |unit||string||\n |tags||Struct||\n |workspace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |region_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"metric_id" : {"type": "string","title": "METRIC_ID" },"name" : {"type": "string","title": "NAME" },"metric_type" : {"type": "string","title": "METRIC_TYPE" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"query_options" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY_OPTIONS" },"date_field" : {"type": "string","title": "DATE_FIELD" },"unit" : {"type": "string","title": "UNIT" },"tags" : {"type": "object","title": "TAGS" },"namespace_id" : {"type": "string","title": "NAMESPACE_ID" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"region_id" : {"type": "string","title": "REGION_ID" } } }, - "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"region_id\": \"region-e41deed3c939\"\n}"},"Schema":{} } } },"required": true @@ -1225,29 +1147,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/MetricInfo"}, + "schema": {"$ref": "#/components/schemas/RegionInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/MetricInfo"},"Default Example":{ - "value": "{\n\n}" + "Schema": {"$ref": "#/components/schemas/RegionInfo"},"Default Example":{ + "value": "{\n \"region_id\": \"region-e41deed3c939\",\n \"name\": \"Asia Pacific (Seoul)\",\n \"region_key\": \"aws.ap-northeast-2\",\n \"region_code\": \"ap-northeast-2\",\n \"provider\": \"aws\",\n \"tags\": {\n \"continent\": \"asia_pacific\",\n \"longitude\": \"73.013805\",\n \"latitude\": \"19.147428\"\n },\n \"domain_id\": \"domain-x1b3c34v432\",\n \"workspace_id\": \"workspace-123456789012\",\n \"created_at\": \"2021-11-18T13:07:31.382Z\",\n \"updated_at\": \"2022-06-17T00:07:35.469Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/metric/update": { + },"/inventory/region/list": { "post": { - "tags": ["inventory > metric"], - "summary": "Update", + "tags": ["inventory > region"], + "summary": "List", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nGets a list of all Regions. You can use a query to get a filtered list of Regions.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |metric_id||string|True|\n |name||string||\n |query_options||AnalyzeQuery||\n |date_field||string||\n |unit||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |region_id||string||\n |name||string||\n |region_key||string||\n |region_code||string||\n |provider||string||\n |workspace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"metric_id" : {"type": "string","title": "METRIC_ID" },"name" : {"type": "string","title": "NAME" },"query_options" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY_OPTIONS" },"date_field" : {"type": "string","title": "DATE_FIELD" },"unit" : {"type": "string","title": "UNIT" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"region_id" : {"type": "string","title": "REGION_ID" },"name" : {"type": "string","title": "NAME" },"region_key" : {"type": "string","title": "REGION_KEY" },"region_code" : {"type": "string","title": "REGION_CODE" },"provider" : {"type": "string","title": "PROVIDER" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, - "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query\": {\n \"filter\": [\n {\n \"key\": \"name\",\n \"value\": \"Asia Pacific\",\n \"operator\": \"contain\"\n }\n ]\n }\n}"},"Schema":{} } } },"required": true @@ -1256,50 +1178,56 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/MetricInfo"}, + "schema": {"$ref": "#/components/schemas/RegionsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/MetricInfo"},"Default Example":{ - "value": "{\n\n}" + "Schema": {"$ref": "#/components/schemas/RegionsInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"region_id\": \"region-e41deed3c939\",\n \"name\": \"Asia Pacific (Mumbai)\",\n \"region_key\": \"aws.ap-south-1\",\n \"region_code\": \"ap-south-1\",\n \"provider\": \"aws\",\n \"tags\": {\n \"continent\": \"asia_pacific\",\n \"longitude\": \"73.013805\",\n \"latitude\": \"19.147428\"\n },\n \"domain_id\": \"domain-x1b3c34v432\",\n \"workspace_id\": \"workspace-123456789012\",\n \"created_at\": \"2021-11-18T13:07:31.382Z\",\n \"updated_at\": \"2022-06-17T00:07:35.469Z\"\n },\n {\n \"region_id\": \"region-f803eb00b567\",\n \"name\": \"Asia Pacific (Seoul)\",\n \"region_key\": \"aws.ap-northeast-2\",\n \"region_code\": \"ap-northeast-2\",\n \"provider\": \"aws\",\n \"tags\": {\n \"latitude\": \"6.34545\",\n \"continent\": \"asia_pacific\",\n \"longitude\": \"5.6433213\"\n },\n \"domain_id\": \"domain-x1b3c34v432\",\n \"workspace_id\": \"workspace-123456789012\",\n \"created_at\": \"2022-03-21T09:08:31.961Z\",\n \"updated_at\": \"2022-06-17T00:07:35.749Z\"\n }\n ],\n \"total_count\": 2\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/metric/delete": { + },"/inventory/region/stat": { "post": { - "tags": ["inventory > metric"], - "summary": "Delete", + "tags": ["inventory > region"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |metric_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"metric_id" : {"type": "string","title": "METRIC_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, - "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"type": "object"}, + "examples": { + "Schema": {"type": "object"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/metric/run": { + },"/inventory/note/create": { "post": { - "tags": ["inventory > metric"], - "summary": "Run", + "tags": ["inventory > note"], + "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |metric_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |record_id||string|True|\n |note||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"metric_id" : {"type": "string","title": "METRIC_ID" } } + "properties": {"record_id" : {"type": "string","title": "RECORD_ID" },"note" : {"type": "string","title": "NOTE" } } }, "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } @@ -1308,21 +1236,29 @@ }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/NoteInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/NoteInfo"},"Default Example":{ + "value": "{\n\n}" + }} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/metric/test": { + },"/inventory/note/update": { "post": { - "tags": ["inventory > metric"], - "summary": "Test", + "tags": ["inventory > note"], + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |metric_id||string|True|\n |query_options||AnalyzeQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |note_id||string|True|\n |note||string||\n
", "content": { "application/json": { "schema": { - "properties": {"metric_id" : {"type": "string","title": "METRIC_ID" },"query_options" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY_OPTIONS" } } + "properties": {"note_id" : {"type": "string","title": "NOTE_ID" },"note" : {"type": "string","title": "NOTE" } } }, "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } @@ -1333,25 +1269,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/NoteInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/NoteInfo"},"Default Example":{ + "value": "{\n\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/metric/get": { + },"/inventory/note/delete": { "post": { - "tags": ["inventory > metric"], - "summary": "Get", + "tags": ["inventory > note"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |metric_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |note_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"metric_id" : {"type": "string","title": "METRIC_ID" } } + "properties": {"note_id" : {"type": "string","title": "NOTE_ID" } } }, "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } @@ -1360,29 +1298,21 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/MetricInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/MetricInfo"},"Default Example":{ - "value": "{\n\n}" - }} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/metric/list": { + },"/inventory/note/get": { "post": { - "tags": ["inventory > metric"], - "summary": "List", + "tags": ["inventory > note"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |metric_id||string||\n |metric_type|COUNTER, GAUGE |string||\n |resource_type||string||\n |is_managed||string||\n |workspace_id||string||\n |namespace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |note_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"metric_id" : {"type": "string","title": "METRIC_ID" },"metric_type" : {"type": "string","title": "METRIC_TYPE" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"is_managed" : {"type": "string","title": "IS_MANAGED" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"namespace_id" : {"type": "string","title": "NAMESPACE_ID" } } + "properties": {"note_id" : {"type": "string","title": "NOTE_ID" } } }, "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } @@ -1393,27 +1323,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/MetricsInfo"}, + "schema": {"$ref": "#/components/schemas/NoteInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/MetricsInfo"}} + "Schema": {"$ref": "#/components/schemas/NoteInfo"},"Default Example":{ + "value": "{\n\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/metric/stat": { + },"/inventory/note/list": { "post": { - "tags": ["inventory > metric"], - "summary": "Stat", + "tags": ["inventory > note"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |note_id||string||\n |record_id||string||\n |cloud_service_id||string||\n |created_by||string||\n |workspace_id||string||\n |project_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"note_id" : {"type": "string","title": "NOTE_ID" },"record_id" : {"type": "string","title": "RECORD_ID" },"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID" },"created_by" : {"type": "string","title": "CREATED_BY" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } } },"required": true @@ -1422,27 +1354,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/NotesInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/NotesInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/collector/create": { + },"/inventory/note/stat": { "post": { - "tags": ["inventory > collector"], - "summary": "Create", + "tags": ["inventory > note"], + "summary": "Stat", "operationId" : "", - "description": "### Description \nCreates a new Collector with information of the plugin to use. Information of the plugin includes `version`, `provider`, and `upgrade_mode`.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |plugin_info||PluginInfo|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |schedule||Scheduled||\n |provider||string||\n |secret_filter||SecretFilter||\n |tags||Struct||\n |workspace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO" },"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE" },"provider" : {"type": "string","title": "PROVIDER" },"secret_filter" : {"$ref": "#/components/schemas/SecretFilter","title": "SECRET_FILTER" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, - "examples":{"Default Example":{"value": "{\n \"name\": \"AWS Collector\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.13.13\",\n \"options\": {},\n \"metadata\": {\n \"filter_format\": [],\n \"supported_schedules\": [\n \"hours\"\n ],\n \"supported_resource_type\": [\n \"inventory.CloudService\",\n \"inventory.CloudServiceType\",\n \"inventory.Region\"\n ],\n \"supported_features\": [\n \"garbage_collection\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [0, 6, 12, 18]\n },\n \"secret_filter\": {\n \"state\": \"ENABLED\",\n \"secrets\": [\"secret-xxx\", \"secret-yyy\"],\n \"service_accounts\": [\"sa-xxx\", \"sa-yyy\"],\n \"schemas\": [\"schema-xxx\", \"schema-yyy\"]\n },\n \"tags\": {\n \"type\": \"test\"\n },\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -1451,29 +1383,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CollectorInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CollectorInfo"},"Default Example":{ - "value": "{\n \"collector_id\": \"collector-2c0847644f39\",\n \"name\": \"AWS Collector\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.13.13\",\n \"options\": {},\n \"metadata\": {\n \"supported_schedules\": [\n \"hours\"\n ],\n \"supported_resource_type\": [\n \"inventory.CloudService\",\n \"inventory.CloudServiceType\",\n \"inventory.Region\"\n ],\n \"filter_format\": [],\n \"supported_features\": [\n \"garbage_collection\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"type\": \"test\"\n },\n \"created_at\": \"2022-06-17T06:33:27.195Z\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\"\n ]\n },\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [0, 6, 12, 18]\n },\n \"secret_filter\": {\n \"state\": \"ENABLED\",\n \"secrets\": [\"secret-xxx\", \"secret-yyy\"],\n \"service_accounts\": [\"sa-xxx\", \"sa-yyy\"],\n \"schemas\": [\"schema-xxx\", \"schema-yyy\"]\n },\n \"last_collected_at\": \"2022-06-17T06:33:27.195Z\"\n}" - }} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/collector/update": { + },"/inventory/metric-example/create": { "post": { - "tags": ["inventory > collector"], - "summary": "Update", + "tags": ["inventory > metric-example"], + "summary": "Create", "operationId" : "", - "description": "### Description \nUpdates a specific Collector. You can make changes in Collector settings, including `name` and `tags`.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |collector_id||string|True|\n |name||string||\n |schedule||Scheduled||\n |secret_filter||SecretFilter||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |metric_id||string|True|\n |name||string|True|\n |options||Struct|True|\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"collector_id" : {"type": "string","title": "COLLECTOR_ID" },"name" : {"type": "string","title": "NAME" },"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE" },"secret_filter" : {"$ref": "#/components/schemas/SecretFilter","title": "SECRET_FILTER" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"metric_id" : {"type": "string","title": "METRIC_ID" },"name" : {"type": "string","title": "NAME" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"collector_id\": \"collector-2c0847644f39\",\n \"name\": \"New AWS Collector\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.14.0\",\n \"provider\": \"aws\",\n \"upgrade_mode\": \"MANUAL\"\n },\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [0, 6, 12, 18]\n },\n \"secret_filter\": {\n \"state\": \"ENABLED\",\n \"secrets\": [\"secret-xxx\", \"secret-yyy\"],\n \"service_accounts\": [\"sa-xxx\", \"sa-yyy\"],\n \"schemas\": [\"schema-xxx\", \"schema-yyy\"]\n },\n \"tags\": {\n \"a\": \"b\"\n }\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } } },"required": true @@ -1482,29 +1412,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CollectorInfo"}, + "schema": {"$ref": "#/components/schemas/MetricExampleInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CollectorInfo"},"Default Example":{ - "value": "{\n \"collector_id\": \"collector-2c0847644f39\",\n \"name\": \"AWS Collector\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.13.13\",\n \"options\": {},\n \"metadata\": {\n \"supported_schedules\": [\n \"hours\"\n ],\n \"supported_resource_type\": [\n \"inventory.CloudService\",\n \"inventory.CloudServiceType\",\n \"inventory.Region\"\n ],\n \"filter_format\": [],\n \"supported_features\": [\n \"garbage_collection\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"type\": \"test\"\n },\n \"created_at\": \"2022-06-17T06:33:27.195Z\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\"\n ]\n },\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [0, 6, 12, 18]\n },\n \"secret_filter\": {\n \"state\": \"ENABLED\",\n \"secrets\": [\"secret-xxx\", \"secret-yyy\"],\n \"service_accounts\": [\"sa-xxx\", \"sa-yyy\"],\n \"schemas\": [\"schema-xxx\", \"schema-yyy\"]\n },\n \"last_collected_at\": \"2022-06-17T06:33:27.195Z\"\n}" + "Schema": {"$ref": "#/components/schemas/MetricExampleInfo"},"Default Example":{ + "value": "{\n\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/collector/update-plugin": { + },"/inventory/metric-example/update": { "post": { - "tags": ["inventory > collector"], - "summary": "Update Plugin", + "tags": ["inventory > metric-example"], + "summary": "Update", "operationId" : "", - "description": "### Description \nUpdates the plugin of a specific Collector. This method resets the plugin data in the Collector to update the `metadata`.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |collector_id||string|True|\n |version||string||\n |options||Struct||\n |upgrade_mode|MANUAL, AUTO |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |example_id||string|True|\n |name||string||\n |options||Struct||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"collector_id" : {"type": "string","title": "COLLECTOR_ID" },"version" : {"type": "string","title": "VERSION" },"options" : {"type": "object","title": "OPTIONS" },"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE" } } + "properties": {"example_id" : {"type": "string","title": "EXAMPLE_ID" },"name" : {"type": "string","title": "NAME" },"options" : {"type": "object","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } } },"required": true @@ -1513,52 +1443,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CollectorInfo"}, + "schema": {"$ref": "#/components/schemas/MetricExampleInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CollectorInfo"},"Default Example":{ - "value": "{\n \"collector_id\": \"collector-2c0847644f39\",\n \"name\": \"AWS Collector\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.13.13\",\n \"options\": {},\n \"metadata\": {\n \"supported_schedules\": [\n \"hours\"\n ],\n \"supported_resource_type\": [\n \"inventory.CloudService\",\n \"inventory.CloudServiceType\",\n \"inventory.Region\"\n ],\n \"filter_format\": [],\n \"supported_features\": [\n \"garbage_collection\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"type\": \"test\"\n },\n \"created_at\": \"2022-06-17T06:33:27.195Z\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\"\n ]\n },\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [0, 6, 12, 18]\n },\n \"secret_filter\": {\n \"state\": \"ENABLED\",\n \"secrets\": [\"secret-xxx\", \"secret-yyy\"],\n \"service_accounts\": [\"sa-xxx\", \"sa-yyy\"],\n \"schemas\": [\"schema-xxx\", \"schema-yyy\"]\n },\n \"last_collected_at\": \"2022-06-17T06:33:27.195Z\"\n}" + "Schema": {"$ref": "#/components/schemas/MetricExampleInfo"},"Default Example":{ + "value": "{\n\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/collector/verify-plugin": { - "post": { - "tags": ["inventory > collector"], - "summary": "Verify Plugin", - "operationId" : "", - "description": "### Description \nVerifies the plugin of a specific Collector. This method validates the plugin data, `version` and `endpoint`.", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |collector_id||string|True|\n |secret_id||string||\n
", - "content": { - "application/json": { - "schema": { - "properties": {"collector_id" : {"type": "string","title": "COLLECTOR_ID" },"secret_id" : {"type": "string","title": "SECRET_ID" } } - }, - "examples":{"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response"} - } - ,"security": [{"HTTPBearer": []}] } - },"/inventory/collector/delete": { + },"/inventory/metric-example/delete": { "post": { - "tags": ["inventory > collector"], + "tags": ["inventory > metric-example"], "summary": "Delete", "operationId" : "", - "description": "### Description \nDeletes a specific Collector. You must specify the `collector_id` of the Collector to delete.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |collector_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |example_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"collector_id" : {"type": "string","title": "COLLECTOR_ID" } } + "properties": {"example_id" : {"type": "string","title": "EXAMPLE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"collector_id\": \"collector-f2e4e9cc7f21\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } } },"required": true @@ -1568,20 +1475,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/collector/get": { + },"/inventory/metric-example/get": { "post": { - "tags": ["inventory > collector"], + "tags": ["inventory > metric-example"], "summary": "Get", "operationId" : "", - "description": "### Description \nGets a specific Collector. Prints detailed information about the Collector, including its state, basic information, and the plugin information used for cloud resource collection.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |collector_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |example_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"collector_id" : {"type": "string","title": "COLLECTOR_ID" } } + "properties": {"example_id" : {"type": "string","title": "EXAMPLE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"collector_id\": \"collector-f2e4e9cc7f21\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } } },"required": true @@ -1590,29 +1497,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CollectorInfo"}, + "schema": {"$ref": "#/components/schemas/MetricExampleInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CollectorInfo"},"Default Example":{ - "value": "{\n \"collector_id\": \"collector-2c0847644f39\",\n \"name\": \"AWS Collector\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.13.13\",\n \"options\": {},\n \"metadata\": {\n \"supported_schedules\": [\n \"hours\"\n ],\n \"supported_resource_type\": [\n \"inventory.CloudService\",\n \"inventory.CloudServiceType\",\n \"inventory.Region\"\n ],\n \"filter_format\": [],\n \"supported_features\": [\n \"garbage_collection\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"type\": \"test\"\n },\n \"created_at\": \"2022-06-17T06:33:27.195Z\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\"\n ]\n },\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [0, 6, 12, 18]\n },\n \"secret_filter\": {\n \"state\": \"ENABLED\",\n \"secrets\": [\"secret-xxx\", \"secret-yyy\"],\n \"service_accounts\": [\"sa-xxx\", \"sa-yyy\"],\n \"schemas\": [\"schema-xxx\", \"schema-yyy\"]\n },\n \"last_collected_at\": \"2022-06-17T06:33:27.195Z\"\n}" + "Schema": {"$ref": "#/components/schemas/MetricExampleInfo"},"Default Example":{ + "value": "{\n\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/collector/list": { + },"/inventory/metric-example/list": { "post": { - "tags": ["inventory > collector"], + "tags": ["inventory > metric-example"], "summary": "List", "operationId" : "", - "description": "### Description \nGets a list of all Collectors. You can use a query to get a filtered list of Collectors.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query|True|\n |collector_id||string|True|\n |name||string|True|\n |secret_filter_state|ENABLED, DISABLED |string|True|\n |schedule_state|ENABLED, DISABLED |string|True|\n |workspace_id||string|True|\n |plugin_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |example_id||string||\n |name||string||\n |metric_id||string||\n |namespace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"collector_id" : {"type": "string","title": "COLLECTOR_ID" },"name" : {"type": "string","title": "NAME" },"secret_filter_state" : {"type": "string","title": "SECRET_FILTER_STATE" },"schedule_state" : {"type": "string","title": "SCHEDULE_STATE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"plugin_id" : {"type": "string","title": "PLUGIN_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"example_id" : {"type": "string","title": "EXAMPLE_ID" },"name" : {"type": "string","title": "NAME" },"metric_id" : {"type": "string","title": "METRIC_ID" },"namespace_id" : {"type": "string","title": "NAMESPACE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } } },"required": true @@ -1621,18 +1528,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CollectorsInfo"}, + "schema": {"$ref": "#/components/schemas/MetricExamplesInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CollectorsInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"collector_id\": \"collector-2c0847644f39\",\n \"name\": \"AWS Collector\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.13.13\",\n \"options\": {},\n \"metadata\": {\n \"supported_schedules\": [\n \"hours\"\n ],\n \"supported_resource_type\": [\n \"inventory.CloudService\",\n \"inventory.CloudServiceType\",\n \"inventory.Region\"\n ],\n \"filter_format\": [],\n \"supported_features\": [\n \"garbage_collection\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"type\": \"test\"\n },\n \"created_at\": \"2022-06-17T06:33:27.195Z\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\"\n ]\n },\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [0, 6, 12, 18]\n },\n \"secret_filter\": {\n \"state\": \"ENABLED\",\n \"secrets\": [\"secret-xxx\", \"secret-yyy\"],\n \"service_accounts\": [\"sa-xxx\", \"sa-yyy\"],\n \"schemas\": [\"schema-xxx\", \"schema-yyy\"]\n },\n \"last_collected_at\": \"2022-06-17T06:33:27.195Z\"\n },\n {\n \"collector_id\": \"collector-2c0847644f39\",\n \"name\": \"AWS Collector\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.13.13\",\n \"options\": {},\n \"metadata\": {\n \"supported_schedules\": [\n \"hours\"\n ],\n \"supported_resource_type\": [\n \"inventory.CloudService\",\n \"inventory.CloudServiceType\",\n \"inventory.Region\"\n ],\n \"filter_format\": [],\n \"supported_features\": [\n \"garbage_collection\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"type\": \"test\"\n },\n \"created_at\": \"2022-06-17T06:33:27.195Z\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\"\n ]\n },\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [0, 6, 12, 18]\n },\n \"secret_filter\": {\n \"state\": \"ENABLED\",\n \"secrets\": [\"secret-xxx\", \"secret-yyy\"],\n \"service_accounts\": [\"sa-xxx\", \"sa-yyy\"],\n \"schemas\": [\"schema-xxx\", \"schema-yyy\"]\n },\n \"last_collected_at\": \"2022-06-17T06:33:27.195Z\"\n }\n ],\n \"total_count\": 2\n}" - }} + "Schema": {"$ref": "#/components/schemas/MetricExamplesInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/collector/stat": { + },"/inventory/metric-example/stat": { "post": { - "tags": ["inventory > collector"], + "tags": ["inventory > metric-example"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -1659,20 +1564,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/collector/collect": { + },"/inventory/metric/create": { "post": { - "tags": ["inventory > collector"], - "summary": "Collect", + "tags": ["inventory > metric"], + "summary": "Create", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |collector_id||string|True|\n |secret_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |metric_type|COUNTER, GAUGE |string|True|\n |query_options||AnalyzeQuery|True|\n |namespace_id||string|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |metric_id||string||\n |resource_type||string||\n |date_field||string||\n |unit||string||\n |tags||Struct||\n |workspace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"collector_id" : {"type": "string","title": "COLLECTOR_ID" },"secret_id" : {"type": "string","title": "SECRET_ID" } } + "properties": {"metric_id" : {"type": "string","title": "METRIC_ID" },"name" : {"type": "string","title": "NAME" },"metric_type" : {"type": "string","title": "METRIC_TYPE" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"query_options" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY_OPTIONS" },"date_field" : {"type": "string","title": "DATE_FIELD" },"unit" : {"type": "string","title": "UNIT" },"tags" : {"type": "object","title": "TAGS" },"namespace_id" : {"type": "string","title": "NAMESPACE_ID" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } } },"required": true @@ -1681,27 +1586,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/JobInfo"}, + "schema": {"$ref": "#/components/schemas/MetricInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/JobInfo"},"Default Example":{ - "value": "{\n \"job_id\": \"job-123456789012\",\n \"status\": \"ERROR\",\n \"filter\": {},\n \"total_tasks\": 2,\n \"collector_info\": {\n \"collector_id\": \"collector-123456789012\",\n \"name\": \"Jenkins Collector\",\n \"state\": \"ENABLED\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-jenkins-inven-collector\",\n \"version\": \"0.1.1\"\n },\n \"provider\": \"jenkins\",\n \"capability\": {},\n \"is_public\": true\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T10:00:01.389Z\",\n \"updated_at\": \"2022-01-01T10:00:01.389Z\",\n \"finished_at\": \"2022-01-01T10:02:11.270Z\"\n}" + "Schema": {"$ref": "#/components/schemas/MetricInfo"},"Default Example":{ + "value": "{\n\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/note/create": { + },"/inventory/metric/update": { "post": { - "tags": ["inventory > note"], - "summary": "Create", + "tags": ["inventory > metric"], + "summary": "Update", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |record_id||string|True|\n |note||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |metric_id||string|True|\n |name||string||\n |query_options||AnalyzeQuery||\n |date_field||string||\n |unit||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"record_id" : {"type": "string","title": "RECORD_ID" },"note" : {"type": "string","title": "NOTE" } } + "properties": {"metric_id" : {"type": "string","title": "METRIC_ID" },"name" : {"type": "string","title": "NAME" },"query_options" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY_OPTIONS" },"date_field" : {"type": "string","title": "DATE_FIELD" },"unit" : {"type": "string","title": "UNIT" },"tags" : {"type": "object","title": "TAGS" } } }, "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } @@ -1712,27 +1617,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/NoteInfo"}, + "schema": {"$ref": "#/components/schemas/MetricInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/NoteInfo"},"Default Example":{ + "Schema": {"$ref": "#/components/schemas/MetricInfo"},"Default Example":{ "value": "{\n\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/note/update": { + },"/inventory/metric/delete": { "post": { - "tags": ["inventory > note"], - "summary": "Update", + "tags": ["inventory > metric"], + "summary": "Delete", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |note_id||string|True|\n |note||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |metric_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"note_id" : {"type": "string","title": "NOTE_ID" },"note" : {"type": "string","title": "NOTE" } } + "properties": {"metric_id" : {"type": "string","title": "METRIC_ID" } } }, "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } @@ -1741,29 +1646,21 @@ }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/NoteInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/NoteInfo"},"Default Example":{ - "value": "{\n\n}" - }} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/note/delete": { + },"/inventory/metric/run": { "post": { - "tags": ["inventory > note"], - "summary": "Delete", + "tags": ["inventory > metric"], + "summary": "Run", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |note_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |metric_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"note_id" : {"type": "string","title": "NOTE_ID" } } + "properties": {"metric_id" : {"type": "string","title": "METRIC_ID" } } }, "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } @@ -1775,18 +1672,18 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/note/get": { + },"/inventory/metric/test": { "post": { - "tags": ["inventory > note"], - "summary": "Get", + "tags": ["inventory > metric"], + "summary": "Test", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |note_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |metric_id||string|True|\n |query_options||AnalyzeQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"note_id" : {"type": "string","title": "NOTE_ID" } } + "properties": {"metric_id" : {"type": "string","title": "METRIC_ID" },"query_options" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY_OPTIONS" } } }, "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } @@ -1797,27 +1694,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/NoteInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/NoteInfo"},"Default Example":{ - "value": "{\n\n}" - }} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/note/list": { + },"/inventory/metric/get": { "post": { - "tags": ["inventory > note"], - "summary": "List", + "tags": ["inventory > metric"], + "summary": "Get", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |note_id||string||\n |record_id||string||\n |cloud_service_id||string||\n |created_by||string||\n |workspace_id||string||\n |project_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |metric_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"note_id" : {"type": "string","title": "NOTE_ID" },"record_id" : {"type": "string","title": "RECORD_ID" },"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID" },"created_by" : {"type": "string","title": "CREATED_BY" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" } } + "properties": {"metric_id" : {"type": "string","title": "METRIC_ID" } } }, "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } @@ -1828,27 +1723,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/NotesInfo"}, + "schema": {"$ref": "#/components/schemas/MetricInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/NotesInfo"}} + "Schema": {"$ref": "#/components/schemas/MetricInfo"},"Default Example":{ + "value": "{\n\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/note/stat": { + },"/inventory/metric/list": { "post": { - "tags": ["inventory > note"], - "summary": "Stat", + "tags": ["inventory > metric"], + "summary": "List", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |metric_id||string||\n |metric_type|COUNTER, GAUGE |string||\n |resource_type||string||\n |is_managed||string||\n |workspace_id||string||\n |namespace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"metric_id" : {"type": "string","title": "METRIC_ID" },"metric_type" : {"type": "string","title": "METRIC_TYPE" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"is_managed" : {"type": "string","title": "IS_MANAGED" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"namespace_id" : {"type": "string","title": "NAMESPACE_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} } } },"required": true @@ -1857,50 +1754,56 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/MetricsInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/MetricsInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/job-task/delete": { + },"/inventory/metric/stat": { "post": { - "tags": ["inventory > job-task"], - "summary": "Delete", + "tags": ["inventory > metric"], + "summary": "Stat", "operationId" : "", - "description": "### Description \nDeletes a specific JobTask. You must specify the `job_task_id` of the JobTask to delete.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_task_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"job_task_id" : {"type": "string","title": "JOB_TASK_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, - "examples":{"Default Example":{"value": "{\n \"job_task_id\": \"job-task-123456789012\",\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"type": "object"}, + "examples": { + "Schema": {"type": "object"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/job-task/get": { + },"/inventory/cloud-service-query-set/create": { "post": { - "tags": ["inventory > job-task"], - "summary": "Get", + "tags": ["inventory > cloud-service-query-set"], + "summary": "Create", "operationId" : "", - "description": "### Description \nGets a specific JobTask. Prints detailed information about the JobTask, including its state, updated or failure counts, and error log.", + "description": "### Description \nCreate a new query set. Periodic statistics data is created based on the query set.\n`query` parameters refer to AnalyzeQuery.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_task_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |query_options||AnalyzeQuery|True|\n |provider||string|True|\n |cloud_service_group||string|True|\n |cloud_service_type||string|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |unit||Struct||\n |tags||Struct||\n |workspace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"job_task_id" : {"type": "string","title": "JOB_TASK_ID" } } + "properties": {"name" : {"type": "string","title": "NAME" },"query_options" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY_OPTIONS" },"unit" : {"type": "object","title": "UNIT" },"provider" : {"type": "string","title": "PROVIDER" },"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP" },"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"job_task_id\": \"job-task-123456789012\",\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"name\": \"EC2 Count by Instance Type\",\n \"query_options\": \"\u003cAnalyzeQuery\u003e\",\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"tags\": {\n \"foo\": \"bar\"\n }\n}"},"Schema":{} } } },"required": true @@ -1909,29 +1812,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/JobTaskInfo"}, + "schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/JobTaskInfo"},"Default Example":{ - "value": "{\n \"job_task_id\": \"job-task-123456789012\",\n \"status\": \"FAILURE\",\n \"updated_count\": 199,\n \"failure_count\": 1,\n \"errors\": [\n {\n \"error_code\": \"ERROR_PLUGIN\",\n \"message\": \"{\\\"tags\\\": [\\\"Could not interpret the value as a list\\\"]}\",\n \"additional\": {\n \"domain_id\": \"domain-123456789012\",\n \"resource_id\": \"eventarc-us-central1-function\",\n \"resource_type\": \"inventory.CloudService\",\n \"cloud_service_group\": \"Pub/Sub\",\n \"cloud_service_type\": \"Subscription\",\n \"provider\": \"google_cloud\"\n }\n }\n ],\n \"job_id\": \"job-123456789012\",\n \"secret_id\": \"secret-123456789012\",\n \"provider\": \"google_cloud\",\n \"service_account_id\": \"sa-123456789012\",\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T11:00:02.588Z\",\n \"started_at\": \"2022-01-01T11:00:02.819Z\",\n \"finished_at\": \"2022-01-01T11:00:34.398Z\"\n}" + "Schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"},"Default Example":{ + "value": "{\n \"query_set_id\": \"query-set-abcd1234\",\n \"name\": \"EC2 Count by Instance Type\",\n \"state\": \"ENABLED\",\n \"query_options\": \"\u003cAnalyzeQuery\u003e\",\n \"query_type\": \"MANAGED\",\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"data_keys\": [\n \"Disk Size\",\n \"Memory\",\n \"CPU\n ],\n \"additional_info_keys\": [\n \"instance_type\"\n ],\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"tags\": {\n \"foo\": \"bar\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\"\n \"updated_at\": \"2023-03-16T06:00:00.000Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/job-task/list": { + },"/inventory/cloud-service-query-set/update": { "post": { - "tags": ["inventory > job-task"], - "summary": "List", + "tags": ["inventory > cloud-service-query-set"], + "summary": "Update", "operationId" : "", - "description": "### Description \nGets a list of all JobTasks in a specific Job. You can use a query to get a filtered list of JobTasks.", + "description": "### Description \nUpdate a specific query set. You can only update the query set of custom type.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |job_task_id||string||\n |status|PENDING, CANCELED, IN_PROGRESS, SUCCESS, FAILURE |string||\n |provider||string||\n |workspace_id||string||\n |project_id||string||\n |service_account_id||string||\n |job_id||string||\n |secret_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query_set_id||string|True|\n |name||string||\n |query_options||AnalyzeQuery||\n |unit||Struct||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"job_task_id" : {"type": "string","title": "JOB_TASK_ID" },"status" : {"type": "string","title": "STATUS" },"provider" : {"type": "string","title": "PROVIDER" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID" },"job_id" : {"type": "string","title": "JOB_ID" },"secret_id" : {"type": "string","title": "SECRET_ID" } } + "properties": {"query_set_id" : {"type": "string","title": "QUERY_SET_ID" },"name" : {"type": "string","title": "NAME" },"query_options" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY_OPTIONS" },"unit" : {"type": "object","title": "UNIT" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query_set_id\": \"query-set-abcd1234\",\n \"name\": \"Changed Name\",\n \"query_options\": \"\u003cAnalyzeQuery\u003e\",\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"tags\": {\n \"changed_key\": \"changed_value\"\n }\n}"},"Schema":{} } } },"required": true @@ -1940,87 +1843,75 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/JobTasksInfo"}, + "schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/JobTasksInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"job_task_id\": \"job_task-69b301d0fbfc\",\n \"status\": \"SUCCESS\",\n \"updated_count\": 55,\n \"job_id\": \"job-587a3d3b4db3\",\n \"secret_id\": \"secret-957e407bfc15\",\n \"provider\": \"aws\",\n \"service_account_id\": \"sa-a41ff4765671\",\n \"project_id\": \"project-77dffd3f7cd3\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-17T08:00:00.680Z\",\n \"started_at\": \"2022-06-17T08:00:00.914Z\",\n \"finished_at\": \"2022-06-17T08:05:48.933Z\"\n },\n {\n \"job_task_id\": \"job_task-c5077338cf23\",\n \"status\": \"SUCCESS\",\n \"updated_count\": 1921,\n \"job_id\": \"job-587a3d3b4db3\",\n \"secret_id\": \"secret-1cd7417c1889\",\n \"provider\": \"aws\",\n \"service_account_id\": \"sa-5e186fcc7c91\",\n \"project_id\": \"project-18655561c535\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-17T08:00:00.582Z\",\n \"started_at\": \"2022-06-17T08:00:00.814Z\",\n \"finished_at\": \"2022-06-17T08:07:31.995Z\"\n }\n ],\n \"total_count\": 4839\n}" + "Schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"},"Default Example":{ + "value": "{\n \"query_set_id\": \"query-set-abcd1234\",\n \"name\": \"EC2 Count by Instance Type\",\n \"state\": \"ENABLED\",\n \"query_options\": \"\u003cAnalyzeQuery\u003e\",\n \"query_type\": \"MANAGED\",\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"data_keys\": [\n \"Disk Size\",\n \"Memory\",\n \"CPU\n ],\n \"additional_info_keys\": [\n \"instance_type\"\n ],\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"tags\": {\n \"foo\": \"bar\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\"\n \"updated_at\": \"2023-03-16T06:00:00.000Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/job-task/stat": { + },"/inventory/cloud-service-query-set/delete": { "post": { - "tags": ["inventory > job-task"], - "summary": "Stat", + "tags": ["inventory > cloud-service-query-set"], + "summary": "Delete", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nDelete a specific query set.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query_set_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"query_set_id" : {"type": "string","title": "QUERY_SET_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query_set_id\": \"query-set-abcd1234\"\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"type": "object"}, - "examples": { - "Schema": {"type": "object"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/metric-data/list": { + },"/inventory/cloud-service-query-set/run": { "post": { - "tags": ["inventory > metric-data"], - "summary": "List", + "tags": ["inventory > cloud-service-query-set"], + "summary": "Run", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nRun a specific query set and store the result in the statistics data.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |metric_id||string|True|\n |query||Query||\n |workspace_id||string||\n |project_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query_set_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"metric_id" : {"type": "string","title": "METRIC_ID" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" } } + "properties": {"query_set_id" : {"type": "string","title": "QUERY_SET_ID" } } }, - "examples":{"Default Example":{"value": "{\n\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query_set_id\": \"query-set-abcd1234\"\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/MetricDatasInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/MetricDatasInfo"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/metric-data/stat": { + },"/inventory/cloud-service-query-set/test": { "post": { - "tags": ["inventory > metric-data"], - "summary": "Stat", + "tags": ["inventory > cloud-service-query-set"], + "summary": "Test", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nRun a specific query set and store the result in the statistics data.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n |metric_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query_set_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" },"metric_id" : {"type": "string","title": "METRIC_ID" } } + "properties": {"query_set_id" : {"type": "string","title": "QUERY_SET_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query_set_id\": \"query-set-abcd1234\"\n}"},"Schema":{} } } },"required": true @@ -2036,20 +1927,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/metric-data/analyze": { + },"/inventory/cloud-service-query-set/enable": { "post": { - "tags": ["inventory > metric-data"], - "summary": "Analyze", + "tags": ["inventory > cloud-service-query-set"], + "summary": "Enable", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nEnable a specific query set.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||TimeSeriesAnalyzeQuery|True|\n |metric_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query_set_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY" },"metric_id" : {"type": "string","title": "METRIC_ID" } } + "properties": {"query_set_id" : {"type": "string","title": "QUERY_SET_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query_set_id\": \"query-set-abcd1234\"\n}"},"Schema":{} } } },"required": true @@ -2058,27 +1949,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"},"Default Example":{ + "value": "{\n \"query_set_id\": \"query-set-abcd1234\",\n \"name\": \"EC2 Count by Instance Type\",\n \"state\": \"ENABLED\",\n \"query_options\": \"\u003cAnalyzeQuery\u003e\",\n \"query_type\": \"MANAGED\",\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"data_keys\": [\n \"Disk Size\",\n \"Memory\",\n \"CPU\n ],\n \"additional_info_keys\": [\n \"instance_type\"\n ],\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"tags\": {\n \"foo\": \"bar\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\"\n \"updated_at\": \"2023-03-16T06:00:00.000Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/collector-rule/create": { + },"/inventory/cloud-service-query-set/disable": { "post": { - "tags": ["inventory > collector-rule"], - "summary": "Create", + "tags": ["inventory > cloud-service-query-set"], + "summary": "Disable", "operationId" : "", - "description": "### Description \nCreates a new CollectorRule. When creating the cloud service, this method can apply two types of conditions: mapping projects where the cloud service incurred to the Cloud Service, and mapping cloud service accounts to the Cloud Service. By adjusting the `condition_policy` parameter, the CollectorRule can be applied when all conditions are met, applied when any of the conditions are met, or always applied regardless of whether the conditions are met.", + "description": "### Description \nDisable a specific query set. query set is not executed when disabled.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |collector_id||string|True|\n |conditions_policy|ALL, ANY, ALWAYS |string|True|\n |actions||CollectorRuleActions|True|\n |name||string||\n |conditions||array||\n |options||CollectorRuleOptions||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query_set_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"collector_id" : {"type": "string","title": "COLLECTOR_ID" },"name" : {"type": "string","title": "NAME" },"conditions" : {"items": {"$ref": "#/components/schemas/CollectorRuleCondition"}, "type": "array","title": "CONDITIONS" },"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY" },"actions" : {"$ref": "#/components/schemas/CollectorRuleActions","title": "ACTIONS" },"options" : {"$ref": "#/components/schemas/CollectorRuleOptions","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"query_set_id" : {"type": "string","title": "QUERY_SET_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"name\": \"match_service_account_test\",\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\"source\": \"account\", \"target\": \"data.project_id\"}\n },\n \"options\": {\"stop_processing\": true},\n \"tags\": {\"b\": \"c\", \"a\": \"b\"},\n \"collector_id\": \"collector-2e39891cbbb5\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query_set_id\": \"query-set-abcd1234\"\n}"},"Schema":{} } } },"required": true @@ -2087,29 +1980,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CollectorRuleInfo"}, + "schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CollectorRuleInfo"},"Default Example":{ - "value": "{\n \"collector_rule_id\": \"collector-rule-c8055231e212\",\n \"name\": \"match_service_account_test\",\n \"order\": 2,\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {\n \"a\": \"b\",\n \"b\": \"c\"\n },\n \"collector_id\": \"collector-2e39891cbbb5\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:13:28.335Z\"\n}" + "Schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"},"Default Example":{ + "value": "{\n \"query_set_id\": \"query-set-abcd1234\",\n \"name\": \"EC2 Count by Instance Type\",\n \"state\": \"ENABLED\",\n \"query_options\": \"\u003cAnalyzeQuery\u003e\",\n \"query_type\": \"MANAGED\",\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"data_keys\": [\n \"Disk Size\",\n \"Memory\",\n \"CPU\n ],\n \"additional_info_keys\": [\n \"instance_type\"\n ],\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"tags\": {\n \"foo\": \"bar\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\"\n \"updated_at\": \"2023-03-16T06:00:00.000Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/collector-rule/update": { + },"/inventory/cloud-service-query-set/get": { "post": { - "tags": ["inventory > collector-rule"], - "summary": "Update", + "tags": ["inventory > cloud-service-query-set"], + "summary": "Get", "operationId" : "", - "description": "### Description \nUpdates a specific CollectorRule. You can make changes in CollectorRule settings, including filtering conditions.", + "description": "### Description \nGet a specific query set.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |collector_rule_id||string|True|\n |name||string||\n |conditions||array||\n |conditions_policy|ALL, ANY, ALWAYS |string||\n |actions||CollectorRuleActions||\n |options||CollectorRuleOptions||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query_set_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"collector_rule_id" : {"type": "string","title": "COLLECTOR_RULE_ID" },"name" : {"type": "string","title": "NAME" },"conditions" : {"items": {"$ref": "#/components/schemas/CollectorRuleCondition"}, "type": "array","title": "CONDITIONS" },"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY" },"actions" : {"$ref": "#/components/schemas/CollectorRuleActions","title": "ACTIONS" },"options" : {"$ref": "#/components/schemas/CollectorRuleOptions","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"query_set_id" : {"type": "string","title": "QUERY_SET_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"collector_rule_id\": \"collector-rule-c8055231e212\",\n \"name\": \"match_service_account_test\",\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {\"b\": \"c\", \"a\": \"b\"}\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query_set_id\": \"query-set-abcd1234\"\n}"},"Schema":{} } } },"required": true @@ -2118,16 +2011,138 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CollectorRuleInfo"}, + "schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CollectorRuleInfo"},"Default Example":{ - "value": "{\n \"collector_rule_id\": \"collector-rule-c8055231e212\",\n \"name\": \"match_service_account_test\",\n \"order\": 2,\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {\n \"a\": \"b\",\n \"b\": \"c\"\n },\n \"collector_id\": \"collector-2e39891cbbb5\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:13:28.335Z\"\n}" + "Schema": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"},"Default Example":{ + "value": "{\n \"query_set_id\": \"query-set-abcd1234\",\n \"name\": \"EC2 Count by Instance Type\",\n \"state\": \"ENABLED\",\n \"query_options\": \"\u003cAnalyzeQuery\u003e\",\n \"query_type\": \"MANAGED\",\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"data_keys\": [\n \"Disk Size\",\n \"Memory\",\n \"CPU\n ],\n \"additional_info_keys\": [\n \"instance_type\"\n ],\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"tags\": {\n \"foo\": \"bar\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\"\n \"updated_at\": \"2023-03-16T06:00:00.000Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/collector-rule/change-order": { + },"/inventory/cloud-service-query-set/list": { + "post": { + "tags": ["inventory > cloud-service-query-set"], + "summary": "List", + "operationId" : "", + "description": "### Description \nGets a list of all query sets.\nYou can use a query to get a filtered list of query sets.", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |query_set_id||string||\n |name||string||\n |state|ENABLED, DISABLED |string||\n |query_type|MANAGED, CUSTOM |string||\n |provider||string||\n |cloud_service_group||string||\n |cloud_service_type||string||\n |workspace_id||string||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"query_set_id" : {"type": "string","title": "QUERY_SET_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"query_type" : {"type": "string","title": "QUERY_TYPE" },"provider" : {"type": "string","title": "PROVIDER" },"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP" },"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + }, + "examples":{"Default Example":{"value": "{\n \"query\": \u003cSearchQuery\u003e,\n \"query_set_id\": \"query-set-abcd1234\",\n \"name\": \"EC2 Count by Instance Type\",\n \"state\": \"ENABLED\",\n \"query_type\": \"MANAGED\",\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"resource_group\": \"DOMAIN\",\n}"},"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/CloudServiceQuerySetsInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/CloudServiceQuerySetsInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"query_set_id\": \"query-set-abcd1234\",\n \"name\": \"EC2 Count by Instance Type\",\n \"state\": \"ENABLED\",\n \"query_type\": \"MANAGED\",\n \"query_options\": \"\u003cAnalyzeQuery\u003e\",\n \"unit\": {\n \"Disk Size\": \"GB\",\n \"Memory\": \"GB\",\n \"CPU\": \"Core\"\n },\n \"data_keys\": [\n \"Disk Size\",\n \"Memory\",\n \"CPU\n ],\n \"additional_info_keys\": [\n \"instance_type\"\n ],\n \"provider\": \"aws\",\n \"cloud_service_group\": \"EC2\",\n \"cloud_service_type\": \"Instance\",\n \"tags\": {\n \"foo\": \"bar\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T01:38:16.301Z\",\n \"updated_at\": \"2023-03-16T06:00:00.000Z\"\n },\n {...}\n ],\n \"total_count\": 2\n}" + }} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/inventory/cloud-service-query-set/stat": { + "post": { + "tags": ["inventory > cloud-service-query-set"], + "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": []}] } + },"/inventory/collector-rule/create": { + "post": { + "tags": ["inventory > collector-rule"], + "summary": "Create", + "operationId" : "", + "description": "### Description \nCreates a new CollectorRule. When creating the cloud service, this method can apply two types of conditions: mapping projects where the cloud service incurred to the Cloud Service, and mapping cloud service accounts to the Cloud Service. By adjusting the `condition_policy` parameter, the CollectorRule can be applied when all conditions are met, applied when any of the conditions are met, or always applied regardless of whether the conditions are met.", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |collector_id||string|True|\n |conditions_policy|ALL, ANY, ALWAYS |string|True|\n |actions||CollectorRuleActions|True|\n |name||string||\n |conditions||array||\n |options||CollectorRuleOptions||\n |tags||Struct||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"collector_id" : {"type": "string","title": "COLLECTOR_ID" },"name" : {"type": "string","title": "NAME" },"conditions" : {"items": {"$ref": "#/components/schemas/CollectorRuleCondition"}, "type": "array","title": "CONDITIONS" },"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY" },"actions" : {"$ref": "#/components/schemas/CollectorRuleActions","title": "ACTIONS" },"options" : {"$ref": "#/components/schemas/CollectorRuleOptions","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } + }, + "examples":{"Default Example":{"value": "{\n \"name\": \"match_service_account_test\",\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\"source\": \"account\", \"target\": \"data.project_id\"}\n },\n \"options\": {\"stop_processing\": true},\n \"tags\": {\"b\": \"c\", \"a\": \"b\"},\n \"collector_id\": \"collector-2e39891cbbb5\"\n}"},"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/CollectorRuleInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/CollectorRuleInfo"},"Default Example":{ + "value": "{\n \"collector_rule_id\": \"collector-rule-c8055231e212\",\n \"name\": \"match_service_account_test\",\n \"order\": 2,\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {\n \"a\": \"b\",\n \"b\": \"c\"\n },\n \"collector_id\": \"collector-2e39891cbbb5\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:13:28.335Z\"\n}" + }} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/inventory/collector-rule/update": { + "post": { + "tags": ["inventory > collector-rule"], + "summary": "Update", + "operationId" : "", + "description": "### Description \nUpdates a specific CollectorRule. You can make changes in CollectorRule settings, including filtering conditions.", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |collector_rule_id||string|True|\n |name||string||\n |conditions||array||\n |conditions_policy|ALL, ANY, ALWAYS |string||\n |actions||CollectorRuleActions||\n |options||CollectorRuleOptions||\n |tags||Struct||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"collector_rule_id" : {"type": "string","title": "COLLECTOR_RULE_ID" },"name" : {"type": "string","title": "NAME" },"conditions" : {"items": {"$ref": "#/components/schemas/CollectorRuleCondition"}, "type": "array","title": "CONDITIONS" },"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY" },"actions" : {"$ref": "#/components/schemas/CollectorRuleActions","title": "ACTIONS" },"options" : {"$ref": "#/components/schemas/CollectorRuleOptions","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } + }, + "examples":{"Default Example":{"value": "{\n \"collector_rule_id\": \"collector-rule-c8055231e212\",\n \"name\": \"match_service_account_test\",\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {\"b\": \"c\", \"a\": \"b\"}\n}"},"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/CollectorRuleInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/CollectorRuleInfo"},"Default Example":{ + "value": "{\n \"collector_rule_id\": \"collector-rule-c8055231e212\",\n \"name\": \"match_service_account_test\",\n \"order\": 2,\n \"conditions_policy\": \"ALWAYS\",\n \"actions\": {\n \"match_service_account\": {\n \"source\": \"account\",\n \"target\": \"data.project_id\"\n }\n },\n \"options\": {\n \"stop_processing\": true\n },\n \"tags\": {\n \"a\": \"b\",\n \"b\": \"c\"\n },\n \"collector_id\": \"collector-2e39891cbbb5\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-07-19T10:13:28.335Z\"\n}" + }} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/inventory/collector-rule/change-order": { "post": { "tags": ["inventory > collector-rule"], "summary": "Change Order", @@ -2272,20 +2287,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-report/create": { + },"/inventory/collector/create": { "post": { - "tags": ["inventory > cloud-service-report"], + "tags": ["inventory > collector"], "summary": "Create", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nCreates a new Collector with information of the plugin to use. Information of the plugin includes `version`, `provider`, and `upgrade_mode`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |options||array|True|\n |schedule||ReportSchedule|True|\n |target||Struct|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |file_format|EXCEL, CSV |string||\n |timezone||string||\n |language||string||\n |tags||Struct||\n |workspace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |plugin_info||PluginInfo|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |schedule||Scheduled||\n |provider||string||\n |secret_filter||SecretFilter||\n |tags||Struct||\n |workspace_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"options" : {"items": {"$ref": "#/components/schemas/ExportOption"}, "type": "array","title": "OPTIONS" },"file_format" : {"type": "string","title": "FILE_FORMAT" },"timezone" : {"type": "string","title": "TIMEZONE" },"language" : {"type": "string","title": "LANGUAGE" },"schedule" : {"$ref": "#/components/schemas/ReportSchedule","title": "SCHEDULE" },"target" : {"type": "object","title": "TARGET" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"name" : {"type": "string","title": "NAME" },"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO" },"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE" },"provider" : {"type": "string","title": "PROVIDER" },"secret_filter" : {"$ref": "#/components/schemas/SecretFilter","title": "SECRET_FILTER" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"name\": \"AWS Collector\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.13.13\",\n \"options\": {},\n \"metadata\": {\n \"filter_format\": [],\n \"supported_schedules\": [\n \"hours\"\n ],\n \"supported_resource_type\": [\n \"inventory.CloudService\",\n \"inventory.CloudServiceType\",\n \"inventory.Region\"\n ],\n \"supported_features\": [\n \"garbage_collection\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [0, 6, 12, 18]\n },\n \"secret_filter\": {\n \"state\": \"ENABLED\",\n \"secrets\": [\"secret-xxx\", \"secret-yyy\"],\n \"service_accounts\": [\"sa-xxx\", \"sa-yyy\"],\n \"schemas\": [\"schema-xxx\", \"schema-yyy\"]\n },\n \"tags\": {\n \"type\": \"test\"\n },\n}"},"Schema":{} } } },"required": true @@ -2294,25 +2309,58 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceReportInfo"}, + "schema": {"$ref": "#/components/schemas/CollectorInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceReportInfo"}} + "Schema": {"$ref": "#/components/schemas/CollectorInfo"},"Default Example":{ + "value": "{\n \"collector_id\": \"collector-2c0847644f39\",\n \"name\": \"AWS Collector\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.13.13\",\n \"options\": {},\n \"metadata\": {\n \"supported_schedules\": [\n \"hours\"\n ],\n \"supported_resource_type\": [\n \"inventory.CloudService\",\n \"inventory.CloudServiceType\",\n \"inventory.Region\"\n ],\n \"filter_format\": [],\n \"supported_features\": [\n \"garbage_collection\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"type\": \"test\"\n },\n \"created_at\": \"2022-06-17T06:33:27.195Z\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\"\n ]\n },\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [0, 6, 12, 18]\n },\n \"secret_filter\": {\n \"state\": \"ENABLED\",\n \"secrets\": [\"secret-xxx\", \"secret-yyy\"],\n \"service_accounts\": [\"sa-xxx\", \"sa-yyy\"],\n \"schemas\": [\"schema-xxx\", \"schema-yyy\"]\n },\n \"last_collected_at\": \"2022-06-17T06:33:27.195Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-report/update": { + },"/inventory/collector/update": { "post": { - "tags": ["inventory > cloud-service-report"], + "tags": ["inventory > collector"], "summary": "Update", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nUpdates a specific Collector. You can make changes in Collector settings, including `name` and `tags`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |report_id||string|True|\n |name||string||\n |options||array||\n |file_format|EXCEL, CSV |string||\n |timezone||string||\n |language||string||\n |schedule||ReportSchedule||\n |target||Struct||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |collector_id||string|True|\n |name||string||\n |schedule||Scheduled||\n |secret_filter||SecretFilter||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"report_id" : {"type": "string","title": "REPORT_ID" },"name" : {"type": "string","title": "NAME" },"options" : {"items": {"$ref": "#/components/schemas/ExportOption"}, "type": "array","title": "OPTIONS" },"file_format" : {"type": "string","title": "FILE_FORMAT" },"timezone" : {"type": "string","title": "TIMEZONE" },"language" : {"type": "string","title": "LANGUAGE" },"schedule" : {"$ref": "#/components/schemas/ReportSchedule","title": "SCHEDULE" },"target" : {"type": "object","title": "TARGET" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"collector_id" : {"type": "string","title": "COLLECTOR_ID" },"name" : {"type": "string","title": "NAME" },"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE" },"secret_filter" : {"$ref": "#/components/schemas/SecretFilter","title": "SECRET_FILTER" },"tags" : {"type": "object","title": "TAGS" } } + }, + "examples":{"Default Example":{"value": "{\n \"collector_id\": \"collector-2c0847644f39\",\n \"name\": \"New AWS Collector\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.14.0\",\n \"provider\": \"aws\",\n \"upgrade_mode\": \"MANUAL\"\n },\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [0, 6, 12, 18]\n },\n \"secret_filter\": {\n \"state\": \"ENABLED\",\n \"secrets\": [\"secret-xxx\", \"secret-yyy\"],\n \"service_accounts\": [\"sa-xxx\", \"sa-yyy\"],\n \"schemas\": [\"schema-xxx\", \"schema-yyy\"]\n },\n \"tags\": {\n \"a\": \"b\"\n }\n}"},"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/CollectorInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/CollectorInfo"},"Default Example":{ + "value": "{\n \"collector_id\": \"collector-2c0847644f39\",\n \"name\": \"AWS Collector\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.13.13\",\n \"options\": {},\n \"metadata\": {\n \"supported_schedules\": [\n \"hours\"\n ],\n \"supported_resource_type\": [\n \"inventory.CloudService\",\n \"inventory.CloudServiceType\",\n \"inventory.Region\"\n ],\n \"filter_format\": [],\n \"supported_features\": [\n \"garbage_collection\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"type\": \"test\"\n },\n \"created_at\": \"2022-06-17T06:33:27.195Z\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\"\n ]\n },\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [0, 6, 12, 18]\n },\n \"secret_filter\": {\n \"state\": \"ENABLED\",\n \"secrets\": [\"secret-xxx\", \"secret-yyy\"],\n \"service_accounts\": [\"sa-xxx\", \"sa-yyy\"],\n \"schemas\": [\"schema-xxx\", \"schema-yyy\"]\n },\n \"last_collected_at\": \"2022-06-17T06:33:27.195Z\"\n}" + }} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/inventory/collector/update-plugin": { + "post": { + "tags": ["inventory > collector"], + "summary": "Update Plugin", + "operationId" : "", + "description": "### Description \nUpdates the plugin of a specific Collector. This method resets the plugin data in the Collector to update the `metadata`.", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |collector_id||string|True|\n |version||string||\n |options||Struct||\n |upgrade_mode|MANUAL, AUTO |string||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"collector_id" : {"type": "string","title": "COLLECTOR_ID" },"version" : {"type": "string","title": "VERSION" },"options" : {"type": "object","title": "OPTIONS" },"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE" } } }, "examples":{"Schema":{} } @@ -2323,25 +2371,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceReportInfo"}, + "schema": {"$ref": "#/components/schemas/CollectorInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceReportInfo"}} + "Schema": {"$ref": "#/components/schemas/CollectorInfo"},"Default Example":{ + "value": "{\n \"collector_id\": \"collector-2c0847644f39\",\n \"name\": \"AWS Collector\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.13.13\",\n \"options\": {},\n \"metadata\": {\n \"supported_schedules\": [\n \"hours\"\n ],\n \"supported_resource_type\": [\n \"inventory.CloudService\",\n \"inventory.CloudServiceType\",\n \"inventory.Region\"\n ],\n \"filter_format\": [],\n \"supported_features\": [\n \"garbage_collection\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"type\": \"test\"\n },\n \"created_at\": \"2022-06-17T06:33:27.195Z\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\"\n ]\n },\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [0, 6, 12, 18]\n },\n \"secret_filter\": {\n \"state\": \"ENABLED\",\n \"secrets\": [\"secret-xxx\", \"secret-yyy\"],\n \"service_accounts\": [\"sa-xxx\", \"sa-yyy\"],\n \"schemas\": [\"schema-xxx\", \"schema-yyy\"]\n },\n \"last_collected_at\": \"2022-06-17T06:33:27.195Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-report/delete": { + },"/inventory/collector/verify-plugin": { "post": { - "tags": ["inventory > cloud-service-report"], - "summary": "Delete", + "tags": ["inventory > collector"], + "summary": "Verify Plugin", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nVerifies the plugin of a specific Collector. This method validates the plugin data, `version` and `endpoint`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |report_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |collector_id||string|True|\n |secret_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"report_id" : {"type": "string","title": "REPORT_ID" } } + "properties": {"collector_id" : {"type": "string","title": "COLLECTOR_ID" },"secret_id" : {"type": "string","title": "SECRET_ID" } } }, "examples":{"Schema":{} } @@ -2353,20 +2403,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-report/send": { + },"/inventory/collector/delete": { "post": { - "tags": ["inventory > cloud-service-report"], - "summary": "Send", + "tags": ["inventory > collector"], + "summary": "Delete", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nDeletes a specific Collector. You must specify the `collector_id` of the Collector to delete.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |report_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |collector_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"report_id" : {"type": "string","title": "REPORT_ID" } } + "properties": {"collector_id" : {"type": "string","title": "COLLECTOR_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"collector_id\": \"collector-f2e4e9cc7f21\"\n}"},"Schema":{} } } },"required": true @@ -2376,20 +2426,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-report/get": { + },"/inventory/collector/get": { "post": { - "tags": ["inventory > cloud-service-report"], + "tags": ["inventory > collector"], "summary": "Get", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nGets a specific Collector. Prints detailed information about the Collector, including its state, basic information, and the plugin information used for cloud resource collection.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |report_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |collector_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"report_id" : {"type": "string","title": "REPORT_ID" } } + "properties": {"collector_id" : {"type": "string","title": "COLLECTOR_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"collector_id\": \"collector-f2e4e9cc7f21\"\n}"},"Schema":{} } } },"required": true @@ -2398,27 +2448,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceReportInfo"}, + "schema": {"$ref": "#/components/schemas/CollectorInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceReportInfo"}} + "Schema": {"$ref": "#/components/schemas/CollectorInfo"},"Default Example":{ + "value": "{\n \"collector_id\": \"collector-2c0847644f39\",\n \"name\": \"AWS Collector\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.13.13\",\n \"options\": {},\n \"metadata\": {\n \"supported_schedules\": [\n \"hours\"\n ],\n \"supported_resource_type\": [\n \"inventory.CloudService\",\n \"inventory.CloudServiceType\",\n \"inventory.Region\"\n ],\n \"filter_format\": [],\n \"supported_features\": [\n \"garbage_collection\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"type\": \"test\"\n },\n \"created_at\": \"2022-06-17T06:33:27.195Z\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\"\n ]\n },\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [0, 6, 12, 18]\n },\n \"secret_filter\": {\n \"state\": \"ENABLED\",\n \"secrets\": [\"secret-xxx\", \"secret-yyy\"],\n \"service_accounts\": [\"sa-xxx\", \"sa-yyy\"],\n \"schemas\": [\"schema-xxx\", \"schema-yyy\"]\n },\n \"last_collected_at\": \"2022-06-17T06:33:27.195Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-report/list": { + },"/inventory/collector/list": { "post": { - "tags": ["inventory > cloud-service-report"], + "tags": ["inventory > collector"], "summary": "List", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nGets a list of all Collectors. You can use a query to get a filtered list of Collectors.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |report_id||string||\n |name||string||\n |workspace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query|True|\n |collector_id||string|True|\n |name||string|True|\n |secret_filter_state|ENABLED, DISABLED |string|True|\n |schedule_state|ENABLED, DISABLED |string|True|\n |workspace_id||string|True|\n |plugin_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"report_id" : {"type": "string","title": "REPORT_ID" },"name" : {"type": "string","title": "NAME" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"collector_id" : {"type": "string","title": "COLLECTOR_ID" },"name" : {"type": "string","title": "NAME" },"secret_filter_state" : {"type": "string","title": "SECRET_FILTER_STATE" },"schedule_state" : {"type": "string","title": "SCHEDULE_STATE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"plugin_id" : {"type": "string","title": "PLUGIN_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} } } },"required": true @@ -2427,16 +2479,18 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/CloudServiceReportsInfo"}, + "schema": {"$ref": "#/components/schemas/CollectorsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/CloudServiceReportsInfo"}} + "Schema": {"$ref": "#/components/schemas/CollectorsInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"collector_id\": \"collector-2c0847644f39\",\n \"name\": \"AWS Collector\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.13.13\",\n \"options\": {},\n \"metadata\": {\n \"supported_schedules\": [\n \"hours\"\n ],\n \"supported_resource_type\": [\n \"inventory.CloudService\",\n \"inventory.CloudServiceType\",\n \"inventory.Region\"\n ],\n \"filter_format\": [],\n \"supported_features\": [\n \"garbage_collection\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"type\": \"test\"\n },\n \"created_at\": \"2022-06-17T06:33:27.195Z\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\"\n ]\n },\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [0, 6, 12, 18]\n },\n \"secret_filter\": {\n \"state\": \"ENABLED\",\n \"secrets\": [\"secret-xxx\", \"secret-yyy\"],\n \"service_accounts\": [\"sa-xxx\", \"sa-yyy\"],\n \"schemas\": [\"schema-xxx\", \"schema-yyy\"]\n },\n \"last_collected_at\": \"2022-06-17T06:33:27.195Z\"\n },\n {\n \"collector_id\": \"collector-2c0847644f39\",\n \"name\": \"AWS Collector\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.13.13\",\n \"options\": {},\n \"metadata\": {\n \"supported_schedules\": [\n \"hours\"\n ],\n \"supported_resource_type\": [\n \"inventory.CloudService\",\n \"inventory.CloudServiceType\",\n \"inventory.Region\"\n ],\n \"filter_format\": [],\n \"supported_features\": [\n \"garbage_collection\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"type\": \"test\"\n },\n \"created_at\": \"2022-06-17T06:33:27.195Z\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\"\n ]\n },\n \"schedule\": {\n \"state\": \"ENABLED\",\n \"hours\": [0, 6, 12, 18]\n },\n \"secret_filter\": {\n \"state\": \"ENABLED\",\n \"secrets\": [\"secret-xxx\", \"secret-yyy\"],\n \"service_accounts\": [\"sa-xxx\", \"sa-yyy\"],\n \"schemas\": [\"schema-xxx\", \"schema-yyy\"]\n },\n \"last_collected_at\": \"2022-06-17T06:33:27.195Z\"\n }\n ],\n \"total_count\": 2\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/cloud-service-report/stat": { + },"/inventory/collector/stat": { "post": { - "tags": ["inventory > cloud-service-report"], + "tags": ["inventory > collector"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -2463,20 +2517,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/region/create": { + },"/inventory/collector/collect": { "post": { - "tags": ["inventory > region"], - "summary": "Create", + "tags": ["inventory > collector"], + "summary": "Collect", "operationId" : "", - "description": "### Description \nCreates a new Region. As the parameter `region_key`, which is automatically created when a Region is created, is in a form of `{provider}.{region_code}`, it is unique regardless of providers. You can also specify the latitude, longitude, and continent information in `tags`.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |region_code||string|True|\n |provider||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |collector_id||string|True|\n |secret_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"region_code" : {"type": "string","title": "REGION_CODE" },"provider" : {"type": "string","title": "PROVIDER" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"collector_id" : {"type": "string","title": "COLLECTOR_ID" },"secret_id" : {"type": "string","title": "SECRET_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"name\": \"Asia Pacific (Seoul)\",\n \"region_code\": \"ap-northeast-2\",\n \"provider\": \"aws\",\n \"tags\": {\n \"continent\": \"asis_pacific\",\n \"longitude\": \"73.013805\",\n \"latitude\": \"19.147428\"\n }\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -2485,29 +2539,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RegionInfo"}, + "schema": {"$ref": "#/components/schemas/JobInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RegionInfo"},"Default Example":{ - "value": "{\n \"region_id\": \"region-e41deed3c939\",\n \"name\": \"Asia Pacific (Seoul)\",\n \"region_key\": \"aws.ap-northeast-2\",\n \"region_code\": \"ap-northeast-2\",\n \"provider\": \"aws\",\n \"tags\": {\n \"continent\": \"asia_pacific\",\n \"longitude\": \"73.013805\",\n \"latitude\": \"19.147428\"\n },\n \"domain_id\": \"domain-x1b3c34v432\",\n \"workspace_id\": \"workspace-123456789012\",\n \"created_at\": \"2021-11-18T13:07:31.382Z\",\n \"updated_at\": \"2022-06-17T00:07:35.469Z\"\n}" + "Schema": {"$ref": "#/components/schemas/JobInfo"},"Default Example":{ + "value": "{\n \"job_id\": \"job-123456789012\",\n \"status\": \"ERROR\",\n \"filter\": {},\n \"total_tasks\": 2,\n \"collector_info\": {\n \"collector_id\": \"collector-123456789012\",\n \"name\": \"Jenkins Collector\",\n \"state\": \"ENABLED\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-jenkins-inven-collector\",\n \"version\": \"0.1.1\"\n },\n \"provider\": \"jenkins\",\n \"capability\": {},\n \"is_public\": true\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T10:00:01.389Z\",\n \"updated_at\": \"2022-01-01T10:00:01.389Z\",\n \"finished_at\": \"2022-01-01T10:02:11.270Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/region/update": { + },"/inventory/cloud-service/create": { "post": { - "tags": ["inventory > region"], - "summary": "Update", + "tags": ["inventory > cloud-service"], + "summary": "Create", "operationId" : "", - "description": "### Description \nUpdates a specific Region. You can make changes in Region settings, including `name` and `tags`. The `tags` contain the continent, latitude, and longitude.", + "description": "### Description \nCreates a new CloudService. A CloudService instance is created based on data including the `resource`'s attribute values. When creating, the classification information defined by CloudServiceType is also needed. The created CloudService has collection information which is the collection history for the `resource` by plugin.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |region_id||string|True|\n |name||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cloud_service_type||string|True|\n |provider||string|True|\n |cloud_service_group||string|True|\n |data||Struct|True|\n |name||string||\n |account||string||\n |instance_type||string||\n |instance_size||float||\n |ip_addresses||array||\n |metadata||Struct||\n |reference||CloudServiceReference||\n |tags||Struct||\n |region_code||string||\n |project_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"region_id" : {"type": "string","title": "REGION_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE" },"provider" : {"type": "string","title": "PROVIDER" },"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP" },"name" : {"type": "string","title": "NAME" },"account" : {"type": "string","title": "ACCOUNT" },"instance_type" : {"type": "string","title": "INSTANCE_TYPE" },"instance_size" : {"type": "float","title": "INSTANCE_SIZE" },"ip_addresses" : {"items": {}, "type": "array","title": "IP_ADDRESSES" },"data" : {"type": "object","title": "DATA" },"metadata" : {"type": "object","title": "METADATA" },"reference" : {"$ref": "#/components/schemas/CloudServiceReference","title": "REFERENCE" },"tags" : {"type": "object","title": "TAGS" },"region_code" : {"type": "string","title": "REGION_CODE" },"project_id" : {"type": "string","title": "PROJECT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"region_id\": \"region-e41deed3c939\",\n \"name\": \"Region home\",\n \"tags\": {\n \"latitude\": \"6.34545\",\n \"continent\": \"asia_pacific\",\n \"longitude\": \"5.6433213\"\n }\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"cloud_service_type\": \"Key\",\n \"provider\": \"aws\",\n \"cloud_service_group\": \"KMS\",\n \"name\": \"cloud_service_test\",\n \"account\": \"251340636361\",\n \"launched_at\": \"2020-08-03T15:00:54.000Z\",\n \"ip_addresses\": [],\n \"data\": {\n \"alias_arn\": null,\n \"origin\": \"AWS_KMS\",\n \"cloudwatch\": {\n \"region_name\": \"ap-northeast-1\",\n \"namespace\": \"AWS/KMS\",\n \"dimensions\": [\n {\n \"Value\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"Name\": \"KeyId\"\n }\n ]\n },\n \"aws_account_id\": \"251340636361\",\n \"creation_date\": \"2020-07-09T09:39:03.097000+0000\",\n \"encryption_algorithms\": [\n \"SYMMETRIC_DEFAULT\"\n ],\n \"key_usage\": \"ENCRYPT_DECRYPT\",\n \"key_id\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_type_path\": \"defaultKeys\",\n \"key_rotated\": false,\n \"description\": \"Default master key that protects my Secrets Manager data when no other key is defined\",\n \"key_state\": \"Enabled\",\n \"customer_master_key_spec\": \"SYMMETRIC_DEFAULT\",\n \"enabled\": true,\n \"arn\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_manager\": \"AWS\"\n },\n \"metadata\": {},\n \"reference\": {\n \"resource_id\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"external_link\": \"https://console.aws.amazon.com/kms/home?region=ap-northeast-1#/kms/defaultKeys/0drda5e1-c40f-45d7-a647-xxxxxxx/\"\n },\n \"tags\": {\n \"a\": \"b\"\n },\n \"region_code\": \"ap-northeast-1\"\n}"},"Schema":{} } } },"required": true @@ -2516,52 +2570,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RegionInfo"}, + "schema": {"$ref": "#/components/schemas/CloudServiceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RegionInfo"},"Default Example":{ - "value": "{\n \"region_id\": \"region-e41deed3c939\",\n \"name\": \"Asia Pacific (Seoul)\",\n \"region_key\": \"aws.ap-northeast-2\",\n \"region_code\": \"ap-northeast-2\",\n \"provider\": \"aws\",\n \"tags\": {\n \"continent\": \"asia_pacific\",\n \"longitude\": \"73.013805\",\n \"latitude\": \"19.147428\"\n },\n \"domain_id\": \"domain-x1b3c34v432\",\n \"workspace_id\": \"workspace-123456789012\",\n \"created_at\": \"2021-11-18T13:07:31.382Z\",\n \"updated_at\": \"2022-06-17T00:07:35.469Z\"\n}" + "Schema": {"$ref": "#/components/schemas/CloudServiceInfo"},"Default Example":{ + "value": "{\n \"cloud_service_id\": \"cloud-svc-c00f38a173e1\",\n \"name\": \"cloud_service_test\",\n \"state\": \"ACTIVE\",\n \"account\": \"251340636361\",\n \"cloud_service_type\": \"Key\",\n \"cloud_service_group\": \"KMS\",\n \"provider\": \"aws\",\n \"data\": {\n \"alias_arn\": null,\n \"origin\": \"AWS_KMS\",\n \"cloudwatch\": {\n \"region_name\": \"ap-northeast-1\",\n \"namespace\": \"AWS/KMS\",\n \"dimensions\": [\n {\n \"Value\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"Name\": \"KeyId\"\n }\n ]\n },\n \"aws_account_id\": \"251340636361\",\n \"creation_date\": \"2020-07-09T09:39:03.097000+0000\",\n \"encryption_algorithms\": [\n \"SYMMETRIC_DEFAULT\"\n ],\n \"key_usage\": \"ENCRYPT_DECRYPT\",\n \"key_id\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_type_path\": \"defaultKeys\",\n \"key_rotated\": false,\n \"description\": \"Default master key that protects my Secrets Manager data when no other key is defined\",\n \"key_state\": \"Enabled\",\n \"customer_master_key_spec\": \"SYMMETRIC_DEFAULT\",\n \"enabled\": true,\n \"arn\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_manager\": \"AWS\"\n },\n \"metadata\": {\n \"manual\": {}\n },\n \"reference\": {\n \"resource_id\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"external_link\": \"https://console.aws.amazon.com/kms/home?region=ap-northeast-1#/kms/defaultKeys/0drda5e1-c40f-45d7-a647-xxxxxxx/\"\n },\n \"tags\": {\n \"a\": \"b\"\n },\n \"collection_info\": {\n \"service_account_id\": \"sa-abcd1234\",\n \"secret_id\": \"secret-abcd1234\",\n \"collector_id\": \"collector-abcd1234\",\n \"last_collected_at\": \"2022-06-22T06:38:48.989Z\"\n },\n \"ip_addresses\": [],\n \"region_code\": \"ap-northeast-1\",\n \"workspace_id\": \"workspace-58010aa2e451\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T06:38:48.989Z\",\n \"updated_at\": \"2022-06-22T06:38:48.989Z\",\n \"launched_at\": \"2020-08-03T15:00:54.000Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/region/delete": { - "post": { - "tags": ["inventory > region"], - "summary": "Delete", - "operationId" : "", - "description": "### Description \nDeletes a specific Region. You must specify the `region_id` of the Region to delete.", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |region_id||string|True|\n
", - "content": { - "application/json": { - "schema": { - "properties": {"region_id" : {"type": "string","title": "REGION_ID" } } - }, - "examples":{"Default Example":{"value": "{\n \"region_id\": \"region-e41deed3c939\"\n}"},"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response"} - } - ,"security": [{"HTTPBearer": []}] } - },"/inventory/region/get": { + },"/inventory/cloud-service/update": { "post": { - "tags": ["inventory > region"], - "summary": "Get", + "tags": ["inventory > cloud-service"], + "summary": "Update", "operationId" : "", - "description": "### Description \nGets a specific Region. Prints detailed information about the Region, including `name`, `region_code`, and a location coordinate.", + "description": "### Description \nUpdates a specific CloudService. You can make changes in CloudService settings, except for the classification system of CloudService and the information about the `resource` attribute value.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |region_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cloud_service_id||string|True|\n |name||string||\n |account||string||\n |instance_type||string||\n |instance_size||float||\n |ip_addresses||array||\n |data||Struct||\n |metadata||Struct||\n |reference||CloudServiceReference||\n |tags||Struct||\n |region_code||string||\n |project_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"region_id" : {"type": "string","title": "REGION_ID" } } + "properties": {"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID" },"name" : {"type": "string","title": "NAME" },"account" : {"type": "string","title": "ACCOUNT" },"instance_type" : {"type": "string","title": "INSTANCE_TYPE" },"instance_size" : {"type": "float","title": "INSTANCE_SIZE" },"ip_addresses" : {"items": {}, "type": "array","title": "IP_ADDRESSES" },"data" : {"type": "object","title": "DATA" },"metadata" : {"type": "object","title": "METADATA" },"reference" : {"$ref": "#/components/schemas/CloudServiceReference","title": "REFERENCE" },"tags" : {"type": "object","title": "TAGS" },"region_code" : {"type": "string","title": "REGION_CODE" },"project_id" : {"type": "string","title": "PROJECT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"region_id\": \"region-e41deed3c939\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"cloud_service_id\": \"cloud-svc-c00f38a173e1\",\n \"name\": \"cloud_service_test2\",\n \"ip_addresses\": [\n \"1.1.1.1\",\n \"2.2.2.2\"\n ],\n \"tags\": {\n \"description\": \"spaceone\"\n },\n \"region_code\": \"ap-northeast-2\"\n}"},"Schema":{} } } },"required": true @@ -2570,60 +2601,52 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RegionInfo"}, + "schema": {"$ref": "#/components/schemas/CloudServiceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RegionInfo"},"Default Example":{ - "value": "{\n \"region_id\": \"region-e41deed3c939\",\n \"name\": \"Asia Pacific (Seoul)\",\n \"region_key\": \"aws.ap-northeast-2\",\n \"region_code\": \"ap-northeast-2\",\n \"provider\": \"aws\",\n \"tags\": {\n \"continent\": \"asia_pacific\",\n \"longitude\": \"73.013805\",\n \"latitude\": \"19.147428\"\n },\n \"domain_id\": \"domain-x1b3c34v432\",\n \"workspace_id\": \"workspace-123456789012\",\n \"created_at\": \"2021-11-18T13:07:31.382Z\",\n \"updated_at\": \"2022-06-17T00:07:35.469Z\"\n}" + "Schema": {"$ref": "#/components/schemas/CloudServiceInfo"},"Default Example":{ + "value": "{\n \"cloud_service_id\": \"cloud-svc-c00f38a173e1\",\n \"name\": \"cloud_service_test\",\n \"state\": \"ACTIVE\",\n \"account\": \"251340636361\",\n \"cloud_service_type\": \"Key\",\n \"cloud_service_group\": \"KMS\",\n \"provider\": \"aws\",\n \"data\": {\n \"alias_arn\": null,\n \"origin\": \"AWS_KMS\",\n \"cloudwatch\": {\n \"region_name\": \"ap-northeast-1\",\n \"namespace\": \"AWS/KMS\",\n \"dimensions\": [\n {\n \"Value\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"Name\": \"KeyId\"\n }\n ]\n },\n \"aws_account_id\": \"251340636361\",\n \"creation_date\": \"2020-07-09T09:39:03.097000+0000\",\n \"encryption_algorithms\": [\n \"SYMMETRIC_DEFAULT\"\n ],\n \"key_usage\": \"ENCRYPT_DECRYPT\",\n \"key_id\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_type_path\": \"defaultKeys\",\n \"key_rotated\": false,\n \"description\": \"Default master key that protects my Secrets Manager data when no other key is defined\",\n \"key_state\": \"Enabled\",\n \"customer_master_key_spec\": \"SYMMETRIC_DEFAULT\",\n \"enabled\": true,\n \"arn\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_manager\": \"AWS\"\n },\n \"metadata\": {\n \"manual\": {}\n },\n \"reference\": {\n \"resource_id\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"external_link\": \"https://console.aws.amazon.com/kms/home?region=ap-northeast-1#/kms/defaultKeys/0drda5e1-c40f-45d7-a647-xxxxxxx/\"\n },\n \"tags\": {\n \"a\": \"b\"\n },\n \"collection_info\": {\n \"service_account_id\": \"sa-abcd1234\",\n \"secret_id\": \"secret-abcd1234\",\n \"collector_id\": \"collector-abcd1234\",\n \"last_collected_at\": \"2022-06-22T06:38:48.989Z\"\n },\n \"ip_addresses\": [],\n \"region_code\": \"ap-northeast-1\",\n \"workspace_id\": \"workspace-58010aa2e451\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T06:38:48.989Z\",\n \"updated_at\": \"2022-06-22T06:38:48.989Z\",\n \"launched_at\": \"2020-08-03T15:00:54.000Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/region/list": { + },"/inventory/cloud-service/delete": { "post": { - "tags": ["inventory > region"], - "summary": "List", + "tags": ["inventory > cloud-service"], + "summary": "Delete", "operationId" : "", - "description": "### Description \nGets a list of all Regions. You can use a query to get a filtered list of Regions.", + "description": "### Description \nDeletes a specific CloudService. You must specify the `cloud_service_id` of the CloudService to delete.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |region_id||string||\n |name||string||\n |region_key||string||\n |region_code||string||\n |provider||string||\n |workspace_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cloud_service_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"region_id" : {"type": "string","title": "REGION_ID" },"name" : {"type": "string","title": "NAME" },"region_key" : {"type": "string","title": "REGION_KEY" },"region_code" : {"type": "string","title": "REGION_CODE" },"provider" : {"type": "string","title": "PROVIDER" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" } } + "properties": {"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": {\n \"filter\": [\n {\n \"key\": \"name\",\n \"value\": \"Asia Pacific\",\n \"operator\": \"contain\"\n }\n ]\n }\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"cloud_service_id\": \"cloud-svc-fea2b0d32141\"\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/RegionsInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/RegionsInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"region_id\": \"region-e41deed3c939\",\n \"name\": \"Asia Pacific (Mumbai)\",\n \"region_key\": \"aws.ap-south-1\",\n \"region_code\": \"ap-south-1\",\n \"provider\": \"aws\",\n \"tags\": {\n \"continent\": \"asia_pacific\",\n \"longitude\": \"73.013805\",\n \"latitude\": \"19.147428\"\n },\n \"domain_id\": \"domain-x1b3c34v432\",\n \"workspace_id\": \"workspace-123456789012\",\n \"created_at\": \"2021-11-18T13:07:31.382Z\",\n \"updated_at\": \"2022-06-17T00:07:35.469Z\"\n },\n {\n \"region_id\": \"region-f803eb00b567\",\n \"name\": \"Asia Pacific (Seoul)\",\n \"region_key\": \"aws.ap-northeast-2\",\n \"region_code\": \"ap-northeast-2\",\n \"provider\": \"aws\",\n \"tags\": {\n \"latitude\": \"6.34545\",\n \"continent\": \"asia_pacific\",\n \"longitude\": \"5.6433213\"\n },\n \"domain_id\": \"domain-x1b3c34v432\",\n \"workspace_id\": \"workspace-123456789012\",\n \"created_at\": \"2022-03-21T09:08:31.961Z\",\n \"updated_at\": \"2022-06-17T00:07:35.749Z\"\n }\n ],\n \"total_count\": 2\n}" - }} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/region/stat": { + },"/inventory/cloud-service/get": { "post": { - "tags": ["inventory > region"], - "summary": "Stat", + "tags": ["inventory > cloud-service"], + "summary": "Get", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nGets a specific CloudService. Prints detailed information about the CloudService, including its state, classification information, and attribute values.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |cloud_service_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"cloud_service_id\": \"cloud-svc-fea2b0d32141\"\n}"},"Schema":{} } } },"required": true @@ -2632,50 +2655,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/CloudServiceInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/CloudServiceInfo"},"Default Example":{ + "value": "{\n \"cloud_service_id\": \"cloud-svc-c00f38a173e1\",\n \"name\": \"cloud_service_test\",\n \"state\": \"ACTIVE\",\n \"account\": \"251340636361\",\n \"cloud_service_type\": \"Key\",\n \"cloud_service_group\": \"KMS\",\n \"provider\": \"aws\",\n \"data\": {\n \"alias_arn\": null,\n \"origin\": \"AWS_KMS\",\n \"cloudwatch\": {\n \"region_name\": \"ap-northeast-1\",\n \"namespace\": \"AWS/KMS\",\n \"dimensions\": [\n {\n \"Value\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"Name\": \"KeyId\"\n }\n ]\n },\n \"aws_account_id\": \"251340636361\",\n \"creation_date\": \"2020-07-09T09:39:03.097000+0000\",\n \"encryption_algorithms\": [\n \"SYMMETRIC_DEFAULT\"\n ],\n \"key_usage\": \"ENCRYPT_DECRYPT\",\n \"key_id\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_type_path\": \"defaultKeys\",\n \"key_rotated\": false,\n \"description\": \"Default master key that protects my Secrets Manager data when no other key is defined\",\n \"key_state\": \"Enabled\",\n \"customer_master_key_spec\": \"SYMMETRIC_DEFAULT\",\n \"enabled\": true,\n \"arn\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_manager\": \"AWS\"\n },\n \"metadata\": {\n \"manual\": {}\n },\n \"reference\": {\n \"resource_id\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"external_link\": \"https://console.aws.amazon.com/kms/home?region=ap-northeast-1#/kms/defaultKeys/0drda5e1-c40f-45d7-a647-xxxxxxx/\"\n },\n \"tags\": {\n \"a\": \"b\"\n },\n \"collection_info\": {\n \"service_account_id\": \"sa-abcd1234\",\n \"secret_id\": \"secret-abcd1234\",\n \"collector_id\": \"collector-abcd1234\",\n \"last_collected_at\": \"2022-06-22T06:38:48.989Z\"\n },\n \"ip_addresses\": [],\n \"region_code\": \"ap-northeast-1\",\n \"workspace_id\": \"workspace-58010aa2e451\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T06:38:48.989Z\",\n \"updated_at\": \"2022-06-22T06:38:48.989Z\",\n \"launched_at\": \"2020-08-03T15:00:54.000Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/job/delete": { - "post": { - "tags": ["inventory > job"], - "summary": "Delete", - "operationId" : "", - "description": "### Description \nDeletes a specific Job. You must specify the `job_id` of the Job to delete.", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_id||string|True|\n
", - "content": { - "application/json": { - "schema": { - "properties": {"job_id" : {"type": "string","title": "JOB_ID" } } - }, - "examples":{"Default Example":{"value": "{\n \"job_id\": \"job-123456789012\",\n}"},"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response"} - } - ,"security": [{"HTTPBearer": []}] } - },"/inventory/job/get": { + },"/inventory/cloud-service/list": { "post": { - "tags": ["inventory > job"], - "summary": "Get", + "tags": ["inventory > cloud-service"], + "summary": "List", "operationId" : "", - "description": "### Description \nGets a specific Job. Prints detailed information about the Job, including its state, total tasks, and collector info.", + "description": "### Description \nGets a list of all CloudServices. You can use a query to get a filtered list of CloudServices.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |job_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |cloud_service_id||string||\n |name||string||\n |state||string||\n |ip_address||string||\n |account||string||\n |instance_type||string||\n |cloud_service_type||string||\n |cloud_service_group||string||\n |provider||string||\n |region_code||string||\n |workspace_id||string||\n |project_id||string||\n |project_group_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"job_id" : {"type": "string","title": "JOB_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"ip_address" : {"type": "string","title": "IP_ADDRESS" },"account" : {"type": "string","title": "ACCOUNT" },"instance_type" : {"type": "string","title": "INSTANCE_TYPE" },"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE" },"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP" },"provider" : {"type": "string","title": "PROVIDER" },"region_code" : {"type": "string","title": "REGION_CODE" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"job_id\": \"job-123456789012\",\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query\": {\n \"filter\": [\n {\n \"key\": \"cloud_service_type\",\n \"value\": \"Key\",\n \"operator\": \"eq\"\n }\n ]\n }\n}"},"Schema":{} } } },"required": true @@ -2684,29 +2686,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/JobInfo"}, + "schema": {"$ref": "#/components/schemas/CloudServicesInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/JobInfo"},"Default Example":{ - "value": "{\n \"job_id\": \"job-123456789012\",\n \"status\": \"ERROR\",\n \"filter\": {},\n \"total_tasks\": 2,\n \"collector_info\": {\n \"collector_id\": \"collector-123456789012\",\n \"name\": \"Jenkins Collector\",\n \"state\": \"ENABLED\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-jenkins-inven-collector\",\n \"version\": \"0.1.1\"\n },\n \"provider\": \"jenkins\",\n \"capability\": {},\n \"is_public\": true\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T10:00:01.389Z\",\n \"updated_at\": \"2022-01-01T10:00:01.389Z\",\n \"finished_at\": \"2022-01-01T10:02:11.270Z\"\n}" + "Schema": {"$ref": "#/components/schemas/CloudServicesInfo"},"Default Example":{ + "value": "{\n \"results\": [{\n \"cloud_service_id\": \"cloud-svc-c00f38a173e1\",\n \"name\": \"cloud_service_test2\",\n \"state\": \"ACTIVE\",\n \"account\": \"251340636361\",\n \"cloud_service_type\": \"Key\",\n \"cloud_service_group\": \"KMS\",\n \"provider\": \"aws\",\n \"data\": {\n \"alias_arn\": null,\n \"origin\": \"AWS_KMS\",\n \"cloudwatch\": {\n \"region_name\": \"ap-northeast-1\",\n \"namespace\": \"AWS/KMS\",\n \"dimensions\": [\n {\n \"Value\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"Name\": \"KeyId\"\n }\n ]\n },\n \"aws_account_id\": \"251340636361\",\n \"creation_date\": \"2020-07-09T09:39:03.097000+0000\",\n \"encryption_algorithms\": [\n \"SYMMETRIC_DEFAULT\"\n ],\n \"key_usage\": \"ENCRYPT_DECRYPT\",\n \"key_id\": \"0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_type_path\": \"defaultKeys\",\n \"key_rotated\": false,\n \"description\": \"Default master key that protects my Secrets Manager data when no other key is defined\",\n \"key_state\": \"Enabled\",\n \"customer_master_key_spec\": \"SYMMETRIC_DEFAULT\",\n \"enabled\": true,\n \"arn\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"key_manager\": \"AWS\"\n },\n \"metadata\": {\n \"manual\": {}\n },\n \"reference\": {\n \"resource_id\": \"arn:aws:kms:ap-northeast-1:251340636361:key/0drda5e1-c40f-45d7-a647-xxxxxxx\",\n \"external_link\": \"https://console.aws.amazon.com/kms/home?region=ap-northeast-1#/kms/defaultKeys/0drda5e1-c40f-45d7-a647-xxxxxxx/\"\n },\n \"tags\": {\n \"description\": \"spaceone\"\n },\n \"collection_info\": {\n \"service_account_id\": \"sa-abcd1234\",\n \"secret_id\": \"secret-abcd1234\",\n \"collector_id\": \"collector-abcd1234\",\n \"last_collected_at\": \"2022-06-22T06:38:48.989Z\"\n },\n \"ip_addresses\": [\n \"1.1.1.1\",\n \"2.2.2.2\"\n ],\n \"region_code\": \"ap-northeast-1\",\n \"workspace_id\": \"workspace-58010aa2e451\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-22T06:38:48.989Z\",\n \"updated_at\": \"2022-06-22T06:38:48.989Z\",\n \"launched_at\": \"2020-08-03T15:00:54.000Z\"\n }],\n \"total_count\": 1\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/job/list": { + },"/inventory/cloud-service/export": { "post": { - "tags": ["inventory > job"], - "summary": "List", + "tags": ["inventory > cloud-service"], + "summary": "Export", "operationId" : "", - "description": "### Description \nGets a list of all Jobs. You can use a query to get a filtered list of Jobs.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |job_id||string||\n |status|CANCELED, IN_PROGRESS, SUCCESS, FAILURE, TIMEOUT |string||\n |workspace_id||string||\n |collector_id||string||\n |plugin_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |options||array|True|\n |file_format|EXCEL, CSV |string||\n |file_name||string||\n |timezone||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"job_id" : {"type": "string","title": "JOB_ID" },"status" : {"type": "string","title": "STATUS" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"collector_id" : {"type": "string","title": "COLLECTOR_ID" },"plugin_id" : {"type": "string","title": "PLUGIN_ID" } } + "properties": {"options" : {"items": {"$ref": "#/components/schemas/ExportOption"}, "type": "array","title": "OPTIONS" },"file_format" : {"type": "string","title": "FILE_FORMAT" },"file_name" : {"type": "string","title": "FILE_NAME" },"timezone" : {"type": "string","title": "TIMEZONE" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -2715,18 +2717,16 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/JobsInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/JobsInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"job_id\": \"job-3b124006c2d2\",\n \"status\": \"SUCCESS\",\n \"filter\": {},\n \"total_tasks\": 2,\n \"collector_info\": {\n \"collector_id\": \"collector-accd02663b3d\",\n \"name\": \"openstack-collector\",\n \"state\": \"ENABLED\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-openstack-inven-collector\",\n \"version\": \"0.4.2.20220616.134758\"\n },\n \"provider\": \"openstack\",\n \"capability\": {\n \"supported_schema\": [\n \"openstack_credentials\"\n ]\n },\n \"is_public\": true\n },\n \"resource_group\": \"DOMAIN\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-17T08:00:01.225Z\",\n \"updated_at\": \"2022-06-17T08:00:01.225Z\",\n \"finished_at\": \"2022-06-17T08:00:15.197Z\"\n },\n {\n \"job_id\": \"job-587a3d3b4db3\",\n \"status\": \"SUCCESS\",\n \"filter\": {},\n \"total_tasks\": 3,\n \"collector_info\": {\n \"collector_id\": \"collector-2c0847644f39\",\n \"name\": \"AWS stat-kwon Collector\",\n \"state\": \"ENABLED\",\n \"plugin_info\": {\n \"plugin_id\": \"plugin-30d21ef75a5d\",\n \"version\": \"1.13.13.20220610.143142\"\n },\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\"\n ]\n },\n \"is_public\": true\n },\n \"resource_group\": \"DOMAIN\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-17T08:00:00.407Z\",\n \"updated_at\": \"2022-06-17T08:00:00.407Z\",\n \"finished_at\": \"2022-06-17T08:07:32.023Z\"\n }\n ],\n \"total_count\": 2\n}" - }} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/job/analyze": { + },"/inventory/cloud-service/analyze": { "post": { - "tags": ["inventory > job"], + "tags": ["inventory > cloud-service"], "summary": "Analyze", "operationId" : "", "description": "### Description \n", @@ -2753,9 +2753,9 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/inventory/job/stat": { + },"/inventory/cloud-service/stat": { "post": { - "tags": ["inventory > job"], + "tags": ["inventory > cloud-service"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -2786,68 +2786,48 @@ }, "components":{ "schemas": { - "ChangeHistoryInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/RecordInfo"}, - "type": "array","$ref": "#/components/schemas/RecordInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "CreateNamespaceRequest": { + "properties" : {"namespace_id" : {"type": "string","title": "NAMESPACE_ID"},"name" : {"type": "string","title": "NAME"},"category" : {"type": "string","title": "CATEGORY"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"group" : {"type": "string","title": "GROUP"},"icon" : {"type": "string","title": "ICON"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, "type": "object", - "required": ["results","total_count"], - "title": "ChangeHistoryInfo" + "required": ["name","category","resource_type","resource_group"], + "title": "CreateNamespaceRequest" } - , "ChangeHistoryQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"},"action" : {"type": "string","title": "ACTION"},"user_id" : {"type": "string","title": "USER_ID"},"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"job_id" : {"type": "string","title": "JOB_ID"},"updated_by" : {"type": "string","title": "UPDATED_BY"}}, + , "NamespaceInfo": { + "properties" : {"namespace_id" : {"type": "string","title": "NAMESPACE_ID"},"name" : {"type": "string","title": "NAME"},"category" : {"type": "string","title": "CATEGORY"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"group" : {"type": "string","title": "GROUP"},"icon" : {"type": "string","title": "ICON"},"tags" : {"type": "object","title": "TAGS"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, "type": "object", - "required": ["cloud_service_id"], - "title": "ChangeHistoryQuery" + "required": ["namespace_id","name","category","resource_type","group","icon","tags","is_managed","resource_group","domain_id","workspace_id","created_at","updated_at"], + "title": "NamespaceInfo" } - , "ChangeHistoryStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"}}, + , "NamespaceQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"namespace_id" : {"type": "string","title": "NAMESPACE_ID"},"category" : {"type": "string","title": "CATEGORY"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"group" : {"type": "string","title": "GROUP"},"is_managed" : {"type": "string","title": "IS_MANAGED"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, "type": "object", - "required": ["query","cloud_service_id"], - "title": "ChangeHistoryStatQuery" + "required": [], + "title": "NamespaceQuery" } - , "RecordInfo": { - "properties" : {"record_id" : {"type": "string","title": "RECORD_ID"},"action" : {"type": "string","title": "ACTION"},"diff" : {"type": "array","title": "DIFF"},"diff_count" : {"type": "integer","title": "DIFF_COUNT"},"updated_by" : {"type": "string","title": "UPDATED_BY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"},"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"job_id" : {"type": "string","title": "JOB_ID"},"user_id" : {"type": "string","title": "USER_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + , "NamespaceRequest": { + "properties" : {"namespace_id" : {"type": "string","title": "NAMESPACE_ID"}}, "type": "object", - "required": ["record_id","action","diff","diff_count","updated_by","domain_id","cloud_service_id","collector_id","job_id","user_id","created_at"], - "title": "RecordInfo" + "required": ["namespace_id"], + "title": "NamespaceRequest" } - , "AuthenticationRequest": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "NamespaceStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", - "required": ["domain_id"], - "title": "AuthenticationRequest" + "required": ["query"], + "title": "NamespaceStatQuery" } - , "AuthenticationResponse": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"public_key" : {"type": "string","title": "PUBLIC_KEY"}}, + , "NamespacesInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/NamespaceInfo"}, + "type": "array","$ref": "#/components/schemas/NamespaceInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": ["domain_id","public_key"], - "title": "AuthenticationResponse" + "required": ["results","total_count"], + "title": "NamespacesInfo" } - , "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"}}, + , "UpdateNamespaceRequest": { + "properties" : {"namespace_id" : {"type": "string","title": "NAMESPACE_ID"},"name" : {"type": "string","title": "NAME"},"icon" : {"type": "string","title": "ICON"},"tags" : {"type": "object","title": "TAGS"}}, "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" + "required": ["namespace_id"], + "title": "UpdateNamespaceRequest" } , "AggregateCount": { "properties" : {"name" : {"type": "string","title": "NAME"}}, @@ -3018,6 +2998,98 @@ "required": ["path","filter"], "title": "Unwind" } + , "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" + } + , "CloudServiceReportInfo": { + "properties" : {"report_id" : {"type": "string","title": "REPORT_ID"},"name" : {"type": "string","title": "NAME"},"options" : {"items": {"$ref": "#/components/schemas/ExportOption"}, + "type": "array","$ref": "#/components/schemas/ExportOption","title": "OPTIONS"},"file_format" : {"type": "string","title": "FILE_FORMAT"},"timezone" : {"type": "string","title": "TIMEZONE"},"language" : {"type": "string","title": "LANGUAGE"},"schedule" : {"$ref": "#/components/schemas/ReportSchedule","title": "SCHEDULE"},"target" : {"type": "object","title": "TARGET"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"last_sent_at" : {"type": "string","title": "LAST_SENT_AT"}}, + "type": "object", + "required": ["report_id","name","options","file_format","timezone","language","schedule","target","tags","resource_group","domain_id","workspace_id","created_at","last_sent_at"], + "title": "CloudServiceReportInfo" + } + , "CloudServiceReportQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"report_id" : {"type": "string","title": "REPORT_ID"},"name" : {"type": "string","title": "NAME"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + "type": "object", + "required": [], + "title": "CloudServiceReportQuery" + } + , "CloudServiceReportRequest": { + "properties" : {"report_id" : {"type": "string","title": "REPORT_ID"}}, + "type": "object", + "required": ["report_id"], + "title": "CloudServiceReportRequest" + } + , "CloudServiceReportStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + "type": "object", + "required": ["query"], + "title": "CloudServiceReportStatQuery" + } + , "CloudServiceReportsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CloudServiceReportInfo"}, + "type": "array","$ref": "#/components/schemas/CloudServiceReportInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "CloudServiceReportsInfo" + } + , "CreateCloudServiceReportRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"options" : {"items": {"$ref": "#/components/schemas/ExportOption"}, + "type": "array","$ref": "#/components/schemas/ExportOption","title": "OPTIONS"},"file_format" : {"type": "string","title": "FILE_FORMAT"},"timezone" : {"type": "string","title": "TIMEZONE"},"language" : {"type": "string","title": "LANGUAGE"},"schedule" : {"$ref": "#/components/schemas/ReportSchedule","title": "SCHEDULE"},"target" : {"type": "object","title": "TARGET"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + "type": "object", + "required": ["name","options","schedule","target","resource_group"], + "title": "CreateCloudServiceReportRequest" + } + , "ReportSchedule": { + "properties" : {"state" : {"type": "string","title": "STATE"},"hours" : {"items": {"type": "integer"}, + "type": "array","title": "HOURS"},"days_of_week" : {"items": {"type": "string"}, + "type": "array","title": "DAYS_OF_WEEK"}}, + "type": "object", + "required": ["state","hours","days_of_week"], + "title": "ReportSchedule" + } + , "UpdateCloudServiceReportRequest": { + "properties" : {"report_id" : {"type": "string","title": "REPORT_ID"},"name" : {"type": "string","title": "NAME"},"options" : {"items": {"$ref": "#/components/schemas/ExportOption"}, + "type": "array","$ref": "#/components/schemas/ExportOption","title": "OPTIONS"},"file_format" : {"type": "string","title": "FILE_FORMAT"},"timezone" : {"type": "string","title": "TIMEZONE"},"language" : {"type": "string","title": "LANGUAGE"},"schedule" : {"$ref": "#/components/schemas/ReportSchedule","title": "SCHEDULE"},"target" : {"type": "object","title": "TARGET"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["report_id"], + "title": "UpdateCloudServiceReportRequest" + } , "CloudServiceTypeInfo": { "properties" : {"cloud_service_type_id" : {"type": "string","title": "CLOUD_SERVICE_TYPE_ID"},"name" : {"type": "string","title": "NAME"},"provider" : {"type": "string","title": "PROVIDER"},"group" : {"type": "string","title": "GROUP"},"cloud_service_type_key" : {"type": "string","title": "CLOUD_SERVICE_TYPE_KEY"},"service_code" : {"type": "string","title": "SERVICE_CODE"},"is_primary" : {"type": "boolean","title": "IS_PRIMARY"},"is_major" : {"type": "boolean","title": "IS_MAJOR"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"metadata" : {"type": "object","title": "METADATA"},"tags" : {"type": "object","title": "TAGS"},"labels" : {"type": "array","title": "LABELS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, "type": "object", @@ -3061,164 +3133,253 @@ "required": ["cloud_service_type_id"], "title": "UpdateCloudServiceTypeRequest" } - , "CreateNamespaceRequest": { - "properties" : {"namespace_id" : {"type": "string","title": "NAMESPACE_ID"},"name" : {"type": "string","title": "NAME"},"category" : {"type": "string","title": "CATEGORY"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"group" : {"type": "string","title": "GROUP"},"icon" : {"type": "string","title": "ICON"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, - "type": "object", - "required": ["name","category","resource_type","resource_group"], - "title": "CreateNamespaceRequest" - } - , "NamespaceInfo": { - "properties" : {"namespace_id" : {"type": "string","title": "NAMESPACE_ID"},"name" : {"type": "string","title": "NAME"},"category" : {"type": "string","title": "CATEGORY"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"group" : {"type": "string","title": "GROUP"},"icon" : {"type": "string","title": "ICON"},"tags" : {"type": "object","title": "TAGS"},"is_managed" : {"type": "boolean","title": "IS_MANAGED"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + , "MetricDataAnalyzeQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY"},"metric_id" : {"type": "string","title": "METRIC_ID"}}, "type": "object", - "required": ["namespace_id","name","category","resource_type","group","icon","tags","is_managed","resource_group","domain_id","workspace_id","created_at","updated_at"], - "title": "NamespaceInfo" + "required": ["query","metric_id"], + "title": "MetricDataAnalyzeQuery" } - , "NamespaceQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"namespace_id" : {"type": "string","title": "NAMESPACE_ID"},"category" : {"type": "string","title": "CATEGORY"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"group" : {"type": "string","title": "GROUP"},"is_managed" : {"type": "string","title": "IS_MANAGED"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + , "MetricDataInfo": { + "properties" : {"metric_id" : {"type": "string","title": "METRIC_ID"},"value" : {"type": "float","title": "VALUE"},"unit" : {"type": "string","title": "UNIT"},"labels" : {"type": "object","title": "LABELS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"namespace_id" : {"type": "string","title": "NAMESPACE_ID"},"created_year" : {"type": "string","title": "CREATED_YEAR"},"created_month" : {"type": "string","title": "CREATED_MONTH"},"created_date" : {"type": "string","title": "CREATED_DATE"}}, "type": "object", - "required": [], - "title": "NamespaceQuery" + "required": ["metric_id","value","unit","labels","domain_id","workspace_id","project_id","service_account_id","namespace_id","created_year","created_month","created_date"], + "title": "MetricDataInfo" } - , "NamespaceRequest": { - "properties" : {"namespace_id" : {"type": "string","title": "NAMESPACE_ID"}}, + , "MetricDataQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"metric_id" : {"type": "string","title": "METRIC_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, "type": "object", - "required": ["namespace_id"], - "title": "NamespaceRequest" + "required": ["metric_id"], + "title": "MetricDataQuery" } - , "NamespaceStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + , "MetricDataStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"metric_id" : {"type": "string","title": "METRIC_ID"}}, "type": "object", "required": ["query"], - "title": "NamespaceStatQuery" + "title": "MetricDataStatQuery" } - , "NamespacesInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/NamespaceInfo"}, - "type": "array","$ref": "#/components/schemas/NamespaceInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "MetricDatasInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/MetricDataInfo"}, + "type": "array","$ref": "#/components/schemas/MetricDataInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "NamespacesInfo" + "title": "MetricDatasInfo" } - , "UpdateNamespaceRequest": { - "properties" : {"namespace_id" : {"type": "string","title": "NAMESPACE_ID"},"name" : {"type": "string","title": "NAME"},"icon" : {"type": "string","title": "ICON"},"tags" : {"type": "object","title": "TAGS"}}, + , "CloudServiceStatInfo": { + "properties" : {"query_set_id" : {"type": "string","title": "QUERY_SET_ID"},"data" : {"type": "object","title": "DATA"},"unit" : {"type": "object","title": "UNIT"},"provider" : {"type": "string","title": "PROVIDER"},"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP"},"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE"},"region_code" : {"type": "string","title": "REGION_CODE"},"account" : {"type": "string","title": "ACCOUNT"},"additional_info" : {"type": "object","title": "ADDITIONAL_INFO"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"created_date" : {"type": "string","title": "CREATED_DATE"}}, "type": "object", - "required": ["namespace_id"], - "title": "UpdateNamespaceRequest" + "required": ["query_set_id","data","unit","provider","cloud_service_group","cloud_service_type","region_code","account","additional_info","domain_id","workspace_id","project_id","created_date"], + "title": "CloudServiceStatInfo" } - , "CloudServiceQuerySetInfo": { - "properties" : {"query_set_id" : {"type": "string","title": "QUERY_SET_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"query_options" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY_OPTIONS"},"query_type" : {"type": "string","title": "QUERY_TYPE"},"unit" : {"type": "object","title": "UNIT"},"data_keys" : {"items": {"type": "string"}, - "type": "array","title": "DATA_KEYS"},"additional_info_keys" : {"items": {"type": "string"}, - "type": "array","title": "ADDITIONAL_INFO_KEYS"},"provider" : {"type": "string","title": "PROVIDER"},"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP"},"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + , "CloudServiceStatsAnalyzeQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY"},"query_set_id" : {"type": "string","title": "QUERY_SET_ID"}}, "type": "object", - "required": ["query_set_id","name","state","query_options","query_type","unit","data_keys","additional_info_keys","provider","cloud_service_group","cloud_service_type","tags","resource_group","domain_id","workspace_id","created_at","updated_at"], - "title": "CloudServiceQuerySetInfo" + "required": ["query","query_set_id"], + "title": "CloudServiceStatsAnalyzeQuery" } - , "CloudServiceQuerySetQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"query_set_id" : {"type": "string","title": "QUERY_SET_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"query_type" : {"type": "string","title": "QUERY_TYPE"},"provider" : {"type": "string","title": "PROVIDER"},"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP"},"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + , "CloudServiceStatsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CloudServiceStatInfo"}, + "type": "array","$ref": "#/components/schemas/CloudServiceStatInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": [], - "title": "CloudServiceQuerySetQuery" + "required": ["results","total_count"], + "title": "CloudServiceStatsInfo" } - , "CloudServiceQuerySetRequest": { - "properties" : {"query_set_id" : {"type": "string","title": "QUERY_SET_ID"}}, + , "CloudServiceStatsQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"query_set_id" : {"type": "string","title": "QUERY_SET_ID"},"provider" : {"type": "string","title": "PROVIDER"},"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP"},"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE"},"region_code" : {"type": "string","title": "REGION_CODE"},"account" : {"type": "string","title": "ACCOUNT"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, "type": "object", "required": ["query_set_id"], - "title": "CloudServiceQuerySetRequest" + "title": "CloudServiceStatsQuery" } - , "CloudServiceQuerySetStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + , "CloudServiceStatsStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"query_set_id" : {"type": "string","title": "QUERY_SET_ID"}}, "type": "object", "required": ["query"], - "title": "CloudServiceQuerySetStatQuery" + "title": "CloudServiceStatsStatQuery" } - , "CloudServiceQuerySetsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"}, - "type": "array","$ref": "#/components/schemas/CloudServiceQuerySetInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "JobAnalyzeQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY"}}, "type": "object", - "required": ["results","total_count"], - "title": "CloudServiceQuerySetsInfo" + "required": ["query"], + "title": "JobAnalyzeQuery" } - , "CreateCloudServiceQuerySetRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"query_options" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY_OPTIONS"},"unit" : {"type": "object","title": "UNIT"},"provider" : {"type": "string","title": "PROVIDER"},"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP"},"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + , "JobInfo": { + "properties" : {"job_id" : {"type": "string","title": "JOB_ID"},"status" : {"type": "string","title": "STATUS"},"total_tasks" : {"type": "integer","title": "TOTAL_TASKS"},"remained_tasks" : {"type": "integer","title": "REMAINED_TASKS"},"success_tasks" : {"type": "integer","title": "SUCCESS_TASKS"},"failure_tasks" : {"type": "integer","title": "FAILURE_TASKS"},"request_secret_id" : {"type": "string","title": "REQUEST_SECRET_ID"},"request_workspace_id" : {"type": "string","title": "REQUEST_WORKSPACE_ID"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"},"finished_at" : {"type": "string","title": "FINISHED_AT"}}, "type": "object", - "required": ["name","query_options","provider","cloud_service_group","cloud_service_type","resource_group"], - "title": "CreateCloudServiceQuerySetRequest" + "required": ["job_id","status","total_tasks","remained_tasks","success_tasks","failure_tasks","request_secret_id","request_workspace_id","resource_group","domain_id","workspace_id","collector_id","plugin_id","created_at","updated_at","finished_at"], + "title": "JobInfo" } - , "UpdateCloudServiceQuerySetRequest": { - "properties" : {"query_set_id" : {"type": "string","title": "QUERY_SET_ID"},"name" : {"type": "string","title": "NAME"},"query_options" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY_OPTIONS"},"unit" : {"type": "object","title": "UNIT"},"tags" : {"type": "object","title": "TAGS"}}, + , "JobRequest": { + "properties" : {"job_id" : {"type": "string","title": "JOB_ID"}}, "type": "object", - "required": ["query_set_id"], - "title": "UpdateCloudServiceQuerySetRequest" + "required": ["job_id"], + "title": "JobRequest" } - , "CloudServiceAnalyzeQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY"}}, + , "JobStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "CloudServiceAnalyzeQuery" - } - , "CloudServiceExportRequest": { - "properties" : {"options" : {"items": {"$ref": "#/components/schemas/ExportOption"}, - "type": "array","$ref": "#/components/schemas/ExportOption","title": "OPTIONS"},"file_format" : {"type": "string","title": "FILE_FORMAT"},"file_name" : {"type": "string","title": "FILE_NAME"},"timezone" : {"type": "string","title": "TIMEZONE"}}, - "type": "object", - "required": ["options"], - "title": "CloudServiceExportRequest" + "title": "JobStatQuery" } - , "CloudServiceInfo": { - "properties" : {"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"ip_addresses" : {"items": {"type": "string"}, - "type": "array","title": "IP_ADDRESSES"},"account" : {"type": "string","title": "ACCOUNT"},"instance_type" : {"type": "string","title": "INSTANCE_TYPE"},"instance_size" : {"type": "float","title": "INSTANCE_SIZE"},"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE"},"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP"},"provider" : {"type": "string","title": "PROVIDER"},"data" : {"type": "object","title": "DATA"},"metadata" : {"type": "object","title": "METADATA"},"reference" : {"$ref": "#/components/schemas/CloudServiceReference","title": "REFERENCE"},"tags" : {"type": "object","title": "TAGS"},"tag_keys" : {"type": "object","title": "TAG_KEYS"},"collection_info" : {"$ref": "#/components/schemas/CollectionInfo","title": "COLLECTION_INFO"},"region_code" : {"type": "string","title": "REGION_CODE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"},"deleted_at" : {"type": "string","title": "DELETED_AT"}}, + , "JobsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/JobInfo"}, + "type": "array","$ref": "#/components/schemas/JobInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": ["cloud_service_id","name","state","ip_addresses","account","instance_type","instance_size","cloud_service_type","cloud_service_group","provider","data","metadata","reference","tags","tag_keys","collection_info","region_code","domain_id","workspace_id","project_id","created_at","updated_at","deleted_at"], - "title": "CloudServiceInfo" + "required": ["results","total_count"], + "title": "JobsInfo" } - , "CloudServiceQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"ip_address" : {"type": "string","title": "IP_ADDRESS"},"account" : {"type": "string","title": "ACCOUNT"},"instance_type" : {"type": "string","title": "INSTANCE_TYPE"},"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE"},"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP"},"provider" : {"type": "string","title": "PROVIDER"},"region_code" : {"type": "string","title": "REGION_CODE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"}}, + , "JobsQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"job_id" : {"type": "string","title": "JOB_ID"},"status" : {"type": "string","title": "STATUS"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"}}, "type": "object", "required": [], - "title": "CloudServiceQuery" + "title": "JobsQuery" } - , "CloudServiceReference": { - "properties" : {"resource_id" : {"type": "string","title": "RESOURCE_ID"},"external_link" : {"type": "string","title": "EXTERNAL_LINK"}}, + , "ChangeHistoryInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/RecordInfo"}, + "type": "array","$ref": "#/components/schemas/RecordInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": ["resource_id","external_link"], - "title": "CloudServiceReference" + "required": ["results","total_count"], + "title": "ChangeHistoryInfo" } - , "CloudServiceRequest": { - "properties" : {"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"}}, + , "ChangeHistoryQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"},"action" : {"type": "string","title": "ACTION"},"user_id" : {"type": "string","title": "USER_ID"},"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"job_id" : {"type": "string","title": "JOB_ID"},"updated_by" : {"type": "string","title": "UPDATED_BY"}}, "type": "object", "required": ["cloud_service_id"], - "title": "CloudServiceRequest" + "title": "ChangeHistoryQuery" } - , "CloudServiceStatQuery": { + , "ChangeHistoryStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"}}, + "type": "object", + "required": ["query","cloud_service_id"], + "title": "ChangeHistoryStatQuery" + } + , "RecordInfo": { + "properties" : {"record_id" : {"type": "string","title": "RECORD_ID"},"action" : {"type": "string","title": "ACTION"},"diff" : {"type": "array","title": "DIFF"},"diff_count" : {"type": "integer","title": "DIFF_COUNT"},"updated_by" : {"type": "string","title": "UPDATED_BY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"},"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"job_id" : {"type": "string","title": "JOB_ID"},"user_id" : {"type": "string","title": "USER_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + "type": "object", + "required": ["record_id","action","diff","diff_count","updated_by","domain_id","cloud_service_id","collector_id","job_id","user_id","created_at"], + "title": "RecordInfo" + } + , "ErrorInfo": { + "properties" : {"error_code" : {"type": "string","title": "ERROR_CODE"},"message" : {"type": "string","title": "MESSAGE"},"additional" : {"type": "object","title": "ADDITIONAL"}}, + "type": "object", + "required": ["error_code","message","additional"], + "title": "ErrorInfo" + } + , "JobTaskInfo": { + "properties" : {"job_task_id" : {"type": "string","title": "JOB_TASK_ID"},"status" : {"type": "string","title": "STATUS"},"provider" : {"type": "string","title": "PROVIDER"},"created_count" : {"type": "integer","title": "CREATED_COUNT"},"updated_count" : {"type": "integer","title": "UPDATED_COUNT"},"failure_count" : {"type": "integer","title": "FAILURE_COUNT"},"deleted_count" : {"type": "integer","title": "DELETED_COUNT"},"disconnected_count" : {"type": "integer","title": "DISCONNECTED_COUNT"},"errors" : {"items": {"$ref": "#/components/schemas/ErrorInfo"}, + "type": "array","$ref": "#/components/schemas/ErrorInfo","title": "ERRORS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"job_id" : {"type": "string","title": "JOB_ID"},"secret_id" : {"type": "string","title": "SECRET_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"started_at" : {"type": "string","title": "STARTED_AT"},"finished_at" : {"type": "string","title": "FINISHED_AT"}}, + "type": "object", + "required": ["job_task_id","status","provider","created_count","updated_count","failure_count","deleted_count","disconnected_count","errors","domain_id","workspace_id","project_id","service_account_id","job_id","secret_id","created_at","started_at","finished_at"], + "title": "JobTaskInfo" + } + , "JobTaskQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"job_task_id" : {"type": "string","title": "JOB_TASK_ID"},"status" : {"type": "string","title": "STATUS"},"provider" : {"type": "string","title": "PROVIDER"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"job_id" : {"type": "string","title": "JOB_ID"},"secret_id" : {"type": "string","title": "SECRET_ID"}}, + "type": "object", + "required": [], + "title": "JobTaskQuery" + } + , "JobTaskRequest": { + "properties" : {"job_task_id" : {"type": "string","title": "JOB_TASK_ID"}}, + "type": "object", + "required": ["job_task_id"], + "title": "JobTaskRequest" + } + , "JobTaskStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "CloudServiceStatQuery" + "title": "JobTaskStatQuery" } - , "CloudServicesInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CloudServiceInfo"}, - "type": "array","$ref": "#/components/schemas/CloudServiceInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "JobTasksInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/JobTaskInfo"}, + "type": "array","$ref": "#/components/schemas/JobTaskInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "CloudServicesInfo" + "title": "JobTasksInfo" } - , "CollectionInfo": { - "properties" : {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"secret_id" : {"type": "string","title": "SECRET_ID"},"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"last_collected_at" : {"type": "string","title": "LAST_COLLECTED_AT"}}, + , "CreateRegionRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"region_code" : {"type": "string","title": "REGION_CODE"},"provider" : {"type": "string","title": "PROVIDER"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["service_account_id","secret_id","collector_id","last_collected_at"], - "title": "CollectionInfo" + "required": ["name","region_code"], + "title": "CreateRegionRequest" } - , "CreateServiceRequest": { - "properties" : {"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE"},"provider" : {"type": "string","title": "PROVIDER"},"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP"},"name" : {"type": "string","title": "NAME"},"account" : {"type": "string","title": "ACCOUNT"},"instance_type" : {"type": "string","title": "INSTANCE_TYPE"},"instance_size" : {"type": "float","title": "INSTANCE_SIZE"},"ip_addresses" : {"items": {"type": "string"}, - "type": "array","title": "IP_ADDRESSES"},"data" : {"type": "object","title": "DATA"},"metadata" : {"type": "object","title": "METADATA"},"reference" : {"$ref": "#/components/schemas/CloudServiceReference","title": "REFERENCE"},"tags" : {"type": "object","title": "TAGS"},"region_code" : {"type": "string","title": "REGION_CODE"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, + , "RegionInfo": { + "properties" : {"region_id" : {"type": "string","title": "REGION_ID"},"name" : {"type": "string","title": "NAME"},"region_key" : {"type": "string","title": "REGION_KEY"},"region_code" : {"type": "string","title": "REGION_CODE"},"provider" : {"type": "string","title": "PROVIDER"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, "type": "object", - "required": ["cloud_service_type","provider","cloud_service_group","data"], - "title": "CreateServiceRequest" + "required": ["region_id","name","region_key","region_code","provider","tags","domain_id","workspace_id","created_at","updated_at"], + "title": "RegionInfo" } - , "UpdateCloudServiceRequest": { - "properties" : {"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"},"name" : {"type": "string","title": "NAME"},"account" : {"type": "string","title": "ACCOUNT"},"instance_type" : {"type": "string","title": "INSTANCE_TYPE"},"instance_size" : {"type": "float","title": "INSTANCE_SIZE"},"ip_addresses" : {"items": {"type": "string"}, - "type": "array","title": "IP_ADDRESSES"},"data" : {"type": "object","title": "DATA"},"metadata" : {"type": "object","title": "METADATA"},"reference" : {"$ref": "#/components/schemas/CloudServiceReference","title": "REFERENCE"},"tags" : {"type": "object","title": "TAGS"},"region_code" : {"type": "string","title": "REGION_CODE"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, + , "RegionQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"region_id" : {"type": "string","title": "REGION_ID"},"name" : {"type": "string","title": "NAME"},"region_key" : {"type": "string","title": "REGION_KEY"},"region_code" : {"type": "string","title": "REGION_CODE"},"provider" : {"type": "string","title": "PROVIDER"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, "type": "object", - "required": ["cloud_service_id"], - "title": "UpdateCloudServiceRequest" + "required": [], + "title": "RegionQuery" + } + , "RegionRequest": { + "properties" : {"region_id" : {"type": "string","title": "REGION_ID"}}, + "type": "object", + "required": ["region_id"], + "title": "RegionRequest" + } + , "RegionStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + "type": "object", + "required": ["query"], + "title": "RegionStatQuery" + } + , "RegionsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/RegionInfo"}, + "type": "array","$ref": "#/components/schemas/RegionInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "RegionsInfo" + } + , "UpdateRegionRequest": { + "properties" : {"region_id" : {"type": "string","title": "REGION_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["region_id"], + "title": "UpdateRegionRequest" + } + , "CreateNoteRequest": { + "properties" : {"record_id" : {"type": "string","title": "RECORD_ID"},"note" : {"type": "string","title": "NOTE"}}, + "type": "object", + "required": ["record_id","note"], + "title": "CreateNoteRequest" + } + , "NoteInfo": { + "properties" : {"note_id" : {"type": "string","title": "NOTE_ID"},"record_id" : {"type": "string","title": "RECORD_ID"},"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"},"note" : {"type": "string","title": "NOTE"},"created_by" : {"type": "string","title": "CREATED_BY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + "type": "object", + "required": ["note_id","record_id","cloud_service_id","note","created_by","domain_id","workspace_id","project_id","created_at"], + "title": "NoteInfo" + } + , "NoteQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"note_id" : {"type": "string","title": "NOTE_ID"},"record_id" : {"type": "string","title": "RECORD_ID"},"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"},"created_by" : {"type": "string","title": "CREATED_BY"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, + "type": "object", + "required": [], + "title": "NoteQuery" + } + , "NoteRequest": { + "properties" : {"note_id" : {"type": "string","title": "NOTE_ID"}}, + "type": "object", + "required": ["note_id"], + "title": "NoteRequest" + } + , "NoteStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + "type": "object", + "required": ["query"], + "title": "NoteStatQuery" + } + , "NotesInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/NoteInfo"}, + "type": "array","$ref": "#/components/schemas/NoteInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "NotesInfo" + } + , "UpdateNoteRequest": { + "properties" : {"note_id" : {"type": "string","title": "NOTE_ID"},"note" : {"type": "string","title": "NOTE"}}, + "type": "object", + "required": ["note_id"], + "title": "UpdateNoteRequest" } , "CreateMetricExampleRequest": { "properties" : {"metric_id" : {"type": "string","title": "METRIC_ID"},"name" : {"type": "string","title": "NAME"},"options" : {"type": "object","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, @@ -3263,37 +3424,6 @@ "required": ["example_id"], "title": "UpdateMetricExampleRequest" } - , "CloudServiceStatInfo": { - "properties" : {"query_set_id" : {"type": "string","title": "QUERY_SET_ID"},"data" : {"type": "object","title": "DATA"},"unit" : {"type": "object","title": "UNIT"},"provider" : {"type": "string","title": "PROVIDER"},"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP"},"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE"},"region_code" : {"type": "string","title": "REGION_CODE"},"account" : {"type": "string","title": "ACCOUNT"},"additional_info" : {"type": "object","title": "ADDITIONAL_INFO"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"created_date" : {"type": "string","title": "CREATED_DATE"}}, - "type": "object", - "required": ["query_set_id","data","unit","provider","cloud_service_group","cloud_service_type","region_code","account","additional_info","domain_id","workspace_id","project_id","created_date"], - "title": "CloudServiceStatInfo" - } - , "CloudServiceStatsAnalyzeQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY"},"query_set_id" : {"type": "string","title": "QUERY_SET_ID"}}, - "type": "object", - "required": ["query","query_set_id"], - "title": "CloudServiceStatsAnalyzeQuery" - } - , "CloudServiceStatsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CloudServiceStatInfo"}, - "type": "array","$ref": "#/components/schemas/CloudServiceStatInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, - "type": "object", - "required": ["results","total_count"], - "title": "CloudServiceStatsInfo" - } - , "CloudServiceStatsQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"query_set_id" : {"type": "string","title": "QUERY_SET_ID"},"provider" : {"type": "string","title": "PROVIDER"},"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP"},"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE"},"region_code" : {"type": "string","title": "REGION_CODE"},"account" : {"type": "string","title": "ACCOUNT"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, - "type": "object", - "required": ["query_set_id"], - "title": "CloudServiceStatsQuery" - } - , "CloudServiceStatsStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"query_set_id" : {"type": "string","title": "QUERY_SET_ID"}}, - "type": "object", - "required": ["query"], - "title": "CloudServiceStatsStatQuery" - } , "CreateMetricRequest": { "properties" : {"metric_id" : {"type": "string","title": "METRIC_ID"},"name" : {"type": "string","title": "NAME"},"metric_type" : {"type": "string","title": "METRIC_TYPE"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"query_options" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY_OPTIONS"},"date_field" : {"type": "string","title": "DATE_FIELD"},"unit" : {"type": "string","title": "UNIT"},"tags" : {"type": "object","title": "TAGS"},"namespace_id" : {"type": "string","title": "NAMESPACE_ID"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, "type": "object", @@ -3344,203 +3474,50 @@ "required": ["metric_id"], "title": "UpdateMetricRequest" } - , "CollectRequest": { - "properties" : {"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"secret_id" : {"type": "string","title": "SECRET_ID"}}, - "type": "object", - "required": ["collector_id"], - "title": "CollectRequest" - } - , "CollectorInfo": { - "properties" : {"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"name" : {"type": "string","title": "NAME"},"provider" : {"type": "string","title": "PROVIDER"},"capability" : {"type": "object","title": "CAPABILITY"},"secret_filter" : {"$ref": "#/components/schemas/SecretFilter","title": "SECRET_FILTER"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"last_collected_at" : {"type": "string","title": "LAST_COLLECTED_AT"}}, - "type": "object", - "required": ["collector_id","name","provider","capability","secret_filter","plugin_info","schedule","tags","resource_group","domain_id","workspace_id","created_at","last_collected_at"], - "title": "CollectorInfo" - } - , "CollectorQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"name" : {"type": "string","title": "NAME"},"secret_filter_state" : {"type": "string","title": "SECRET_FILTER_STATE"},"schedule_state" : {"type": "string","title": "SCHEDULE_STATE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"}}, - "type": "object", - "required": ["query","collector_id","name","secret_filter_state","schedule_state","workspace_id","plugin_id"], - "title": "CollectorQuery" - } - , "CollectorRequest": { - "properties" : {"collector_id" : {"type": "string","title": "COLLECTOR_ID"}}, - "type": "object", - "required": ["collector_id"], - "title": "CollectorRequest" - } - , "CollectorStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, - "type": "object", - "required": ["query"], - "title": "CollectorStatQuery" - } - , "CollectorsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CollectorInfo"}, - "type": "array","$ref": "#/components/schemas/CollectorInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, - "type": "object", - "required": ["results","total_count"], - "title": "CollectorsInfo" - } - , "CreateCollectorRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE"},"provider" : {"type": "string","title": "PROVIDER"},"secret_filter" : {"$ref": "#/components/schemas/SecretFilter","title": "SECRET_FILTER"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, - "type": "object", - "required": ["name","plugin_info","resource_group"], - "title": "CreateCollectorRequest" - } - , "PluginInfo": { - "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"version" : {"type": "string","title": "VERSION"},"options" : {"type": "object","title": "OPTIONS"},"metadata" : {"type": "object","title": "METADATA"},"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE"}}, - "type": "object", - "required": ["plugin_id","version","options","metadata","upgrade_mode"], - "title": "PluginInfo" - } - , "Scheduled": { - "properties" : {"state" : {"type": "string","title": "STATE"},"hours" : {"items": {"type": "integer"}, - "type": "array","title": "HOURS"}}, - "type": "object", - "required": ["state","hours"], - "title": "Scheduled" - } - , "SecretFilter": { - "properties" : {"state" : {"type": "string","title": "STATE"},"secrets" : {"items": {"type": "string"}, - "type": "array","title": "SECRETS"},"service_accounts" : {"items": {"type": "string"}, - "type": "array","title": "SERVICE_ACCOUNTS"},"schemas" : {"items": {"type": "string"}, - "type": "array","title": "SCHEMAS"},"exclude_secrets" : {"items": {"type": "string"}, - "type": "array","title": "EXCLUDE_SECRETS"},"exclude_service_accounts" : {"items": {"type": "string"}, - "type": "array","title": "EXCLUDE_SERVICE_ACCOUNTS"},"exclude_schemas" : {"items": {"type": "string"}, - "type": "array","title": "EXCLUDE_SCHEMAS"}}, - "type": "object", - "required": ["state","secrets","service_accounts","schemas","exclude_secrets","exclude_service_accounts","exclude_schemas"], - "title": "SecretFilter" - } - , "UpdateCollectorRequest": { - "properties" : {"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"name" : {"type": "string","title": "NAME"},"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE"},"secret_filter" : {"$ref": "#/components/schemas/SecretFilter","title": "SECRET_FILTER"},"tags" : {"type": "object","title": "TAGS"}}, - "type": "object", - "required": ["collector_id"], - "title": "UpdateCollectorRequest" - } - , "UpdatePluginRequest": { - "properties" : {"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"version" : {"type": "string","title": "VERSION"},"options" : {"type": "object","title": "OPTIONS"},"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE"}}, - "type": "object", - "required": ["collector_id"], - "title": "UpdatePluginRequest" - } - , "VerifyPluginRequest": { - "properties" : {"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"secret_id" : {"type": "string","title": "SECRET_ID"}}, - "type": "object", - "required": ["collector_id"], - "title": "VerifyPluginRequest" - } - , "CreateNoteRequest": { - "properties" : {"record_id" : {"type": "string","title": "RECORD_ID"},"note" : {"type": "string","title": "NOTE"}}, - "type": "object", - "required": ["record_id","note"], - "title": "CreateNoteRequest" - } - , "NoteInfo": { - "properties" : {"note_id" : {"type": "string","title": "NOTE_ID"},"record_id" : {"type": "string","title": "RECORD_ID"},"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"},"note" : {"type": "string","title": "NOTE"},"created_by" : {"type": "string","title": "CREATED_BY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, - "type": "object", - "required": ["note_id","record_id","cloud_service_id","note","created_by","domain_id","workspace_id","project_id","created_at"], - "title": "NoteInfo" - } - , "NoteQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"note_id" : {"type": "string","title": "NOTE_ID"},"record_id" : {"type": "string","title": "RECORD_ID"},"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"},"created_by" : {"type": "string","title": "CREATED_BY"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, - "type": "object", - "required": [], - "title": "NoteQuery" - } - , "NoteRequest": { - "properties" : {"note_id" : {"type": "string","title": "NOTE_ID"}}, - "type": "object", - "required": ["note_id"], - "title": "NoteRequest" - } - , "NoteStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, - "type": "object", - "required": ["query"], - "title": "NoteStatQuery" - } - , "NotesInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/NoteInfo"}, - "type": "array","$ref": "#/components/schemas/NoteInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, - "type": "object", - "required": ["results","total_count"], - "title": "NotesInfo" - } - , "UpdateNoteRequest": { - "properties" : {"note_id" : {"type": "string","title": "NOTE_ID"},"note" : {"type": "string","title": "NOTE"}}, - "type": "object", - "required": ["note_id"], - "title": "UpdateNoteRequest" - } - , "ErrorInfo": { - "properties" : {"error_code" : {"type": "string","title": "ERROR_CODE"},"message" : {"type": "string","title": "MESSAGE"},"additional" : {"type": "object","title": "ADDITIONAL"}}, - "type": "object", - "required": ["error_code","message","additional"], - "title": "ErrorInfo" - } - , "JobTaskInfo": { - "properties" : {"job_task_id" : {"type": "string","title": "JOB_TASK_ID"},"status" : {"type": "string","title": "STATUS"},"provider" : {"type": "string","title": "PROVIDER"},"created_count" : {"type": "integer","title": "CREATED_COUNT"},"updated_count" : {"type": "integer","title": "UPDATED_COUNT"},"failure_count" : {"type": "integer","title": "FAILURE_COUNT"},"deleted_count" : {"type": "integer","title": "DELETED_COUNT"},"disconnected_count" : {"type": "integer","title": "DISCONNECTED_COUNT"},"errors" : {"items": {"$ref": "#/components/schemas/ErrorInfo"}, - "type": "array","$ref": "#/components/schemas/ErrorInfo","title": "ERRORS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"job_id" : {"type": "string","title": "JOB_ID"},"secret_id" : {"type": "string","title": "SECRET_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"started_at" : {"type": "string","title": "STARTED_AT"},"finished_at" : {"type": "string","title": "FINISHED_AT"}}, + , "CloudServiceQuerySetInfo": { + "properties" : {"query_set_id" : {"type": "string","title": "QUERY_SET_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"query_options" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY_OPTIONS"},"query_type" : {"type": "string","title": "QUERY_TYPE"},"unit" : {"type": "object","title": "UNIT"},"data_keys" : {"items": {"type": "string"}, + "type": "array","title": "DATA_KEYS"},"additional_info_keys" : {"items": {"type": "string"}, + "type": "array","title": "ADDITIONAL_INFO_KEYS"},"provider" : {"type": "string","title": "PROVIDER"},"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP"},"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, "type": "object", - "required": ["job_task_id","status","provider","created_count","updated_count","failure_count","deleted_count","disconnected_count","errors","domain_id","workspace_id","project_id","service_account_id","job_id","secret_id","created_at","started_at","finished_at"], - "title": "JobTaskInfo" + "required": ["query_set_id","name","state","query_options","query_type","unit","data_keys","additional_info_keys","provider","cloud_service_group","cloud_service_type","tags","resource_group","domain_id","workspace_id","created_at","updated_at"], + "title": "CloudServiceQuerySetInfo" } - , "JobTaskQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"job_task_id" : {"type": "string","title": "JOB_TASK_ID"},"status" : {"type": "string","title": "STATUS"},"provider" : {"type": "string","title": "PROVIDER"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"job_id" : {"type": "string","title": "JOB_ID"},"secret_id" : {"type": "string","title": "SECRET_ID"}}, + , "CloudServiceQuerySetQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"query_set_id" : {"type": "string","title": "QUERY_SET_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"query_type" : {"type": "string","title": "QUERY_TYPE"},"provider" : {"type": "string","title": "PROVIDER"},"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP"},"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, "type": "object", "required": [], - "title": "JobTaskQuery" + "title": "CloudServiceQuerySetQuery" } - , "JobTaskRequest": { - "properties" : {"job_task_id" : {"type": "string","title": "JOB_TASK_ID"}}, + , "CloudServiceQuerySetRequest": { + "properties" : {"query_set_id" : {"type": "string","title": "QUERY_SET_ID"}}, "type": "object", - "required": ["job_task_id"], - "title": "JobTaskRequest" + "required": ["query_set_id"], + "title": "CloudServiceQuerySetRequest" } - , "JobTaskStatQuery": { + , "CloudServiceQuerySetStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "JobTaskStatQuery" + "title": "CloudServiceQuerySetStatQuery" } - , "JobTasksInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/JobTaskInfo"}, - "type": "array","$ref": "#/components/schemas/JobTaskInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "CloudServiceQuerySetsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CloudServiceQuerySetInfo"}, + "type": "array","$ref": "#/components/schemas/CloudServiceQuerySetInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "JobTasksInfo" - } - , "MetricDataAnalyzeQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/TimeSeriesAnalyzeQuery","title": "QUERY"},"metric_id" : {"type": "string","title": "METRIC_ID"}}, - "type": "object", - "required": ["query","metric_id"], - "title": "MetricDataAnalyzeQuery" - } - , "MetricDataInfo": { - "properties" : {"metric_id" : {"type": "string","title": "METRIC_ID"},"value" : {"type": "float","title": "VALUE"},"unit" : {"type": "string","title": "UNIT"},"labels" : {"type": "object","title": "LABELS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"namespace_id" : {"type": "string","title": "NAMESPACE_ID"},"created_year" : {"type": "string","title": "CREATED_YEAR"},"created_month" : {"type": "string","title": "CREATED_MONTH"},"created_date" : {"type": "string","title": "CREATED_DATE"}}, - "type": "object", - "required": ["metric_id","value","unit","labels","domain_id","workspace_id","project_id","service_account_id","namespace_id","created_year","created_month","created_date"], - "title": "MetricDataInfo" - } - , "MetricDataQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"metric_id" : {"type": "string","title": "METRIC_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, - "type": "object", - "required": ["metric_id"], - "title": "MetricDataQuery" + "title": "CloudServiceQuerySetsInfo" } - , "MetricDataStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"metric_id" : {"type": "string","title": "METRIC_ID"}}, + , "CreateCloudServiceQuerySetRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"query_options" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY_OPTIONS"},"unit" : {"type": "object","title": "UNIT"},"provider" : {"type": "string","title": "PROVIDER"},"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP"},"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, "type": "object", - "required": ["query"], - "title": "MetricDataStatQuery" + "required": ["name","query_options","provider","cloud_service_group","cloud_service_type","resource_group"], + "title": "CreateCloudServiceQuerySetRequest" } - , "MetricDatasInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/MetricDataInfo"}, - "type": "array","$ref": "#/components/schemas/MetricDataInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "UpdateCloudServiceQuerySetRequest": { + "properties" : {"query_set_id" : {"type": "string","title": "QUERY_SET_ID"},"name" : {"type": "string","title": "NAME"},"query_options" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY_OPTIONS"},"unit" : {"type": "object","title": "UNIT"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["results","total_count"], - "title": "MetricDatasInfo" + "required": ["query_set_id"], + "title": "UpdateCloudServiceQuerySetRequest" } , "ChangeCollectorRuleOrderRequest": { "properties" : {"collector_rule_id" : {"type": "string","title": "COLLECTOR_RULE_ID"},"order" : {"type": "integer","title": "ORDER"}}, @@ -3618,139 +3595,162 @@ "required": ["collector_rule_id"], "title": "UpdateCollectorRuleRequest" } - , "CloudServiceReportInfo": { - "properties" : {"report_id" : {"type": "string","title": "REPORT_ID"},"name" : {"type": "string","title": "NAME"},"options" : {"items": {"$ref": "#/components/schemas/ExportOption"}, - "type": "array","$ref": "#/components/schemas/ExportOption","title": "OPTIONS"},"file_format" : {"type": "string","title": "FILE_FORMAT"},"timezone" : {"type": "string","title": "TIMEZONE"},"language" : {"type": "string","title": "LANGUAGE"},"schedule" : {"$ref": "#/components/schemas/ReportSchedule","title": "SCHEDULE"},"target" : {"type": "object","title": "TARGET"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"last_sent_at" : {"type": "string","title": "LAST_SENT_AT"}}, + , "CollectRequest": { + "properties" : {"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"secret_id" : {"type": "string","title": "SECRET_ID"}}, "type": "object", - "required": ["report_id","name","options","file_format","timezone","language","schedule","target","tags","resource_group","domain_id","workspace_id","created_at","last_sent_at"], - "title": "CloudServiceReportInfo" + "required": ["collector_id"], + "title": "CollectRequest" } - , "CloudServiceReportQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"report_id" : {"type": "string","title": "REPORT_ID"},"name" : {"type": "string","title": "NAME"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + , "CollectorInfo": { + "properties" : {"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"name" : {"type": "string","title": "NAME"},"provider" : {"type": "string","title": "PROVIDER"},"capability" : {"type": "object","title": "CAPABILITY"},"secret_filter" : {"$ref": "#/components/schemas/SecretFilter","title": "SECRET_FILTER"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"last_collected_at" : {"type": "string","title": "LAST_COLLECTED_AT"}}, "type": "object", - "required": [], - "title": "CloudServiceReportQuery" + "required": ["collector_id","name","provider","capability","secret_filter","plugin_info","schedule","tags","resource_group","domain_id","workspace_id","created_at","last_collected_at"], + "title": "CollectorInfo" } - , "CloudServiceReportRequest": { - "properties" : {"report_id" : {"type": "string","title": "REPORT_ID"}}, + , "CollectorQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"name" : {"type": "string","title": "NAME"},"secret_filter_state" : {"type": "string","title": "SECRET_FILTER_STATE"},"schedule_state" : {"type": "string","title": "SCHEDULE_STATE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"}}, "type": "object", - "required": ["report_id"], - "title": "CloudServiceReportRequest" + "required": ["query","collector_id","name","secret_filter_state","schedule_state","workspace_id","plugin_id"], + "title": "CollectorQuery" } - , "CloudServiceReportStatQuery": { + , "CollectorRequest": { + "properties" : {"collector_id" : {"type": "string","title": "COLLECTOR_ID"}}, + "type": "object", + "required": ["collector_id"], + "title": "CollectorRequest" + } + , "CollectorStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "CloudServiceReportStatQuery" + "title": "CollectorStatQuery" } - , "CloudServiceReportsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CloudServiceReportInfo"}, - "type": "array","$ref": "#/components/schemas/CloudServiceReportInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "CollectorsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CollectorInfo"}, + "type": "array","$ref": "#/components/schemas/CollectorInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "CloudServiceReportsInfo" + "title": "CollectorsInfo" } - , "CreateCloudServiceReportRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"options" : {"items": {"$ref": "#/components/schemas/ExportOption"}, - "type": "array","$ref": "#/components/schemas/ExportOption","title": "OPTIONS"},"file_format" : {"type": "string","title": "FILE_FORMAT"},"timezone" : {"type": "string","title": "TIMEZONE"},"language" : {"type": "string","title": "LANGUAGE"},"schedule" : {"$ref": "#/components/schemas/ReportSchedule","title": "SCHEDULE"},"target" : {"type": "object","title": "TARGET"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + , "CreateCollectorRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"plugin_info" : {"$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE"},"provider" : {"type": "string","title": "PROVIDER"},"secret_filter" : {"$ref": "#/components/schemas/SecretFilter","title": "SECRET_FILTER"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, "type": "object", - "required": ["name","options","schedule","target","resource_group"], - "title": "CreateCloudServiceReportRequest" + "required": ["name","plugin_info","resource_group"], + "title": "CreateCollectorRequest" } - , "ReportSchedule": { - "properties" : {"state" : {"type": "string","title": "STATE"},"hours" : {"items": {"type": "integer"}, - "type": "array","title": "HOURS"},"days_of_week" : {"items": {"type": "string"}, - "type": "array","title": "DAYS_OF_WEEK"}}, + , "PluginInfo": { + "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"version" : {"type": "string","title": "VERSION"},"options" : {"type": "object","title": "OPTIONS"},"metadata" : {"type": "object","title": "METADATA"},"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE"}}, "type": "object", - "required": ["state","hours","days_of_week"], - "title": "ReportSchedule" + "required": ["plugin_id","version","options","metadata","upgrade_mode"], + "title": "PluginInfo" } - , "UpdateCloudServiceReportRequest": { - "properties" : {"report_id" : {"type": "string","title": "REPORT_ID"},"name" : {"type": "string","title": "NAME"},"options" : {"items": {"$ref": "#/components/schemas/ExportOption"}, - "type": "array","$ref": "#/components/schemas/ExportOption","title": "OPTIONS"},"file_format" : {"type": "string","title": "FILE_FORMAT"},"timezone" : {"type": "string","title": "TIMEZONE"},"language" : {"type": "string","title": "LANGUAGE"},"schedule" : {"$ref": "#/components/schemas/ReportSchedule","title": "SCHEDULE"},"target" : {"type": "object","title": "TARGET"},"tags" : {"type": "object","title": "TAGS"}}, + , "Scheduled": { + "properties" : {"state" : {"type": "string","title": "STATE"},"hours" : {"items": {"type": "integer"}, + "type": "array","title": "HOURS"}}, "type": "object", - "required": ["report_id"], - "title": "UpdateCloudServiceReportRequest" + "required": ["state","hours"], + "title": "Scheduled" } - , "CreateRegionRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"region_code" : {"type": "string","title": "REGION_CODE"},"provider" : {"type": "string","title": "PROVIDER"},"tags" : {"type": "object","title": "TAGS"}}, + , "SecretFilter": { + "properties" : {"state" : {"type": "string","title": "STATE"},"secrets" : {"items": {"type": "string"}, + "type": "array","title": "SECRETS"},"service_accounts" : {"items": {"type": "string"}, + "type": "array","title": "SERVICE_ACCOUNTS"},"schemas" : {"items": {"type": "string"}, + "type": "array","title": "SCHEMAS"},"exclude_secrets" : {"items": {"type": "string"}, + "type": "array","title": "EXCLUDE_SECRETS"},"exclude_service_accounts" : {"items": {"type": "string"}, + "type": "array","title": "EXCLUDE_SERVICE_ACCOUNTS"},"exclude_schemas" : {"items": {"type": "string"}, + "type": "array","title": "EXCLUDE_SCHEMAS"}}, "type": "object", - "required": ["name","region_code"], - "title": "CreateRegionRequest" + "required": ["state","secrets","service_accounts","schemas","exclude_secrets","exclude_service_accounts","exclude_schemas"], + "title": "SecretFilter" } - , "RegionInfo": { - "properties" : {"region_id" : {"type": "string","title": "REGION_ID"},"name" : {"type": "string","title": "NAME"},"region_key" : {"type": "string","title": "REGION_KEY"},"region_code" : {"type": "string","title": "REGION_CODE"},"provider" : {"type": "string","title": "PROVIDER"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + , "UpdateCollectorRequest": { + "properties" : {"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"name" : {"type": "string","title": "NAME"},"schedule" : {"$ref": "#/components/schemas/Scheduled","title": "SCHEDULE"},"secret_filter" : {"$ref": "#/components/schemas/SecretFilter","title": "SECRET_FILTER"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["region_id","name","region_key","region_code","provider","tags","domain_id","workspace_id","created_at","updated_at"], - "title": "RegionInfo" + "required": ["collector_id"], + "title": "UpdateCollectorRequest" } - , "RegionQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"region_id" : {"type": "string","title": "REGION_ID"},"name" : {"type": "string","title": "NAME"},"region_key" : {"type": "string","title": "REGION_KEY"},"region_code" : {"type": "string","title": "REGION_CODE"},"provider" : {"type": "string","title": "PROVIDER"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"}}, + , "UpdatePluginRequest": { + "properties" : {"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"version" : {"type": "string","title": "VERSION"},"options" : {"type": "object","title": "OPTIONS"},"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE"}}, "type": "object", - "required": [], - "title": "RegionQuery" + "required": ["collector_id"], + "title": "UpdatePluginRequest" } - , "RegionRequest": { - "properties" : {"region_id" : {"type": "string","title": "REGION_ID"}}, + , "VerifyPluginRequest": { + "properties" : {"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"secret_id" : {"type": "string","title": "SECRET_ID"}}, "type": "object", - "required": ["region_id"], - "title": "RegionRequest" + "required": ["collector_id"], + "title": "VerifyPluginRequest" } - , "RegionStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + , "CloudServiceAnalyzeQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "RegionStatQuery" + "title": "CloudServiceAnalyzeQuery" } - , "RegionsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/RegionInfo"}, - "type": "array","$ref": "#/components/schemas/RegionInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "CloudServiceExportRequest": { + "properties" : {"options" : {"items": {"$ref": "#/components/schemas/ExportOption"}, + "type": "array","$ref": "#/components/schemas/ExportOption","title": "OPTIONS"},"file_format" : {"type": "string","title": "FILE_FORMAT"},"file_name" : {"type": "string","title": "FILE_NAME"},"timezone" : {"type": "string","title": "TIMEZONE"}}, "type": "object", - "required": ["results","total_count"], - "title": "RegionsInfo" + "required": ["options"], + "title": "CloudServiceExportRequest" } - , "UpdateRegionRequest": { - "properties" : {"region_id" : {"type": "string","title": "REGION_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, + , "CloudServiceInfo": { + "properties" : {"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"ip_addresses" : {"items": {"type": "string"}, + "type": "array","title": "IP_ADDRESSES"},"account" : {"type": "string","title": "ACCOUNT"},"instance_type" : {"type": "string","title": "INSTANCE_TYPE"},"instance_size" : {"type": "float","title": "INSTANCE_SIZE"},"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE"},"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP"},"provider" : {"type": "string","title": "PROVIDER"},"data" : {"type": "object","title": "DATA"},"metadata" : {"type": "object","title": "METADATA"},"reference" : {"$ref": "#/components/schemas/CloudServiceReference","title": "REFERENCE"},"tags" : {"type": "object","title": "TAGS"},"tag_keys" : {"type": "object","title": "TAG_KEYS"},"collection_info" : {"$ref": "#/components/schemas/CollectionInfo","title": "COLLECTION_INFO"},"region_code" : {"type": "string","title": "REGION_CODE"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"},"deleted_at" : {"type": "string","title": "DELETED_AT"}}, "type": "object", - "required": ["region_id"], - "title": "UpdateRegionRequest" + "required": ["cloud_service_id","name","state","ip_addresses","account","instance_type","instance_size","cloud_service_type","cloud_service_group","provider","data","metadata","reference","tags","tag_keys","collection_info","region_code","domain_id","workspace_id","project_id","created_at","updated_at","deleted_at"], + "title": "CloudServiceInfo" } - , "JobAnalyzeQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/AnalyzeQuery","title": "QUERY"}}, + , "CloudServiceQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"ip_address" : {"type": "string","title": "IP_ADDRESS"},"account" : {"type": "string","title": "ACCOUNT"},"instance_type" : {"type": "string","title": "INSTANCE_TYPE"},"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE"},"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP"},"provider" : {"type": "string","title": "PROVIDER"},"region_code" : {"type": "string","title": "REGION_CODE"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"project_group_id" : {"type": "string","title": "PROJECT_GROUP_ID"}}, "type": "object", - "required": ["query"], - "title": "JobAnalyzeQuery" + "required": [], + "title": "CloudServiceQuery" } - , "JobInfo": { - "properties" : {"job_id" : {"type": "string","title": "JOB_ID"},"status" : {"type": "string","title": "STATUS"},"total_tasks" : {"type": "integer","title": "TOTAL_TASKS"},"remained_tasks" : {"type": "integer","title": "REMAINED_TASKS"},"success_tasks" : {"type": "integer","title": "SUCCESS_TASKS"},"failure_tasks" : {"type": "integer","title": "FAILURE_TASKS"},"request_secret_id" : {"type": "string","title": "REQUEST_SECRET_ID"},"request_workspace_id" : {"type": "string","title": "REQUEST_WORKSPACE_ID"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"},"finished_at" : {"type": "string","title": "FINISHED_AT"}}, + , "CloudServiceReference": { + "properties" : {"resource_id" : {"type": "string","title": "RESOURCE_ID"},"external_link" : {"type": "string","title": "EXTERNAL_LINK"}}, "type": "object", - "required": ["job_id","status","total_tasks","remained_tasks","success_tasks","failure_tasks","request_secret_id","request_workspace_id","resource_group","domain_id","workspace_id","collector_id","plugin_id","created_at","updated_at","finished_at"], - "title": "JobInfo" + "required": ["resource_id","external_link"], + "title": "CloudServiceReference" } - , "JobRequest": { - "properties" : {"job_id" : {"type": "string","title": "JOB_ID"}}, + , "CloudServiceRequest": { + "properties" : {"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"}}, "type": "object", - "required": ["job_id"], - "title": "JobRequest" + "required": ["cloud_service_id"], + "title": "CloudServiceRequest" } - , "JobStatQuery": { + , "CloudServiceStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "JobStatQuery" + "title": "CloudServiceStatQuery" } - , "JobsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/JobInfo"}, - "type": "array","$ref": "#/components/schemas/JobInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "CloudServicesInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/CloudServiceInfo"}, + "type": "array","$ref": "#/components/schemas/CloudServiceInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "JobsInfo" + "title": "CloudServicesInfo" } - , "JobsQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"job_id" : {"type": "string","title": "JOB_ID"},"status" : {"type": "string","title": "STATUS"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"}}, + , "CollectionInfo": { + "properties" : {"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"secret_id" : {"type": "string","title": "SECRET_ID"},"collector_id" : {"type": "string","title": "COLLECTOR_ID"},"last_collected_at" : {"type": "string","title": "LAST_COLLECTED_AT"}}, "type": "object", - "required": [], - "title": "JobsQuery" + "required": ["service_account_id","secret_id","collector_id","last_collected_at"], + "title": "CollectionInfo" + } + , "CreateServiceRequest": { + "properties" : {"cloud_service_type" : {"type": "string","title": "CLOUD_SERVICE_TYPE"},"provider" : {"type": "string","title": "PROVIDER"},"cloud_service_group" : {"type": "string","title": "CLOUD_SERVICE_GROUP"},"name" : {"type": "string","title": "NAME"},"account" : {"type": "string","title": "ACCOUNT"},"instance_type" : {"type": "string","title": "INSTANCE_TYPE"},"instance_size" : {"type": "float","title": "INSTANCE_SIZE"},"ip_addresses" : {"items": {"type": "string"}, + "type": "array","title": "IP_ADDRESSES"},"data" : {"type": "object","title": "DATA"},"metadata" : {"type": "object","title": "METADATA"},"reference" : {"$ref": "#/components/schemas/CloudServiceReference","title": "REFERENCE"},"tags" : {"type": "object","title": "TAGS"},"region_code" : {"type": "string","title": "REGION_CODE"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, + "type": "object", + "required": ["cloud_service_type","provider","cloud_service_group","data"], + "title": "CreateServiceRequest" + } + , "UpdateCloudServiceRequest": { + "properties" : {"cloud_service_id" : {"type": "string","title": "CLOUD_SERVICE_ID"},"name" : {"type": "string","title": "NAME"},"account" : {"type": "string","title": "ACCOUNT"},"instance_type" : {"type": "string","title": "INSTANCE_TYPE"},"instance_size" : {"type": "float","title": "INSTANCE_SIZE"},"ip_addresses" : {"items": {"type": "string"}, + "type": "array","title": "IP_ADDRESSES"},"data" : {"type": "object","title": "DATA"},"metadata" : {"type": "object","title": "METADATA"},"reference" : {"$ref": "#/components/schemas/CloudServiceReference","title": "REFERENCE"},"tags" : {"type": "object","title": "TAGS"},"region_code" : {"type": "string","title": "REGION_CODE"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, + "type": "object", + "required": ["cloud_service_id"], + "title": "UpdateCloudServiceRequest" } }, "Struct": {"properties": {"type": "object","title": "Struct"}}, diff --git a/dist/openapi/cloudforet/api/monitoring/v1/openapi.json b/dist/openapi/cloudforet/api/monitoring/v1/openapi.json index 9e933c185..6d0dd134b 100755 --- a/dist/openapi/cloudforet/api/monitoring/v1/openapi.json +++ b/dist/openapi/cloudforet/api/monitoring/v1/openapi.json @@ -8,20 +8,20 @@ "title": "Monitoring API", "version": "3.1.0" }, - "paths":{"/monitoring/event-rule/create": { + "paths":{"/monitoring/alert/create": { "post": { - "tags": ["monitoring > event-rule"], + "tags": ["monitoring > alert"], "summary": "Create", "operationId" : "", - "description": "### Description \nCreates a new EventRule. You can filter the Events to apply the EventRule by setting the input parameter `Conditions`. The method can change the Events' assignee or Project.", + "description": "### Description \nCreates a new Alert. Alerts generated with `create` method are made in a manual way. Manually made Alerts can be used for Notifications.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |conditions||array|True|\n |conditions_policy|ALL, ANY, ALWAYS |string|True|\n |actions||EventRuleActions|True|\n |resource_group|WORKSPACE, PROJECT |string|True|\n |options||EventRuleOptions||\n |tags||Struct||\n |project_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |title||string|True|\n |project_id||string|True|\n |description||string||\n |assignee||string||\n |urgency|HIGH, LOW |string||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"conditions" : {"items": {"$ref": "#/components/schemas/EventRuleCondition"}, "type": "array","title": "CONDITIONS" },"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY" },"actions" : {"$ref": "#/components/schemas/EventRuleActions","title": "ACTIONS" },"options" : {"$ref": "#/components/schemas/EventRuleOptions","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"project_id" : {"type": "string","title": "PROJECT_ID" } } + "properties": {"title" : {"type": "string","title": "TITLE" },"description" : {"type": "string","title": "DESCRIPTION" },"assignee" : {"type": "string","title": "ASSIGNEE" },"urgency" : {"type": "string","title": "URGENCY" },"project_id" : {"type": "string","title": "PROJECT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"conditions\": [{\"key\": \"description\", \"value\": \"API\", \"operator\": \"contain\"}],\n \"conditions_policy\": \"ALL\",\n \"actions\": {\"change_assignee\": \"user1@email.com\",\n \"change_urgency\": \"LOW\",\n \"change_project\": \"project-123456789012\",\n \"add_additional_info\": {\"type\": \"personal rule\"},\n \"no_notification\": true},\n \"options\": {},\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"title\": \"sample test\",\n \"description\": \"This is a description of sample.\",\n \"urgency\": \"HIGH\",\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} } } },"required": true @@ -30,29 +30,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/EventRuleInfo"}, + "schema": {"$ref": "#/components/schemas/AlertInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/EventRuleInfo"},"Default Example":{ - "value": "{\n \"event_rule_id\": \"er-123456789012\",\n \"order\": 1,\n \"conditions\": [\n {\n \"key\": \"description\",\n \"value\": \"API\",\n \"operator\": \"contain\"\n }\n ],\n \"conditions_policy\": \"ALL\",\n \"actions\": {\n \"change_assignee\": \"user1@email.com\",\n \"change_urgency\": \"LOW\",\n \"change_project\": \"project-123456789012\",\n \"add_additional_info\": {\n \"type\": \"personal rule\"\n },\n \"no_notification\": true\n },\n \"options\": {},\n \"scope\": \"PROJECT\",\n \"project_id\": \"project-123456789012\",\n \"tags\": {},\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-02T06:02:31.517Z\"\n}" + "Schema": {"$ref": "#/components/schemas/AlertInfo"},"Default Example":{ + "value": "{\n \"alert_number\": 104053,\n \"alert_id\": \"alert-123456789012\",\n \"title\": \"sample test\",\n \"state\": \"TRIGGERED\",\n \"description\": \"This is a description of sample.\",\n \"urgency\": \"HIGH\",\n \"severity\": \"NONE\",\n \"escalation_step\": 1,\n \"additional_info\": {},\n \"triggered_by\": \"user1@email.com\",\n \"escalation_policy_id\": \"ep-123456789012\",\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T01:43:08.566Z\",\n \"updated_at\": \"2022-01-01T01:43:08.566Z\",\n \"escalated_at\": \"2022-01-01T01:43:54.464Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/event-rule/update": { + },"/monitoring/alert/update": { "post": { - "tags": ["monitoring > event-rule"], + "tags": ["monitoring > alert"], "summary": "Update", "operationId" : "", - "description": "### Description \nChanges a priority order between EventRules to apply. EventRules are filtered by the order configured.", + "description": "### Description \nUpdates a specific Alert. You can make changes in Alert settings, including the `title`, `description`, `responder`, `state`, and `urgency`. The `responder` of the Alert is a User who is assigned to respond to the Alert.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |event_rule_id||string|True|\n |name||string||\n |conditions||array||\n |conditions_policy|ALL, ANY, ALWAYS |string||\n |actions||EventRuleActions||\n |options||EventRuleOptions||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |alert_id||string|True|\n |title||string||\n |state||string||\n |description||string||\n |reset_description||boolean||\n |urgency|HIGH, LOW |string||\n |project_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID" },"name" : {"type": "string","title": "NAME" },"conditions" : {"items": {"$ref": "#/components/schemas/EventRuleCondition"}, "type": "array","title": "CONDITIONS" },"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY" },"actions" : {"$ref": "#/components/schemas/EventRuleActions","title": "ACTIONS" },"options" : {"$ref": "#/components/schemas/EventRuleOptions","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"alert_id" : {"type": "string","title": "ALERT_ID" },"title" : {"type": "string","title": "TITLE" },"state" : {"type": "string","title": "STATE" },"description" : {"type": "string","title": "DESCRIPTION" },"reset_description" : {"type": "boolean","title": "RESET_DESCRIPTION" },"urgency" : {"type": "string","title": "URGENCY" },"project_id" : {"type": "string","title": "PROJECT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"event_rule_id\": \"er-123456789012\",\n \"conditions\": [{\"key\": \"description\", \"value\": \"ELB\", \"operator\": \"contain\"}],\n \"conditions_policy\": \"ALL\",\n \"actions\": {\"change_assignee\": \"user2@email.com\",\n \"change_urgency\": \"HIGH\",\n \"change_project\": \"project-123456789012\",\n \"add_additional_info\": {\"type\": \"personal rule\"},\n \"no_notification\": true},\n \"options\": {},\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"alert_id\": \"alert-123456789012\",\n \"state\": \"ACKNOWLEDGED\",\n \"urgency\": \"LOW\",\n \"description\": \"[updating]This is a description of sample.\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} } } },"required": true @@ -61,29 +61,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/EventRuleInfo"}, + "schema": {"$ref": "#/components/schemas/AlertInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/EventRuleInfo"},"Default Example":{ - "value": "{\n \"event_rule_id\": \"er-123456789012\",\n \"order\": 1,\n \"conditions\": [\n {\n \"key\": \"description\",\n \"value\": \"API\",\n \"operator\": \"contain\"\n }\n ],\n \"conditions_policy\": \"ALL\",\n \"actions\": {\n \"change_assignee\": \"user1@email.com\",\n \"change_urgency\": \"LOW\",\n \"change_project\": \"project-123456789012\",\n \"add_additional_info\": {\n \"type\": \"personal rule\"\n },\n \"no_notification\": true\n },\n \"options\": {},\n \"scope\": \"PROJECT\",\n \"project_id\": \"project-123456789012\",\n \"tags\": {},\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-02T06:02:31.517Z\"\n}" + "Schema": {"$ref": "#/components/schemas/AlertInfo"},"Default Example":{ + "value": "{\n \"alert_number\": 104053,\n \"alert_id\": \"alert-123456789012\",\n \"title\": \"sample test\",\n \"state\": \"TRIGGERED\",\n \"description\": \"This is a description of sample.\",\n \"urgency\": \"HIGH\",\n \"severity\": \"NONE\",\n \"escalation_step\": 1,\n \"additional_info\": {},\n \"triggered_by\": \"user1@email.com\",\n \"escalation_policy_id\": \"ep-123456789012\",\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T01:43:08.566Z\",\n \"updated_at\": \"2022-01-01T01:43:08.566Z\",\n \"escalated_at\": \"2022-01-01T01:43:54.464Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/event-rule/change-order": { + },"/monitoring/alert/assign-user": { "post": { - "tags": ["monitoring > event-rule"], - "summary": "Change Order", + "tags": ["monitoring > alert"], + "summary": "Assign User", "operationId" : "", - "description": "### Description \nUpdates a specific EventRule. You can make changes in EventRule settings.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |event_rule_id||string|True|\n |order||int|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |alert_id||string|True|\n |assignee||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID" },"order" : {"type": "integer","title": "ORDER" } } + "properties": {"alert_id" : {"type": "string","title": "ALERT_ID" },"assignee" : {"type": "string","title": "ASSIGNEE" } } }, - "examples":{"Default Example":{"value": "{\n \"event_rule_id\": \"er-123456789012\", \n \"order\": 2,\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -92,29 +92,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/EventRuleInfo"}, + "schema": {"$ref": "#/components/schemas/AlertInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/EventRuleInfo"},"Default Example":{ - "value": "{\n \"event_rule_id\": \"er-123456789012\",\n \"order\": 1,\n \"conditions\": [\n {\n \"key\": \"description\",\n \"value\": \"API\",\n \"operator\": \"contain\"\n }\n ],\n \"conditions_policy\": \"ALL\",\n \"actions\": {\n \"change_assignee\": \"user1@email.com\",\n \"change_urgency\": \"LOW\",\n \"change_project\": \"project-123456789012\",\n \"add_additional_info\": {\n \"type\": \"personal rule\"\n },\n \"no_notification\": true\n },\n \"options\": {},\n \"scope\": \"PROJECT\",\n \"project_id\": \"project-123456789012\",\n \"tags\": {},\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-02T06:02:31.517Z\"\n}" + "Schema": {"$ref": "#/components/schemas/AlertInfo"},"Default Example":{ + "value": "{\n \"alert_number\": 104053,\n \"alert_id\": \"alert-123456789012\",\n \"title\": \"sample test\",\n \"state\": \"TRIGGERED\",\n \"description\": \"This is a description of sample.\",\n \"urgency\": \"HIGH\",\n \"severity\": \"NONE\",\n \"escalation_step\": 1,\n \"additional_info\": {},\n \"triggered_by\": \"user1@email.com\",\n \"escalation_policy_id\": \"ep-123456789012\",\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T01:43:08.566Z\",\n \"updated_at\": \"2022-01-01T01:43:08.566Z\",\n \"escalated_at\": \"2022-01-01T01:43:54.464Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/event-rule/delete": { + },"/monitoring/alert/delete": { "post": { - "tags": ["monitoring > event-rule"], + "tags": ["monitoring > alert"], "summary": "Delete", "operationId" : "", - "description": "### Description \nDeletes a specific EventRule. You must assign an EventRule resource to delete by specifying `event_rule_id`.", + "description": "### Description \nDeletes a specific Alert and remove it from the list of Alerts. You must specify the `alert_id` of the Alert to delete.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |event_rule_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |alert_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID" } } + "properties": {"alert_id" : {"type": "string","title": "ALERT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"event_rule_id\": \"er-123456789012\",\n \"order\": 2,\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"alert_id\": \"alert-123456789012\",\n}"},"Schema":{} } } },"required": true @@ -124,20 +124,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/event-rule/get": { + },"/monitoring/alert/get": { "post": { - "tags": ["monitoring > event-rule"], + "tags": ["monitoring > alert"], "summary": "Get", "operationId" : "", - "description": "### Description \nGets a specific EventRule. Prints detailed information about the EventRule.", + "description": "### Description \nGets a specific Alert. Prints detailed information about the Alert.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |event_rule_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |alert_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID" } } + "properties": {"alert_id" : {"type": "string","title": "ALERT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"event_rule_id\": \"er-123456789012\",\n \"order\": 2,\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"alert_id\": \"alert-123456789012\",\n}"},"Schema":{} } } },"required": true @@ -146,29 +146,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/EventRuleInfo"}, + "schema": {"$ref": "#/components/schemas/AlertInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/EventRuleInfo"},"Default Example":{ - "value": "{\n \"event_rule_id\": \"er-123456789012\",\n \"order\": 1,\n \"conditions\": [\n {\n \"key\": \"description\",\n \"value\": \"API\",\n \"operator\": \"contain\"\n }\n ],\n \"conditions_policy\": \"ALL\",\n \"actions\": {\n \"change_assignee\": \"user1@email.com\",\n \"change_urgency\": \"LOW\",\n \"change_project\": \"project-123456789012\",\n \"add_additional_info\": {\n \"type\": \"personal rule\"\n },\n \"no_notification\": true\n },\n \"options\": {},\n \"scope\": \"PROJECT\",\n \"project_id\": \"project-123456789012\",\n \"tags\": {},\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-02T06:02:31.517Z\"\n}" + "Schema": {"$ref": "#/components/schemas/AlertInfo"},"Default Example":{ + "value": "{\n \"alert_number\": 104053,\n \"alert_id\": \"alert-123456789012\",\n \"title\": \"sample test\",\n \"state\": \"TRIGGERED\",\n \"description\": \"This is a description of sample.\",\n \"urgency\": \"HIGH\",\n \"severity\": \"NONE\",\n \"escalation_step\": 1,\n \"additional_info\": {},\n \"triggered_by\": \"user1@email.com\",\n \"escalation_policy_id\": \"ep-123456789012\",\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T01:43:08.566Z\",\n \"updated_at\": \"2022-01-01T01:43:08.566Z\",\n \"escalated_at\": \"2022-01-01T01:43:54.464Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/event-rule/list": { + },"/monitoring/alert/list": { "post": { - "tags": ["monitoring > event-rule"], + "tags": ["monitoring > alert"], "summary": "List", "operationId" : "", - "description": "### Description \nGets a list of all EventRules. You can use a query to get a filtered list of EventRules. For example, you can adjust the scope of the list to a certain Project or Domain.", + "description": "### Description \nGets a list of all Alerts. You can use a query to get a filtered list of Alerts.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |event_rule_id||string||\n |name||string||\n |workspace_id||string||\n |project_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |alert_number||int||\n |alert_id||string||\n |title||string||\n |state|TRIGGERED, ACKNOWLEDGED, RESOLVED, ERROR |string||\n |assignee||string||\n |responder||string||\n |urgency|HIGH, LOW |string||\n |severity||string||\n |resource||string||\n |provider||string||\n |account||string||\n |triggered_by||string||\n |workspace_id||string||\n |project_id||string||\n |webhook_id||string||\n |escalation_policy_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID" },"name" : {"type": "string","title": "NAME" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"alert_number" : {"type": "integer","title": "ALERT_NUMBER" },"alert_id" : {"type": "string","title": "ALERT_ID" },"title" : {"type": "string","title": "TITLE" },"state" : {"type": "string","title": "STATE" },"assignee" : {"type": "string","title": "ASSIGNEE" },"responder" : {"type": "string","title": "RESPONDER" },"urgency" : {"type": "string","title": "URGENCY" },"severity" : {"type": "string","title": "SEVERITY" },"resource" : {"type": "string","title": "RESOURCE" },"provider" : {"type": "string","title": "PROVIDER" },"account" : {"type": "string","title": "ACCOUNT" },"triggered_by" : {"type": "string","title": "TRIGGERED_BY" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"webhook_id" : {"type": "string","title": "WEBHOOK_ID" },"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query\": {}, \n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} } } },"required": true @@ -177,18 +177,18 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/EventRulesInfo"}, + "schema": {"$ref": "#/components/schemas/AlertsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/EventRulesInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"event_rule_id\": \"er-123456789012\",\n \"order\": 1,\n \"conditions\": [\n {\n \"key\": \"title\",\n \"value\": \"AWS\",\n \"operator\": \"contain\"\n }\n ],\n \"conditions_policy\": \"ALL\",\n \"actions\": {\n \"change_assignee\": \"user2@email.com\",\n \"change_urgency\": \"HIGH\",\n \"add_additional_info\": {},\n \"no_notification\": true\n },\n \"options\": {},\n \"scope\": \"PROJECT\",\n \"project_id\": \"project-123456789012\",\n \"tags\": {},\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:33:58.388Z\"\n },\n {\n \"event_rule_id\": \"er-123456789012\",\n \"order\": 2,\n \"conditions\": [\n {\n \"key\": \"title\",\n \"value\": \"ELB\",\n \"operator\": \"contain\"\n }\n ],\n \"conditions_policy\": \"ALL\",\n \"actions\": {\n \"change_assignee\": \"user1@email.com\",\n \"change_urgency\": \"LOW\",\n \"change_project\": \"project-123456789012\",\n \"add_additional_info\": {},\n \"no_notification\": true\n },\n \"options\": {},\n \"scope\": \"PROJECT\",\n \"project_id\": \"project-123456789012\",\n \"tags\": {},\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:12:30.226Z\"\n }\n ],\n \"total_count\": 2\n}" + "Schema": {"$ref": "#/components/schemas/AlertsInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"alert_number\": 104057,\n \"alert_id\": \"alert-987654321098\",\n \"title\": \"Notification of access to the bastion Host\",\n \"state\": \"TRIGGERED\",\n \"description\": \"SSH Access to stargate-dev from adm\",\n \"urgency\": \"LOW\",\n \"severity\": \"INFO\",\n \"resources\": [{\n \"resource_id\": \"server-123456789012\",\n \"resource_type\": \"inventory.Server\",\n \"name\": \"stargate-dev\"\n }],\n \"escalation_step\": 1,\n \"escalation_ttl\": 1,\n \"additional_info\": {\n \"user\": \"user1\"\n \"host\": \"[\u00272.2.2.2\u0027]\"\n },\n \"triggered_by\": \"webhook-123456789012\",\n \"webhook_id\": \"webhook-123456789012\",\n \"escalation_policy_id\": \"ep-123456789012\",\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T02:46:35.934Z\",\n \"updated_at\": \"2022-01-01T02:46:35.934Z\",\n \"escalated_at\": \"2022-01-01T02:46:35.979Z\"\n },\n {\n \"alert_number\": 104056,\n \"alert_id\": \"alert-123456789999\",\n \"title\": \"Notification of access to the bastion Host\",\n \"state\": \"TRIGGERED\",\n \"description\": \"SSH Access to stargate-dev from user3@email.com\",\n \"urgency\": \"LOW\",\n \"severity\": \"INFO\",\n \"resource\": [{\n \"resource_id\": \"server-123456789012\",\n \"resource_type\": \"inventory.Server\",\n \"name\": \"stargate-dev\"\n }],\n \"escalation_step\": 1,\n \"escalation_ttl\": 1,\n \"additional_info\": {\n \"user\": \"user3@email.com\",\n \"host\": \"[\u00271.1.1.1\u0027]\"\n },\n \"triggered_by\": \"webhook-123456789012\",\n \"webhook_id\": \"webhook-123456789012\",\n \"escalation_policy_id\": \"ep-123456789012\",\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T02:46:31.391Z\",\n \"updated_at\": \"2022-01-01T02:46:31.391Z\",\n \"escalated_at\": \"2022-01-01T02:46:31.553Z\"\n }\n ],\n \"total_count\": 21283\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/event-rule/stat": { + },"/monitoring/alert/stat": { "post": { - "tags": ["monitoring > event-rule"], + "tags": ["monitoring > alert"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -215,20 +215,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/project-alert-config/create": { + },"/monitoring/data-source/register": { "post": { - "tags": ["monitoring > project-alert-config"], - "summary": "Create", + "tags": ["monitoring > data-source"], + "summary": "Register", "operationId" : "", - "description": "### Description \nCreates a new ProjectAlertConfig in a specific Project. When creating a ProjectAlertConfig, validation of the Project is preceded. After the validation is done, ProjectAlertConfig enables EscalationPolicy to be set in the Project, or enables `enum` type `recovery_mode` and `notification_urgency` to be set through the `options` parameter. The parameter `recovery_mode` is for changing the state of the Alert to `resolved` if the external monitoring solution sends the resolved Alert. The parameter `notification_urgency` is used to choose whether you will get all Alerts or only urgent ones.", + "description": "### Description \nRegisters a DataSource with information of the plugin to use. Information of the plugin includes `version`, `provider`, `upgrade_mode`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |escalation_policy_id||string||\n |options||AlertOptions||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |plugin_info||DataSourcePluginInfo|True|\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID" },"options" : {"$ref": "#/components/schemas/AlertOptions","title": "OPTIONS" } } + "properties": {"name" : {"type": "string","title": "NAME" },"plugin_info" : {"$ref": "#/components/schemas/DataSourcePluginInfo","title": "PLUGIN_INFO" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"project_id\": \"project-dee2a81d4859\",\n \"escalation_policy_id\": \"ep-b441abe04ca9\",\n \"options\": {\n \"notification_urgency\": \"ALL\",\n \"recovery_mode\": \"AUTO\"\n },\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"name\": \"datasource-test\",\n \"plugin_info\": {\"plugin_id\": \"plugin-123456789012\",\n \"version\": \"1.1.4.20220617.135934\",\n \"options\": {},\n \"provider\": \"aws\",\n \"metadata\": {\n \"supported_resource_type\": [\"inventory.Server\", \"inventory.CloudService\"],\n \"required_keys\": [\"data.cloudwatch\"],\n \"supported_stat\": [\"AVERAGE\", \"MAX\", \"MIN\", \"SUM\"]},\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\"a\": \"b\"},\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} } } },"required": true @@ -237,29 +237,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectAlertConfigInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectAlertConfigInfo"},"Default Example":{ - "value": "{\n \"project_id\": \"project-dee2a81d4859\",\n \"options\": {\n \"notification_urgency\": \"ALL\",\n \"recovery_mode\": \"AUTO\"\n },\n \"escalation_policy_info\": {\n \"escalation_policy_id\": \"ep-b441abe04ca9\",\n \"name\": \"Global New Policy\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-27T05:12:22.998Z\"\n}" + "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ + "value": "{\n \"data_source_id\": \"ds-123456789012\",\n \"name\": \"datasource-test\",\n \"state\": \"ENABLED\",\n \"monitoring_type\": \"METRIC\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\",\n \"aws_assume_role\"\n ],\n \"use_resource_secret\": true,\n \"monitoring_type\": \"METRIC\"\n },\n \"plugin_info\": {\n \"plugin_id\": \"plugin-123456789012\",\n \"version\": \"1.1.4.20220617.135934\",\n \"options\": {},\n \"provider\": \"aws\",\n \"metadata\": {\n \"supported_stat\": [\n \"AVERAGE\",\n \"MAX\",\n \"MIN\",\n \"SUM\"\n ],\n \"supported_resource_type\": [\n \"inventory.Server\",\n \"inventory.CloudService\"\n ],\n \"required_keys\": [\n \"data.cloudwatch\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"a\": \"b\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-06-21T01:17:12.144Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/project-alert-config/update": { + },"/monitoring/data-source/update": { "post": { - "tags": ["monitoring > project-alert-config"], + "tags": ["monitoring > data-source"], "summary": "Update", "operationId" : "", - "description": "### Description \nUpdates a specific ProjectAlertConfig. You can make changes in ProjectAlertConfig settings, including the EscalationPolicy to apply. You can also change `notification_urgency` and `recovery_mode` by modifying the `options` parameter.", + "description": "### Description \nUpdates a specific DataSource. You can make changes in DataSource settings, including `name` and `tags`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |escalation_policy_id||string||\n |options||AlertOptions||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |name||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID" },"options" : {"$ref": "#/components/schemas/AlertOptions","title": "OPTIONS" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"project_id\": \"project-dee2a81d4859\",\n \"escalation_policy_id\": \"ep-4ee42a9b2d96\",\n \"options\": {\n \"notification_urgency\": \"ALL\",\n \"recovery_mode\": \"MANUAL\"\n },\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-123456789012\",\n \"name\": \"tmp-datasource_test\",\n \"tags\": {\"b\": \"c\"},\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} } } },"required": true @@ -268,52 +268,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectAlertConfigInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectAlertConfigInfo"},"Default Example":{ - "value": "{\n \"project_id\": \"project-dee2a81d4859\",\n \"options\": {\n \"notification_urgency\": \"ALL\",\n \"recovery_mode\": \"AUTO\"\n },\n \"escalation_policy_info\": {\n \"escalation_policy_id\": \"ep-b441abe04ca9\",\n \"name\": \"Global New Policy\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-27T05:12:22.998Z\"\n}" + "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ + "value": "{\n \"data_source_id\": \"ds-123456789012\",\n \"name\": \"datasource-test\",\n \"state\": \"ENABLED\",\n \"monitoring_type\": \"METRIC\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\",\n \"aws_assume_role\"\n ],\n \"use_resource_secret\": true,\n \"monitoring_type\": \"METRIC\"\n },\n \"plugin_info\": {\n \"plugin_id\": \"plugin-123456789012\",\n \"version\": \"1.1.4.20220617.135934\",\n \"options\": {},\n \"provider\": \"aws\",\n \"metadata\": {\n \"supported_stat\": [\n \"AVERAGE\",\n \"MAX\",\n \"MIN\",\n \"SUM\"\n ],\n \"supported_resource_type\": [\n \"inventory.Server\",\n \"inventory.CloudService\"\n ],\n \"required_keys\": [\n \"data.cloudwatch\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"a\": \"b\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-06-21T01:17:12.144Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/project-alert-config/delete": { - "post": { - "tags": ["monitoring > project-alert-config"], - "summary": "Delete", - "operationId" : "", - "description": "### Description \nDeletes a specific ProjectAlertConfig. Deletes alert configuration data in a Project.", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n
", - "content": { - "application/json": { - "schema": { - "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" } } - }, - "examples":{"Default Example":{"value": "{\n \"project_id\": \"project-dee2a81d4859\",\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response"} - } - ,"security": [{"HTTPBearer": []}] } - },"/monitoring/project-alert-config/get": { + },"/monitoring/data-source/enable": { "post": { - "tags": ["monitoring > project-alert-config"], - "summary": "Get", + "tags": ["monitoring > data-source"], + "summary": "Enable", "operationId" : "", - "description": "### Description \nGets a specific ProjectAlertConfig. Prints detailed information about the ProjectAlertConfig, including EscalationPolicy, recovery mode, and notification urgency.", + "description": "### Description \nEnables a specific DataSource. By enabling a DataSource, you can communicate with an external cloud service via the plugin.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"project_id\": \"project-dee2a81d4859\",\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-6167ed6b42f4\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} } } },"required": true @@ -322,29 +299,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectAlertConfigInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectAlertConfigInfo"},"Default Example":{ - "value": "{\n \"project_id\": \"project-dee2a81d4859\",\n \"options\": {\n \"notification_urgency\": \"ALL\",\n \"recovery_mode\": \"AUTO\"\n },\n \"escalation_policy_info\": {\n \"escalation_policy_id\": \"ep-b441abe04ca9\",\n \"name\": \"Global New Policy\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-27T05:12:22.998Z\"\n}" + "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ + "value": "{\n \"data_source_id\": \"ds-123456789012\",\n \"name\": \"datasource-test\",\n \"state\": \"ENABLED\",\n \"monitoring_type\": \"METRIC\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\",\n \"aws_assume_role\"\n ],\n \"use_resource_secret\": true,\n \"monitoring_type\": \"METRIC\"\n },\n \"plugin_info\": {\n \"plugin_id\": \"plugin-123456789012\",\n \"version\": \"1.1.4.20220617.135934\",\n \"options\": {},\n \"provider\": \"aws\",\n \"metadata\": {\n \"supported_stat\": [\n \"AVERAGE\",\n \"MAX\",\n \"MIN\",\n \"SUM\"\n ],\n \"supported_resource_type\": [\n \"inventory.Server\",\n \"inventory.CloudService\"\n ],\n \"required_keys\": [\n \"data.cloudwatch\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"a\": \"b\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-06-21T01:17:12.144Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/project-alert-config/list": { + },"/monitoring/data-source/disable": { "post": { - "tags": ["monitoring > project-alert-config"], - "summary": "List", + "tags": ["monitoring > data-source"], + "summary": "Disable", "operationId" : "", - "description": "### Description \nGets a list of all ProjectAlertConfigs from all projects configured in the same domain. You can use a query to get a filtered list of ProjectAlertConfigs.", + "description": "### Description \nDisables a specific DataSource. By disabling a DataSource, you can block communication with an external cloud service via the plugin.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |project_id||string||\n |escalation_policy_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"project_id" : {"type": "string","title": "PROJECT_ID" },"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": {},\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-6167ed6b42f4\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} } } },"required": true @@ -353,58 +330,52 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/ProjectAlertConfigsInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/ProjectAlertConfigsInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"project_id\": \"project-18655561c535\",\n \"options\": {\n \"notification_urgency\": \"ALL\",\n \"recovery_mode\": \"MANUAL\"\n },\n \"escalation_policy_info\": {\n \"escalation_policy_id\": \"ep-4ee42a9b2d96\",\n \"name\": \"HAHA\",\n \"is_default\": true\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-05-17T02:09:19.839Z\"\n },\n {\n \"project_id\": \"project-9074eea97d7e\",\n \"options\": {\n \"notification_urgency\": \"ALL\",\n \"recovery_mode\": \"MANUAL\"\n },\n \"escalation_policy_info\": {\n \"escalation_policy_id\": \"ep-b441abe04ca9\",\n \"name\": \"Global New Policy\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2021-06-24T02:50:50.535Z\"\n }\n ],\n \"total_count\": 2\n}" + "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ + "value": "{\n \"data_source_id\": \"ds-123456789012\",\n \"name\": \"datasource-test\",\n \"state\": \"ENABLED\",\n \"monitoring_type\": \"METRIC\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\",\n \"aws_assume_role\"\n ],\n \"use_resource_secret\": true,\n \"monitoring_type\": \"METRIC\"\n },\n \"plugin_info\": {\n \"plugin_id\": \"plugin-123456789012\",\n \"version\": \"1.1.4.20220617.135934\",\n \"options\": {},\n \"provider\": \"aws\",\n \"metadata\": {\n \"supported_stat\": [\n \"AVERAGE\",\n \"MAX\",\n \"MIN\",\n \"SUM\"\n ],\n \"supported_resource_type\": [\n \"inventory.Server\",\n \"inventory.CloudService\"\n ],\n \"required_keys\": [\n \"data.cloudwatch\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"a\": \"b\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-06-21T01:17:12.144Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/project-alert-config/stat": { + },"/monitoring/data-source/deregister": { "post": { - "tags": ["monitoring > project-alert-config"], - "summary": "Stat", + "tags": ["monitoring > data-source"], + "summary": "Deregister", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nDeregisters and deletes a specific DataSource. You must specify the `data_source_id` of the DataSource to deregister.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-6167ed6b42f4\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"type": "object"}, - "examples": { - "Schema": {"type": "object"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/data-source/register": { + },"/monitoring/data-source/update-plugin": { "post": { "tags": ["monitoring > data-source"], - "summary": "Register", + "summary": "Update Plugin", "operationId" : "", - "description": "### Description \nRegisters a DataSource with information of the plugin to use. Information of the plugin includes `version`, `provider`, `upgrade_mode`.", + "description": "### Description \nUpdates the plugin of a specific DataSource. This method resets the plugin data in the DataSource to update the `metadata`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |plugin_info||DataSourcePluginInfo|True|\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |version||string||\n |options||Struct||\n |upgrade_mode|MANUAL, AUTO |string||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"plugin_info" : {"$ref": "#/components/schemas/DataSourcePluginInfo","title": "PLUGIN_INFO" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"version" : {"type": "string","title": "VERSION" },"options" : {"type": "object","title": "OPTIONS" },"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE" } } }, - "examples":{"Default Example":{"value": "{\n \"name\": \"datasource-test\",\n \"plugin_info\": {\"plugin_id\": \"plugin-123456789012\",\n \"version\": \"1.1.4.20220617.135934\",\n \"options\": {},\n \"provider\": \"aws\",\n \"metadata\": {\n \"supported_resource_type\": [\"inventory.Server\", \"inventory.CloudService\"],\n \"required_keys\": [\"data.cloudwatch\"],\n \"supported_stat\": [\"AVERAGE\", \"MAX\", \"MIN\", \"SUM\"]},\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\"a\": \"b\"},\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-6167ed6b42f4\",\n \"version\": \"1.1.3\",\n \"options\": {},\n \"upgrade_mode\": \"MANUAL\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} } } },"required": true @@ -422,43 +393,35 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/data-source/update": { + },"/monitoring/data-source/verify-plugin": { "post": { "tags": ["monitoring > data-source"], - "summary": "Update", + "summary": "Verify Plugin", "operationId" : "", - "description": "### Description \nUpdates a specific DataSource. You can make changes in DataSource settings, including `name` and `tags`.", + "description": "### Description \nVerifies the plugin of a specific DataSource. This method validates the plugin data, `version` and `endpoint`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |name||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-123456789012\",\n \"name\": \"tmp-datasource_test\",\n \"tags\": {\"b\": \"c\"},\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-6167ed6b42f4\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ - "value": "{\n \"data_source_id\": \"ds-123456789012\",\n \"name\": \"datasource-test\",\n \"state\": \"ENABLED\",\n \"monitoring_type\": \"METRIC\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\",\n \"aws_assume_role\"\n ],\n \"use_resource_secret\": true,\n \"monitoring_type\": \"METRIC\"\n },\n \"plugin_info\": {\n \"plugin_id\": \"plugin-123456789012\",\n \"version\": \"1.1.4.20220617.135934\",\n \"options\": {},\n \"provider\": \"aws\",\n \"metadata\": {\n \"supported_stat\": [\n \"AVERAGE\",\n \"MAX\",\n \"MIN\",\n \"SUM\"\n ],\n \"supported_resource_type\": [\n \"inventory.Server\",\n \"inventory.CloudService\"\n ],\n \"required_keys\": [\n \"data.cloudwatch\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"a\": \"b\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-06-21T01:17:12.144Z\"\n}" - }} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/data-source/enable": { + },"/monitoring/data-source/get": { "post": { "tags": ["monitoring > data-source"], - "summary": "Enable", + "summary": "Get", "operationId" : "", - "description": "### Description \nEnables a specific DataSource. By enabling a DataSource, you can communicate with an external cloud service via the plugin.", + "description": "### Description \nGets a specific DataSource. Prints detailed information about the DataSource, including `name`, `state`, and `plugin_info`.", "requestBody": { "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n
", "content": { @@ -484,20 +447,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/data-source/disable": { + },"/monitoring/data-source/list": { "post": { "tags": ["monitoring > data-source"], - "summary": "Disable", + "summary": "List", "operationId" : "", - "description": "### Description \nDisables a specific DataSource. By disabling a DataSource, you can block communication with an external cloud service via the plugin.", + "description": "### Description \nGets a list of all DataSources. You can use a query to get a filtered list of DataSources.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |data_source_id||string||\n |name||string||\n |state||string||\n |monitoring_type|METRIC, LOG |string||\n |provider||string||\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"monitoring_type" : {"type": "string","title": "MONITORING_TYPE" },"provider" : {"type": "string","title": "PROVIDER" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-6167ed6b42f4\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query\": {},\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} } } },"required": true @@ -506,52 +469,58 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, + "schema": {"$ref": "#/components/schemas/DataSourcesInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ - "value": "{\n \"data_source_id\": \"ds-123456789012\",\n \"name\": \"datasource-test\",\n \"state\": \"ENABLED\",\n \"monitoring_type\": \"METRIC\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\",\n \"aws_assume_role\"\n ],\n \"use_resource_secret\": true,\n \"monitoring_type\": \"METRIC\"\n },\n \"plugin_info\": {\n \"plugin_id\": \"plugin-123456789012\",\n \"version\": \"1.1.4.20220617.135934\",\n \"options\": {},\n \"provider\": \"aws\",\n \"metadata\": {\n \"supported_stat\": [\n \"AVERAGE\",\n \"MAX\",\n \"MIN\",\n \"SUM\"\n ],\n \"supported_resource_type\": [\n \"inventory.Server\",\n \"inventory.CloudService\"\n ],\n \"required_keys\": [\n \"data.cloudwatch\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"a\": \"b\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-06-21T01:17:12.144Z\"\n}" + "Schema": {"$ref": "#/components/schemas/DataSourcesInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"data_source_id\": \"ds-89f1e81528e9\",\n \"name\": \"AWS CloudTrail\",\n \"state\": \"ENABLED\",\n \"monitoring_type\": \"LOG\",\n \"provider\": \"aws\",\n \"capability\": {\n \"use_resource_secret\": true,\n \"monitoring_type\": \"LOG\",\n \"supported_schema\": [\n \"aws_access_key\",\n \"aws_assume_role\"\n ]\n },\n \"plugin_info\": {\n \"plugin_id\": \"plugin-9881b9b440a4\",\n \"version\": \"1.0-dev2\",\n \"options\": {},\n \"provider\": \"aws\",\n \"metadata\": {\n \"required_keys\": [\n \"reference.resource_id\"\n ],\n \"supported_resource_type\": [\n \"inventory.Server\",\n \"inventory.CloudService\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {},\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2021-03-31T08:39:45.532Z\"\n }\n ],\n \"total_count\": 2\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/data-source/deregister": { + },"/monitoring/data-source/stat": { "post": { "tags": ["monitoring > data-source"], - "summary": "Deregister", + "summary": "Stat", "operationId" : "", - "description": "### Description \nDeregisters and deletes a specific DataSource. You must specify the `data_source_id` of the DataSource to deregister.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-6167ed6b42f4\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"type": "object"}, + "examples": { + "Schema": {"type": "object"}} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/data-source/update-plugin": { + },"/monitoring/event-rule/create": { "post": { - "tags": ["monitoring > data-source"], - "summary": "Update Plugin", + "tags": ["monitoring > event-rule"], + "summary": "Create", "operationId" : "", - "description": "### Description \nUpdates the plugin of a specific DataSource. This method resets the plugin data in the DataSource to update the `metadata`.", + "description": "### Description \nCreates a new EventRule. You can filter the Events to apply the EventRule by setting the input parameter `Conditions`. The method can change the Events' assignee or Project.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |version||string||\n |options||Struct||\n |upgrade_mode|MANUAL, AUTO |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |conditions||array|True|\n |conditions_policy|ALL, ANY, ALWAYS |string|True|\n |actions||EventRuleActions|True|\n |resource_group|WORKSPACE, PROJECT |string|True|\n |options||EventRuleOptions||\n |tags||Struct||\n |project_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"version" : {"type": "string","title": "VERSION" },"options" : {"type": "object","title": "OPTIONS" },"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE" } } + "properties": {"name" : {"type": "string","title": "NAME" },"conditions" : {"items": {"$ref": "#/components/schemas/EventRuleCondition"}, "type": "array","title": "CONDITIONS" },"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY" },"actions" : {"$ref": "#/components/schemas/EventRuleActions","title": "ACTIONS" },"options" : {"$ref": "#/components/schemas/EventRuleOptions","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"project_id" : {"type": "string","title": "PROJECT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-6167ed6b42f4\",\n \"version\": \"1.1.3\",\n \"options\": {},\n \"upgrade_mode\": \"MANUAL\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"conditions\": [{\"key\": \"description\", \"value\": \"API\", \"operator\": \"contain\"}],\n \"conditions_policy\": \"ALL\",\n \"actions\": {\"change_assignee\": \"user1@email.com\",\n \"change_urgency\": \"LOW\",\n \"change_project\": \"project-123456789012\",\n \"add_additional_info\": {\"type\": \"personal rule\"},\n \"no_notification\": true},\n \"options\": {},\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} } } },"required": true @@ -560,52 +529,60 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, + "schema": {"$ref": "#/components/schemas/EventRuleInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ - "value": "{\n \"data_source_id\": \"ds-123456789012\",\n \"name\": \"datasource-test\",\n \"state\": \"ENABLED\",\n \"monitoring_type\": \"METRIC\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\",\n \"aws_assume_role\"\n ],\n \"use_resource_secret\": true,\n \"monitoring_type\": \"METRIC\"\n },\n \"plugin_info\": {\n \"plugin_id\": \"plugin-123456789012\",\n \"version\": \"1.1.4.20220617.135934\",\n \"options\": {},\n \"provider\": \"aws\",\n \"metadata\": {\n \"supported_stat\": [\n \"AVERAGE\",\n \"MAX\",\n \"MIN\",\n \"SUM\"\n ],\n \"supported_resource_type\": [\n \"inventory.Server\",\n \"inventory.CloudService\"\n ],\n \"required_keys\": [\n \"data.cloudwatch\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"a\": \"b\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-06-21T01:17:12.144Z\"\n}" + "Schema": {"$ref": "#/components/schemas/EventRuleInfo"},"Default Example":{ + "value": "{\n \"event_rule_id\": \"er-123456789012\",\n \"order\": 1,\n \"conditions\": [\n {\n \"key\": \"description\",\n \"value\": \"API\",\n \"operator\": \"contain\"\n }\n ],\n \"conditions_policy\": \"ALL\",\n \"actions\": {\n \"change_assignee\": \"user1@email.com\",\n \"change_urgency\": \"LOW\",\n \"change_project\": \"project-123456789012\",\n \"add_additional_info\": {\n \"type\": \"personal rule\"\n },\n \"no_notification\": true\n },\n \"options\": {},\n \"scope\": \"PROJECT\",\n \"project_id\": \"project-123456789012\",\n \"tags\": {},\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-02T06:02:31.517Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/data-source/verify-plugin": { + },"/monitoring/event-rule/update": { "post": { - "tags": ["monitoring > data-source"], - "summary": "Verify Plugin", + "tags": ["monitoring > event-rule"], + "summary": "Update", "operationId" : "", - "description": "### Description \nVerifies the plugin of a specific DataSource. This method validates the plugin data, `version` and `endpoint`.", + "description": "### Description \nChanges a priority order between EventRules to apply. EventRules are filtered by the order configured.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |event_rule_id||string|True|\n |name||string||\n |conditions||array||\n |conditions_policy|ALL, ANY, ALWAYS |string||\n |actions||EventRuleActions||\n |options||EventRuleOptions||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID" },"name" : {"type": "string","title": "NAME" },"conditions" : {"items": {"$ref": "#/components/schemas/EventRuleCondition"}, "type": "array","title": "CONDITIONS" },"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY" },"actions" : {"$ref": "#/components/schemas/EventRuleActions","title": "ACTIONS" },"options" : {"$ref": "#/components/schemas/EventRuleOptions","title": "OPTIONS" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-6167ed6b42f4\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"event_rule_id\": \"er-123456789012\",\n \"conditions\": [{\"key\": \"description\", \"value\": \"ELB\", \"operator\": \"contain\"}],\n \"conditions_policy\": \"ALL\",\n \"actions\": {\"change_assignee\": \"user2@email.com\",\n \"change_urgency\": \"HIGH\",\n \"change_project\": \"project-123456789012\",\n \"add_additional_info\": {\"type\": \"personal rule\"},\n \"no_notification\": true},\n \"options\": {},\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/EventRuleInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/EventRuleInfo"},"Default Example":{ + "value": "{\n \"event_rule_id\": \"er-123456789012\",\n \"order\": 1,\n \"conditions\": [\n {\n \"key\": \"description\",\n \"value\": \"API\",\n \"operator\": \"contain\"\n }\n ],\n \"conditions_policy\": \"ALL\",\n \"actions\": {\n \"change_assignee\": \"user1@email.com\",\n \"change_urgency\": \"LOW\",\n \"change_project\": \"project-123456789012\",\n \"add_additional_info\": {\n \"type\": \"personal rule\"\n },\n \"no_notification\": true\n },\n \"options\": {},\n \"scope\": \"PROJECT\",\n \"project_id\": \"project-123456789012\",\n \"tags\": {},\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-02T06:02:31.517Z\"\n}" + }} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/data-source/get": { + },"/monitoring/event-rule/change-order": { "post": { - "tags": ["monitoring > data-source"], - "summary": "Get", + "tags": ["monitoring > event-rule"], + "summary": "Change Order", "operationId" : "", - "description": "### Description \nGets a specific DataSource. Prints detailed information about the DataSource, including `name`, `state`, and `plugin_info`.", + "description": "### Description \nUpdates a specific EventRule. You can make changes in EventRule settings.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |event_rule_id||string|True|\n |order||int|True|\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" } } + "properties": {"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID" },"order" : {"type": "integer","title": "ORDER" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-6167ed6b42f4\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"event_rule_id\": \"er-123456789012\", \n \"order\": 2,\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} } } },"required": true @@ -614,60 +591,52 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourceInfo"}, + "schema": {"$ref": "#/components/schemas/EventRuleInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourceInfo"},"Default Example":{ - "value": "{\n \"data_source_id\": \"ds-123456789012\",\n \"name\": \"datasource-test\",\n \"state\": \"ENABLED\",\n \"monitoring_type\": \"METRIC\",\n \"provider\": \"aws\",\n \"capability\": {\n \"supported_schema\": [\n \"aws_access_key\",\n \"aws_assume_role\"\n ],\n \"use_resource_secret\": true,\n \"monitoring_type\": \"METRIC\"\n },\n \"plugin_info\": {\n \"plugin_id\": \"plugin-123456789012\",\n \"version\": \"1.1.4.20220617.135934\",\n \"options\": {},\n \"provider\": \"aws\",\n \"metadata\": {\n \"supported_stat\": [\n \"AVERAGE\",\n \"MAX\",\n \"MIN\",\n \"SUM\"\n ],\n \"supported_resource_type\": [\n \"inventory.Server\",\n \"inventory.CloudService\"\n ],\n \"required_keys\": [\n \"data.cloudwatch\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {\n \"a\": \"b\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-06-21T01:17:12.144Z\"\n}" + "Schema": {"$ref": "#/components/schemas/EventRuleInfo"},"Default Example":{ + "value": "{\n \"event_rule_id\": \"er-123456789012\",\n \"order\": 1,\n \"conditions\": [\n {\n \"key\": \"description\",\n \"value\": \"API\",\n \"operator\": \"contain\"\n }\n ],\n \"conditions_policy\": \"ALL\",\n \"actions\": {\n \"change_assignee\": \"user1@email.com\",\n \"change_urgency\": \"LOW\",\n \"change_project\": \"project-123456789012\",\n \"add_additional_info\": {\n \"type\": \"personal rule\"\n },\n \"no_notification\": true\n },\n \"options\": {},\n \"scope\": \"PROJECT\",\n \"project_id\": \"project-123456789012\",\n \"tags\": {},\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-02T06:02:31.517Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/data-source/list": { + },"/monitoring/event-rule/delete": { "post": { - "tags": ["monitoring > data-source"], - "summary": "List", + "tags": ["monitoring > event-rule"], + "summary": "Delete", "operationId" : "", - "description": "### Description \nGets a list of all DataSources. You can use a query to get a filtered list of DataSources.", + "description": "### Description \nDeletes a specific EventRule. You must assign an EventRule resource to delete by specifying `event_rule_id`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |data_source_id||string||\n |name||string||\n |state||string||\n |monitoring_type|METRIC, LOG |string||\n |provider||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |event_rule_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"monitoring_type" : {"type": "string","title": "MONITORING_TYPE" },"provider" : {"type": "string","title": "PROVIDER" } } + "properties": {"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": {},\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"event_rule_id\": \"er-123456789012\",\n \"order\": 2,\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/DataSourcesInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/DataSourcesInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"data_source_id\": \"ds-89f1e81528e9\",\n \"name\": \"AWS CloudTrail\",\n \"state\": \"ENABLED\",\n \"monitoring_type\": \"LOG\",\n \"provider\": \"aws\",\n \"capability\": {\n \"use_resource_secret\": true,\n \"monitoring_type\": \"LOG\",\n \"supported_schema\": [\n \"aws_access_key\",\n \"aws_assume_role\"\n ]\n },\n \"plugin_info\": {\n \"plugin_id\": \"plugin-9881b9b440a4\",\n \"version\": \"1.0-dev2\",\n \"options\": {},\n \"provider\": \"aws\",\n \"metadata\": {\n \"required_keys\": [\n \"reference.resource_id\"\n ],\n \"supported_resource_type\": [\n \"inventory.Server\",\n \"inventory.CloudService\"\n ]\n },\n \"upgrade_mode\": \"AUTO\"\n },\n \"tags\": {},\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2021-03-31T08:39:45.532Z\"\n }\n ],\n \"total_count\": 2\n}" - }} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/data-source/stat": { + },"/monitoring/event-rule/get": { "post": { - "tags": ["monitoring > data-source"], - "summary": "Stat", + "tags": ["monitoring > event-rule"], + "summary": "Get", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nGets a specific EventRule. Prints detailed information about the EventRule.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |event_rule_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"event_rule_id\": \"er-123456789012\",\n \"order\": 2,\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} } } },"required": true @@ -676,27 +645,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/EventRuleInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/EventRuleInfo"},"Default Example":{ + "value": "{\n \"event_rule_id\": \"er-123456789012\",\n \"order\": 1,\n \"conditions\": [\n {\n \"key\": \"description\",\n \"value\": \"API\",\n \"operator\": \"contain\"\n }\n ],\n \"conditions_policy\": \"ALL\",\n \"actions\": {\n \"change_assignee\": \"user1@email.com\",\n \"change_urgency\": \"LOW\",\n \"change_project\": \"project-123456789012\",\n \"add_additional_info\": {\n \"type\": \"personal rule\"\n },\n \"no_notification\": true\n },\n \"options\": {},\n \"scope\": \"PROJECT\",\n \"project_id\": \"project-123456789012\",\n \"tags\": {},\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-02T06:02:31.517Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/metric/list": { + },"/monitoring/event-rule/list": { "post": { - "tags": ["monitoring > metric"], + "tags": ["monitoring > event-rule"], "summary": "List", "operationId" : "", - "description": "### Description \nGets a list of all Metrics of one or more specified Resources. The parameter `resources` is a list of Resources from which to get a list of Metrics collected.", + "description": "### Description \nGets a list of all EventRules. You can use a query to get a filtered list of EventRules. For example, you can adjust the scope of the list to a certain Project or Domain.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |resources||array|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |event_rule_id||string||\n |name||string||\n |workspace_id||string||\n |project_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"resources" : {"items": {}, "type": "array","title": "RESOURCES" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID" },"name" : {"type": "string","title": "NAME" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-31190a65a42a\",\n \"resources\": [\"cloud-svc-cd0105d255da\"],\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} } } },"required": true @@ -705,29 +676,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/MetricsInfo"}, + "schema": {"$ref": "#/components/schemas/EventRulesInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/MetricsInfo"},"Default Example":{ - "value": "{\n \"metrics\": [\n {\n \"key\": \"CPUUtilization\",\n \"group\": \"AWS/EC2\",\n \"name\": \"CPUUtilization\",\n \"unit\": {\n \"y\": \"Percent\",\n \"x\": \"Timestamp\"\n },\n \"metric_query\": {\n \"cloud-svc-cd0105d255da\": {\n \"Dimensions\": [\n {\n \"Name\": \"InstanceId\",\n \"Value\": \"i-0400cdd39f1a4d5e9\"\n }\n ],\n \"MetricName\": \"CPUUtilization\",\n \"Namespace\": \"AWS/EC2\"\n }\n }\n },\n {\n \"key\": \"NetworkIn\",\n \"group\": \"AWS/EC2\",\n \"name\": \"NetworkIn\",\n \"unit\": {\n \"y\": \"Bytes\",\n \"x\": \"Timestamp\"\n },\n \"metric_query\": {\n \"cloud-svc-cd0105d255da\": {\n \"Dimensions\": [\n {\n \"Name\": \"InstanceId\",\n \"Value\": \"i-0400cdd39f1a4d5e9\"\n }\n ],\n \"MetricName\": \"NetworkIn\",\n \"Namespace\": \"AWS/EC2\"\n }\n }\n }\n ],\n \"available_resources\": {\n \"cloud-svc-cd0105d255da\": true\n },\n \"domain_id\": \"domain-31190a65a42a\"\n}" + "Schema": {"$ref": "#/components/schemas/EventRulesInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"event_rule_id\": \"er-123456789012\",\n \"order\": 1,\n \"conditions\": [\n {\n \"key\": \"title\",\n \"value\": \"AWS\",\n \"operator\": \"contain\"\n }\n ],\n \"conditions_policy\": \"ALL\",\n \"actions\": {\n \"change_assignee\": \"user2@email.com\",\n \"change_urgency\": \"HIGH\",\n \"add_additional_info\": {},\n \"no_notification\": true\n },\n \"options\": {},\n \"scope\": \"PROJECT\",\n \"project_id\": \"project-123456789012\",\n \"tags\": {},\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:33:58.388Z\"\n },\n {\n \"event_rule_id\": \"er-123456789012\",\n \"order\": 2,\n \"conditions\": [\n {\n \"key\": \"title\",\n \"value\": \"ELB\",\n \"operator\": \"contain\"\n }\n ],\n \"conditions_policy\": \"ALL\",\n \"actions\": {\n \"change_assignee\": \"user1@email.com\",\n \"change_urgency\": \"LOW\",\n \"change_project\": \"project-123456789012\",\n \"add_additional_info\": {},\n \"no_notification\": true\n },\n \"options\": {},\n \"scope\": \"PROJECT\",\n \"project_id\": \"project-123456789012\",\n \"tags\": {},\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:12:30.226Z\"\n }\n ],\n \"total_count\": 2\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/metric/get-data": { + },"/monitoring/event-rule/stat": { "post": { - "tags": ["monitoring > metric"], - "summary": "Get Data", + "tags": ["monitoring > event-rule"], + "summary": "Stat", "operationId" : "", - "description": "### Description \nGets data of a single Metric. You must specify the parameter `metric` to get data of. You can specify the `period` to get data for.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |metric_query||Struct|True|\n |metric||string|True|\n |start||string|True|\n |end||string|True|\n |period||int||\n |stat||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"metric_query" : {"type": "object","title": "METRIC_QUERY" },"metric" : {"type": "string","title": "METRIC" },"start" : {"type": "string","title": "START" },"end" : {"type": "string","title": "END" },"period" : {"type": "integer","title": "PERIOD" },"stat" : {"type": "string","title": "STAT" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, - "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-31190a65a42a\",\n \"metric_query\": {\n \"cloud-svc-cd0105d255da\": {\n \"Dimensions\": [\n {\n \"Name\": \"InstanceId\",\n \"Value\": \"i-0400cdd39f1a4d5e9\"\n }\n ],\n \"MetricName\": \"CPUUtilization\",\n \"Namespace\": \"AWS/EC2\"\n }\n },\n \"metric\": \"CPUUtilization\",\n \"start\": \"2022-06-21T03:11:29.438Z\",\n \"end\": \"2022-06-21T04:11:29.438Z\",\n \"stat\": \"AVERAGE\",\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -736,29 +707,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/MetricDataInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/MetricDataInfo"},"Default Example":{ - "value": "{\n \"labels\": [\n \"2022-06-21T03:13:00.000Z\",\n \"2022-06-21T03:18:00.000Z\",\n \"2022-06-21T03:23:00.000Z\",\n \"2022-06-21T03:28:00.000Z\",\n \"2022-06-21T03:33:00.000Z\",\n \"2022-06-21T03:38:00.000Z\",\n \"2022-06-21T03:43:00.000Z\",\n \"2022-06-21T03:48:00.000Z\",\n \"2022-06-21T03:53:00.000Z\",\n \"2022-06-21T03:58:00.000Z\",\n \"2022-06-21T04:03:00.000Z\",\n \"2022-06-21T04:08:00.000Z\"\n ],\n \"resource_values\": {\n \"cloud-svc-cd0105d255da\": [\n 0.099999999999999,\n 0.10001852366397981,\n 0.10001852366397981,\n 0.1328230362675432,\n 0.099472075576548,\n 0.06507936507936621,\n 0.166703713994628,\n 0.1338983050847476,\n 0.1327868852458988,\n 0.1339168287487284,\n 0.1328610417160508,\n 0.10056497175141618\n ]\n },\n \"domain_id\": \"domain-58010aa2e451\"\n}" - }} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/note/create": { + },"/monitoring/event/get": { "post": { - "tags": ["monitoring > note"], - "summary": "Create", + "tags": ["monitoring > event"], + "summary": "Get", "operationId" : "", - "description": "### Description \nCreates a new Note. You can create Notes for each Alert to record the information needed to manage the Alerts.", + "description": "### Description \nGets a specific Event matching the input parameters, `event_id` and `domain_id`. Prints detailed information about the Event.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |alert_id||string|True|\n |note||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service||string|True|\n |resource||string|True|\n |verb||string|True|\n |status||string|True|\n |message||Struct|True|\n
", "content": { "application/json": { "schema": { - "properties": {"alert_id" : {"type": "string","title": "ALERT_ID" },"note" : {"type": "string","title": "NOTE" } } + "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" } } }, - "examples":{"Default Example":{"value": "{\n \"alert_id\": \"alert-160ce04f6908\",\n \"note\": \"This is a description\",\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -767,29 +736,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/NoteInfo"}, + "schema": {"$ref": "#/components/schemas/EventInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/NoteInfo"},"Default Example":{ - "value": "{\n \"note_id\": \"note-df107d31bf20\",\n \"alert_id\": \"alert-160ce04f6908\",\n \"note\": \"This is a description\",\n \"created_by\": \"seolmin@mz.co.kr\",\n \"project_id\": \"project-52a423012d5e\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-29T08:26:14.418Z\"\n}" + "Schema": {"$ref": "#/components/schemas/EventInfo"},"Default Example":{ + "value": "{\n \"event_id\": \"event-4e16ba3bd384\",\n \"event_key\": \"cfbdd0cee08f0f2664dbef297c370017\",\n \"event_type\": \"ALERT\",\n \"title\": \"Notification of access to the SpaceONE bastion Host\",\n \"description\": \"SSH Access to stargate-dev-kubectl-amzl2 from spaceoneadm\",\n \"severity\": \"INFO\",\n \"resource\": {\n \"resource_id\": \"server-1187737cc0d9\",\n \"resource_type\": \"inventory.Server\",\n \"name\": \"stargate-dev-kubectl-amzl2\"\n },\n \"raw_data\": {\n \"resource\": {\n \"name\": \"stargate-dev-kubectl-amzl2\",\n \"resource_id\": \"server-1187737cc0d9\",\n \"resource_type\": \"inventory.Server\"\n },\n \"event_key\": \"cfbdd0cee08f0f2664dbef297c370017\",\n \"title\": \"Notification of access to the SpaceONE bastion Host\",\n \"severity\": \"INFO\",\n \"description\": \"SSH Access to stargate-dev-kubectl-amzl2 from spaceoneadm\",\n \"event_type\": \"ALERT\",\n \"additional_info\": {\n \"host\": [],\n \"user\": \"spaceoneadm\"\n }\n },\n \"additional_info\": {\n \"host\": \"[]\",\n \"user\": \"spaceoneadm\"\n },\n \"alert_id\": \"alert-06462f6cb54e\",\n \"webhook_id\": \"webhook-ff9e2eda678a\",\n \"project_id\": \"project-18655561c535\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-21T00:34:58.034Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/note/update": { + },"/monitoring/event/list": { "post": { - "tags": ["monitoring > note"], - "summary": "Update", + "tags": ["monitoring > event"], + "summary": "List", "operationId" : "", - "description": "### Description \nUpdates a specific Note. You must specify the `note_id` for Note validation check. If the Note exists, it is updated.", + "description": "### Description \nGets a list of all Events. You must specify the `domain_id`. You can use a query to get a filtered list of Events.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |note_id||string|True|\n |note||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |event_id||string||\n |event_key||string||\n |event_type||string||\n |severity||string||\n |resource||string||\n |provider||string||\n |account||string||\n |workspace_id||string||\n |project_id||string||\n |alert_id||string||\n |webhook_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"note_id" : {"type": "string","title": "NOTE_ID" },"note" : {"type": "string","title": "NOTE" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"event_id" : {"type": "string","title": "EVENT_ID" },"event_key" : {"type": "string","title": "EVENT_KEY" },"event_type" : {"type": "string","title": "EVENT_TYPE" },"severity" : {"type": "string","title": "SEVERITY" },"resource" : {"type": "string","title": "RESOURCE" },"provider" : {"type": "string","title": "PROVIDER" },"account" : {"type": "string","title": "ACCOUNT" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"alert_id" : {"type": "string","title": "ALERT_ID" },"webhook_id" : {"type": "string","title": "WEBHOOK_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"note_id\": \"note-df107d31bf20\",\n \"note\": \"This is a test\",\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query\": {},\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} } } },"required": true @@ -798,52 +767,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/NoteInfo"}, + "schema": {"$ref": "#/components/schemas/EventsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/NoteInfo"},"Default Example":{ - "value": "{\n \"note_id\": \"note-df107d31bf20\",\n \"alert_id\": \"alert-160ce04f6908\",\n \"note\": \"This is a description\",\n \"created_by\": \"seolmin@mz.co.kr\",\n \"project_id\": \"project-52a423012d5e\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-29T08:26:14.418Z\"\n}" + "Schema": {"$ref": "#/components/schemas/EventsInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"event_id\": \"event-4e16ba3bd384\",\n \"event_key\": \"cfbdd0cee08f0f2664dbef297c370017\",\n \"event_type\": \"ALERT\",\n \"title\": \"Notification of access to the SpaceONE bastion Host\",\n \"description\": \"SSH Access to stargate-dev-kubectl-amzl2 from spaceoneadm\",\n \"severity\": \"INFO\",\n \"resource\": {\n \"resource_id\": \"server-1187737cc0d9\",\n \"resource_type\": \"inventory.Server\",\n \"name\": \"stargate-dev-kubectl-amzl2\"\n },\n \"raw_data\": {\n \"resource\": {\n \"name\": \"stargate-dev-kubectl-amzl2\",\n \"resource_type\": \"inventory.Server\",\n \"resource_id\": \"server-1187737cc0d9\"\n },\n \"event_key\": \"cfbdd0cee08f0f2664dbef297c370017\",\n \"additional_info\": {\n \"user\": \"spaceoneadm\",\n \"host\": []\n },\n \"severity\": \"INFO\",\n \"description\": \"SSH Access to stargate-dev-kubectl-amzl2 from spaceoneadm\",\n \"title\": \"Notification of access to the SpaceONE bastion Host\",\n \"event_type\": \"ALERT\"\n },\n \"additional_info\": {\n \"user\": \"spaceoneadm\",\n \"host\": \"[]\"\n },\n \"alert_id\": \"alert-06462f6cb54e\",\n \"webhook_id\": \"webhook-ff9e2eda678a\",\n \"project_id\": \"project-18655561c535\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-21T00:34:58.034Z\"\n },\n {\n \"event_id\": \"event-b178e1b71daf\",\n \"event_key\": \"abc16e5455c26ab7611bf8aa8d1020cc\",\n \"event_type\": \"ALERT\",\n \"title\": \"Notification of access to the SpaceONE bastion Host\",\n \"description\": \"SSH Access to stargate-dev-kubectl-amzl2 from glee@mz.co.kr\",\n \"severity\": \"INFO\",\n \"resource\": {\n \"resource_id\": \"server-1187737cc0d9\",\n \"resource_type\": \"inventory.Server\",\n \"name\": \"stargate-dev-kubectl-amzl2\"\n },\n \"raw_data\": {\n \"additional_info\": {\n \"host\": [\n \"125.131.104.40\"\n ],\n \"user\": \"glee@mz.co.kr\"\n },\n \"description\": \"SSH Access to stargate-dev-kubectl-amzl2 from glee@mz.co.kr\",\n \"severity\": \"INFO\",\n \"event_type\": \"ALERT\",\n \"title\": \"Notification of access to the SpaceONE bastion Host\",\n \"resource\": {\n \"resource_type\": \"inventory.Server\",\n \"name\": \"stargate-dev-kubectl-amzl2\",\n \"resource_id\": \"server-1187737cc0d9\"\n },\n \"event_key\": \"abc16e5455c26ab7611bf8aa8d1020cc\"\n },\n \"additional_info\": {\n \"user\": \"glee@mz.co.kr\",\n \"host\": \"[\u0027125.131.104.40\u0027]\"\n },\n \"alert_id\": \"alert-332617cf2894\",\n \"webhook_id\": \"webhook-ff9e2eda678a\",\n \"project_id\": \"project-18655561c535\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-21T00:34:52.822Z\"\n }\n ],\n \"total_count\": 2\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/note/delete": { + },"/monitoring/event/stat": { "post": { - "tags": ["monitoring > note"], - "summary": "Delete", + "tags": ["monitoring > event"], + "summary": "Stat", "operationId" : "", - "description": "### Description \nDeletes a specific Note. You must specify the `note_id` of the Note to delete.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |note_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"note_id" : {"type": "string","title": "NOTE_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, - "examples":{"Default Example":{"value": "{\n \"note_id\": \"note-0bfac585bf5a\",\n}"},"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response"} - } - ,"security": [{"HTTPBearer": []}] } - },"/monitoring/note/get": { - "post": { - "tags": ["monitoring > note"], - "summary": "Get", - "operationId" : "", - "description": "### Description \nGets a specific Note. You must specify the `note_id` and `domain_id`.", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |note_id||string|True|\n
", - "content": { - "application/json": { - "schema": { - "properties": {"note_id" : {"type": "string","title": "NOTE_ID" } } - }, - "examples":{"Default Example":{"value": "{\n \"note_id\": \"note-0bfac585bf5a\",\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -852,58 +798,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/NoteInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/NoteInfo"},"Default Example":{ - "value": "{\n \"note_id\": \"note-df107d31bf20\",\n \"alert_id\": \"alert-160ce04f6908\",\n \"note\": \"This is a description\",\n \"created_by\": \"seolmin@mz.co.kr\",\n \"project_id\": \"project-52a423012d5e\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-29T08:26:14.418Z\"\n}" - }} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/note/list": { + },"/monitoring/log/list": { "post": { - "tags": ["monitoring > note"], + "tags": ["monitoring > log"], "summary": "List", "operationId" : "", - "description": "### Description \nGets a list of all Notes. You can use a query to get a filtered list of Notes.", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |note_id||string||\n |alert_id||string||\n |created_by||string||\n |workspace_id||string||\n |project_id||string||\n
", - "content": { - "application/json": { - "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"note_id" : {"type": "string","title": "NOTE_ID" },"alert_id" : {"type": "string","title": "ALERT_ID" },"created_by" : {"type": "string","title": "CREATED_BY" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" } } - }, - "examples":{"Default Example":{"value": "{\n \"query\": {},\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/NotesInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/NotesInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"note_id\": \"note-0597bd748be0\",\n \"alert_id\": \"alert-fbfd78e43df8\",\n \"note\": \"http://spaceone.org\",\n \"created_by\": \"hykang@mz.co.kr\",\n \"project_id\": \"project-52a423012d5e\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-23T09:58:23.838Z\"\n },\n {\n \"note_id\": \"note-0bfac585bf5a\",\n \"alert_id\": \"alert-fbfd78e43df8\",\n \"note\": \"test\",\n \"created_by\": \"hykang@mz.co.kr\",\n \"project_id\": \"project-52a423012d5e\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-23T09:52:42.251Z\"\n }\n ],\n \"total_count\": 2\n}" - }} - } - }} - } - ,"security": [{"HTTPBearer": []}] } - },"/monitoring/note/stat": { - "post": { - "tags": ["monitoring > note"], - "summary": "Stat", - "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |resource_id||string|True|\n |keyword||string||\n |start||string||\n |end||string||\n |sort||Struct||\n |limit||int||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"resource_id" : {"type": "string","title": "RESOURCE_ID" },"keyword" : {"type": "string","title": "KEYWORD" },"start" : {"type": "string","title": "START" },"end" : {"type": "string","title": "END" },"sort" : {"type": "object","title": "SORT" },"limit" : {"type": "integer","title": "LIMIT" } } }, "examples":{"Schema":{} } @@ -914,9 +827,9 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"type": "object"}, + "schema": {"$ref": "#/components/schemas/LogDataInfo"}, "examples": { - "Schema": {"type": "object"}} + "Schema": {"$ref": "#/components/schemas/LogDataInfo"}} } }} } @@ -1128,20 +1041,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/event/get": { + },"/monitoring/note/create": { "post": { - "tags": ["monitoring > event"], - "summary": "Get", + "tags": ["monitoring > note"], + "summary": "Create", "operationId" : "", - "description": "### Description \nGets a specific Event matching the input parameters, `event_id` and `domain_id`. Prints detailed information about the Event.", + "description": "### Description \nCreates a new Note. You can create Notes for each Alert to record the information needed to manage the Alerts.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |service||string|True|\n |resource||string|True|\n |verb||string|True|\n |status||string|True|\n |message||Struct|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |alert_id||string|True|\n |note||string|True|\n
", "content": { "application/json": { "schema": { - "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" } } + "properties": {"alert_id" : {"type": "string","title": "ALERT_ID" },"note" : {"type": "string","title": "NOTE" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"alert_id\": \"alert-160ce04f6908\",\n \"note\": \"This is a description\",\n}"},"Schema":{} } } },"required": true @@ -1150,29 +1063,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/EventInfo"}, + "schema": {"$ref": "#/components/schemas/NoteInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/EventInfo"},"Default Example":{ - "value": "{\n \"event_id\": \"event-4e16ba3bd384\",\n \"event_key\": \"cfbdd0cee08f0f2664dbef297c370017\",\n \"event_type\": \"ALERT\",\n \"title\": \"Notification of access to the SpaceONE bastion Host\",\n \"description\": \"SSH Access to stargate-dev-kubectl-amzl2 from spaceoneadm\",\n \"severity\": \"INFO\",\n \"resource\": {\n \"resource_id\": \"server-1187737cc0d9\",\n \"resource_type\": \"inventory.Server\",\n \"name\": \"stargate-dev-kubectl-amzl2\"\n },\n \"raw_data\": {\n \"resource\": {\n \"name\": \"stargate-dev-kubectl-amzl2\",\n \"resource_id\": \"server-1187737cc0d9\",\n \"resource_type\": \"inventory.Server\"\n },\n \"event_key\": \"cfbdd0cee08f0f2664dbef297c370017\",\n \"title\": \"Notification of access to the SpaceONE bastion Host\",\n \"severity\": \"INFO\",\n \"description\": \"SSH Access to stargate-dev-kubectl-amzl2 from spaceoneadm\",\n \"event_type\": \"ALERT\",\n \"additional_info\": {\n \"host\": [],\n \"user\": \"spaceoneadm\"\n }\n },\n \"additional_info\": {\n \"host\": \"[]\",\n \"user\": \"spaceoneadm\"\n },\n \"alert_id\": \"alert-06462f6cb54e\",\n \"webhook_id\": \"webhook-ff9e2eda678a\",\n \"project_id\": \"project-18655561c535\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-21T00:34:58.034Z\"\n}" + "Schema": {"$ref": "#/components/schemas/NoteInfo"},"Default Example":{ + "value": "{\n \"note_id\": \"note-df107d31bf20\",\n \"alert_id\": \"alert-160ce04f6908\",\n \"note\": \"This is a description\",\n \"created_by\": \"seolmin@mz.co.kr\",\n \"project_id\": \"project-52a423012d5e\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-29T08:26:14.418Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/event/list": { + },"/monitoring/note/update": { "post": { - "tags": ["monitoring > event"], - "summary": "List", + "tags": ["monitoring > note"], + "summary": "Update", "operationId" : "", - "description": "### Description \nGets a list of all Events. You must specify the `domain_id`. You can use a query to get a filtered list of Events.", + "description": "### Description \nUpdates a specific Note. You must specify the `note_id` for Note validation check. If the Note exists, it is updated.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |event_id||string||\n |event_key||string||\n |event_type||string||\n |severity||string||\n |resource||string||\n |provider||string||\n |account||string||\n |workspace_id||string||\n |project_id||string||\n |alert_id||string||\n |webhook_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |note_id||string|True|\n |note||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"event_id" : {"type": "string","title": "EVENT_ID" },"event_key" : {"type": "string","title": "EVENT_KEY" },"event_type" : {"type": "string","title": "EVENT_TYPE" },"severity" : {"type": "string","title": "SEVERITY" },"resource" : {"type": "string","title": "RESOURCE" },"provider" : {"type": "string","title": "PROVIDER" },"account" : {"type": "string","title": "ACCOUNT" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"alert_id" : {"type": "string","title": "ALERT_ID" },"webhook_id" : {"type": "string","title": "WEBHOOK_ID" } } + "properties": {"note_id" : {"type": "string","title": "NOTE_ID" },"note" : {"type": "string","title": "NOTE" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": {},\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"note_id\": \"note-df107d31bf20\",\n \"note\": \"This is a test\",\n}"},"Schema":{} } } },"required": true @@ -1181,58 +1094,52 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/EventsInfo"}, + "schema": {"$ref": "#/components/schemas/NoteInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/EventsInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"event_id\": \"event-4e16ba3bd384\",\n \"event_key\": \"cfbdd0cee08f0f2664dbef297c370017\",\n \"event_type\": \"ALERT\",\n \"title\": \"Notification of access to the SpaceONE bastion Host\",\n \"description\": \"SSH Access to stargate-dev-kubectl-amzl2 from spaceoneadm\",\n \"severity\": \"INFO\",\n \"resource\": {\n \"resource_id\": \"server-1187737cc0d9\",\n \"resource_type\": \"inventory.Server\",\n \"name\": \"stargate-dev-kubectl-amzl2\"\n },\n \"raw_data\": {\n \"resource\": {\n \"name\": \"stargate-dev-kubectl-amzl2\",\n \"resource_type\": \"inventory.Server\",\n \"resource_id\": \"server-1187737cc0d9\"\n },\n \"event_key\": \"cfbdd0cee08f0f2664dbef297c370017\",\n \"additional_info\": {\n \"user\": \"spaceoneadm\",\n \"host\": []\n },\n \"severity\": \"INFO\",\n \"description\": \"SSH Access to stargate-dev-kubectl-amzl2 from spaceoneadm\",\n \"title\": \"Notification of access to the SpaceONE bastion Host\",\n \"event_type\": \"ALERT\"\n },\n \"additional_info\": {\n \"user\": \"spaceoneadm\",\n \"host\": \"[]\"\n },\n \"alert_id\": \"alert-06462f6cb54e\",\n \"webhook_id\": \"webhook-ff9e2eda678a\",\n \"project_id\": \"project-18655561c535\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-21T00:34:58.034Z\"\n },\n {\n \"event_id\": \"event-b178e1b71daf\",\n \"event_key\": \"abc16e5455c26ab7611bf8aa8d1020cc\",\n \"event_type\": \"ALERT\",\n \"title\": \"Notification of access to the SpaceONE bastion Host\",\n \"description\": \"SSH Access to stargate-dev-kubectl-amzl2 from glee@mz.co.kr\",\n \"severity\": \"INFO\",\n \"resource\": {\n \"resource_id\": \"server-1187737cc0d9\",\n \"resource_type\": \"inventory.Server\",\n \"name\": \"stargate-dev-kubectl-amzl2\"\n },\n \"raw_data\": {\n \"additional_info\": {\n \"host\": [\n \"125.131.104.40\"\n ],\n \"user\": \"glee@mz.co.kr\"\n },\n \"description\": \"SSH Access to stargate-dev-kubectl-amzl2 from glee@mz.co.kr\",\n \"severity\": \"INFO\",\n \"event_type\": \"ALERT\",\n \"title\": \"Notification of access to the SpaceONE bastion Host\",\n \"resource\": {\n \"resource_type\": \"inventory.Server\",\n \"name\": \"stargate-dev-kubectl-amzl2\",\n \"resource_id\": \"server-1187737cc0d9\"\n },\n \"event_key\": \"abc16e5455c26ab7611bf8aa8d1020cc\"\n },\n \"additional_info\": {\n \"user\": \"glee@mz.co.kr\",\n \"host\": \"[\u0027125.131.104.40\u0027]\"\n },\n \"alert_id\": \"alert-332617cf2894\",\n \"webhook_id\": \"webhook-ff9e2eda678a\",\n \"project_id\": \"project-18655561c535\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-21T00:34:52.822Z\"\n }\n ],\n \"total_count\": 2\n}" + "Schema": {"$ref": "#/components/schemas/NoteInfo"},"Default Example":{ + "value": "{\n \"note_id\": \"note-df107d31bf20\",\n \"alert_id\": \"alert-160ce04f6908\",\n \"note\": \"This is a description\",\n \"created_by\": \"seolmin@mz.co.kr\",\n \"project_id\": \"project-52a423012d5e\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-29T08:26:14.418Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/event/stat": { + },"/monitoring/note/delete": { "post": { - "tags": ["monitoring > event"], - "summary": "Stat", + "tags": ["monitoring > note"], + "summary": "Delete", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nDeletes a specific Note. You must specify the `note_id` of the Note to delete.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |note_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } + "properties": {"note_id" : {"type": "string","title": "NOTE_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"note_id\": \"note-0bfac585bf5a\",\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"type": "object"}, - "examples": { - "Schema": {"type": "object"}} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/alert/create": { + },"/monitoring/note/get": { "post": { - "tags": ["monitoring > alert"], - "summary": "Create", + "tags": ["monitoring > note"], + "summary": "Get", "operationId" : "", - "description": "### Description \nCreates a new Alert. Alerts generated with `create` method are made in a manual way. Manually made Alerts can be used for Notifications.", + "description": "### Description \nGets a specific Note. You must specify the `note_id` and `domain_id`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |title||string|True|\n |project_id||string|True|\n |description||string||\n |assignee||string||\n |urgency|HIGH, LOW |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |note_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"title" : {"type": "string","title": "TITLE" },"description" : {"type": "string","title": "DESCRIPTION" },"assignee" : {"type": "string","title": "ASSIGNEE" },"urgency" : {"type": "string","title": "URGENCY" },"project_id" : {"type": "string","title": "PROJECT_ID" } } + "properties": {"note_id" : {"type": "string","title": "NOTE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"title\": \"sample test\",\n \"description\": \"This is a description of sample.\",\n \"urgency\": \"HIGH\",\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"note_id\": \"note-0bfac585bf5a\",\n}"},"Schema":{} } } },"required": true @@ -1241,29 +1148,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/AlertInfo"}, + "schema": {"$ref": "#/components/schemas/NoteInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/AlertInfo"},"Default Example":{ - "value": "{\n \"alert_number\": 104053,\n \"alert_id\": \"alert-123456789012\",\n \"title\": \"sample test\",\n \"state\": \"TRIGGERED\",\n \"description\": \"This is a description of sample.\",\n \"urgency\": \"HIGH\",\n \"severity\": \"NONE\",\n \"escalation_step\": 1,\n \"additional_info\": {},\n \"triggered_by\": \"user1@email.com\",\n \"escalation_policy_id\": \"ep-123456789012\",\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T01:43:08.566Z\",\n \"updated_at\": \"2022-01-01T01:43:08.566Z\",\n \"escalated_at\": \"2022-01-01T01:43:54.464Z\"\n}" + "Schema": {"$ref": "#/components/schemas/NoteInfo"},"Default Example":{ + "value": "{\n \"note_id\": \"note-df107d31bf20\",\n \"alert_id\": \"alert-160ce04f6908\",\n \"note\": \"This is a description\",\n \"created_by\": \"seolmin@mz.co.kr\",\n \"project_id\": \"project-52a423012d5e\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-29T08:26:14.418Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/alert/update": { + },"/monitoring/note/list": { "post": { - "tags": ["monitoring > alert"], - "summary": "Update", + "tags": ["monitoring > note"], + "summary": "List", "operationId" : "", - "description": "### Description \nUpdates a specific Alert. You can make changes in Alert settings, including the `title`, `description`, `responder`, `state`, and `urgency`. The `responder` of the Alert is a User who is assigned to respond to the Alert.", + "description": "### Description \nGets a list of all Notes. You can use a query to get a filtered list of Notes.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |alert_id||string|True|\n |title||string||\n |state||string||\n |description||string||\n |reset_description||boolean||\n |urgency|HIGH, LOW |string||\n |project_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |note_id||string||\n |alert_id||string||\n |created_by||string||\n |workspace_id||string||\n |project_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"alert_id" : {"type": "string","title": "ALERT_ID" },"title" : {"type": "string","title": "TITLE" },"state" : {"type": "string","title": "STATE" },"description" : {"type": "string","title": "DESCRIPTION" },"reset_description" : {"type": "boolean","title": "RESET_DESCRIPTION" },"urgency" : {"type": "string","title": "URGENCY" },"project_id" : {"type": "string","title": "PROJECT_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"note_id" : {"type": "string","title": "NOTE_ID" },"alert_id" : {"type": "string","title": "ALERT_ID" },"created_by" : {"type": "string","title": "CREATED_BY" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"alert_id\": \"alert-123456789012\",\n \"state\": \"ACKNOWLEDGED\",\n \"urgency\": \"LOW\",\n \"description\": \"[updating]This is a description of sample.\",\n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"query\": {},\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} } } },"required": true @@ -1272,27 +1179,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/AlertInfo"}, + "schema": {"$ref": "#/components/schemas/NotesInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/AlertInfo"},"Default Example":{ - "value": "{\n \"alert_number\": 104053,\n \"alert_id\": \"alert-123456789012\",\n \"title\": \"sample test\",\n \"state\": \"TRIGGERED\",\n \"description\": \"This is a description of sample.\",\n \"urgency\": \"HIGH\",\n \"severity\": \"NONE\",\n \"escalation_step\": 1,\n \"additional_info\": {},\n \"triggered_by\": \"user1@email.com\",\n \"escalation_policy_id\": \"ep-123456789012\",\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T01:43:08.566Z\",\n \"updated_at\": \"2022-01-01T01:43:08.566Z\",\n \"escalated_at\": \"2022-01-01T01:43:54.464Z\"\n}" + "Schema": {"$ref": "#/components/schemas/NotesInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"note_id\": \"note-0597bd748be0\",\n \"alert_id\": \"alert-fbfd78e43df8\",\n \"note\": \"http://spaceone.org\",\n \"created_by\": \"hykang@mz.co.kr\",\n \"project_id\": \"project-52a423012d5e\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-23T09:58:23.838Z\"\n },\n {\n \"note_id\": \"note-0bfac585bf5a\",\n \"alert_id\": \"alert-fbfd78e43df8\",\n \"note\": \"test\",\n \"created_by\": \"hykang@mz.co.kr\",\n \"project_id\": \"project-52a423012d5e\",\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-23T09:52:42.251Z\"\n }\n ],\n \"total_count\": 2\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/alert/assign-user": { + },"/monitoring/note/stat": { "post": { - "tags": ["monitoring > alert"], - "summary": "Assign User", + "tags": ["monitoring > note"], + "summary": "Stat", "operationId" : "", "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |alert_id||string|True|\n |assignee||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", "content": { "application/json": { "schema": { - "properties": {"alert_id" : {"type": "string","title": "ALERT_ID" },"assignee" : {"type": "string","title": "ASSIGNEE" } } + "properties": {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY" } } }, "examples":{"Schema":{} } @@ -1303,52 +1210,58 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/AlertInfo"}, + "schema": {"type": "object"}, "examples": { - "Schema": {"$ref": "#/components/schemas/AlertInfo"},"Default Example":{ - "value": "{\n \"alert_number\": 104053,\n \"alert_id\": \"alert-123456789012\",\n \"title\": \"sample test\",\n \"state\": \"TRIGGERED\",\n \"description\": \"This is a description of sample.\",\n \"urgency\": \"HIGH\",\n \"severity\": \"NONE\",\n \"escalation_step\": 1,\n \"additional_info\": {},\n \"triggered_by\": \"user1@email.com\",\n \"escalation_policy_id\": \"ep-123456789012\",\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T01:43:08.566Z\",\n \"updated_at\": \"2022-01-01T01:43:08.566Z\",\n \"escalated_at\": \"2022-01-01T01:43:54.464Z\"\n}" - }} + "Schema": {"type": "object"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/alert/delete": { + },"/monitoring/project-alert-config/create": { "post": { - "tags": ["monitoring > alert"], - "summary": "Delete", + "tags": ["monitoring > project-alert-config"], + "summary": "Create", "operationId" : "", - "description": "### Description \nDeletes a specific Alert and remove it from the list of Alerts. You must specify the `alert_id` of the Alert to delete.", + "description": "### Description \nCreates a new ProjectAlertConfig in a specific Project. When creating a ProjectAlertConfig, validation of the Project is preceded. After the validation is done, ProjectAlertConfig enables EscalationPolicy to be set in the Project, or enables `enum` type `recovery_mode` and `notification_urgency` to be set through the `options` parameter. The parameter `recovery_mode` is for changing the state of the Alert to `resolved` if the external monitoring solution sends the resolved Alert. The parameter `notification_urgency` is used to choose whether you will get all Alerts or only urgent ones.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |alert_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |escalation_policy_id||string||\n |options||AlertOptions||\n
", "content": { "application/json": { "schema": { - "properties": {"alert_id" : {"type": "string","title": "ALERT_ID" } } + "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID" },"options" : {"$ref": "#/components/schemas/AlertOptions","title": "OPTIONS" } } }, - "examples":{"Default Example":{"value": "{\n \"alert_id\": \"alert-123456789012\",\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"project_id\": \"project-dee2a81d4859\",\n \"escalation_policy_id\": \"ep-b441abe04ca9\",\n \"options\": {\n \"notification_urgency\": \"ALL\",\n \"recovery_mode\": \"AUTO\"\n },\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response"} + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/ProjectAlertConfigInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/ProjectAlertConfigInfo"},"Default Example":{ + "value": "{\n \"project_id\": \"project-dee2a81d4859\",\n \"options\": {\n \"notification_urgency\": \"ALL\",\n \"recovery_mode\": \"AUTO\"\n },\n \"escalation_policy_info\": {\n \"escalation_policy_id\": \"ep-b441abe04ca9\",\n \"name\": \"Global New Policy\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-27T05:12:22.998Z\"\n}" + }} + } + }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/alert/get": { + },"/monitoring/project-alert-config/update": { "post": { - "tags": ["monitoring > alert"], - "summary": "Get", + "tags": ["monitoring > project-alert-config"], + "summary": "Update", "operationId" : "", - "description": "### Description \nGets a specific Alert. Prints detailed information about the Alert.", + "description": "### Description \nUpdates a specific ProjectAlertConfig. You can make changes in ProjectAlertConfig settings, including the EscalationPolicy to apply. You can also change `notification_urgency` and `recovery_mode` by modifying the `options` parameter.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |alert_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n |escalation_policy_id||string||\n |options||AlertOptions||\n
", "content": { "application/json": { "schema": { - "properties": {"alert_id" : {"type": "string","title": "ALERT_ID" } } + "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" },"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID" },"options" : {"$ref": "#/components/schemas/AlertOptions","title": "OPTIONS" } } }, - "examples":{"Default Example":{"value": "{\n \"alert_id\": \"alert-123456789012\",\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"project_id\": \"project-dee2a81d4859\",\n \"escalation_policy_id\": \"ep-4ee42a9b2d96\",\n \"options\": {\n \"notification_urgency\": \"ALL\",\n \"recovery_mode\": \"MANUAL\"\n },\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} } } },"required": true @@ -1357,51 +1270,105 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/AlertInfo"}, + "schema": {"$ref": "#/components/schemas/ProjectAlertConfigInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/AlertInfo"},"Default Example":{ - "value": "{\n \"alert_number\": 104053,\n \"alert_id\": \"alert-123456789012\",\n \"title\": \"sample test\",\n \"state\": \"TRIGGERED\",\n \"description\": \"This is a description of sample.\",\n \"urgency\": \"HIGH\",\n \"severity\": \"NONE\",\n \"escalation_step\": 1,\n \"additional_info\": {},\n \"triggered_by\": \"user1@email.com\",\n \"escalation_policy_id\": \"ep-123456789012\",\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T01:43:08.566Z\",\n \"updated_at\": \"2022-01-01T01:43:08.566Z\",\n \"escalated_at\": \"2022-01-01T01:43:54.464Z\"\n}" + "Schema": {"$ref": "#/components/schemas/ProjectAlertConfigInfo"},"Default Example":{ + "value": "{\n \"project_id\": \"project-dee2a81d4859\",\n \"options\": {\n \"notification_urgency\": \"ALL\",\n \"recovery_mode\": \"AUTO\"\n },\n \"escalation_policy_info\": {\n \"escalation_policy_id\": \"ep-b441abe04ca9\",\n \"name\": \"Global New Policy\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-27T05:12:22.998Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/alert/list": { + },"/monitoring/project-alert-config/delete": { "post": { - "tags": ["monitoring > alert"], - "summary": "List", + "tags": ["monitoring > project-alert-config"], + "summary": "Delete", "operationId" : "", - "description": "### Description \nGets a list of all Alerts. You can use a query to get a filtered list of Alerts.", + "description": "### Description \nDeletes a specific ProjectAlertConfig. Deletes alert configuration data in a Project.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |alert_number||int||\n |alert_id||string||\n |title||string||\n |state|TRIGGERED, ACKNOWLEDGED, RESOLVED, ERROR |string||\n |assignee||string||\n |responder||string||\n |urgency|HIGH, LOW |string||\n |severity||string||\n |resource||string||\n |provider||string||\n |account||string||\n |triggered_by||string||\n |workspace_id||string||\n |project_id||string||\n |webhook_id||string||\n |escalation_policy_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"alert_number" : {"type": "integer","title": "ALERT_NUMBER" },"alert_id" : {"type": "string","title": "ALERT_ID" },"title" : {"type": "string","title": "TITLE" },"state" : {"type": "string","title": "STATE" },"assignee" : {"type": "string","title": "ASSIGNEE" },"responder" : {"type": "string","title": "RESPONDER" },"urgency" : {"type": "string","title": "URGENCY" },"severity" : {"type": "string","title": "SEVERITY" },"resource" : {"type": "string","title": "RESOURCE" },"provider" : {"type": "string","title": "PROVIDER" },"account" : {"type": "string","title": "ACCOUNT" },"triggered_by" : {"type": "string","title": "TRIGGERED_BY" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"project_id" : {"type": "string","title": "PROJECT_ID" },"webhook_id" : {"type": "string","title": "WEBHOOK_ID" },"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID" } } + "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"query\": {}, \n \"domain_id\": \"domain-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"project_id\": \"project-dee2a81d4859\",\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} } } },"required": true }, "responses": { "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/AlertsInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/AlertsInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"alert_number\": 104057,\n \"alert_id\": \"alert-987654321098\",\n \"title\": \"Notification of access to the bastion Host\",\n \"state\": \"TRIGGERED\",\n \"description\": \"SSH Access to stargate-dev from adm\",\n \"urgency\": \"LOW\",\n \"severity\": \"INFO\",\n \"resources\": [{\n \"resource_id\": \"server-123456789012\",\n \"resource_type\": \"inventory.Server\",\n \"name\": \"stargate-dev\"\n }],\n \"escalation_step\": 1,\n \"escalation_ttl\": 1,\n \"additional_info\": {\n \"user\": \"user1\"\n \"host\": \"[\u00272.2.2.2\u0027]\"\n },\n \"triggered_by\": \"webhook-123456789012\",\n \"webhook_id\": \"webhook-123456789012\",\n \"escalation_policy_id\": \"ep-123456789012\",\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T02:46:35.934Z\",\n \"updated_at\": \"2022-01-01T02:46:35.934Z\",\n \"escalated_at\": \"2022-01-01T02:46:35.979Z\"\n },\n {\n \"alert_number\": 104056,\n \"alert_id\": \"alert-123456789999\",\n \"title\": \"Notification of access to the bastion Host\",\n \"state\": \"TRIGGERED\",\n \"description\": \"SSH Access to stargate-dev from user3@email.com\",\n \"urgency\": \"LOW\",\n \"severity\": \"INFO\",\n \"resource\": [{\n \"resource_id\": \"server-123456789012\",\n \"resource_type\": \"inventory.Server\",\n \"name\": \"stargate-dev\"\n }],\n \"escalation_step\": 1,\n \"escalation_ttl\": 1,\n \"additional_info\": {\n \"user\": \"user3@email.com\",\n \"host\": \"[\u00271.1.1.1\u0027]\"\n },\n \"triggered_by\": \"webhook-123456789012\",\n \"webhook_id\": \"webhook-123456789012\",\n \"escalation_policy_id\": \"ep-123456789012\",\n \"project_id\": \"project-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T02:46:31.391Z\",\n \"updated_at\": \"2022-01-01T02:46:31.391Z\",\n \"escalated_at\": \"2022-01-01T02:46:31.553Z\"\n }\n ],\n \"total_count\": 21283\n}" - }} - } - }} + "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/alert/stat": { + },"/monitoring/project-alert-config/get": { "post": { - "tags": ["monitoring > alert"], - "summary": "Stat", - "operationId" : "", + "tags": ["monitoring > project-alert-config"], + "summary": "Get", + "operationId" : "", + "description": "### Description \nGets a specific ProjectAlertConfig. Prints detailed information about the ProjectAlertConfig, including EscalationPolicy, recovery mode, and notification urgency.", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |project_id||string|True|\n
", + "content": { + "application/json": { + "schema": { + "properties": {"project_id" : {"type": "string","title": "PROJECT_ID" } } + }, + "examples":{"Default Example":{"value": "{\n \"project_id\": \"project-dee2a81d4859\",\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/ProjectAlertConfigInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/ProjectAlertConfigInfo"},"Default Example":{ + "value": "{\n \"project_id\": \"project-dee2a81d4859\",\n \"options\": {\n \"notification_urgency\": \"ALL\",\n \"recovery_mode\": \"AUTO\"\n },\n \"escalation_policy_info\": {\n \"escalation_policy_id\": \"ep-b441abe04ca9\",\n \"name\": \"Global New Policy\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-06-27T05:12:22.998Z\"\n}" + }} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/monitoring/project-alert-config/list": { + "post": { + "tags": ["monitoring > project-alert-config"], + "summary": "List", + "operationId" : "", + "description": "### Description \nGets a list of all ProjectAlertConfigs from all projects configured in the same domain. You can use a query to get a filtered list of ProjectAlertConfigs.", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |project_id||string||\n |escalation_policy_id||string||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"project_id" : {"type": "string","title": "PROJECT_ID" },"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID" } } + }, + "examples":{"Default Example":{"value": "{\n \"query\": {},\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/ProjectAlertConfigsInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/ProjectAlertConfigsInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"project_id\": \"project-18655561c535\",\n \"options\": {\n \"notification_urgency\": \"ALL\",\n \"recovery_mode\": \"MANUAL\"\n },\n \"escalation_policy_info\": {\n \"escalation_policy_id\": \"ep-4ee42a9b2d96\",\n \"name\": \"HAHA\",\n \"is_default\": true\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2022-05-17T02:09:19.839Z\"\n },\n {\n \"project_id\": \"project-9074eea97d7e\",\n \"options\": {\n \"notification_urgency\": \"ALL\",\n \"recovery_mode\": \"MANUAL\"\n },\n \"escalation_policy_info\": {\n \"escalation_policy_id\": \"ep-b441abe04ca9\",\n \"name\": \"Global New Policy\"\n },\n \"domain_id\": \"domain-58010aa2e451\",\n \"created_at\": \"2021-06-24T02:50:50.535Z\"\n }\n ],\n \"total_count\": 2\n}" + }} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/monitoring/project-alert-config/stat": { + "post": { + "tags": ["monitoring > project-alert-config"], + "summary": "Stat", + "operationId" : "", "description": "### Description \n", "requestBody": { "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||StatisticsQuery|True|\n
", @@ -1426,6 +1393,68 @@ }} } ,"security": [{"HTTPBearer": []}] } + },"/monitoring/metric/list": { + "post": { + "tags": ["monitoring > metric"], + "summary": "List", + "operationId" : "", + "description": "### Description \nGets a list of all Metrics of one or more specified Resources. The parameter `resources` is a list of Resources from which to get a list of Metrics collected.", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |resources||array|True|\n
", + "content": { + "application/json": { + "schema": { + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"resources" : {"items": {}, "type": "array","title": "RESOURCES" } } + }, + "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-31190a65a42a\",\n \"resources\": [\"cloud-svc-cd0105d255da\"],\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/MetricsInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/MetricsInfo"},"Default Example":{ + "value": "{\n \"metrics\": [\n {\n \"key\": \"CPUUtilization\",\n \"group\": \"AWS/EC2\",\n \"name\": \"CPUUtilization\",\n \"unit\": {\n \"y\": \"Percent\",\n \"x\": \"Timestamp\"\n },\n \"metric_query\": {\n \"cloud-svc-cd0105d255da\": {\n \"Dimensions\": [\n {\n \"Name\": \"InstanceId\",\n \"Value\": \"i-0400cdd39f1a4d5e9\"\n }\n ],\n \"MetricName\": \"CPUUtilization\",\n \"Namespace\": \"AWS/EC2\"\n }\n }\n },\n {\n \"key\": \"NetworkIn\",\n \"group\": \"AWS/EC2\",\n \"name\": \"NetworkIn\",\n \"unit\": {\n \"y\": \"Bytes\",\n \"x\": \"Timestamp\"\n },\n \"metric_query\": {\n \"cloud-svc-cd0105d255da\": {\n \"Dimensions\": [\n {\n \"Name\": \"InstanceId\",\n \"Value\": \"i-0400cdd39f1a4d5e9\"\n }\n ],\n \"MetricName\": \"NetworkIn\",\n \"Namespace\": \"AWS/EC2\"\n }\n }\n }\n ],\n \"available_resources\": {\n \"cloud-svc-cd0105d255da\": true\n },\n \"domain_id\": \"domain-31190a65a42a\"\n}" + }} + } + }} + } + ,"security": [{"HTTPBearer": []}] } + },"/monitoring/metric/get-data": { + "post": { + "tags": ["monitoring > metric"], + "summary": "Get Data", + "operationId" : "", + "description": "### Description \nGets data of a single Metric. You must specify the parameter `metric` to get data of. You can specify the `period` to get data for.", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |metric_query||Struct|True|\n |metric||string|True|\n |start||string|True|\n |end||string|True|\n |period||int||\n |stat||string||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"metric_query" : {"type": "object","title": "METRIC_QUERY" },"metric" : {"type": "string","title": "METRIC" },"start" : {"type": "string","title": "START" },"end" : {"type": "string","title": "END" },"period" : {"type": "integer","title": "PERIOD" },"stat" : {"type": "string","title": "STAT" } } + }, + "examples":{"Default Example":{"value": "{\n \"data_source_id\": \"ds-31190a65a42a\",\n \"metric_query\": {\n \"cloud-svc-cd0105d255da\": {\n \"Dimensions\": [\n {\n \"Name\": \"InstanceId\",\n \"Value\": \"i-0400cdd39f1a4d5e9\"\n }\n ],\n \"MetricName\": \"CPUUtilization\",\n \"Namespace\": \"AWS/EC2\"\n }\n },\n \"metric\": \"CPUUtilization\",\n \"start\": \"2022-06-21T03:11:29.438Z\",\n \"end\": \"2022-06-21T04:11:29.438Z\",\n \"stat\": \"AVERAGE\",\n \"domain_id\": \"domain-58010aa2e451\"\n}"},"Schema":{} + } + } + },"required": true + }, + "responses": { + "200": { + "description": "Successfull Response","content":{ + "application/json": { + "schema": {"$ref": "#/components/schemas/MetricDataInfo"}, + "examples": { + "Schema": {"$ref": "#/components/schemas/MetricDataInfo"},"Default Example":{ + "value": "{\n \"labels\": [\n \"2022-06-21T03:13:00.000Z\",\n \"2022-06-21T03:18:00.000Z\",\n \"2022-06-21T03:23:00.000Z\",\n \"2022-06-21T03:28:00.000Z\",\n \"2022-06-21T03:33:00.000Z\",\n \"2022-06-21T03:38:00.000Z\",\n \"2022-06-21T03:43:00.000Z\",\n \"2022-06-21T03:48:00.000Z\",\n \"2022-06-21T03:53:00.000Z\",\n \"2022-06-21T03:58:00.000Z\",\n \"2022-06-21T04:03:00.000Z\",\n \"2022-06-21T04:08:00.000Z\"\n ],\n \"resource_values\": {\n \"cloud-svc-cd0105d255da\": [\n 0.099999999999999,\n 0.10001852366397981,\n 0.10001852366397981,\n 0.1328230362675432,\n 0.099472075576548,\n 0.06507936507936621,\n 0.166703713994628,\n 0.1338983050847476,\n 0.1327868852458988,\n 0.1339168287487284,\n 0.1328610417160508,\n 0.10056497175141618\n ]\n },\n \"domain_id\": \"domain-58010aa2e451\"\n}" + }} + } + }} + } + ,"security": [{"HTTPBearer": []}] } },"/monitoring/webhook/create": { "post": { "tags": ["monitoring > webhook"], @@ -1718,169 +1747,82 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/monitoring/log/list": { - "post": { - "tags": ["monitoring > log"], - "summary": "List", - "operationId" : "", - "description": "### Description \n", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |data_source_id||string|True|\n |resource_id||string|True|\n |keyword||string||\n |start||string||\n |end||string||\n |sort||Struct||\n |limit||int||\n
", - "content": { - "application/json": { - "schema": { - "properties": {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID" },"resource_id" : {"type": "string","title": "RESOURCE_ID" },"keyword" : {"type": "string","title": "KEYWORD" },"start" : {"type": "string","title": "START" },"end" : {"type": "string","title": "END" },"sort" : {"type": "object","title": "SORT" },"limit" : {"type": "integer","title": "LIMIT" } } - }, - "examples":{"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"$ref": "#/components/schemas/LogDataInfo"}, - "examples": { - "Schema": {"$ref": "#/components/schemas/LogDataInfo"}} - } - }} - } - ,"security": [{"HTTPBearer": []}] } },"securitySchemes": {"HTTPBearer": {"type": "http","scheme": "bearer","bearerFormat": "JWT"}} }, "components":{ "schemas": { - "ChangeEventRuleOrderRequest": { - "properties" : {"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID"},"order" : {"type": "integer","title": "ORDER"}}, + "AlertInfo": { + "properties" : {"alert_number" : {"type": "integer","title": "ALERT_NUMBER"},"alert_id" : {"type": "string","title": "ALERT_ID"},"title" : {"type": "string","title": "TITLE"},"state" : {"type": "string","title": "STATE"},"description" : {"type": "string","title": "DESCRIPTION"},"assignee" : {"type": "string","title": "ASSIGNEE"},"responder" : {"type": "string","title": "RESPONDER"},"urgency" : {"type": "string","title": "URGENCY"},"severity" : {"type": "string","title": "SEVERITY"},"rule" : {"type": "string","title": "RULE"},"image_url" : {"type": "string","title": "IMAGE_URL"},"resources" : {"items": {"$ref": "#/components/schemas/AlertResource"}, + "type": "array","$ref": "#/components/schemas/AlertResource","title": "RESOURCES"},"provider" : {"type": "string","title": "PROVIDER"},"account" : {"type": "string","title": "ACCOUNT"},"additional_info" : {"type": "object","title": "ADDITIONAL_INFO"},"escalation_step" : {"type": "integer","title": "ESCALATION_STEP"},"escalation_ttl" : {"type": "integer","title": "ESCALATION_TTL"},"triggered_by" : {"type": "string","title": "TRIGGERED_BY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"webhook_id" : {"type": "string","title": "WEBHOOK_ID"},"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"},"acknowledged_at" : {"type": "string","title": "ACKNOWLEDGED_AT"},"resolved_at" : {"type": "string","title": "RESOLVED_AT"},"escalated_at" : {"type": "string","title": "ESCALATED_AT"}}, "type": "object", - "required": ["event_rule_id","order"], - "title": "ChangeEventRuleOrderRequest" + "required": ["alert_number","alert_id","title","state","description","assignee","responder","urgency","severity","rule","image_url","resources","provider","account","additional_info","escalation_step","escalation_ttl","triggered_by","domain_id","workspace_id","project_id","webhook_id","escalation_policy_id","created_at","updated_at","acknowledged_at","resolved_at","escalated_at"], + "title": "AlertInfo" } - , "CreateEventRuleRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"conditions" : {"items": {"$ref": "#/components/schemas/EventRuleCondition"}, - "type": "array","$ref": "#/components/schemas/EventRuleCondition","title": "CONDITIONS"},"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY"},"actions" : {"$ref": "#/components/schemas/EventRuleActions","title": "ACTIONS"},"options" : {"$ref": "#/components/schemas/EventRuleOptions","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, + , "AlertQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"alert_number" : {"type": "integer","title": "ALERT_NUMBER"},"alert_id" : {"type": "string","title": "ALERT_ID"},"title" : {"type": "string","title": "TITLE"},"state" : {"type": "string","title": "STATE"},"assignee" : {"type": "string","title": "ASSIGNEE"},"responder" : {"type": "string","title": "RESPONDER"},"urgency" : {"type": "string","title": "URGENCY"},"severity" : {"type": "string","title": "SEVERITY"},"resource" : {"type": "string","title": "RESOURCE"},"provider" : {"type": "string","title": "PROVIDER"},"account" : {"type": "string","title": "ACCOUNT"},"triggered_by" : {"type": "string","title": "TRIGGERED_BY"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"webhook_id" : {"type": "string","title": "WEBHOOK_ID"},"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID"}}, "type": "object", - "required": ["name","conditions","conditions_policy","actions","resource_group"], - "title": "CreateEventRuleRequest" + "required": [], + "title": "AlertQuery" } - , "EventRuleActionResponder": { - "properties" : {"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"resource_id" : {"type": "string","title": "RESOURCE_ID"}}, + , "AlertRequest": { + "properties" : {"alert_id" : {"type": "string","title": "ALERT_ID"}}, "type": "object", - "required": ["resource_type","resource_id"], - "title": "EventRuleActionResponder" + "required": ["alert_id"], + "title": "AlertRequest" } - , "EventRuleActions": { - "properties" : {"change_assignee" : {"type": "string","title": "CHANGE_ASSIGNEE"},"change_urgency" : {"type": "string","title": "CHANGE_URGENCY"},"change_project" : {"type": "string","title": "CHANGE_PROJECT"},"change_escalation_policy" : {"type": "string","title": "CHANGE_ESCALATION_POLICY"},"match_service_account" : {"$ref": "#/components/schemas/MatchRule","title": "MATCH_SERVICE_ACCOUNT"},"add_additional_info" : {"type": "object","title": "ADD_ADDITIONAL_INFO"},"no_notification" : {"type": "boolean","title": "NO_NOTIFICATION"}}, + , "AlertResource": { + "properties" : {"resource_id" : {"type": "string","title": "RESOURCE_ID"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"name" : {"type": "string","title": "NAME"}}, "type": "object", - "required": ["change_assignee","change_urgency","change_project","change_escalation_policy","match_service_account","add_additional_info","no_notification"], - "title": "EventRuleActions" + "required": ["resource_id","resource_type","name"], + "title": "AlertResource" } - , "EventRuleCondition": { - "properties" : {"key" : {"type": "string","title": "KEY"},"value" : {"type": "string","title": "VALUE"},"operator" : {"type": "string","title": "OPERATOR"}}, + , "AlertStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", - "required": ["key","value","operator"], - "title": "EventRuleCondition" + "required": ["query"], + "title": "AlertStatQuery" } - , "EventRuleInfo": { - "properties" : {"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID"},"name" : {"type": "string","title": "NAME"},"order" : {"type": "integer","title": "ORDER"},"conditions" : {"items": {"$ref": "#/components/schemas/EventRuleCondition"}, - "type": "array","$ref": "#/components/schemas/EventRuleCondition","title": "CONDITIONS"},"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY"},"actions" : {"$ref": "#/components/schemas/EventRuleActions","title": "ACTIONS"},"options" : {"$ref": "#/components/schemas/EventRuleOptions","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + , "AlertsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/AlertInfo"}, + "type": "array","$ref": "#/components/schemas/AlertInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": ["event_rule_id","name","order","conditions","conditions_policy","actions","options","tags","resource_group","domain_id","workspace_id","project_id","created_at"], - "title": "EventRuleInfo" + "required": ["results","total_count"], + "title": "AlertsInfo" } - , "EventRuleOptions": { - "properties" : {"stop_processing" : {"type": "boolean","title": "STOP_PROCESSING"}}, + , "AssignUserRequest": { + "properties" : {"alert_id" : {"type": "string","title": "ALERT_ID"},"assignee" : {"type": "string","title": "ASSIGNEE"}}, "type": "object", - "required": ["stop_processing"], - "title": "EventRuleOptions" + "required": ["alert_id","assignee"], + "title": "AssignUserRequest" } - , "EventRuleQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID"},"name" : {"type": "string","title": "NAME"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, + , "CreateAlertRequest": { + "properties" : {"title" : {"type": "string","title": "TITLE"},"description" : {"type": "string","title": "DESCRIPTION"},"assignee" : {"type": "string","title": "ASSIGNEE"},"urgency" : {"type": "string","title": "URGENCY"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, "type": "object", - "required": [], - "title": "EventRuleQuery" + "required": ["title","project_id"], + "title": "CreateAlertRequest" } - , "EventRuleRequest": { - "properties" : {"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID"}}, + , "UpdateAlertRequest": { + "properties" : {"alert_id" : {"type": "string","title": "ALERT_ID"},"title" : {"type": "string","title": "TITLE"},"state" : {"type": "string","title": "STATE"},"description" : {"type": "string","title": "DESCRIPTION"},"reset_description" : {"type": "boolean","title": "RESET_DESCRIPTION"},"urgency" : {"type": "string","title": "URGENCY"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, "type": "object", - "required": ["event_rule_id"], - "title": "EventRuleRequest" + "required": ["alert_id"], + "title": "UpdateAlertRequest" } - , "EventRuleStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + , "UpdateAlertStateRequest": { + "properties" : {"alert_id" : {"type": "string","title": "ALERT_ID"},"access_key" : {"type": "string","title": "ACCESS_KEY"},"responder" : {"type": "string","title": "RESPONDER"}}, "type": "object", - "required": ["query"], - "title": "EventRuleStatQuery" + "required": ["alert_id","access_key"], + "title": "UpdateAlertStateRequest" } - , "EventRulesInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/EventRuleInfo"}, - "type": "array","$ref": "#/components/schemas/EventRuleInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "AggregateCount": { + "properties" : {"name" : {"type": "string","title": "NAME"}}, "type": "object", - "required": ["results","total_count"], - "title": "EventRulesInfo" + "required": ["name"], + "title": "AggregateCount" } - , "MatchRule": { - "properties" : {"source" : {"type": "string","title": "SOURCE"},"target" : {"type": "string","title": "TARGET"}}, - "type": "object", - "required": ["source","target"], - "title": "MatchRule" - } - , "UpdateEventRuleRequest": { - "properties" : {"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID"},"name" : {"type": "string","title": "NAME"},"conditions" : {"items": {"$ref": "#/components/schemas/EventRuleCondition"}, - "type": "array","$ref": "#/components/schemas/EventRuleCondition","title": "CONDITIONS"},"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY"},"actions" : {"$ref": "#/components/schemas/EventRuleActions","title": "ACTIONS"},"options" : {"$ref": "#/components/schemas/EventRuleOptions","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, - "type": "object", - "required": ["event_rule_id"], - "title": "UpdateEventRuleRequest" - } - , "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"}}, + , "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" @@ -2040,54 +1982,43 @@ "required": ["path","filter"], "title": "Unwind" } - , "AlertOptions": { - "properties" : {"notification_urgency" : {"type": "string","title": "NOTIFICATION_URGENCY"},"recovery_mode" : {"type": "string","title": "RECOVERY_MODE"}}, - "type": "object", - "required": ["notification_urgency","recovery_mode"], - "title": "AlertOptions" - } - , "CreateProjectAlertConfigRequest": { - "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID"},"options" : {"$ref": "#/components/schemas/AlertOptions","title": "OPTIONS"}}, - "type": "object", - "required": ["project_id"], - "title": "CreateProjectAlertConfigRequest" - } - , "ProjectAlertConfigInfo": { - "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"options" : {"$ref": "#/components/schemas/AlertOptions","title": "OPTIONS"},"escalation_policy_info" : {"$ref": "#/components/schemas/EscalationPolicyInfo","title": "ESCALATION_POLICY_INFO"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + , "AuthenticationRequest": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["project_id","options","escalation_policy_info","domain_id","workspace_id","created_at"], - "title": "ProjectAlertConfigInfo" + "required": ["domain_id"], + "title": "AuthenticationRequest" } - , "ProjectAlertConfigQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"project_id" : {"type": "string","title": "PROJECT_ID"},"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID"}}, + , "AuthenticationResponse": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"public_key" : {"type": "string","title": "PUBLIC_KEY"}}, "type": "object", - "required": [], - "title": "ProjectAlertConfigQuery" + "required": ["domain_id","public_key"], + "title": "AuthenticationResponse" } - , "ProjectAlertConfigRequest": { - "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"}}, + , "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": ["project_id"], - "title": "ProjectAlertConfigRequest" + "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" } - , "ProjectAlertConfigStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + , "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": ["query"], - "title": "ProjectAlertConfigStatQuery" + "required": ["role_type","projects","project_groups"], + "title": "AuthorizationResponse" } - , "ProjectAlertConfigsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/ProjectAlertConfigInfo"}, - "type": "array","$ref": "#/components/schemas/ProjectAlertConfigInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "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": ["results","total_count"], - "title": "ProjectAlertConfigsInfo" + "required": ["service","resource","verb","status","message"], + "title": "EventRequest" } - , "UpdateProjectAlertConfigRequest": { - "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID"},"options" : {"$ref": "#/components/schemas/AlertOptions","title": "OPTIONS"}}, + , "VersionInfo": { + "properties" : {"version" : {"type": "string","title": "VERSION"}}, "type": "object", - "required": ["project_id"], - "title": "UpdateProjectAlertConfigRequest" + "required": ["version"], + "title": "VersionInfo" } , "DataSourceInfo": { "properties" : {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"monitoring_type" : {"type": "string","title": "MONITORING_TYPE"},"provider" : {"type": "string","title": "PROVIDER"},"capability" : {"type": "object","title": "CAPABILITY"},"plugin_info" : {"$ref": "#/components/schemas/DataSourcePluginInfo","title": "PLUGIN_INFO"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, @@ -2144,80 +2075,131 @@ "required": ["data_source_id"], "title": "UpdateDataSourceRequest" } - , "MetricDataInfo": { - "properties" : {"labels" : {"type": "array","title": "LABELS"},"values" : {"type": "object","title": "VALUES"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "ChangeEventRuleOrderRequest": { + "properties" : {"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID"},"order" : {"type": "integer","title": "ORDER"}}, "type": "object", - "required": ["labels","values","domain_id"], - "title": "MetricDataInfo" + "required": ["event_rule_id","order"], + "title": "ChangeEventRuleOrderRequest" } - , "MetricDataRequest": { - "properties" : {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"metric_query" : {"type": "object","title": "METRIC_QUERY"},"metric" : {"type": "string","title": "METRIC"},"start" : {"type": "string","title": "START"},"end" : {"type": "string","title": "END"},"period" : {"type": "integer","title": "PERIOD"},"stat" : {"type": "string","title": "STAT"}}, + , "CreateEventRuleRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"conditions" : {"items": {"$ref": "#/components/schemas/EventRuleCondition"}, + "type": "array","$ref": "#/components/schemas/EventRuleCondition","title": "CONDITIONS"},"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY"},"actions" : {"$ref": "#/components/schemas/EventRuleActions","title": "ACTIONS"},"options" : {"$ref": "#/components/schemas/EventRuleOptions","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, "type": "object", - "required": ["data_source_id","metric_query","metric","start","end"], - "title": "MetricDataRequest" + "required": ["name","conditions","conditions_policy","actions","resource_group"], + "title": "CreateEventRuleRequest" } - , "MetricInfo": { - "properties" : {"key" : {"type": "string","title": "KEY"},"name" : {"type": "string","title": "NAME"},"group" : {"type": "string","title": "GROUP"},"unit" : {"type": "object","title": "UNIT"},"metric_query" : {"type": "object","title": "METRIC_QUERY"}}, + , "EventRuleActionResponder": { + "properties" : {"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"resource_id" : {"type": "string","title": "RESOURCE_ID"}}, "type": "object", - "required": ["key","name","group","unit","metric_query"], - "title": "MetricInfo" + "required": ["resource_type","resource_id"], + "title": "EventRuleActionResponder" } - , "MetricRequest": { - "properties" : {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"resources" : {"items": {"type": "string"}, - "type": "array","title": "RESOURCES"}}, + , "EventRuleActions": { + "properties" : {"change_assignee" : {"type": "string","title": "CHANGE_ASSIGNEE"},"change_urgency" : {"type": "string","title": "CHANGE_URGENCY"},"change_project" : {"type": "string","title": "CHANGE_PROJECT"},"change_escalation_policy" : {"type": "string","title": "CHANGE_ESCALATION_POLICY"},"match_service_account" : {"$ref": "#/components/schemas/MatchRule","title": "MATCH_SERVICE_ACCOUNT"},"add_additional_info" : {"type": "object","title": "ADD_ADDITIONAL_INFO"},"no_notification" : {"type": "boolean","title": "NO_NOTIFICATION"}}, "type": "object", - "required": ["data_source_id","resources"], - "title": "MetricRequest" + "required": ["change_assignee","change_urgency","change_project","change_escalation_policy","match_service_account","add_additional_info","no_notification"], + "title": "EventRuleActions" } - , "MetricsInfo": { - "properties" : {"metrics" : {"items": {"$ref": "#/components/schemas/MetricInfo"}, - "type": "array","$ref": "#/components/schemas/MetricInfo","title": "METRICS"},"available_resources" : {"type": "object","title": "AVAILABLE_RESOURCES"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "EventRuleCondition": { + "properties" : {"key" : {"type": "string","title": "KEY"},"value" : {"type": "string","title": "VALUE"},"operator" : {"type": "string","title": "OPERATOR"}}, "type": "object", - "required": ["metrics","available_resources","domain_id"], - "title": "MetricsInfo" + "required": ["key","value","operator"], + "title": "EventRuleCondition" } - , "CreateNoteRequest": { - "properties" : {"alert_id" : {"type": "string","title": "ALERT_ID"},"note" : {"type": "string","title": "NOTE"}}, + , "EventRuleInfo": { + "properties" : {"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID"},"name" : {"type": "string","title": "NAME"},"order" : {"type": "integer","title": "ORDER"},"conditions" : {"items": {"$ref": "#/components/schemas/EventRuleCondition"}, + "type": "array","$ref": "#/components/schemas/EventRuleCondition","title": "CONDITIONS"},"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY"},"actions" : {"$ref": "#/components/schemas/EventRuleActions","title": "ACTIONS"},"options" : {"$ref": "#/components/schemas/EventRuleOptions","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, "type": "object", - "required": ["alert_id","note"], - "title": "CreateNoteRequest" + "required": ["event_rule_id","name","order","conditions","conditions_policy","actions","options","tags","resource_group","domain_id","workspace_id","project_id","created_at"], + "title": "EventRuleInfo" } - , "NoteInfo": { - "properties" : {"note_id" : {"type": "string","title": "NOTE_ID"},"alert_id" : {"type": "string","title": "ALERT_ID"},"note" : {"type": "string","title": "NOTE"},"created_by" : {"type": "string","title": "CREATED_BY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + , "EventRuleOptions": { + "properties" : {"stop_processing" : {"type": "boolean","title": "STOP_PROCESSING"}}, "type": "object", - "required": ["note_id","alert_id","note","created_by","domain_id","workspace_id","project_id","created_at"], - "title": "NoteInfo" + "required": ["stop_processing"], + "title": "EventRuleOptions" } - , "NoteQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"note_id" : {"type": "string","title": "NOTE_ID"},"alert_id" : {"type": "string","title": "ALERT_ID"},"created_by" : {"type": "string","title": "CREATED_BY"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, + , "EventRuleQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID"},"name" : {"type": "string","title": "NAME"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, "type": "object", "required": [], - "title": "NoteQuery" + "title": "EventRuleQuery" } - , "NoteRequest": { - "properties" : {"note_id" : {"type": "string","title": "NOTE_ID"}}, + , "EventRuleRequest": { + "properties" : {"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID"}}, "type": "object", - "required": ["note_id"], - "title": "NoteRequest" + "required": ["event_rule_id"], + "title": "EventRuleRequest" } - , "NoteStatQuery": { + , "EventRuleStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "NoteStatQuery" + "title": "EventRuleStatQuery" } - , "NotesInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/NoteInfo"}, - "type": "array","$ref": "#/components/schemas/NoteInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "EventRulesInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/EventRuleInfo"}, + "type": "array","$ref": "#/components/schemas/EventRuleInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "NotesInfo" + "title": "EventRulesInfo" } - , "UpdateNoteRequest": { - "properties" : {"note_id" : {"type": "string","title": "NOTE_ID"},"note" : {"type": "string","title": "NOTE"}}, + , "MatchRule": { + "properties" : {"source" : {"type": "string","title": "SOURCE"},"target" : {"type": "string","title": "TARGET"}}, "type": "object", - "required": ["note_id"], - "title": "UpdateNoteRequest" + "required": ["source","target"], + "title": "MatchRule" + } + , "UpdateEventRuleRequest": { + "properties" : {"event_rule_id" : {"type": "string","title": "EVENT_RULE_ID"},"name" : {"type": "string","title": "NAME"},"conditions" : {"items": {"$ref": "#/components/schemas/EventRuleCondition"}, + "type": "array","$ref": "#/components/schemas/EventRuleCondition","title": "CONDITIONS"},"conditions_policy" : {"type": "string","title": "CONDITIONS_POLICY"},"actions" : {"$ref": "#/components/schemas/EventRuleActions","title": "ACTIONS"},"options" : {"$ref": "#/components/schemas/EventRuleOptions","title": "OPTIONS"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["event_rule_id"], + "title": "UpdateEventRuleRequest" + } + , "CreateEventRequest": { + "properties" : {"webhook_id" : {"type": "string","title": "WEBHOOK_ID"},"access_key" : {"type": "string","title": "ACCESS_KEY"},"data" : {"type": "object","title": "DATA"}}, + "type": "object", + "required": ["webhook_id","access_key","data"], + "title": "CreateEventRequest" + } + , "EventInfo": { + "properties" : {"event_id" : {"type": "string","title": "EVENT_ID"},"event_key" : {"type": "string","title": "EVENT_KEY"},"event_type" : {"type": "string","title": "EVENT_TYPE"},"title" : {"type": "string","title": "TITLE"},"description" : {"type": "string","title": "DESCRIPTION"},"severity" : {"type": "string","title": "SEVERITY"},"rule" : {"type": "string","title": "RULE"},"image_url" : {"type": "string","title": "IMAGE_URL"},"resources" : {"items": {"type": "string"}, + "type": "array","title": "RESOURCES"},"provider" : {"type": "string","title": "PROVIDER"},"account" : {"type": "string","title": "ACCOUNT"},"additional_info" : {"type": "object","title": "ADDITIONAL_INFO"},"raw_data" : {"type": "object","title": "RAW_DATA"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"alert_id" : {"type": "string","title": "ALERT_ID"},"webhook_id" : {"type": "string","title": "WEBHOOK_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"occurred_at" : {"type": "string","title": "OCCURRED_AT"}}, + "type": "object", + "required": ["event_id","event_key","event_type","title","description","severity","rule","image_url","resources","provider","account","additional_info","raw_data","domain_id","workspace_id","project_id","alert_id","webhook_id","created_at","occurred_at"], + "title": "EventInfo" + } + , "EventQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"event_id" : {"type": "string","title": "EVENT_ID"},"event_key" : {"type": "string","title": "EVENT_KEY"},"event_type" : {"type": "string","title": "EVENT_TYPE"},"severity" : {"type": "string","title": "SEVERITY"},"resource" : {"type": "string","title": "RESOURCE"},"provider" : {"type": "string","title": "PROVIDER"},"account" : {"type": "string","title": "ACCOUNT"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"alert_id" : {"type": "string","title": "ALERT_ID"},"webhook_id" : {"type": "string","title": "WEBHOOK_ID"}}, + "type": "object", + "required": [], + "title": "EventQuery" + } + , "EventStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, + "type": "object", + "required": ["query"], + "title": "EventStatQuery" + } + , "EventsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/EventInfo"}, + "type": "array","$ref": "#/components/schemas/EventInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "EventsInfo" + } + , "LogDataInfo": { + "properties" : {"results" : {"type": "array","title": "RESULTS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + "type": "object", + "required": ["results","domain_id"], + "title": "LogDataInfo" + } + , "LogRequest": { + "properties" : {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"resource_id" : {"type": "string","title": "RESOURCE_ID"},"keyword" : {"type": "string","title": "KEYWORD"},"start" : {"type": "string","title": "START"},"end" : {"type": "string","title": "END"},"sort" : {"type": "object","title": "SORT"},"limit" : {"type": "integer","title": "LIMIT"}}, + "type": "object", + "required": ["data_source_id","resource_id"], + "title": "LogRequest" } , "CreateEscalationPolicyRequest": { "properties" : {"name" : {"type": "string","title": "NAME"},"rules" : {"items": {"$ref": "#/components/schemas/EscalationPolicyRule"}, @@ -2271,99 +2253,129 @@ "required": ["escalation_policy_id"], "title": "UpdateEscalationPolicyRequest" } - , "CreateEventRequest": { - "properties" : {"webhook_id" : {"type": "string","title": "WEBHOOK_ID"},"access_key" : {"type": "string","title": "ACCESS_KEY"},"data" : {"type": "object","title": "DATA"}}, + , "CreateNoteRequest": { + "properties" : {"alert_id" : {"type": "string","title": "ALERT_ID"},"note" : {"type": "string","title": "NOTE"}}, "type": "object", - "required": ["webhook_id","access_key","data"], - "title": "CreateEventRequest" + "required": ["alert_id","note"], + "title": "CreateNoteRequest" } - , "EventInfo": { - "properties" : {"event_id" : {"type": "string","title": "EVENT_ID"},"event_key" : {"type": "string","title": "EVENT_KEY"},"event_type" : {"type": "string","title": "EVENT_TYPE"},"title" : {"type": "string","title": "TITLE"},"description" : {"type": "string","title": "DESCRIPTION"},"severity" : {"type": "string","title": "SEVERITY"},"rule" : {"type": "string","title": "RULE"},"image_url" : {"type": "string","title": "IMAGE_URL"},"resources" : {"items": {"type": "string"}, - "type": "array","title": "RESOURCES"},"provider" : {"type": "string","title": "PROVIDER"},"account" : {"type": "string","title": "ACCOUNT"},"additional_info" : {"type": "object","title": "ADDITIONAL_INFO"},"raw_data" : {"type": "object","title": "RAW_DATA"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"alert_id" : {"type": "string","title": "ALERT_ID"},"webhook_id" : {"type": "string","title": "WEBHOOK_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"occurred_at" : {"type": "string","title": "OCCURRED_AT"}}, + , "NoteInfo": { + "properties" : {"note_id" : {"type": "string","title": "NOTE_ID"},"alert_id" : {"type": "string","title": "ALERT_ID"},"note" : {"type": "string","title": "NOTE"},"created_by" : {"type": "string","title": "CREATED_BY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, "type": "object", - "required": ["event_id","event_key","event_type","title","description","severity","rule","image_url","resources","provider","account","additional_info","raw_data","domain_id","workspace_id","project_id","alert_id","webhook_id","created_at","occurred_at"], - "title": "EventInfo" + "required": ["note_id","alert_id","note","created_by","domain_id","workspace_id","project_id","created_at"], + "title": "NoteInfo" } - , "EventQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"event_id" : {"type": "string","title": "EVENT_ID"},"event_key" : {"type": "string","title": "EVENT_KEY"},"event_type" : {"type": "string","title": "EVENT_TYPE"},"severity" : {"type": "string","title": "SEVERITY"},"resource" : {"type": "string","title": "RESOURCE"},"provider" : {"type": "string","title": "PROVIDER"},"account" : {"type": "string","title": "ACCOUNT"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"alert_id" : {"type": "string","title": "ALERT_ID"},"webhook_id" : {"type": "string","title": "WEBHOOK_ID"}}, + , "NoteQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"note_id" : {"type": "string","title": "NOTE_ID"},"alert_id" : {"type": "string","title": "ALERT_ID"},"created_by" : {"type": "string","title": "CREATED_BY"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, "type": "object", "required": [], - "title": "EventQuery" + "title": "NoteQuery" } - , "EventStatQuery": { + , "NoteRequest": { + "properties" : {"note_id" : {"type": "string","title": "NOTE_ID"}}, + "type": "object", + "required": ["note_id"], + "title": "NoteRequest" + } + , "NoteStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "EventStatQuery" + "title": "NoteStatQuery" } - , "EventsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/EventInfo"}, - "type": "array","$ref": "#/components/schemas/EventInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "NotesInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/NoteInfo"}, + "type": "array","$ref": "#/components/schemas/NoteInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "EventsInfo" + "title": "NotesInfo" } - , "AlertInfo": { - "properties" : {"alert_number" : {"type": "integer","title": "ALERT_NUMBER"},"alert_id" : {"type": "string","title": "ALERT_ID"},"title" : {"type": "string","title": "TITLE"},"state" : {"type": "string","title": "STATE"},"description" : {"type": "string","title": "DESCRIPTION"},"assignee" : {"type": "string","title": "ASSIGNEE"},"responder" : {"type": "string","title": "RESPONDER"},"urgency" : {"type": "string","title": "URGENCY"},"severity" : {"type": "string","title": "SEVERITY"},"rule" : {"type": "string","title": "RULE"},"image_url" : {"type": "string","title": "IMAGE_URL"},"resources" : {"items": {"$ref": "#/components/schemas/AlertResource"}, - "type": "array","$ref": "#/components/schemas/AlertResource","title": "RESOURCES"},"provider" : {"type": "string","title": "PROVIDER"},"account" : {"type": "string","title": "ACCOUNT"},"additional_info" : {"type": "object","title": "ADDITIONAL_INFO"},"escalation_step" : {"type": "integer","title": "ESCALATION_STEP"},"escalation_ttl" : {"type": "integer","title": "ESCALATION_TTL"},"triggered_by" : {"type": "string","title": "TRIGGERED_BY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"webhook_id" : {"type": "string","title": "WEBHOOK_ID"},"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"},"acknowledged_at" : {"type": "string","title": "ACKNOWLEDGED_AT"},"resolved_at" : {"type": "string","title": "RESOLVED_AT"},"escalated_at" : {"type": "string","title": "ESCALATED_AT"}}, + , "UpdateNoteRequest": { + "properties" : {"note_id" : {"type": "string","title": "NOTE_ID"},"note" : {"type": "string","title": "NOTE"}}, "type": "object", - "required": ["alert_number","alert_id","title","state","description","assignee","responder","urgency","severity","rule","image_url","resources","provider","account","additional_info","escalation_step","escalation_ttl","triggered_by","domain_id","workspace_id","project_id","webhook_id","escalation_policy_id","created_at","updated_at","acknowledged_at","resolved_at","escalated_at"], - "title": "AlertInfo" + "required": ["note_id"], + "title": "UpdateNoteRequest" } - , "AlertQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"alert_number" : {"type": "integer","title": "ALERT_NUMBER"},"alert_id" : {"type": "string","title": "ALERT_ID"},"title" : {"type": "string","title": "TITLE"},"state" : {"type": "string","title": "STATE"},"assignee" : {"type": "string","title": "ASSIGNEE"},"responder" : {"type": "string","title": "RESPONDER"},"urgency" : {"type": "string","title": "URGENCY"},"severity" : {"type": "string","title": "SEVERITY"},"resource" : {"type": "string","title": "RESOURCE"},"provider" : {"type": "string","title": "PROVIDER"},"account" : {"type": "string","title": "ACCOUNT"},"triggered_by" : {"type": "string","title": "TRIGGERED_BY"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"webhook_id" : {"type": "string","title": "WEBHOOK_ID"},"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID"}}, + , "AlertOptions": { + "properties" : {"notification_urgency" : {"type": "string","title": "NOTIFICATION_URGENCY"},"recovery_mode" : {"type": "string","title": "RECOVERY_MODE"}}, "type": "object", - "required": [], - "title": "AlertQuery" + "required": ["notification_urgency","recovery_mode"], + "title": "AlertOptions" } - , "AlertRequest": { - "properties" : {"alert_id" : {"type": "string","title": "ALERT_ID"}}, + , "CreateProjectAlertConfigRequest": { + "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID"},"options" : {"$ref": "#/components/schemas/AlertOptions","title": "OPTIONS"}}, "type": "object", - "required": ["alert_id"], - "title": "AlertRequest" + "required": ["project_id"], + "title": "CreateProjectAlertConfigRequest" } - , "AlertResource": { - "properties" : {"resource_id" : {"type": "string","title": "RESOURCE_ID"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"name" : {"type": "string","title": "NAME"}}, + , "ProjectAlertConfigInfo": { + "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"options" : {"$ref": "#/components/schemas/AlertOptions","title": "OPTIONS"},"escalation_policy_info" : {"$ref": "#/components/schemas/EscalationPolicyInfo","title": "ESCALATION_POLICY_INFO"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, "type": "object", - "required": ["resource_id","resource_type","name"], - "title": "AlertResource" + "required": ["project_id","options","escalation_policy_info","domain_id","workspace_id","created_at"], + "title": "ProjectAlertConfigInfo" } - , "AlertStatQuery": { + , "ProjectAlertConfigQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"project_id" : {"type": "string","title": "PROJECT_ID"},"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID"}}, + "type": "object", + "required": [], + "title": "ProjectAlertConfigQuery" + } + , "ProjectAlertConfigRequest": { + "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"}}, + "type": "object", + "required": ["project_id"], + "title": "ProjectAlertConfigRequest" + } + , "ProjectAlertConfigStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"}}, "type": "object", "required": ["query"], - "title": "AlertStatQuery" + "title": "ProjectAlertConfigStatQuery" } - , "AlertsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/AlertInfo"}, - "type": "array","$ref": "#/components/schemas/AlertInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "ProjectAlertConfigsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/ProjectAlertConfigInfo"}, + "type": "array","$ref": "#/components/schemas/ProjectAlertConfigInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "AlertsInfo" + "title": "ProjectAlertConfigsInfo" } - , "AssignUserRequest": { - "properties" : {"alert_id" : {"type": "string","title": "ALERT_ID"},"assignee" : {"type": "string","title": "ASSIGNEE"}}, + , "UpdateProjectAlertConfigRequest": { + "properties" : {"project_id" : {"type": "string","title": "PROJECT_ID"},"escalation_policy_id" : {"type": "string","title": "ESCALATION_POLICY_ID"},"options" : {"$ref": "#/components/schemas/AlertOptions","title": "OPTIONS"}}, "type": "object", - "required": ["alert_id","assignee"], - "title": "AssignUserRequest" + "required": ["project_id"], + "title": "UpdateProjectAlertConfigRequest" } - , "CreateAlertRequest": { - "properties" : {"title" : {"type": "string","title": "TITLE"},"description" : {"type": "string","title": "DESCRIPTION"},"assignee" : {"type": "string","title": "ASSIGNEE"},"urgency" : {"type": "string","title": "URGENCY"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, + , "MetricDataInfo": { + "properties" : {"labels" : {"type": "array","title": "LABELS"},"values" : {"type": "object","title": "VALUES"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["title","project_id"], - "title": "CreateAlertRequest" + "required": ["labels","values","domain_id"], + "title": "MetricDataInfo" } - , "UpdateAlertRequest": { - "properties" : {"alert_id" : {"type": "string","title": "ALERT_ID"},"title" : {"type": "string","title": "TITLE"},"state" : {"type": "string","title": "STATE"},"description" : {"type": "string","title": "DESCRIPTION"},"reset_description" : {"type": "boolean","title": "RESET_DESCRIPTION"},"urgency" : {"type": "string","title": "URGENCY"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, + , "MetricDataRequest": { + "properties" : {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"metric_query" : {"type": "object","title": "METRIC_QUERY"},"metric" : {"type": "string","title": "METRIC"},"start" : {"type": "string","title": "START"},"end" : {"type": "string","title": "END"},"period" : {"type": "integer","title": "PERIOD"},"stat" : {"type": "string","title": "STAT"}}, "type": "object", - "required": ["alert_id"], - "title": "UpdateAlertRequest" + "required": ["data_source_id","metric_query","metric","start","end"], + "title": "MetricDataRequest" } - , "UpdateAlertStateRequest": { - "properties" : {"alert_id" : {"type": "string","title": "ALERT_ID"},"access_key" : {"type": "string","title": "ACCESS_KEY"},"responder" : {"type": "string","title": "RESPONDER"}}, + , "MetricInfo": { + "properties" : {"key" : {"type": "string","title": "KEY"},"name" : {"type": "string","title": "NAME"},"group" : {"type": "string","title": "GROUP"},"unit" : {"type": "object","title": "UNIT"},"metric_query" : {"type": "object","title": "METRIC_QUERY"}}, "type": "object", - "required": ["alert_id","access_key"], - "title": "UpdateAlertStateRequest" + "required": ["key","name","group","unit","metric_query"], + "title": "MetricInfo" + } + , "MetricRequest": { + "properties" : {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"resources" : {"items": {"type": "string"}, + "type": "array","title": "RESOURCES"}}, + "type": "object", + "required": ["data_source_id","resources"], + "title": "MetricRequest" + } + , "MetricsInfo": { + "properties" : {"metrics" : {"items": {"$ref": "#/components/schemas/MetricInfo"}, + "type": "array","$ref": "#/components/schemas/MetricInfo","title": "METRICS"},"available_resources" : {"type": "object","title": "AVAILABLE_RESOURCES"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + "type": "object", + "required": ["metrics","available_resources","domain_id"], + "title": "MetricsInfo" } , "CreateWebhookRequest": { "properties" : {"name" : {"type": "string","title": "NAME"},"plugin_info" : {"$ref": "#/components/schemas/WebhookPluginInfo","title": "PLUGIN_INFO"},"tags" : {"type": "object","title": "TAGS"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, @@ -2425,18 +2437,6 @@ "type": "object", "required": ["results","total_count"], "title": "WebhooksInfo" - } - , "LogDataInfo": { - "properties" : {"results" : {"type": "array","title": "RESULTS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, - "type": "object", - "required": ["results","domain_id"], - "title": "LogDataInfo" - } - , "LogRequest": { - "properties" : {"data_source_id" : {"type": "string","title": "DATA_SOURCE_ID"},"resource_id" : {"type": "string","title": "RESOURCE_ID"},"keyword" : {"type": "string","title": "KEYWORD"},"start" : {"type": "string","title": "START"},"end" : {"type": "string","title": "END"},"sort" : {"type": "object","title": "SORT"},"limit" : {"type": "integer","title": "LIMIT"}}, - "type": "object", - "required": ["data_source_id","resource_id"], - "title": "LogRequest" } }, "Struct": {"properties": {"type": "object","title": "Struct"}}, diff --git a/dist/openapi/cloudforet/api/notification/v1/openapi.json b/dist/openapi/cloudforet/api/notification/v1/openapi.json index 577b59e33..384826e8e 100755 --- a/dist/openapi/cloudforet/api/notification/v1/openapi.json +++ b/dist/openapi/cloudforet/api/notification/v1/openapi.json @@ -1083,44 +1083,6 @@ "required": ["results","total_count"], "title": "UserChannelsInfo" } - , "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", @@ -1290,6 +1252,44 @@ "required": ["path","filter"], "title": "Unwind" } + , "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" + } , "CreateProjectChannelRequest": { "properties" : {"protocol_id" : {"type": "string","title": "PROTOCOL_ID"},"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"is_subscribe" : {"type": "boolean","title": "IS_SUBSCRIBE"},"subscriptions" : {"items": {"type": "string"}, "type": "array","title": "SUBSCRIPTIONS"},"notification_level" : {"type": "string","title": "NOTIFICATION_LEVEL"},"is_scheduled" : {"type": "boolean","title": "IS_SCHEDULED"},"schedule" : {"$ref": "#/components/schemas/ProjectChannelSchedule","title": "SCHEDULE"},"tags" : {"type": "object","title": "TAGS"},"project_id" : {"type": "string","title": "PROJECT_ID"}}, diff --git a/dist/openapi/cloudforet/api/plugin/v1/openapi.json b/dist/openapi/cloudforet/api/plugin/v1/openapi.json index f53c0a76a..62b0ff8ce 100755 --- a/dist/openapi/cloudforet/api/plugin/v1/openapi.json +++ b/dist/openapi/cloudforet/api/plugin/v1/openapi.json @@ -41,73 +41,75 @@ }, "components":{ "schemas": { - "PluginEndpoint": { - "properties" : {"endpoint" : {"type": "string","title": "ENDPOINT"},"access_token" : {"type": "string","title": "ACCESS_TOKEN"},"updated_version" : {"type": "string","title": "UPDATED_VERSION"}}, + "PluginInfo": { + "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"version" : {"type": "string","title": "VERSION"},"state" : {"type": "string","title": "STATE"},"endpoint" : {"type": "string","title": "ENDPOINT"},"managed" : {"type": "boolean","title": "MANAGED"},"endpoints" : {"items": {"type": "string"}, + "type": "array","title": "ENDPOINTS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"supervisor_id" : {"type": "string","title": "SUPERVISOR_ID"},"supervisor_name" : {"type": "string","title": "SUPERVISOR_NAME"}}, "type": "object", - "required": ["endpoint","access_token"], - "title": "PluginEndpoint" + "required": ["plugin_id","version","state","endpoint","managed","endpoints","domain_id","supervisor_id","supervisor_name"], + "title": "PluginInfo" } - , "PluginEndpointRequest": { - "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"version" : {"type": "string","title": "VERSION"},"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE"},"labels" : {"type": "object","title": "LABELS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "PluginQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"supervisor_id" : {"type": "string","title": "SUPERVISOR_ID"},"hostname" : {"type": "string","title": "HOSTNAME"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"version" : {"type": "string","title": "VERSION"},"state" : {"type": "string","title": "STATE"},"endpoint" : {"type": "string","title": "ENDPOINT"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["plugin_id","domain_id"], - "title": "PluginEndpointRequest" + "required": ["domain_id"], + "title": "PluginQuery" } - , "PluginFailureRequest": { - "properties" : {"supervisor_id" : {"type": "string","title": "SUPERVISOR_ID"},"version" : {"type": "string","title": "VERSION"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"}}, + , "PluginsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/PluginInfo"}, + "type": "array","$ref": "#/components/schemas/PluginInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": ["supervisor_id","version","domain_id","plugin_id"], - "title": "PluginFailureRequest" + "required": ["results","total_count"], + "title": "PluginsInfo" } - , "PluginMetadata": { - "properties" : {"metadata" : {"type": "object","title": "METADATA"}}, + , "PublishSupervisorRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"hostname" : {"type": "string","title": "HOSTNAME"},"secret_key" : {"type": "string","title": "SECRET_KEY"},"plugin_info" : {"items": {"$ref": "#/components/schemas/PluginInfo"}, + "type": "array","$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"is_public" : {"type": "boolean","title": "IS_PUBLIC"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["metadata"], - "title": "PluginMetadata" + "required": ["name","hostname","domain_id"], + "title": "PublishSupervisorRequest" } - , "PluginMetadataRequest": { - "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"version" : {"type": "string","title": "VERSION"},"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE"},"options" : {"type": "object","title": "OPTIONS"}}, + , "RecoverPluginRequest": { + "properties" : {"supervisor_id" : {"type": "string","title": "SUPERVISOR_ID"},"version" : {"type": "string","title": "VERSION"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"}}, "type": "object", - "required": ["plugin_id"], - "title": "PluginMetadataRequest" + "required": ["supervisor_id","version","domain_id","plugin_id"], + "title": "RecoverPluginRequest" } - , "AuthenticationRequest": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "RegisterSupervisorRequest": { + "properties" : {"supervisor_id" : {"type": "string","title": "SUPERVISOR_ID"},"name" : {"type": "string","title": "NAME"},"is_public" : {"type": "boolean","title": "IS_PUBLIC"},"priority" : {"type": "integer","title": "PRIORITY"},"labels" : {"type": "object","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["domain_id"], - "title": "AuthenticationRequest" + "required": ["supervisor_id","domain_id"], + "title": "RegisterSupervisorRequest" } - , "AuthenticationResponse": { - "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"public_key" : {"type": "string","title": "PUBLIC_KEY"}}, + , "SupervisorInfo": { + "properties" : {"supervisor_id" : {"type": "string","title": "SUPERVISOR_ID"},"name" : {"type": "string","title": "NAME"},"hostname" : {"type": "string","title": "HOSTNAME"},"state" : {"type": "string","title": "STATE"},"is_public" : {"type": "boolean","title": "IS_PUBLIC"},"labels" : {"type": "object","title": "LABELS"},"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": ["domain_id","public_key"], - "title": "AuthenticationResponse" + "required": ["supervisor_id","name","hostname","state","is_public","labels","tags","domain_id","created_at","updated_at"], + "title": "SupervisorInfo" } - , "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"}}, + , "SupervisorQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"supervisor_id" : {"type": "string","title": "SUPERVISOR_ID"},"name" : {"type": "string","title": "NAME"},"is_public" : {"type": "boolean","title": "IS_PUBLIC"},"domain_id" : {"type": "string","title": "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" + "required": ["domain_id"], + "title": "SupervisorQuery" } - , "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"}}, + , "SupervisorRequest": { + "properties" : {"supervisor_id" : {"type": "string","title": "SUPERVISOR_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["role_type","projects","project_groups"], - "title": "AuthorizationResponse" + "required": ["supervisor_id","domain_id"], + "title": "SupervisorRequest" } - , "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"}}, + , "SupervisorStatQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["service","resource","verb","status","message"], - "title": "EventRequest" + "required": ["query","domain_id"], + "title": "SupervisorStatQuery" } - , "VersionInfo": { - "properties" : {"version" : {"type": "string","title": "VERSION"}}, + , "SupervisorsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/SupervisorInfo"}, + "type": "array","$ref": "#/components/schemas/SupervisorInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", - "required": ["version"], - "title": "VersionInfo" + "required": ["results","total_count"], + "title": "SupervisorsInfo" } , "AggregateCount": { "properties" : {"name" : {"type": "string","title": "NAME"}}, @@ -278,75 +280,73 @@ "required": ["path","filter"], "title": "Unwind" } - , "PluginInfo": { - "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"version" : {"type": "string","title": "VERSION"},"state" : {"type": "string","title": "STATE"},"endpoint" : {"type": "string","title": "ENDPOINT"},"managed" : {"type": "boolean","title": "MANAGED"},"endpoints" : {"items": {"type": "string"}, - "type": "array","title": "ENDPOINTS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"supervisor_id" : {"type": "string","title": "SUPERVISOR_ID"},"supervisor_name" : {"type": "string","title": "SUPERVISOR_NAME"}}, + , "AuthenticationRequest": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["plugin_id","version","state","endpoint","managed","endpoints","domain_id","supervisor_id","supervisor_name"], - "title": "PluginInfo" + "required": ["domain_id"], + "title": "AuthenticationRequest" } - , "PluginQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"supervisor_id" : {"type": "string","title": "SUPERVISOR_ID"},"hostname" : {"type": "string","title": "HOSTNAME"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"version" : {"type": "string","title": "VERSION"},"state" : {"type": "string","title": "STATE"},"endpoint" : {"type": "string","title": "ENDPOINT"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "AuthenticationResponse": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"public_key" : {"type": "string","title": "PUBLIC_KEY"}}, "type": "object", - "required": ["domain_id"], - "title": "PluginQuery" + "required": ["domain_id","public_key"], + "title": "AuthenticationResponse" } - , "PluginsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/PluginInfo"}, - "type": "array","$ref": "#/components/schemas/PluginInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "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": ["results","total_count"], - "title": "PluginsInfo" + "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" } - , "PublishSupervisorRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"hostname" : {"type": "string","title": "HOSTNAME"},"secret_key" : {"type": "string","title": "SECRET_KEY"},"plugin_info" : {"items": {"$ref": "#/components/schemas/PluginInfo"}, - "type": "array","$ref": "#/components/schemas/PluginInfo","title": "PLUGIN_INFO"},"is_public" : {"type": "boolean","title": "IS_PUBLIC"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "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": ["name","hostname","domain_id"], - "title": "PublishSupervisorRequest" + "required": ["role_type","projects","project_groups"], + "title": "AuthorizationResponse" } - , "RecoverPluginRequest": { - "properties" : {"supervisor_id" : {"type": "string","title": "SUPERVISOR_ID"},"version" : {"type": "string","title": "VERSION"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"}}, + , "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": ["supervisor_id","version","domain_id","plugin_id"], - "title": "RecoverPluginRequest" + "required": ["service","resource","verb","status","message"], + "title": "EventRequest" } - , "RegisterSupervisorRequest": { - "properties" : {"supervisor_id" : {"type": "string","title": "SUPERVISOR_ID"},"name" : {"type": "string","title": "NAME"},"is_public" : {"type": "boolean","title": "IS_PUBLIC"},"priority" : {"type": "integer","title": "PRIORITY"},"labels" : {"type": "object","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "VersionInfo": { + "properties" : {"version" : {"type": "string","title": "VERSION"}}, "type": "object", - "required": ["supervisor_id","domain_id"], - "title": "RegisterSupervisorRequest" + "required": ["version"], + "title": "VersionInfo" } - , "SupervisorInfo": { - "properties" : {"supervisor_id" : {"type": "string","title": "SUPERVISOR_ID"},"name" : {"type": "string","title": "NAME"},"hostname" : {"type": "string","title": "HOSTNAME"},"state" : {"type": "string","title": "STATE"},"is_public" : {"type": "boolean","title": "IS_PUBLIC"},"labels" : {"type": "object","title": "LABELS"},"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"}}, + , "PluginEndpoint": { + "properties" : {"endpoint" : {"type": "string","title": "ENDPOINT"},"access_token" : {"type": "string","title": "ACCESS_TOKEN"},"updated_version" : {"type": "string","title": "UPDATED_VERSION"}}, "type": "object", - "required": ["supervisor_id","name","hostname","state","is_public","labels","tags","domain_id","created_at","updated_at"], - "title": "SupervisorInfo" + "required": ["endpoint","access_token"], + "title": "PluginEndpoint" } - , "SupervisorQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"supervisor_id" : {"type": "string","title": "SUPERVISOR_ID"},"name" : {"type": "string","title": "NAME"},"is_public" : {"type": "boolean","title": "IS_PUBLIC"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "PluginEndpointRequest": { + "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"version" : {"type": "string","title": "VERSION"},"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE"},"labels" : {"type": "object","title": "LABELS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["domain_id"], - "title": "SupervisorQuery" + "required": ["plugin_id","domain_id"], + "title": "PluginEndpointRequest" } - , "SupervisorRequest": { - "properties" : {"supervisor_id" : {"type": "string","title": "SUPERVISOR_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "PluginFailureRequest": { + "properties" : {"supervisor_id" : {"type": "string","title": "SUPERVISOR_ID"},"version" : {"type": "string","title": "VERSION"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"}}, "type": "object", - "required": ["supervisor_id","domain_id"], - "title": "SupervisorRequest" + "required": ["supervisor_id","version","domain_id","plugin_id"], + "title": "PluginFailureRequest" } - , "SupervisorStatQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "PluginMetadata": { + "properties" : {"metadata" : {"type": "object","title": "METADATA"}}, "type": "object", - "required": ["query","domain_id"], - "title": "SupervisorStatQuery" + "required": ["metadata"], + "title": "PluginMetadata" } - , "SupervisorsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/SupervisorInfo"}, - "type": "array","$ref": "#/components/schemas/SupervisorInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "PluginMetadataRequest": { + "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"version" : {"type": "string","title": "VERSION"},"upgrade_mode" : {"type": "string","title": "UPGRADE_MODE"},"options" : {"type": "object","title": "OPTIONS"}}, "type": "object", - "required": ["results","total_count"], - "title": "SupervisorsInfo" + "required": ["plugin_id"], + "title": "PluginMetadataRequest" } }, "Struct": {"properties": {"type": "object","title": "Struct"}}, diff --git a/dist/openapi/cloudforet/api/repository/v1/openapi.json b/dist/openapi/cloudforet/api/repository/v1/openapi.json index 0643d0ade..332211378 100755 --- a/dist/openapi/cloudforet/api/repository/v1/openapi.json +++ b/dist/openapi/cloudforet/api/repository/v1/openapi.json @@ -8,20 +8,20 @@ "title": "Repository API", "version": "3.1.0" }, - "paths":{"/repository/plugin/register": { + "paths":{"/repository/dashboard-template/register": { "post": { - "tags": ["repository > plugin"], + "tags": ["repository > dashboard-template"], "summary": "Register", "operationId" : "", - "description": "### Description \nRegisters a Plugin. The parameter `registry_type`, meaning container registry type, can be either `DOCKER_HUB` or `AWS_PRIVATE_ECR`. The default value of the `registry_type` is `DOCKER_HUB`. The parameter `registry_url` is required if the `registry_type` is not `DOCKER_HUB`. The parameter `image` is limited to 40 characters.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |resource_type||string|True|\n |image||string|True|\n |provider||string||\n |registry_type|DOCKER_HUB, AWS_PRIVATE_ECR, HARBOR, GITHUB |string||\n |registry_config||Struct||\n |capability||Struct||\n |labels||array||\n |tags||Struct||\n |plugin_id|if plugin_id is not provided, it will be generated by image name |string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |template_id||string||\n |template_type|MULTI, SINGLE |string||\n |dashboards||array||\n |labels||array||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"image" : {"type": "string","title": "IMAGE" },"provider" : {"type": "string","title": "PROVIDER" },"registry_type" : {"type": "string","title": "REGISTRY_TYPE" },"registry_config" : {"type": "object","title": "REGISTRY_CONFIG" },"capability" : {"type": "object","title": "CAPABILITY" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"plugin_id" : {"type": "string","title": "PLUGIN_ID" } } + "properties": {"template_id" : {"type": "string","title": "TEMPLATE_ID" },"name" : {"type": "string","title": "NAME" },"template_type" : {"type": "string","title": "TEMPLATE_TYPE" },"dashboards" : {"type": "array","title": "DASHBOARDS" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"name\": \"JIRA Software Collector\",\n \"service_type\": \"inventory.Collector\",\n \"image\": \"cloudforet/plugin-jira-noti-protocol\",\n \"registry_type\": \"DOCKER_HUB\",\n \"registry_config\": {},\n \"provider\": \"jira\",\n \"capability\": {\n \"supported_schema\": [\n \"jira-software-secret-api-token\"\n ]\n },\n \"labels\": [\n \"jira\",\n \"atlassian\",\n \"notification\"\n ],\n \"tags\": {\n \"description\": \"Atlassian JIRA Issue notification\",\n \"icon\": \"https://icon-path/jira-icon.png\"\n }\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -30,29 +30,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PluginInfo"}, + "schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PluginInfo"},"Default Example":{ - "value": "{\n \"plugin_id\": \"plugin-jira-noti-protocol\",\n \"name\": \"JIRA Issue notification\",\n \"image\": \"pyengine/plugin-jira-noti-protocol\",\n \"registry_url\": \"registry.hub.docker.com\",\n \"state\": \"ENABLED\",\n \"service_type\": \"notification.Procotol\",\n \"provider\": \"atlassian\",\n \"registry_type\": \"DOCKER_HUB\",\n \"registry_config\": {},\n \"capability\": {\n \"supported_schema\": [\n \"atlassian_jira\"\n ]\n },\n \"template\": {\n \"options\": {\n \"schema\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"project_id\": {\n \"type\": \"string\",\n \"title\": \"Project ID\",\n \"minLength\": 4.0\n },\n \"sa_name\": {\n \"title\": \"Service Account\",\n \"type\": \"string\",\n \"minLength\": 4.0\n }\n }\n }\n }\n },\n \"labels\": [\n \"jira\",\n \"atlassian\",\n \"notification\"\n ],\n \"tags\": {\n \"description\": \"Atlassian JIRA Issue notification\",\n \"icon\": \"https://icon-path/jira-icon.png\"\n },\n \"repository_info\": {\n \"repository_id\": \"repo-123456789012\",\n \"name\": \"Marketplace\",\n \"repository_type\": \"remote\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T08:02:38.094Z\",\n \"updated_at\": \"2022-01-01T08:02:38.094Z\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/repository/plugin/update": { + },"/repository/dashboard-template/update": { "post": { - "tags": ["repository > plugin"], + "tags": ["repository > dashboard-template"], "summary": "Update", "operationId" : "", - "description": "### Description \nUpdates a specific Plugin registered. A Plugin can be updated only if its Repository's `repository_type` is `local`. You can make changes in Plugin settings, including `template` and its options, `schema`.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |plugin_id||string|True|\n |name||string||\n |capability||Struct||\n |labels||array||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |template_id||string|True|\n |name||string||\n |template_type|MULTI, SINGLE |string||\n |dashboards||array||\n |labels||array||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"plugin_id" : {"type": "string","title": "PLUGIN_ID" },"name" : {"type": "string","title": "NAME" },"capability" : {"type": "object","title": "CAPABILITY" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"template_id" : {"type": "string","title": "TEMPLATE_ID" },"name" : {"type": "string","title": "NAME" },"template_type" : {"type": "string","title": "TEMPLATE_TYPE" },"dashboards" : {"type": "array","title": "DASHBOARDS" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"name\": \"JIRA Software Collector\",\n \"capability\": {\n \"supported_schema\": [\n \"jira-software-secret-api-token\"\n ]\n },\n \"labels\": [\n \"jira\",\n \"atlassian\",\n \"notification\"\n ],\n \"tags\": {\n \"description\": \"Atlassian JIRA Issue notification\",\n \"icon\": \"https://icon-path/jira-icon.png\"\n }\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -61,29 +59,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PluginInfo"}, + "schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PluginInfo"},"Default Example":{ - "value": "{\n \"plugin_id\": \"plugin-jira-noti-protocol\",\n \"name\": \"JIRA Issue notification\",\n \"image\": \"pyengine/plugin-jira-noti-protocol\",\n \"registry_url\": \"registry.hub.docker.com\",\n \"state\": \"ENABLED\",\n \"service_type\": \"notification.Procotol\",\n \"provider\": \"atlassian\",\n \"registry_type\": \"DOCKER_HUB\",\n \"registry_config\": {},\n \"capability\": {\n \"supported_schema\": [\n \"atlassian_jira\"\n ]\n },\n \"template\": {\n \"options\": {\n \"schema\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"project_id\": {\n \"type\": \"string\",\n \"title\": \"Project ID\",\n \"minLength\": 4.0\n },\n \"sa_name\": {\n \"title\": \"Service Account\",\n \"type\": \"string\",\n \"minLength\": 4.0\n }\n }\n }\n }\n },\n \"labels\": [\n \"jira\",\n \"atlassian\",\n \"notification\"\n ],\n \"tags\": {\n \"description\": \"Atlassian JIRA Issue notification\",\n \"icon\": \"https://icon-path/jira-icon.png\"\n },\n \"repository_info\": {\n \"repository_id\": \"repo-123456789012\",\n \"name\": \"Marketplace\",\n \"repository_type\": \"remote\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T08:02:38.094Z\",\n \"updated_at\": \"2022-01-01T08:02:38.094Z\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/repository/plugin/deregister": { + },"/repository/dashboard-template/deregister": { "post": { - "tags": ["repository > plugin"], + "tags": ["repository > dashboard-template"], "summary": "Deregister", "operationId" : "", - "description": "### Description \nDeregisters and deletes a specific Plugin. You must specify the `plugin_id` of the Plugin to deregister.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |plugin_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |template_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"plugin_id" : {"type": "string","title": "PLUGIN_ID" } } + "properties": {"template_id" : {"type": "string","title": "TEMPLATE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"plugin_id\": \"plugin-aws-sns-mon-webhook\",\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -93,20 +89,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/repository/plugin/enable": { + },"/repository/dashboard-template/enable": { "post": { - "tags": ["repository > plugin"], + "tags": ["repository > dashboard-template"], "summary": "Enable", "operationId" : "", - "description": "### Description \nEnables a specific Plugin. If the Plugin is enabled, the Plugin can be used as its parameter `state` becomes `ENABLED`.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |plugin_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |template_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"plugin_id" : {"type": "string","title": "PLUGIN_ID" } } + "properties": {"template_id" : {"type": "string","title": "TEMPLATE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"plugin_id\": \"plugin-aws-sns-mon-webhook\",\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -115,29 +111,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PluginInfo"}, + "schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PluginInfo"},"Default Example":{ - "value": "{\n \"plugin_id\": \"plugin-jira-noti-protocol\",\n \"name\": \"JIRA Issue notification\",\n \"image\": \"pyengine/plugin-jira-noti-protocol\",\n \"registry_url\": \"registry.hub.docker.com\",\n \"state\": \"ENABLED\",\n \"service_type\": \"notification.Procotol\",\n \"provider\": \"atlassian\",\n \"registry_type\": \"DOCKER_HUB\",\n \"registry_config\": {},\n \"capability\": {\n \"supported_schema\": [\n \"atlassian_jira\"\n ]\n },\n \"template\": {\n \"options\": {\n \"schema\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"project_id\": {\n \"type\": \"string\",\n \"title\": \"Project ID\",\n \"minLength\": 4.0\n },\n \"sa_name\": {\n \"title\": \"Service Account\",\n \"type\": \"string\",\n \"minLength\": 4.0\n }\n }\n }\n }\n },\n \"labels\": [\n \"jira\",\n \"atlassian\",\n \"notification\"\n ],\n \"tags\": {\n \"description\": \"Atlassian JIRA Issue notification\",\n \"icon\": \"https://icon-path/jira-icon.png\"\n },\n \"repository_info\": {\n \"repository_id\": \"repo-123456789012\",\n \"name\": \"Marketplace\",\n \"repository_type\": \"remote\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T08:02:38.094Z\",\n \"updated_at\": \"2022-01-01T08:02:38.094Z\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/repository/plugin/disable": { + },"/repository/dashboard-template/disable": { "post": { - "tags": ["repository > plugin"], + "tags": ["repository > dashboard-template"], "summary": "Disable", "operationId" : "", - "description": "### Description \nDisables a specific Plugin. If the Plugin is disabled, the Plugin cannot be used as its parameter `state` becomes `DISABLED`.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |plugin_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |template_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"plugin_id" : {"type": "string","title": "PLUGIN_ID" } } + "properties": {"template_id" : {"type": "string","title": "TEMPLATE_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"plugin_id\": \"plugin-aws-sns-mon-webhook\",\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -146,29 +140,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PluginInfo"}, + "schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PluginInfo"},"Default Example":{ - "value": "{\n \"plugin_id\": \"plugin-jira-noti-protocol\",\n \"name\": \"JIRA Issue notification\",\n \"image\": \"pyengine/plugin-jira-noti-protocol\",\n \"registry_url\": \"registry.hub.docker.com\",\n \"state\": \"ENABLED\",\n \"service_type\": \"notification.Procotol\",\n \"provider\": \"atlassian\",\n \"registry_type\": \"DOCKER_HUB\",\n \"registry_config\": {},\n \"capability\": {\n \"supported_schema\": [\n \"atlassian_jira\"\n ]\n },\n \"template\": {\n \"options\": {\n \"schema\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"project_id\": {\n \"type\": \"string\",\n \"title\": \"Project ID\",\n \"minLength\": 4.0\n },\n \"sa_name\": {\n \"title\": \"Service Account\",\n \"type\": \"string\",\n \"minLength\": 4.0\n }\n }\n }\n }\n },\n \"labels\": [\n \"jira\",\n \"atlassian\",\n \"notification\"\n ],\n \"tags\": {\n \"description\": \"Atlassian JIRA Issue notification\",\n \"icon\": \"https://icon-path/jira-icon.png\"\n },\n \"repository_info\": {\n \"repository_id\": \"repo-123456789012\",\n \"name\": \"Marketplace\",\n \"repository_type\": \"remote\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T08:02:38.094Z\",\n \"updated_at\": \"2022-01-01T08:02:38.094Z\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/repository/plugin/get-versions": { + },"/repository/dashboard-template/get": { "post": { - "tags": ["repository > plugin"], - "summary": "Get Versions", + "tags": ["repository > dashboard-template"], + "summary": "Get", "operationId" : "", - "description": "### Description \nGets all version data of a specific Plugin from its Repository. The parameter `plugin_id` is used as an identifier of a Plugin to get version data.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |plugin_id||string|True|\n |repository_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |template_id||string|True|\n |repository_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"plugin_id" : {"type": "string","title": "PLUGIN_ID" },"repository_id" : {"type": "string","title": "REPOSITORY_ID" } } + "properties": {"template_id" : {"type": "string","title": "TEMPLATE_ID" },"repository_id" : {"type": "string","title": "REPOSITORY_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"plugin_id\": \"plugin-aws-sns-mon-webhook\",\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -177,29 +169,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/VersionsInfo"}, + "schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/VersionsInfo"},"Default Example":{ - "value": "{\n \"total_count\": 1,\n \"results\": [\n \"1.2.2\",\n \"1.2.1.20220429.104002\",\n \"1.2.1.20220422.161421\",\n \"1.2.1.20220411.113807\",\n \"1.2.1\"\n ]\n}" - }} + "Schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/repository/plugin/get": { + },"/repository/dashboard-template/list": { "post": { - "tags": ["repository > plugin"], - "summary": "Get", + "tags": ["repository > dashboard-template"], + "summary": "List", "operationId" : "", - "description": "### Description \nGets a specific Plugin. Prints detailed information about the Plugin, including `image`, `registry_url`, and `state`.", + "description": "### Description \n", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |plugin_id||string|True|\n |repository_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |template_id||string||\n |name||string||\n |state|ENABLED, DISABLED |string||\n |template_type|MULTI, SINGLE |string||\n |repository_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"plugin_id" : {"type": "string","title": "PLUGIN_ID" },"repository_id" : {"type": "string","title": "REPOSITORY_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"template_id" : {"type": "string","title": "TEMPLATE_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"template_type" : {"type": "string","title": "TEMPLATE_TYPE" },"repository_id" : {"type": "string","title": "REPOSITORY_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"plugin_id\": \"plugin-aws-sns-mon-webhook\",\n}"},"Schema":{} + "examples":{"Schema":{} } } },"required": true @@ -208,27 +198,25 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PluginInfo"}, + "schema": {"$ref": "#/components/schemas/DashboardTemplatesInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PluginInfo"},"Default Example":{ - "value": "{\n \"plugin_id\": \"plugin-jira-noti-protocol\",\n \"name\": \"JIRA Issue notification\",\n \"image\": \"pyengine/plugin-jira-noti-protocol\",\n \"registry_url\": \"registry.hub.docker.com\",\n \"state\": \"ENABLED\",\n \"service_type\": \"notification.Procotol\",\n \"provider\": \"atlassian\",\n \"registry_type\": \"DOCKER_HUB\",\n \"registry_config\": {},\n \"capability\": {\n \"supported_schema\": [\n \"atlassian_jira\"\n ]\n },\n \"template\": {\n \"options\": {\n \"schema\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"project_id\": {\n \"type\": \"string\",\n \"title\": \"Project ID\",\n \"minLength\": 4.0\n },\n \"sa_name\": {\n \"title\": \"Service Account\",\n \"type\": \"string\",\n \"minLength\": 4.0\n }\n }\n }\n }\n },\n \"labels\": [\n \"jira\",\n \"atlassian\",\n \"notification\"\n ],\n \"tags\": {\n \"description\": \"Atlassian JIRA Issue notification\",\n \"icon\": \"https://icon-path/jira-icon.png\"\n },\n \"repository_info\": {\n \"repository_id\": \"repo-123456789012\",\n \"name\": \"Marketplace\",\n \"repository_type\": \"remote\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T08:02:38.094Z\",\n \"updated_at\": \"2022-01-01T08:02:38.094Z\"\n}" - }} + "Schema": {"$ref": "#/components/schemas/DashboardTemplatesInfo"}} } }} } ,"security": [{"HTTPBearer": []}] } - },"/repository/plugin/list": { + },"/repository/repository/list": { "post": { - "tags": ["repository > plugin"], + "tags": ["repository > repository"], "summary": "List", "operationId" : "", - "description": "### Description \nGets a list of all Plugins registered in a specific Repository. The parameter `repository_id` is used as an identifier of a Repository to get its list of Plugins. You can use a query to get a filtered list of Plugins.", + "description": "### Description \nGets a list of all Repositories regardless of `domain`. You can use a query to get a filtered list of Repositories.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |plugin_id||string||\n |name||string||\n |state|ENABLED, DISABLED |string||\n |resource_type||string||\n |provider||string||\n |registry_type|DOCKER_HUB, AWS_PRIVATE_ECR, HARBOR, GITHUB |string||\n |repository_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |repository_id||string||\n |repository_type||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"plugin_id" : {"type": "string","title": "PLUGIN_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"provider" : {"type": "string","title": "PROVIDER" },"registry_type" : {"type": "string","title": "REGISTRY_TYPE" },"repository_id" : {"type": "string","title": "REPOSITORY_ID" } } + "properties": {"repository_id" : {"type": "string","title": "REPOSITORY_ID" },"repository_type" : {"type": "string","title": "REPOSITORY_TYPE" } } }, "examples":{"Default Example":{"value": "{\n \"query\": {},\n \"repository_id\": \"repo-123456789012\"\n}"},"Schema":{} } @@ -239,29 +227,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/PluginsInfo"}, + "schema": {"$ref": "#/components/schemas/RepositoriesInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/PluginsInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"plugin_id\": \"plugin-api-direct-mon-webhook\",\n \"name\": \"API Direct Webhook\",\n \"image\": \"pyengine/plugin-api-direct-mon-webhook\",\n \"registry_url\": \"registry.hub.docker.com\",\n \"state\": \"ENABLED\",\n \"service_type\": \"monitoring.Webhook\",\n \"registry_type\": \"DOCKER_HUB\",\n \"registry_config\": {},\n \"capability\": {},\n \"template\": {},\n \"labels\": [],\n \"tags\": {\n \"icon\": \"https://icon-url/icon.svg\"\n },\n \"repository_info\": {\n \"repository_id\": \"repo-123456789012\",\n \"name\": \"Marketplace\",\n \"repository_type\": \"remote\"\n },\n \"domain_id\": \"domain-987654321098\",\n \"created_at\": \"2022-01-01T03:25:10.408Z\",\n \"updated_at\": \"2022-01-01T03:25:10.408Z\"\n },\n {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"name\": \"AWS HyperBilling Cost Analysis Data Source\",\n \"image\": \"pyengine/plugin-aws-hyperbilling-cost-datasource\",\n \"registry_url\": \"registry.hub.docker.com\",\n \"state\": \"ENABLED\",\n \"service_type\": \"cost_analysis.DataSoruce\",\n \"registry_type\": \"DOCKER_HUB\",\n \"registry_config\": {},\n \"capability\": {},\n \"template\": {},\n \"labels\": [],\n \"tags\": {},\n \"repository_info\": {\n \"repository_id\": \"repo-123456789012\",\n \"name\": \"Marketplace\",\n \"repository_type\": \"remote\"\n },\n \"domain_id\": \"domain-987654321098\",\n \"created_at\": \"2022-01-01T04:56:55.082Z\",\n \"updated_at\": \"2022-01-01T04:56:55.082Z\"\n }\n ],\n \"total_count\": 2\n}" + "Schema": {"$ref": "#/components/schemas/RepositoriesInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"repository_id\": \"repo-123456789012\",\n \"name\": \"Open Source Marketplace\",\n \"repository_type\": \"remote\",\n \"endpoint\": \"grpc+ssl://repository.portal.spaceone.megazone.io:443\",\n }\n ],\n \"total_count\": 1\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/repository/dashboard-template/register": { + },"/repository/plugin/register": { "post": { - "tags": ["repository > dashboard-template"], + "tags": ["repository > plugin"], "summary": "Register", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nRegisters a Plugin. The parameter `registry_type`, meaning container registry type, can be either `DOCKER_HUB` or `AWS_PRIVATE_ECR`. The default value of the `registry_type` is `DOCKER_HUB`. The parameter `registry_url` is required if the `registry_type` is not `DOCKER_HUB`. The parameter `image` is limited to 40 characters.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |template_id||string||\n |template_type|MULTI, SINGLE |string||\n |dashboards||array||\n |labels||array||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |resource_type||string|True|\n |image||string|True|\n |docs| {'en': {}, 'ko': {}, 'ja':{}}|Struct|True|\n |provider||string||\n |registry_type|DOCKER_HUB, AWS_PRIVATE_ECR, HARBOR, GITHUB |string||\n |registry_config||Struct||\n |capability||Struct||\n |labels||array||\n |tags||Struct||\n |plugin_id|if plugin_id is not provided, it will be generated by image name |string||\n
", "content": { "application/json": { "schema": { - "properties": {"template_id" : {"type": "string","title": "TEMPLATE_ID" },"name" : {"type": "string","title": "NAME" },"template_type" : {"type": "string","title": "TEMPLATE_TYPE" },"dashboards" : {"type": "array","title": "DASHBOARDS" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"name" : {"type": "string","title": "NAME" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"image" : {"type": "string","title": "IMAGE" },"provider" : {"type": "string","title": "PROVIDER" },"registry_type" : {"type": "string","title": "REGISTRY_TYPE" },"registry_config" : {"type": "object","title": "REGISTRY_CONFIG" },"capability" : {"type": "object","title": "CAPABILITY" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"plugin_id" : {"type": "string","title": "PLUGIN_ID" },"docs" : {"type": "object","title": "DOCS" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"name\": \"JIRA Software Collector\",\n \"service_type\": \"inventory.Collector\",\n \"image\": \"cloudforet/plugin-jira-noti-protocol\",\n \"registry_type\": \"DOCKER_HUB\",\n \"registry_config\": {},\n \"provider\": \"jira\",\n \"capability\": {\n \"supported_schema\": [\n \"jira-software-secret-api-token\"\n ]\n },\n \"labels\": [\n \"jira\",\n \"atlassian\",\n \"notification\"\n ],\n \"tags\": {\n \"description\": \"Atlassian JIRA Issue notification\",\n \"icon\": \"https://icon-path/jira-icon.png\"\n }\n}"},"Schema":{} } } },"required": true @@ -270,27 +258,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}, + "schema": {"$ref": "#/components/schemas/PluginInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}} + "Schema": {"$ref": "#/components/schemas/PluginInfo"},"Default Example":{ + "value": "{\n \"plugin_id\": \"plugin-jira-noti-protocol\",\n \"name\": \"JIRA Issue notification\",\n \"image\": \"pyengine/plugin-jira-noti-protocol\",\n \"registry_url\": \"registry.hub.docker.com\",\n \"state\": \"ENABLED\",\n \"service_type\": \"notification.Procotol\",\n \"provider\": \"atlassian\",\n \"registry_type\": \"DOCKER_HUB\",\n \"registry_config\": {},\n \"capability\": {\n \"supported_schema\": [\n \"atlassian_jira\"\n ]\n },\n \"template\": {\n \"options\": {\n \"schema\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"project_id\": {\n \"type\": \"string\",\n \"title\": \"Project ID\",\n \"minLength\": 4.0\n },\n \"sa_name\": {\n \"title\": \"Service Account\",\n \"type\": \"string\",\n \"minLength\": 4.0\n }\n }\n }\n }\n },\n \"labels\": [\n \"jira\",\n \"atlassian\",\n \"notification\"\n ],\n \"tags\": {\n \"description\": \"Atlassian JIRA Issue notification\",\n \"icon\": \"https://icon-path/jira-icon.png\"\n },\n \"repository_info\": {\n \"repository_id\": \"repo-123456789012\",\n \"name\": \"Marketplace\",\n \"repository_type\": \"remote\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T08:02:38.094Z\",\n \"updated_at\": \"2022-01-01T08:02:38.094Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/repository/dashboard-template/update": { + },"/repository/plugin/update": { "post": { - "tags": ["repository > dashboard-template"], + "tags": ["repository > plugin"], "summary": "Update", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nUpdates a specific Plugin registered. A Plugin can be updated only if its Repository's `repository_type` is `local`. You can make changes in Plugin settings, including `template` and its options, `schema`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |template_id||string|True|\n |name||string||\n |template_type|MULTI, SINGLE |string||\n |dashboards||array||\n |labels||array||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |plugin_id||string|True|\n |name||string||\n |capability||Struct||\n |labels||array||\n |tags||Struct||\n |docs||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"template_id" : {"type": "string","title": "TEMPLATE_ID" },"name" : {"type": "string","title": "NAME" },"template_type" : {"type": "string","title": "TEMPLATE_TYPE" },"dashboards" : {"type": "array","title": "DASHBOARDS" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"plugin_id" : {"type": "string","title": "PLUGIN_ID" },"name" : {"type": "string","title": "NAME" },"capability" : {"type": "object","title": "CAPABILITY" },"labels" : {"type": "array","title": "LABELS" },"tags" : {"type": "object","title": "TAGS" },"docs" : {"type": "object","title": "DOCS" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"name\": \"JIRA Software Collector\",\n \"capability\": {\n \"supported_schema\": [\n \"jira-software-secret-api-token\"\n ]\n },\n \"labels\": [\n \"jira\",\n \"atlassian\",\n \"notification\"\n ],\n \"tags\": {\n \"description\": \"Atlassian JIRA Issue notification\",\n \"icon\": \"https://icon-path/jira-icon.png\"\n }\n}"},"Schema":{} } } },"required": true @@ -299,27 +289,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}, + "schema": {"$ref": "#/components/schemas/PluginInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}} + "Schema": {"$ref": "#/components/schemas/PluginInfo"},"Default Example":{ + "value": "{\n \"plugin_id\": \"plugin-jira-noti-protocol\",\n \"name\": \"JIRA Issue notification\",\n \"image\": \"pyengine/plugin-jira-noti-protocol\",\n \"registry_url\": \"registry.hub.docker.com\",\n \"state\": \"ENABLED\",\n \"service_type\": \"notification.Procotol\",\n \"provider\": \"atlassian\",\n \"registry_type\": \"DOCKER_HUB\",\n \"registry_config\": {},\n \"capability\": {\n \"supported_schema\": [\n \"atlassian_jira\"\n ]\n },\n \"template\": {\n \"options\": {\n \"schema\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"project_id\": {\n \"type\": \"string\",\n \"title\": \"Project ID\",\n \"minLength\": 4.0\n },\n \"sa_name\": {\n \"title\": \"Service Account\",\n \"type\": \"string\",\n \"minLength\": 4.0\n }\n }\n }\n }\n },\n \"labels\": [\n \"jira\",\n \"atlassian\",\n \"notification\"\n ],\n \"tags\": {\n \"description\": \"Atlassian JIRA Issue notification\",\n \"icon\": \"https://icon-path/jira-icon.png\"\n },\n \"repository_info\": {\n \"repository_id\": \"repo-123456789012\",\n \"name\": \"Marketplace\",\n \"repository_type\": \"remote\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T08:02:38.094Z\",\n \"updated_at\": \"2022-01-01T08:02:38.094Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/repository/dashboard-template/deregister": { + },"/repository/plugin/deregister": { "post": { - "tags": ["repository > dashboard-template"], + "tags": ["repository > plugin"], "summary": "Deregister", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nDeregisters and deletes a specific Plugin. You must specify the `plugin_id` of the Plugin to deregister.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |template_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |plugin_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"template_id" : {"type": "string","title": "TEMPLATE_ID" } } + "properties": {"plugin_id" : {"type": "string","title": "PLUGIN_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"plugin_id\": \"plugin-aws-sns-mon-webhook\",\n}"},"Schema":{} } } },"required": true @@ -329,20 +321,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/repository/dashboard-template/enable": { + },"/repository/plugin/enable": { "post": { - "tags": ["repository > dashboard-template"], + "tags": ["repository > plugin"], "summary": "Enable", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nEnables a specific Plugin. If the Plugin is enabled, the Plugin can be used as its parameter `state` becomes `ENABLED`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |template_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |plugin_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"template_id" : {"type": "string","title": "TEMPLATE_ID" } } + "properties": {"plugin_id" : {"type": "string","title": "PLUGIN_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"plugin_id\": \"plugin-aws-sns-mon-webhook\",\n}"},"Schema":{} } } },"required": true @@ -351,27 +343,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}, + "schema": {"$ref": "#/components/schemas/PluginInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}} + "Schema": {"$ref": "#/components/schemas/PluginInfo"},"Default Example":{ + "value": "{\n \"plugin_id\": \"plugin-jira-noti-protocol\",\n \"name\": \"JIRA Issue notification\",\n \"image\": \"pyengine/plugin-jira-noti-protocol\",\n \"registry_url\": \"registry.hub.docker.com\",\n \"state\": \"ENABLED\",\n \"service_type\": \"notification.Procotol\",\n \"provider\": \"atlassian\",\n \"registry_type\": \"DOCKER_HUB\",\n \"registry_config\": {},\n \"capability\": {\n \"supported_schema\": [\n \"atlassian_jira\"\n ]\n },\n \"template\": {\n \"options\": {\n \"schema\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"project_id\": {\n \"type\": \"string\",\n \"title\": \"Project ID\",\n \"minLength\": 4.0\n },\n \"sa_name\": {\n \"title\": \"Service Account\",\n \"type\": \"string\",\n \"minLength\": 4.0\n }\n }\n }\n }\n },\n \"labels\": [\n \"jira\",\n \"atlassian\",\n \"notification\"\n ],\n \"tags\": {\n \"description\": \"Atlassian JIRA Issue notification\",\n \"icon\": \"https://icon-path/jira-icon.png\"\n },\n \"repository_info\": {\n \"repository_id\": \"repo-123456789012\",\n \"name\": \"Marketplace\",\n \"repository_type\": \"remote\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T08:02:38.094Z\",\n \"updated_at\": \"2022-01-01T08:02:38.094Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/repository/dashboard-template/disable": { + },"/repository/plugin/disable": { "post": { - "tags": ["repository > dashboard-template"], + "tags": ["repository > plugin"], "summary": "Disable", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nDisables a specific Plugin. If the Plugin is disabled, the Plugin cannot be used as its parameter `state` becomes `DISABLED`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |template_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |plugin_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"template_id" : {"type": "string","title": "TEMPLATE_ID" } } + "properties": {"plugin_id" : {"type": "string","title": "PLUGIN_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"plugin_id\": \"plugin-aws-sns-mon-webhook\",\n}"},"Schema":{} } } },"required": true @@ -380,27 +374,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}, + "schema": {"$ref": "#/components/schemas/PluginInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}} + "Schema": {"$ref": "#/components/schemas/PluginInfo"},"Default Example":{ + "value": "{\n \"plugin_id\": \"plugin-jira-noti-protocol\",\n \"name\": \"JIRA Issue notification\",\n \"image\": \"pyengine/plugin-jira-noti-protocol\",\n \"registry_url\": \"registry.hub.docker.com\",\n \"state\": \"ENABLED\",\n \"service_type\": \"notification.Procotol\",\n \"provider\": \"atlassian\",\n \"registry_type\": \"DOCKER_HUB\",\n \"registry_config\": {},\n \"capability\": {\n \"supported_schema\": [\n \"atlassian_jira\"\n ]\n },\n \"template\": {\n \"options\": {\n \"schema\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"project_id\": {\n \"type\": \"string\",\n \"title\": \"Project ID\",\n \"minLength\": 4.0\n },\n \"sa_name\": {\n \"title\": \"Service Account\",\n \"type\": \"string\",\n \"minLength\": 4.0\n }\n }\n }\n }\n },\n \"labels\": [\n \"jira\",\n \"atlassian\",\n \"notification\"\n ],\n \"tags\": {\n \"description\": \"Atlassian JIRA Issue notification\",\n \"icon\": \"https://icon-path/jira-icon.png\"\n },\n \"repository_info\": {\n \"repository_id\": \"repo-123456789012\",\n \"name\": \"Marketplace\",\n \"repository_type\": \"remote\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T08:02:38.094Z\",\n \"updated_at\": \"2022-01-01T08:02:38.094Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/repository/dashboard-template/get": { + },"/repository/plugin/get-versions": { "post": { - "tags": ["repository > dashboard-template"], - "summary": "Get", + "tags": ["repository > plugin"], + "summary": "Get Versions", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nGets all version data of a specific Plugin from its Repository. The parameter `plugin_id` is used as an identifier of a Plugin to get version data.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |template_id||string|True|\n |repository_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |plugin_id||string|True|\n |repository_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"template_id" : {"type": "string","title": "TEMPLATE_ID" },"repository_id" : {"type": "string","title": "REPOSITORY_ID" } } + "properties": {"plugin_id" : {"type": "string","title": "PLUGIN_ID" },"repository_id" : {"type": "string","title": "REPOSITORY_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"plugin_id\": \"plugin-aws-sns-mon-webhook\",\n}"},"Schema":{} } } },"required": true @@ -409,27 +405,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}, + "schema": {"$ref": "#/components/schemas/VersionsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DashboardTemplateInfo"}} + "Schema": {"$ref": "#/components/schemas/VersionsInfo"},"Default Example":{ + "value": "{\n \"total_count\": 1,\n \"results\": [\n \"1.2.2\",\n \"1.2.1.20220429.104002\",\n \"1.2.1.20220422.161421\",\n \"1.2.1.20220411.113807\",\n \"1.2.1\"\n ]\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/repository/dashboard-template/list": { + },"/repository/plugin/get": { "post": { - "tags": ["repository > dashboard-template"], - "summary": "List", + "tags": ["repository > plugin"], + "summary": "Get", "operationId" : "", - "description": "### Description \n", + "description": "### Description \nGets a specific Plugin. Prints detailed information about the Plugin, including `image`, `registry_url`, and `state`.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |template_id||string||\n |name||string||\n |state|ENABLED, DISABLED |string||\n |template_type|MULTI, SINGLE |string||\n |repository_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |plugin_id||string|True|\n |repository_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"template_id" : {"type": "string","title": "TEMPLATE_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"template_type" : {"type": "string","title": "TEMPLATE_TYPE" },"repository_id" : {"type": "string","title": "REPOSITORY_ID" } } + "properties": {"plugin_id" : {"type": "string","title": "PLUGIN_ID" },"repository_id" : {"type": "string","title": "REPOSITORY_ID" } } }, - "examples":{"Schema":{} + "examples":{"Default Example":{"value": "{\n \"plugin_id\": \"plugin-aws-sns-mon-webhook\",\n}"},"Schema":{} } } },"required": true @@ -438,25 +436,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/DashboardTemplatesInfo"}, + "schema": {"$ref": "#/components/schemas/PluginInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/DashboardTemplatesInfo"}} + "Schema": {"$ref": "#/components/schemas/PluginInfo"},"Default Example":{ + "value": "{\n \"plugin_id\": \"plugin-jira-noti-protocol\",\n \"name\": \"JIRA Issue notification\",\n \"image\": \"pyengine/plugin-jira-noti-protocol\",\n \"registry_url\": \"registry.hub.docker.com\",\n \"state\": \"ENABLED\",\n \"service_type\": \"notification.Procotol\",\n \"provider\": \"atlassian\",\n \"registry_type\": \"DOCKER_HUB\",\n \"registry_config\": {},\n \"capability\": {\n \"supported_schema\": [\n \"atlassian_jira\"\n ]\n },\n \"template\": {\n \"options\": {\n \"schema\": {\n \"type\": \"object\",\n \"required\": [],\n \"properties\": {\n \"project_id\": {\n \"type\": \"string\",\n \"title\": \"Project ID\",\n \"minLength\": 4.0\n },\n \"sa_name\": {\n \"title\": \"Service Account\",\n \"type\": \"string\",\n \"minLength\": 4.0\n }\n }\n }\n }\n },\n \"labels\": [\n \"jira\",\n \"atlassian\",\n \"notification\"\n ],\n \"tags\": {\n \"description\": \"Atlassian JIRA Issue notification\",\n \"icon\": \"https://icon-path/jira-icon.png\"\n },\n \"repository_info\": {\n \"repository_id\": \"repo-123456789012\",\n \"name\": \"Marketplace\",\n \"repository_type\": \"remote\"\n },\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T08:02:38.094Z\",\n \"updated_at\": \"2022-01-01T08:02:38.094Z\"\n}" + }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/repository/repository/list": { + },"/repository/plugin/list": { "post": { - "tags": ["repository > repository"], + "tags": ["repository > plugin"], "summary": "List", "operationId" : "", - "description": "### Description \nGets a list of all Repositories regardless of `domain`. You can use a query to get a filtered list of Repositories.", + "description": "### Description \nGets a list of all Plugins registered in a specific Repository. The parameter `repository_id` is used as an identifier of a Repository to get its list of Plugins. You can use a query to get a filtered list of Plugins.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |repository_id||string||\n |repository_type||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |plugin_id||string||\n |name||string||\n |state|ENABLED, DISABLED |string||\n |resource_type||string||\n |provider||string||\n |registry_type|DOCKER_HUB, AWS_PRIVATE_ECR, HARBOR, GITHUB |string||\n |repository_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"repository_id" : {"type": "string","title": "REPOSITORY_ID" },"repository_type" : {"type": "string","title": "REPOSITORY_TYPE" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"plugin_id" : {"type": "string","title": "PLUGIN_ID" },"name" : {"type": "string","title": "NAME" },"state" : {"type": "string","title": "STATE" },"resource_type" : {"type": "string","title": "RESOURCE_TYPE" },"provider" : {"type": "string","title": "PROVIDER" },"registry_type" : {"type": "string","title": "REGISTRY_TYPE" },"repository_id" : {"type": "string","title": "REPOSITORY_ID" } } }, "examples":{"Default Example":{"value": "{\n \"query\": {},\n \"repository_id\": \"repo-123456789012\"\n}"},"Schema":{} } @@ -467,10 +467,10 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/RepositoriesInfo"}, + "schema": {"$ref": "#/components/schemas/PluginsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/RepositoriesInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"repository_id\": \"repo-123456789012\",\n \"name\": \"Open Source Marketplace\",\n \"repository_type\": \"remote\",\n \"endpoint\": \"grpc+ssl://repository.portal.spaceone.megazone.io:443\",\n }\n ],\n \"total_count\": 1\n}" + "Schema": {"$ref": "#/components/schemas/PluginsInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"plugin_id\": \"plugin-api-direct-mon-webhook\",\n \"name\": \"API Direct Webhook\",\n \"image\": \"pyengine/plugin-api-direct-mon-webhook\",\n \"registry_url\": \"registry.hub.docker.com\",\n \"state\": \"ENABLED\",\n \"service_type\": \"monitoring.Webhook\",\n \"registry_type\": \"DOCKER_HUB\",\n \"registry_config\": {},\n \"capability\": {},\n \"template\": {},\n \"labels\": [],\n \"tags\": {\n \"icon\": \"https://icon-url/icon.svg\"\n },\n \"repository_info\": {\n \"repository_id\": \"repo-123456789012\",\n \"name\": \"Marketplace\",\n \"repository_type\": \"remote\"\n },\n \"domain_id\": \"domain-987654321098\",\n \"created_at\": \"2022-01-01T03:25:10.408Z\",\n \"updated_at\": \"2022-01-01T03:25:10.408Z\"\n },\n {\n \"plugin_id\": \"plugin-aws-hyperbilling-cost-datasource\",\n \"name\": \"AWS HyperBilling Cost Analysis Data Source\",\n \"image\": \"pyengine/plugin-aws-hyperbilling-cost-datasource\",\n \"registry_url\": \"registry.hub.docker.com\",\n \"state\": \"ENABLED\",\n \"service_type\": \"cost_analysis.DataSoruce\",\n \"registry_type\": \"DOCKER_HUB\",\n \"registry_config\": {},\n \"capability\": {},\n \"template\": {},\n \"labels\": [],\n \"tags\": {},\n \"repository_info\": {\n \"repository_id\": \"repo-123456789012\",\n \"name\": \"Marketplace\",\n \"repository_type\": \"remote\"\n },\n \"domain_id\": \"domain-987654321098\",\n \"created_at\": \"2022-01-01T04:56:55.082Z\",\n \"updated_at\": \"2022-01-01T04:56:55.082Z\"\n }\n ],\n \"total_count\": 2\n}" }} } }} @@ -480,94 +480,48 @@ }, "components":{ "schemas": { - "PluginInfo": { - "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"image" : {"type": "string","title": "IMAGE"},"provider" : {"type": "string","title": "PROVIDER"},"registry_type" : {"type": "string","title": "REGISTRY_TYPE"},"registry_url" : {"type": "string","title": "REGISTRY_URL"},"registry_config" : {"type": "object","title": "REGISTRY_CONFIG"},"capability" : {"type": "object","title": "CAPABILITY"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"repository_info" : {"$ref": "#/components/schemas/RepositoryInfo","title": "REPOSITORY_INFO"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + "DashboardTemplateInfo": { + "properties" : {"template_id" : {"type": "string","title": "TEMPLATE_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"template_type" : {"type": "string","title": "TEMPLATE_TYPE"},"dashboards" : {"type": "array","title": "DASHBOARDS"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"repository_info" : {"$ref": "#/components/schemas/RepositoryInfo","title": "REPOSITORY_INFO"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, "type": "object", - "required": ["plugin_id","name","state","resource_type","image","provider","registry_type","registry_url","registry_config","capability","labels","tags","domain_id","repository_info","created_at","updated_at"], - "title": "PluginInfo" + "required": ["template_id","name","state","template_type","dashboards","labels","tags","domain_id","repository_info","created_at","updated_at"], + "title": "DashboardTemplateInfo" } - , "PluginQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"provider" : {"type": "string","title": "PROVIDER"},"registry_type" : {"type": "string","title": "REGISTRY_TYPE"},"repository_id" : {"type": "string","title": "REPOSITORY_ID"}}, + , "DashboardTemplateQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"template_id" : {"type": "string","title": "TEMPLATE_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"template_type" : {"type": "string","title": "TEMPLATE_TYPE"},"repository_id" : {"type": "string","title": "REPOSITORY_ID"}}, "type": "object", "required": [], - "title": "PluginQuery" + "title": "DashboardTemplateQuery" } - , "PluginRequest": { - "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"}}, + , "DashboardTemplateRequest": { + "properties" : {"template_id" : {"type": "string","title": "TEMPLATE_ID"}}, "type": "object", - "required": ["plugin_id"], - "title": "PluginRequest" + "required": ["template_id"], + "title": "DashboardTemplateRequest" } - , "PluginsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/PluginInfo"}, - "type": "array","$ref": "#/components/schemas/PluginInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "DashboardTemplatesInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/DashboardTemplateInfo"}, + "type": "array","$ref": "#/components/schemas/DashboardTemplateInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "PluginsInfo" - } - , "RegisterPluginRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"image" : {"type": "string","title": "IMAGE"},"provider" : {"type": "string","title": "PROVIDER"},"registry_type" : {"type": "string","title": "REGISTRY_TYPE"},"registry_config" : {"type": "object","title": "REGISTRY_CONFIG"},"capability" : {"type": "object","title": "CAPABILITY"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"}}, - "type": "object", - "required": ["name","resource_type","image"], - "title": "RegisterPluginRequest" - } - , "RepositoryPluginRequest": { - "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"repository_id" : {"type": "string","title": "REPOSITORY_ID"}}, - "type": "object", - "required": ["plugin_id"], - "title": "RepositoryPluginRequest" - } - , "UpdatePluginRequest": { - "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"name" : {"type": "string","title": "NAME"},"capability" : {"type": "object","title": "CAPABILITY"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"}}, - "type": "object", - "required": ["plugin_id"], - "title": "UpdatePluginRequest" - } - , "VersionsInfo": { - "properties" : {"version" : {"items": {"type": "string"}, - "type": "array","title": "VERSION"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"},"results" : {"items": {"type": "string"}, - "type": "array","title": "RESULTS"}}, - "type": "object", - "required": ["version","total_count","results"], - "title": "VersionsInfo" - } - , "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" + "title": "DashboardTemplatesInfo" } - , "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"}}, + , "RegisterDashboardTemplateRequest": { + "properties" : {"template_id" : {"type": "string","title": "TEMPLATE_ID"},"name" : {"type": "string","title": "NAME"},"template_type" : {"type": "string","title": "TEMPLATE_TYPE"},"dashboards" : {"type": "array","title": "DASHBOARDS"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["role_type","projects","project_groups"], - "title": "AuthorizationResponse" + "required": ["name"], + "title": "RegisterDashboardTemplateRequest" } - , "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"}}, + , "RepositoryDashboardTemplateRequest": { + "properties" : {"template_id" : {"type": "string","title": "TEMPLATE_ID"},"repository_id" : {"type": "string","title": "REPOSITORY_ID"}}, "type": "object", - "required": ["service","resource","verb","status","message"], - "title": "EventRequest" + "required": ["template_id"], + "title": "RepositoryDashboardTemplateRequest" } - , "VersionInfo": { - "properties" : {"version" : {"type": "string","title": "VERSION"}}, + , "UpdateDashboardTemplateRequest": { + "properties" : {"template_id" : {"type": "string","title": "TEMPLATE_ID"},"name" : {"type": "string","title": "NAME"},"template_type" : {"type": "string","title": "TEMPLATE_TYPE"},"dashboards" : {"type": "array","title": "DASHBOARDS"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["version"], - "title": "VersionInfo" + "required": ["template_id"], + "title": "UpdateDashboardTemplateRequest" } , "AggregateCount": { "properties" : {"name" : {"type": "string","title": "NAME"}}, @@ -738,48 +692,43 @@ "required": ["path","filter"], "title": "Unwind" } - , "DashboardTemplateInfo": { - "properties" : {"template_id" : {"type": "string","title": "TEMPLATE_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"template_type" : {"type": "string","title": "TEMPLATE_TYPE"},"dashboards" : {"type": "array","title": "DASHBOARDS"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"repository_info" : {"$ref": "#/components/schemas/RepositoryInfo","title": "REPOSITORY_INFO"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, - "type": "object", - "required": ["template_id","name","state","template_type","dashboards","labels","tags","domain_id","repository_info","created_at","updated_at"], - "title": "DashboardTemplateInfo" - } - , "DashboardTemplateQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"template_id" : {"type": "string","title": "TEMPLATE_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"template_type" : {"type": "string","title": "TEMPLATE_TYPE"},"repository_id" : {"type": "string","title": "REPOSITORY_ID"}}, + , "AuthenticationRequest": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": [], - "title": "DashboardTemplateQuery" + "required": ["domain_id"], + "title": "AuthenticationRequest" } - , "DashboardTemplateRequest": { - "properties" : {"template_id" : {"type": "string","title": "TEMPLATE_ID"}}, + , "AuthenticationResponse": { + "properties" : {"domain_id" : {"type": "string","title": "DOMAIN_ID"},"public_key" : {"type": "string","title": "PUBLIC_KEY"}}, "type": "object", - "required": ["template_id"], - "title": "DashboardTemplateRequest" + "required": ["domain_id","public_key"], + "title": "AuthenticationResponse" } - , "DashboardTemplatesInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/DashboardTemplateInfo"}, - "type": "array","$ref": "#/components/schemas/DashboardTemplateInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "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": ["results","total_count"], - "title": "DashboardTemplatesInfo" + "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" } - , "RegisterDashboardTemplateRequest": { - "properties" : {"template_id" : {"type": "string","title": "TEMPLATE_ID"},"name" : {"type": "string","title": "NAME"},"template_type" : {"type": "string","title": "TEMPLATE_TYPE"},"dashboards" : {"type": "array","title": "DASHBOARDS"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"}}, + , "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": ["name"], - "title": "RegisterDashboardTemplateRequest" + "required": ["role_type","projects","project_groups"], + "title": "AuthorizationResponse" } - , "RepositoryDashboardTemplateRequest": { - "properties" : {"template_id" : {"type": "string","title": "TEMPLATE_ID"},"repository_id" : {"type": "string","title": "REPOSITORY_ID"}}, + , "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": ["template_id"], - "title": "RepositoryDashboardTemplateRequest" + "required": ["service","resource","verb","status","message"], + "title": "EventRequest" } - , "UpdateDashboardTemplateRequest": { - "properties" : {"template_id" : {"type": "string","title": "TEMPLATE_ID"},"name" : {"type": "string","title": "NAME"},"template_type" : {"type": "string","title": "TEMPLATE_TYPE"},"dashboards" : {"type": "array","title": "DASHBOARDS"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"}}, + , "VersionInfo": { + "properties" : {"version" : {"type": "string","title": "VERSION"}}, "type": "object", - "required": ["template_id"], - "title": "UpdateDashboardTemplateRequest" + "required": ["version"], + "title": "VersionInfo" } , "RepositoriesInfo": { "properties" : {"results" : {"items": {"$ref": "#/components/schemas/RepositoryInfo"}, @@ -799,6 +748,57 @@ "type": "object", "required": [], "title": "RepositoryQuery" + } + , "PluginInfo": { + "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"image" : {"type": "string","title": "IMAGE"},"provider" : {"type": "string","title": "PROVIDER"},"registry_type" : {"type": "string","title": "REGISTRY_TYPE"},"registry_url" : {"type": "string","title": "REGISTRY_URL"},"registry_config" : {"type": "object","title": "REGISTRY_CONFIG"},"capability" : {"type": "object","title": "CAPABILITY"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"docs" : {"type": "object","title": "DOCS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"repository_info" : {"$ref": "#/components/schemas/RepositoryInfo","title": "REPOSITORY_INFO"},"created_at" : {"type": "string","title": "CREATED_AT"},"updated_at" : {"type": "string","title": "UPDATED_AT"}}, + "type": "object", + "required": ["plugin_id","name","state","resource_type","image","provider","registry_type","registry_url","registry_config","capability","labels","tags","docs","domain_id","repository_info","created_at","updated_at"], + "title": "PluginInfo" + } + , "PluginQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"name" : {"type": "string","title": "NAME"},"state" : {"type": "string","title": "STATE"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"provider" : {"type": "string","title": "PROVIDER"},"registry_type" : {"type": "string","title": "REGISTRY_TYPE"},"repository_id" : {"type": "string","title": "REPOSITORY_ID"}}, + "type": "object", + "required": [], + "title": "PluginQuery" + } + , "PluginRequest": { + "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"}}, + "type": "object", + "required": ["plugin_id"], + "title": "PluginRequest" + } + , "PluginsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/PluginInfo"}, + "type": "array","$ref": "#/components/schemas/PluginInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "PluginsInfo" + } + , "RegisterPluginRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"resource_type" : {"type": "string","title": "RESOURCE_TYPE"},"image" : {"type": "string","title": "IMAGE"},"provider" : {"type": "string","title": "PROVIDER"},"registry_type" : {"type": "string","title": "REGISTRY_TYPE"},"registry_config" : {"type": "object","title": "REGISTRY_CONFIG"},"capability" : {"type": "object","title": "CAPABILITY"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"docs" : {"type": "object","title": "DOCS"}}, + "type": "object", + "required": ["name","resource_type","image","docs"], + "title": "RegisterPluginRequest" + } + , "RepositoryPluginRequest": { + "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"repository_id" : {"type": "string","title": "REPOSITORY_ID"}}, + "type": "object", + "required": ["plugin_id"], + "title": "RepositoryPluginRequest" + } + , "UpdatePluginRequest": { + "properties" : {"plugin_id" : {"type": "string","title": "PLUGIN_ID"},"name" : {"type": "string","title": "NAME"},"capability" : {"type": "object","title": "CAPABILITY"},"labels" : {"type": "array","title": "LABELS"},"tags" : {"type": "object","title": "TAGS"},"docs" : {"type": "object","title": "DOCS"}}, + "type": "object", + "required": ["plugin_id"], + "title": "UpdatePluginRequest" + } + , "VersionsInfo": { + "properties" : {"version" : {"items": {"type": "string"}, + "type": "array","title": "VERSION"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"},"results" : {"items": {"type": "string"}, + "type": "array","title": "RESULTS"}}, + "type": "object", + "required": ["version","total_count","results"], + "title": "VersionsInfo" } }, "Struct": {"properties": {"type": "object","title": "Struct"}}, diff --git a/dist/openapi/cloudforet/api/search/v1/openapi.json b/dist/openapi/cloudforet/api/search/v1/openapi.json index f96a32db4..f1f2cdd9f 100755 --- a/dist/openapi/cloudforet/api/search/v1/openapi.json +++ b/dist/openapi/cloudforet/api/search/v1/openapi.json @@ -61,44 +61,6 @@ "required": ["resource_type"], "title": "SearchResourceRequest" } - , "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", @@ -267,6 +229,44 @@ "type": "object", "required": ["path","filter"], "title": "Unwind" + } + , "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" } }, "Struct": {"properties": {"type": "object","title": "Struct"}}, diff --git a/dist/openapi/cloudforet/api/secret/v1/openapi.json b/dist/openapi/cloudforet/api/secret/v1/openapi.json index 393ef1228..12c8c7441 100755 --- a/dist/openapi/cloudforet/api/secret/v1/openapi.json +++ b/dist/openapi/cloudforet/api/secret/v1/openapi.json @@ -8,20 +8,20 @@ "title": "Secret API", "version": "3.1.0" }, - "paths":{"/secret/trusted-secret/create": { + "paths":{"/secret/user-secret/create": { "post": { - "tags": ["secret > trusted-secret"], + "tags": ["secret > user-secret"], "summary": "Create", "operationId" : "", - "description": "### Description \nCreate a new trusted secret.\nCreated trusted secret is encrypted and stored securely.", + "description": "### Description \nCreate a new user secret.\nCreated user secret is encrypted and stored securely.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |data||Struct|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |schema_id||string||\n |tags||Struct||\n |workspace_id||string||\n |trusted_account_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |data||Struct|True|\n |schema_id||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"data" : {"type": "object","title": "DATA" },"schema_id" : {"type": "string","title": "SCHEMA_ID" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" } } + "properties": {"name" : {"type": "string","title": "NAME" },"data" : {"type": "object","title": "DATA" },"schema_id" : {"type": "string","title": "SCHEMA_ID" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"name\": \"Cloudforet Broker Account - Managed\",\n \"data\": \"********\",\n \"schema_id\": \"aws_access_key\",\n \"trusted_account_id\": \"trusted-sa-123456789012\",\n \"tags\": {}\n \"resource_group\": \"DOMAIN\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"name\": \"Cloudforet AWS Dev\",\n \"data\": \"********\",\n \"schema_id\": \"aws_access_key\",\n}"},"Schema":{} } } },"required": true @@ -30,29 +30,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/TrustedSecretInfo"}, + "schema": {"$ref": "#/components/schemas/UserSecretInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/TrustedSecretInfo"},"Default Example":{ - "value": "{\n \"trusted_secret_id\": \"trusted-secret-123456789012\",\n \"name\": \"aws-dev\",\n \"tags\": {},\n \"schema\": \"aws_access_key\",\n \"provider\": \"aws\",\n \"resource_group\": \"DOMAIN\",\n \"trusted_account_id\": \"ta-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:10:14.851Z\"\n}" + "Schema": {"$ref": "#/components/schemas/UserSecretInfo"},"Default Example":{ + "value": "{\n \"user_secret_id\": \"user_secret-123456789012\",\n \"name\": \"aws-dev\",\n \"tags\": {},\n \"schema_id\": \"aws_access_key\",\n \"provider\": \"aws\",\n \"user_id\": \"whdalsrnt@gmail.com\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:10:14.851Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/secret/trusted-secret/update": { + },"/secret/user-secret/update": { "post": { - "tags": ["secret > trusted-secret"], + "tags": ["secret > user-secret"], "summary": "Update", "operationId" : "", - "description": "### Description \nUpdates a specific trusted secret's information.\nYou can only change the 'name' and 'tags', and to change the data you must use the update_data API.", + "description": "### Description \nUpdates a specific user secret's information.\nYou can only change the 'name' and 'tags', and to change the data you must use the update_data API.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_secret_id||string|True|\n |name||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_secret_id||string|True|\n |name||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"trusted_secret_id\": \"trusted-secret-123456789012\",\n \"name\": \"aws-dev2\",\n \"tags\": { \"a\": \"b\"}\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"user_secret_id\": \"user-secret-123456789012\",\n \"name\": \"aws-dev2\",\n \"tags\": { \"a\": \"b\"}\n}"},"Schema":{} } } },"required": true @@ -61,29 +61,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/TrustedSecretInfo"}, + "schema": {"$ref": "#/components/schemas/UserSecretInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/TrustedSecretInfo"},"Default Example":{ - "value": "{\n \"trusted_secret_id\": \"trusted-secret-123456789012\",\n \"name\": \"aws-dev\",\n \"tags\": {},\n \"schema\": \"aws_access_key\",\n \"provider\": \"aws\",\n \"resource_group\": \"DOMAIN\",\n \"trusted_account_id\": \"ta-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:10:14.851Z\"\n}" + "Schema": {"$ref": "#/components/schemas/UserSecretInfo"},"Default Example":{ + "value": "{\n \"user_secret_id\": \"user_secret-123456789012\",\n \"name\": \"aws-dev\",\n \"tags\": {},\n \"schema_id\": \"aws_access_key\",\n \"provider\": \"aws\",\n \"user_id\": \"whdalsrnt@gmail.com\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:10:14.851Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/secret/trusted-secret/delete": { + },"/secret/user-secret/delete": { "post": { - "tags": ["secret > trusted-secret"], + "tags": ["secret > user-secret"], "summary": "Delete", "operationId" : "", - "description": "### Description \nDeletes a specific trusted secret.\nIf a trusted secret is attached to a Secret, it cannot be deleted.", + "description": "### Description \nDeletes a specific user secret.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_secret_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_secret_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID" } } + "properties": {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"trusted_secret_id\": \"trusted-secret-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"user_secret_id\": \"user-secret-123456789012\"\n}"},"Schema":{} } } },"required": true @@ -93,20 +93,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/secret/trusted-secret/update-data": { + },"/secret/user-secret/update-data": { "post": { - "tags": ["secret > trusted-secret"], + "tags": ["secret > user-secret"], "summary": "Update Data", "operationId" : "", - "description": "### Description \nUpdates a specific trusted secret's data.\nUpdated trusted secret is encrypted and stored securely.", + "description": "### Description \nUpdates a specific user secret's data.\nUpdated user_secret is encrypted and stored securely.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_secret_id||string|True|\n |schema_id||string|True|\n |data||Struct|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_secret_id||string|True|\n |schema_id||string|True|\n |data||Struct|True|\n
", "content": { "application/json": { "schema": { - "properties": {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID" },"schema_id" : {"type": "string","title": "SCHEMA_ID" },"data" : {"type": "object","title": "DATA" } } + "properties": {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID" },"schema_id" : {"type": "string","title": "SCHEMA_ID" },"data" : {"type": "object","title": "DATA" } } }, - "examples":{"Default Example":{"value": "{\n \"trusted_secret_id\": \"trusted-secret-12345abcde\",\n \"data\": \"********\",\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"user_secret_id\": \"user-secret-123456789012\",\n \"data\": \"********\"\n}"},"Schema":{} } } },"required": true @@ -116,20 +116,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/secret/trusted-secret/get": { + },"/secret/user-secret/get": { "post": { - "tags": ["secret > trusted-secret"], + "tags": ["secret > user-secret"], "summary": "Get", "operationId" : "", - "description": "### Description \nGet a specific trusted secret's information.", + "description": "### Description \nGet a specific user secret's information.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_secret_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_secret_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID" } } + "properties": {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"trusted_secret_id\": \"trusted-secret-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"user_secret_id\": \"user-secret-123456789012\"\n}"},"Schema":{} } } },"required": true @@ -138,27 +138,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/TrustedSecretInfo"}, + "schema": {"$ref": "#/components/schemas/UserSecretInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/TrustedSecretInfo"},"Default Example":{ - "value": "{\n \"trusted_secret_id\": \"trusted-secret-123456789012\",\n \"name\": \"aws-dev\",\n \"tags\": {},\n \"schema\": \"aws_access_key\",\n \"provider\": \"aws\",\n \"resource_group\": \"DOMAIN\",\n \"trusted_account_id\": \"ta-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:10:14.851Z\"\n}" + "Schema": {"$ref": "#/components/schemas/UserSecretInfo"},"Default Example":{ + "value": "{\n \"user_secret_id\": \"user_secret-123456789012\",\n \"name\": \"aws-dev\",\n \"tags\": {},\n \"schema_id\": \"aws_access_key\",\n \"provider\": \"aws\",\n \"user_id\": \"whdalsrnt@gmail.com\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:10:14.851Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/secret/trusted-secret/list": { + },"/secret/user-secret/list": { "post": { - "tags": ["secret > trusted-secret"], + "tags": ["secret > user-secret"], "summary": "List", "operationId" : "", - "description": "### Description \nQueries a list of trusted secrets.\nYou can use a query to get a filtered list of trusted secrets.", + "description": "### Description \nQueries a list of user secrets.\nYou can use a query to get a filtered list of user secrets.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |trusted_secret_id||string||\n |name||string||\n |schema_id||string||\n |provider||string||\n |workspace_id||string||\n |trusted_account_id||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |user_secret_id||string||\n |name||string||\n |schema_id||string||\n |provider||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID" },"name" : {"type": "string","title": "NAME" },"schema_id" : {"type": "string","title": "SCHEMA_ID" },"provider" : {"type": "string","title": "PROVIDER" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"user_secret_id" : {"type": "string","title": "USER_SECRET_ID" },"name" : {"type": "string","title": "NAME" },"schema_id" : {"type": "string","title": "SCHEMA_ID" },"provider" : {"type": "string","title": "PROVIDER" } } }, "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} } @@ -169,18 +169,18 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/TrustedSecretsInfo"}, + "schema": {"$ref": "#/components/schemas/UserSecretsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/TrustedSecretsInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"trusted_secret_id\": \"trusted-secret-12345abcde\",\n \"name\": \"Cloudforet Broker Account - Managed\",\n \"schema_id\": \"aws-secret-access-key\",\n \"tags\": {\"foo\": \"bar\"},\n \"provider\": \"aws\",\n \"resource_group\": \"DOMAIN\",\n \"trusted_account_id\": \"ta-12345abcde\",\n \"domain_id\": \"domain-12345abcde\",\n \"created_at\": \"2022-01-01T06:10:14Z\"\n },\n {\n \"trusted_secret_id\": \"trusted-secret-56789abcde\",\n \"name\": \"Customer Broker Account\",\n \"schema_id\": \"aws-secret-access-key\",\n \"provider\": \"aws\",\n \"resource_group\": \"WORKSPACE\",\n \"trusted_account_id\": \"ta-56789abcde\",\n \"domain_id\": \"domain-12345abcde\",\n \"workspace_id\": \"workspace-12345abcde\",\n \"created_at\": \"2023-11-04T00:00:00Z\"\n }\n ],\n \"total_count\": 2\n}" + "Schema": {"$ref": "#/components/schemas/UserSecretsInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"user_secret_id\": \"user_secret-123456789012\",\n \"name\": \"aws-dev\",\n \"tags\": {},\n \"schema\": \"aws_access_key\",\n \"provider\": \"aws\",\n \"user_id\": \"whdalsrnt@gmail\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:10:14.851Z\"\n },\n {\n \"user_secret_id\": \"user_secret-987654321098\",\n \"name\": \"plugin-credentials\",\n \"tags\": {},\n \"user_id\": \"whdalsrnt@gmail.com\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T02:31:01.709Z\"\n }\n ],\n \"total_count\": 2\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/secret/trusted-secret/stat": { + },"/secret/user-secret/stat": { "post": { - "tags": ["secret > trusted-secret"], + "tags": ["secret > user-secret"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -468,20 +468,20 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/secret/user-secret/create": { + },"/secret/trusted-secret/create": { "post": { - "tags": ["secret > user-secret"], + "tags": ["secret > trusted-secret"], "summary": "Create", "operationId" : "", - "description": "### Description \nCreate a new user secret.\nCreated user secret is encrypted and stored securely.", + "description": "### Description \nCreate a new trusted secret.\nCreated trusted secret is encrypted and stored securely.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |data||Struct|True|\n |schema_id||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |name||string|True|\n |data||Struct|True|\n |resource_group|DOMAIN, WORKSPACE |string|True|\n |schema_id||string||\n |tags||Struct||\n |workspace_id||string||\n |trusted_account_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"name" : {"type": "string","title": "NAME" },"data" : {"type": "object","title": "DATA" },"schema_id" : {"type": "string","title": "SCHEMA_ID" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"name" : {"type": "string","title": "NAME" },"data" : {"type": "object","title": "DATA" },"schema_id" : {"type": "string","title": "SCHEMA_ID" },"tags" : {"type": "object","title": "TAGS" },"resource_group" : {"type": "string","title": "RESOURCE_GROUP" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"name\": \"Cloudforet AWS Dev\",\n \"data\": \"********\",\n \"schema_id\": \"aws_access_key\",\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"name\": \"Cloudforet Broker Account - Managed\",\n \"data\": \"********\",\n \"schema_id\": \"aws_access_key\",\n \"trusted_account_id\": \"trusted-sa-123456789012\",\n \"tags\": {}\n \"resource_group\": \"DOMAIN\"\n}"},"Schema":{} } } },"required": true @@ -490,29 +490,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserSecretInfo"}, + "schema": {"$ref": "#/components/schemas/TrustedSecretInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserSecretInfo"},"Default Example":{ - "value": "{\n \"user_secret_id\": \"user_secret-123456789012\",\n \"name\": \"aws-dev\",\n \"tags\": {},\n \"schema_id\": \"aws_access_key\",\n \"provider\": \"aws\",\n \"user_id\": \"whdalsrnt@gmail.com\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:10:14.851Z\"\n}" + "Schema": {"$ref": "#/components/schemas/TrustedSecretInfo"},"Default Example":{ + "value": "{\n \"trusted_secret_id\": \"trusted-secret-123456789012\",\n \"name\": \"aws-dev\",\n \"tags\": {},\n \"schema\": \"aws_access_key\",\n \"provider\": \"aws\",\n \"resource_group\": \"DOMAIN\",\n \"trusted_account_id\": \"ta-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:10:14.851Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/secret/user-secret/update": { + },"/secret/trusted-secret/update": { "post": { - "tags": ["secret > user-secret"], + "tags": ["secret > trusted-secret"], "summary": "Update", "operationId" : "", - "description": "### Description \nUpdates a specific user secret's information.\nYou can only change the 'name' and 'tags', and to change the data you must use the update_data API.", + "description": "### Description \nUpdates a specific trusted secret's information.\nYou can only change the 'name' and 'tags', and to change the data you must use the update_data API.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_secret_id||string|True|\n |name||string||\n |tags||Struct||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_secret_id||string|True|\n |name||string||\n |tags||Struct||\n
", "content": { "application/json": { "schema": { - "properties": {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } + "properties": {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID" },"name" : {"type": "string","title": "NAME" },"tags" : {"type": "object","title": "TAGS" } } }, - "examples":{"Default Example":{"value": "{\n \"user_secret_id\": \"user-secret-123456789012\",\n \"name\": \"aws-dev2\",\n \"tags\": { \"a\": \"b\"}\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"trusted_secret_id\": \"trusted-secret-123456789012\",\n \"name\": \"aws-dev2\",\n \"tags\": { \"a\": \"b\"}\n}"},"Schema":{} } } },"required": true @@ -521,29 +521,29 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserSecretInfo"}, + "schema": {"$ref": "#/components/schemas/TrustedSecretInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserSecretInfo"},"Default Example":{ - "value": "{\n \"user_secret_id\": \"user_secret-123456789012\",\n \"name\": \"aws-dev\",\n \"tags\": {},\n \"schema_id\": \"aws_access_key\",\n \"provider\": \"aws\",\n \"user_id\": \"whdalsrnt@gmail.com\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:10:14.851Z\"\n}" + "Schema": {"$ref": "#/components/schemas/TrustedSecretInfo"},"Default Example":{ + "value": "{\n \"trusted_secret_id\": \"trusted-secret-123456789012\",\n \"name\": \"aws-dev\",\n \"tags\": {},\n \"schema\": \"aws_access_key\",\n \"provider\": \"aws\",\n \"resource_group\": \"DOMAIN\",\n \"trusted_account_id\": \"ta-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:10:14.851Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/secret/user-secret/delete": { + },"/secret/trusted-secret/delete": { "post": { - "tags": ["secret > user-secret"], + "tags": ["secret > trusted-secret"], "summary": "Delete", "operationId" : "", - "description": "### Description \nDeletes a specific user secret.", + "description": "### Description \nDeletes a specific trusted secret.\nIf a trusted secret is attached to a Secret, it cannot be deleted.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_secret_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_secret_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID" } } + "properties": {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"user_secret_id\": \"user-secret-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"trusted_secret_id\": \"trusted-secret-123456789012\"\n}"},"Schema":{} } } },"required": true @@ -553,20 +553,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/secret/user-secret/update-data": { + },"/secret/trusted-secret/update-data": { "post": { - "tags": ["secret > user-secret"], + "tags": ["secret > trusted-secret"], "summary": "Update Data", "operationId" : "", - "description": "### Description \nUpdates a specific user secret's data.\nUpdated user_secret is encrypted and stored securely.", + "description": "### Description \nUpdates a specific trusted secret's data.\nUpdated trusted secret is encrypted and stored securely.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_secret_id||string|True|\n |schema_id||string|True|\n |data||Struct|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_secret_id||string|True|\n |schema_id||string|True|\n |data||Struct|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID" },"schema_id" : {"type": "string","title": "SCHEMA_ID" },"data" : {"type": "object","title": "DATA" } } + "properties": {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID" },"schema_id" : {"type": "string","title": "SCHEMA_ID" },"data" : {"type": "object","title": "DATA" } } }, - "examples":{"Default Example":{"value": "{\n \"user_secret_id\": \"user-secret-123456789012\",\n \"data\": \"********\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"trusted_secret_id\": \"trusted-secret-12345abcde\",\n \"data\": \"********\",\n}"},"Schema":{} } } },"required": true @@ -576,20 +576,20 @@ "description": "Successfull Response"} } ,"security": [{"HTTPBearer": []}] } - },"/secret/user-secret/get": { + },"/secret/trusted-secret/get": { "post": { - "tags": ["secret > user-secret"], + "tags": ["secret > trusted-secret"], "summary": "Get", "operationId" : "", - "description": "### Description \nGet a specific user secret's information.", + "description": "### Description \nGet a specific trusted secret's information.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |user_secret_id||string|True|\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |trusted_secret_id||string|True|\n
", "content": { "application/json": { "schema": { - "properties": {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID" } } + "properties": {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID" } } }, - "examples":{"Default Example":{"value": "{\n \"user_secret_id\": \"user-secret-123456789012\"\n}"},"Schema":{} + "examples":{"Default Example":{"value": "{\n \"trusted_secret_id\": \"trusted-secret-123456789012\"\n}"},"Schema":{} } } },"required": true @@ -598,27 +598,27 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserSecretInfo"}, + "schema": {"$ref": "#/components/schemas/TrustedSecretInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserSecretInfo"},"Default Example":{ - "value": "{\n \"user_secret_id\": \"user_secret-123456789012\",\n \"name\": \"aws-dev\",\n \"tags\": {},\n \"schema_id\": \"aws_access_key\",\n \"provider\": \"aws\",\n \"user_id\": \"whdalsrnt@gmail.com\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:10:14.851Z\"\n}" + "Schema": {"$ref": "#/components/schemas/TrustedSecretInfo"},"Default Example":{ + "value": "{\n \"trusted_secret_id\": \"trusted-secret-123456789012\",\n \"name\": \"aws-dev\",\n \"tags\": {},\n \"schema\": \"aws_access_key\",\n \"provider\": \"aws\",\n \"resource_group\": \"DOMAIN\",\n \"trusted_account_id\": \"ta-123456789012\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:10:14.851Z\"\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/secret/user-secret/list": { + },"/secret/trusted-secret/list": { "post": { - "tags": ["secret > user-secret"], + "tags": ["secret > trusted-secret"], "summary": "List", "operationId" : "", - "description": "### Description \nQueries a list of user secrets.\nYou can use a query to get a filtered list of user secrets.", + "description": "### Description \nQueries a list of trusted secrets.\nYou can use a query to get a filtered list of trusted secrets.", "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |user_secret_id||string||\n |name||string||\n |schema_id||string||\n |provider||string||\n
", + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |query||Query||\n |trusted_secret_id||string||\n |name||string||\n |schema_id||string||\n |provider||string||\n |workspace_id||string||\n |trusted_account_id||string||\n
", "content": { "application/json": { "schema": { - "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"user_secret_id" : {"type": "string","title": "USER_SECRET_ID" },"name" : {"type": "string","title": "NAME" },"schema_id" : {"type": "string","title": "SCHEMA_ID" },"provider" : {"type": "string","title": "PROVIDER" } } + "properties": {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY" },"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID" },"name" : {"type": "string","title": "NAME" },"schema_id" : {"type": "string","title": "SCHEMA_ID" },"provider" : {"type": "string","title": "PROVIDER" },"workspace_id" : {"type": "string","title": "WORKSPACE_ID" },"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID" } } }, "examples":{"Default Example":{"value": "{\n \"query\": {}\n}"},"Schema":{} } @@ -629,18 +629,18 @@ "200": { "description": "Successfull Response","content":{ "application/json": { - "schema": {"$ref": "#/components/schemas/UserSecretsInfo"}, + "schema": {"$ref": "#/components/schemas/TrustedSecretsInfo"}, "examples": { - "Schema": {"$ref": "#/components/schemas/UserSecretsInfo"},"Default Example":{ - "value": "{\n \"results\": [\n {\n \"user_secret_id\": \"user_secret-123456789012\",\n \"name\": \"aws-dev\",\n \"tags\": {},\n \"schema\": \"aws_access_key\",\n \"provider\": \"aws\",\n \"user_id\": \"whdalsrnt@gmail\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T06:10:14.851Z\"\n },\n {\n \"user_secret_id\": \"user_secret-987654321098\",\n \"name\": \"plugin-credentials\",\n \"tags\": {},\n \"user_id\": \"whdalsrnt@gmail.com\",\n \"domain_id\": \"domain-123456789012\",\n \"created_at\": \"2022-01-01T02:31:01.709Z\"\n }\n ],\n \"total_count\": 2\n}" + "Schema": {"$ref": "#/components/schemas/TrustedSecretsInfo"},"Default Example":{ + "value": "{\n \"results\": [\n {\n \"trusted_secret_id\": \"trusted-secret-12345abcde\",\n \"name\": \"Cloudforet Broker Account - Managed\",\n \"schema_id\": \"aws-secret-access-key\",\n \"tags\": {\"foo\": \"bar\"},\n \"provider\": \"aws\",\n \"resource_group\": \"DOMAIN\",\n \"trusted_account_id\": \"ta-12345abcde\",\n \"domain_id\": \"domain-12345abcde\",\n \"created_at\": \"2022-01-01T06:10:14Z\"\n },\n {\n \"trusted_secret_id\": \"trusted-secret-56789abcde\",\n \"name\": \"Customer Broker Account\",\n \"schema_id\": \"aws-secret-access-key\",\n \"provider\": \"aws\",\n \"resource_group\": \"WORKSPACE\",\n \"trusted_account_id\": \"ta-56789abcde\",\n \"domain_id\": \"domain-12345abcde\",\n \"workspace_id\": \"workspace-12345abcde\",\n \"created_at\": \"2023-11-04T00:00:00Z\"\n }\n ],\n \"total_count\": 2\n}" }} } }} } ,"security": [{"HTTPBearer": []}] } - },"/secret/user-secret/stat": { + },"/secret/trusted-secret/stat": { "post": { - "tags": ["secret > user-secret"], + "tags": ["secret > trusted-secret"], "summary": "Stat", "operationId" : "", "description": "### Description \n", @@ -671,104 +671,66 @@ }, "components":{ "schemas": { - "CreateTrustedSecretRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"}}, + "CreateUserSecretRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"tags" : {"type": "object","title": "TAGS"}}, "type": "object", - "required": ["name","data","resource_group"], - "title": "CreateTrustedSecretRequest" + "required": ["name","data"], + "title": "CreateUserSecretRequest" } - , "GetTrustedSecretDataRequest": { - "properties" : {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, + , "GetUserSecretDataRequest": { + "properties" : {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["trusted_secret_id","domain_id"], - "title": "GetTrustedSecretDataRequest" + "required": ["user_secret_id","domain_id"], + "title": "GetUserSecretDataRequest" } - , "TrustedSecretDataInfo": { + , "UpdateUserSecretDataRequest": { + "properties" : {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"data" : {"type": "object","title": "DATA"}}, + "type": "object", + "required": ["user_secret_id","schema_id","data"], + "title": "UpdateUserSecretDataRequest" + } + , "UpdateUserSecretRequest": { + "properties" : {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["user_secret_id"], + "title": "UpdateUserSecretRequest" + } + , "UserSecretDataInfo": { "properties" : {"encrypted" : {"type": "boolean","title": "ENCRYPTED"},"encrypt_options" : {"type": "object","title": "ENCRYPT_OPTIONS"},"data" : {"type": "object","title": "DATA"}}, "type": "object", "required": ["encrypted","encrypt_options","data"], - "title": "TrustedSecretDataInfo" + "title": "UserSecretDataInfo" } - , "TrustedSecretInfo": { - "properties" : {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID"},"name" : {"type": "string","title": "NAME"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"tags" : {"type": "object","title": "TAGS"},"provider" : {"type": "string","title": "PROVIDER"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + , "UserSecretInfo": { + "properties" : {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID"},"name" : {"type": "string","title": "NAME"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"provider" : {"type": "string","title": "PROVIDER"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"user_id" : {"type": "string","title": "USER_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, "type": "object", - "required": ["trusted_secret_id","name","schema_id","tags","provider","resource_group","domain_id","workspace_id","trusted_account_id","created_at"], - "title": "TrustedSecretInfo" + "required": ["user_secret_id","name","schema_id","provider","tags","domain_id","user_id","created_at"], + "title": "UserSecretInfo" } - , "TrustedSecretQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID"},"name" : {"type": "string","title": "NAME"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"provider" : {"type": "string","title": "PROVIDER"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"}}, + , "UserSecretQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"user_secret_id" : {"type": "string","title": "USER_SECRET_ID"},"name" : {"type": "string","title": "NAME"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"provider" : {"type": "string","title": "PROVIDER"}}, "type": "object", "required": [], - "title": "TrustedSecretQuery" + "title": "UserSecretQuery" } - , "TrustedSecretRequest": { - "properties" : {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID"}}, + , "UserSecretRequest": { + "properties" : {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID"}}, "type": "object", - "required": ["trusted_secret_id"], - "title": "TrustedSecretRequest" + "required": ["user_secret_id"], + "title": "UserSecretRequest" } - , "TrustedSecretStatQuery": { + , "UserSecretStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", "required": ["query","domain_id"], - "title": "TrustedSecretStatQuery" + "title": "UserSecretStatQuery" } - , "TrustedSecretsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/TrustedSecretInfo"}, - "type": "array","$ref": "#/components/schemas/TrustedSecretInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "UserSecretsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/UserSecretInfo"}, + "type": "array","$ref": "#/components/schemas/UserSecretInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "TrustedSecretsInfo" - } - , "UpdateTrustedSecretDataRequest": { - "properties" : {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"data" : {"type": "object","title": "DATA"}}, - "type": "object", - "required": ["trusted_secret_id","schema_id","data"], - "title": "UpdateTrustedSecretDataRequest" - } - , "UpdateTrustedSecretRequest": { - "properties" : {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, - "type": "object", - "required": ["trusted_secret_id"], - "title": "UpdateTrustedSecretRequest" - } - , "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" + "title": "UserSecretsInfo" } , "AggregateCount": { "properties" : {"name" : {"type": "string","title": "NAME"}}, @@ -939,6 +901,44 @@ "required": ["path","filter"], "title": "Unwind" } + , "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" + } , "CreateSecretRequest": { "properties" : {"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"project_id" : {"type": "string","title": "PROJECT_ID"},"service_account_id" : {"type": "string","title": "SERVICE_ACCOUNT_ID"},"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID"}}, "type": "object", @@ -1000,66 +1000,66 @@ "required": ["secret_id"], "title": "UpdateSecretRequest" } - , "CreateUserSecretRequest": { - "properties" : {"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"tags" : {"type": "object","title": "TAGS"}}, - "type": "object", - "required": ["name","data"], - "title": "CreateUserSecretRequest" - } - , "GetUserSecretDataRequest": { - "properties" : {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, - "type": "object", - "required": ["user_secret_id","domain_id"], - "title": "GetUserSecretDataRequest" - } - , "UpdateUserSecretDataRequest": { - "properties" : {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"data" : {"type": "object","title": "DATA"}}, + , "CreateTrustedSecretRequest": { + "properties" : {"name" : {"type": "string","title": "NAME"},"data" : {"type": "object","title": "DATA"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"tags" : {"type": "object","title": "TAGS"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"}}, "type": "object", - "required": ["user_secret_id","schema_id","data"], - "title": "UpdateUserSecretDataRequest" + "required": ["name","data","resource_group"], + "title": "CreateTrustedSecretRequest" } - , "UpdateUserSecretRequest": { - "properties" : {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, + , "GetTrustedSecretDataRequest": { + "properties" : {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", - "required": ["user_secret_id"], - "title": "UpdateUserSecretRequest" + "required": ["trusted_secret_id","domain_id"], + "title": "GetTrustedSecretDataRequest" } - , "UserSecretDataInfo": { + , "TrustedSecretDataInfo": { "properties" : {"encrypted" : {"type": "boolean","title": "ENCRYPTED"},"encrypt_options" : {"type": "object","title": "ENCRYPT_OPTIONS"},"data" : {"type": "object","title": "DATA"}}, "type": "object", "required": ["encrypted","encrypt_options","data"], - "title": "UserSecretDataInfo" + "title": "TrustedSecretDataInfo" } - , "UserSecretInfo": { - "properties" : {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID"},"name" : {"type": "string","title": "NAME"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"provider" : {"type": "string","title": "PROVIDER"},"tags" : {"type": "object","title": "TAGS"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"user_id" : {"type": "string","title": "USER_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + , "TrustedSecretInfo": { + "properties" : {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID"},"name" : {"type": "string","title": "NAME"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"tags" : {"type": "object","title": "TAGS"},"provider" : {"type": "string","title": "PROVIDER"},"resource_group" : {"type": "string","title": "RESOURCE_GROUP"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, "type": "object", - "required": ["user_secret_id","name","schema_id","provider","tags","domain_id","user_id","created_at"], - "title": "UserSecretInfo" + "required": ["trusted_secret_id","name","schema_id","tags","provider","resource_group","domain_id","workspace_id","trusted_account_id","created_at"], + "title": "TrustedSecretInfo" } - , "UserSecretQuery": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"user_secret_id" : {"type": "string","title": "USER_SECRET_ID"},"name" : {"type": "string","title": "NAME"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"provider" : {"type": "string","title": "PROVIDER"}}, + , "TrustedSecretQuery": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID"},"name" : {"type": "string","title": "NAME"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"provider" : {"type": "string","title": "PROVIDER"},"workspace_id" : {"type": "string","title": "WORKSPACE_ID"},"trusted_account_id" : {"type": "string","title": "TRUSTED_ACCOUNT_ID"}}, "type": "object", "required": [], - "title": "UserSecretQuery" + "title": "TrustedSecretQuery" } - , "UserSecretRequest": { - "properties" : {"user_secret_id" : {"type": "string","title": "USER_SECRET_ID"}}, + , "TrustedSecretRequest": { + "properties" : {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID"}}, "type": "object", - "required": ["user_secret_id"], - "title": "UserSecretRequest" + "required": ["trusted_secret_id"], + "title": "TrustedSecretRequest" } - , "UserSecretStatQuery": { + , "TrustedSecretStatQuery": { "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"domain_id" : {"type": "string","title": "DOMAIN_ID"}}, "type": "object", "required": ["query","domain_id"], - "title": "UserSecretStatQuery" + "title": "TrustedSecretStatQuery" } - , "UserSecretsInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/UserSecretInfo"}, - "type": "array","$ref": "#/components/schemas/UserSecretInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + , "TrustedSecretsInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/TrustedSecretInfo"}, + "type": "array","$ref": "#/components/schemas/TrustedSecretInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, "type": "object", "required": ["results","total_count"], - "title": "UserSecretsInfo" + "title": "TrustedSecretsInfo" + } + , "UpdateTrustedSecretDataRequest": { + "properties" : {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID"},"schema_id" : {"type": "string","title": "SCHEMA_ID"},"data" : {"type": "object","title": "DATA"}}, + "type": "object", + "required": ["trusted_secret_id","schema_id","data"], + "title": "UpdateTrustedSecretDataRequest" + } + , "UpdateTrustedSecretRequest": { + "properties" : {"trusted_secret_id" : {"type": "string","title": "TRUSTED_SECRET_ID"},"name" : {"type": "string","title": "NAME"},"tags" : {"type": "object","title": "TAGS"}}, + "type": "object", + "required": ["trusted_secret_id"], + "title": "UpdateTrustedSecretRequest" } }, "Struct": {"properties": {"type": "object","title": "Struct"}}, diff --git a/dist/openapi/cloudforet/api/statistics/v1/openapi.json b/dist/openapi/cloudforet/api/statistics/v1/openapi.json index b8717cc1c..d5f3e500d 100755 --- a/dist/openapi/cloudforet/api/statistics/v1/openapi.json +++ b/dist/openapi/cloudforet/api/statistics/v1/openapi.json @@ -234,35 +234,6 @@ }} } ,"security": [{"HTTPBearer": []}] } - },"/statistics/resource/stat": { - "post": { - "tags": ["statistics > resource"], - "summary": "Stat", - "operationId" : "", - "description": "### Description \nEnables data preprocessing of different services. Although limited, it is possible to create not only basic queries but also data suitable for users' needs, such as joins between two tables created by the query, handling missing values, and sorting.", - "requestBody": { - "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |aggregate||array|True|\n |page||StatPage||\n
", - "content": { - "application/json": { - "schema": { - "properties": {"aggregate" : {"items": {"$ref": "#/components/schemas/StatAggregate"}, "type": "array","title": "AGGREGATE" },"page" : {"$ref": "#/components/schemas/StatPage","title": "PAGE" } } - }, - "examples":{"Schema":{} - } - } - },"required": true - }, - "responses": { - "200": { - "description": "Successfull Response","content":{ - "application/json": { - "schema": {"type": "object"}, - "examples": { - "Schema": {"type": "object"}} - } - }} - } - ,"security": [{"HTTPBearer": []}] } },"/statistics/history/create": { "post": { "tags": ["statistics > history"], @@ -344,6 +315,35 @@ }} } ,"security": [{"HTTPBearer": []}] } + },"/statistics/resource/stat": { + "post": { + "tags": ["statistics > resource"], + "summary": "Stat", + "operationId" : "", + "description": "### Description \nEnables data preprocessing of different services. Although limited, it is possible to create not only basic queries but also data suitable for users' needs, such as joins between two tables created by the query, handling missing values, and sorting.", + "requestBody": { + "description": "\n| Key | Description | Type | Required|\n|-------------------|---------------------------------------------------------------|-----------|-------|\n |aggregate||array|True|\n |page||StatPage||\n
", + "content": { + "application/json": { + "schema": { + "properties": {"aggregate" : {"items": {"$ref": "#/components/schemas/StatAggregate"}, "type": "array","title": "AGGREGATE" },"page" : {"$ref": "#/components/schemas/StatPage","title": "PAGE" } } + }, + "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":{ @@ -405,44 +405,6 @@ "required": ["schedule_id"], "title": "UpdateScheduleRequest" } - , "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", @@ -612,6 +574,75 @@ "required": ["path","filter"], "title": "Unwind" } + , "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" + } + , "CreateHistoryRequest": { + "properties" : {"schedule_id" : {"type": "string","title": "SCHEDULE_ID"}}, + "type": "object", + "required": ["schedule_id"], + "title": "CreateHistoryRequest" + } + , "HistoryInfo": { + "properties" : {"results" : {"items": {"$ref": "#/components/schemas/HistoryValueInfo"}, + "type": "array","$ref": "#/components/schemas/HistoryValueInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, + "type": "object", + "required": ["results","total_count"], + "title": "HistoryInfo" + } + , "HistoryStatRequest": { + "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"topic" : {"type": "string","title": "TOPIC"}}, + "type": "object", + "required": ["query"], + "title": "HistoryStatRequest" + } + , "HistoryValueInfo": { + "properties" : {"topic" : {"type": "string","title": "TOPIC"},"values" : {"type": "object","title": "VALUES"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, + "type": "object", + "required": ["topic","values","domain_id","created_at"], + "title": "HistoryValueInfo" + } + , "QueryHistoryRequest": { + "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"topic" : {"type": "string","title": "TOPIC"}}, + "type": "object", + "required": [], + "title": "QueryHistoryRequest" + } , "ResourceStatRequest": { "properties" : {"aggregate" : {"items": {"$ref": "#/components/schemas/StatAggregate"}, "type": "array","$ref": "#/components/schemas/StatAggregate","title": "AGGREGATE"},"page" : {"$ref": "#/components/schemas/StatPage","title": "PAGE"}}, @@ -661,37 +692,6 @@ "type": "object", "required": ["limit"], "title": "StatPage" - } - , "CreateHistoryRequest": { - "properties" : {"schedule_id" : {"type": "string","title": "SCHEDULE_ID"}}, - "type": "object", - "required": ["schedule_id"], - "title": "CreateHistoryRequest" - } - , "HistoryInfo": { - "properties" : {"results" : {"items": {"$ref": "#/components/schemas/HistoryValueInfo"}, - "type": "array","$ref": "#/components/schemas/HistoryValueInfo","title": "RESULTS"},"total_count" : {"type": "integer","title": "TOTAL_COUNT"}}, - "type": "object", - "required": ["results","total_count"], - "title": "HistoryInfo" - } - , "HistoryStatRequest": { - "properties" : {"query" : {"$ref": "#/components/schemas/StatisticsQuery","title": "QUERY"},"topic" : {"type": "string","title": "TOPIC"}}, - "type": "object", - "required": ["query"], - "title": "HistoryStatRequest" - } - , "HistoryValueInfo": { - "properties" : {"topic" : {"type": "string","title": "TOPIC"},"values" : {"type": "object","title": "VALUES"},"domain_id" : {"type": "string","title": "DOMAIN_ID"},"created_at" : {"type": "string","title": "CREATED_AT"}}, - "type": "object", - "required": ["topic","values","domain_id","created_at"], - "title": "HistoryValueInfo" - } - , "QueryHistoryRequest": { - "properties" : {"query" : {"$ref": "#/components/schemas/Query","title": "QUERY"},"topic" : {"type": "string","title": "TOPIC"}}, - "type": "object", - "required": [], - "title": "QueryHistoryRequest" } }, "Struct": {"properties": {"type": "object","title": "Struct"}}, diff --git a/dist/python/build/lib/spaceone/api/repository/v1/plugin_pb2.py b/dist/python/build/lib/spaceone/api/repository/v1/plugin_pb2.py index afcea749d..e55564ce6 100644 --- a/dist/python/build/lib/spaceone/api/repository/v1/plugin_pb2.py +++ b/dist/python/build/lib/spaceone/api/repository/v1/plugin_pb2.py @@ -19,7 +19,7 @@ from spaceone.api.repository.v1 import repository_pb2 as spaceone_dot_api_dot_repository_dot_v1_dot_repository__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'spaceone/api/repository/v1/plugin.proto\x12\x1aspaceone.api.repository.v1\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1cgoogle/api/annotations.proto\x1a spaceone/api/core/v2/query.proto\x1a+spaceone/api/repository/v1/repository.proto\"\xe9\x02\n\x15RegisterPluginRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\r\n\x05image\x18\x03 \x01(\t\x12\x10\n\x08provider\x18\x04 \x01(\t\x12\x45\n\rregistry_type\x18\x05 \x01(\x0e\x32..spaceone.api.repository.v1.PublicRegistryType\x12\x30\n\x0fregistry_config\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12+\n\ncapability\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x12*\n\x06labels\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12%\n\x04tags\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\tplugin_id\x18\n \x01(\t\"\xb6\x01\n\x13UpdatePluginRequest\x12\x11\n\tplugin_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\ncapability\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12*\n\x06labels\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12%\n\x04tags\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\"\"\n\rPluginRequest\x12\x11\n\tplugin_id\x18\x01 \x01(\t\"C\n\x17RepositoryPluginRequest\x12\x11\n\tplugin_id\x18\x01 \x01(\t\x12\x15\n\rrepository_id\x18\x15 \x01(\t\"\xcd\x02\n\x0bPluginQuery\x12*\n\x05query\x18\x01 \x01(\x0b\x32\x1b.spaceone.api.core.v2.Query\x12\x11\n\tplugin_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12<\n\x05state\x18\x04 \x01(\x0e\x32-.spaceone.api.repository.v1.PluginQuery.State\x12\x15\n\rresource_type\x18\x05 \x01(\t\x12\x10\n\x08provider\x18\x06 \x01(\t\x12\x45\n\rregistry_type\x18\x07 \x01(\x0e\x32..spaceone.api.repository.v1.PublicRegistryType\x12\x15\n\rrepository_id\x18\x15 \x01(\t\",\n\x05State\x12\x08\n\x04NONE\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\"\xdf\x04\n\nPluginInfo\x12\x11\n\tplugin_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12;\n\x05state\x18\x03 \x01(\x0e\x32,.spaceone.api.repository.v1.PluginInfo.State\x12\x15\n\rresource_type\x18\x04 \x01(\t\x12\r\n\x05image\x18\x05 \x01(\t\x12\x10\n\x08provider\x18\x06 \x01(\t\x12\x45\n\rregistry_type\x18\x07 \x01(\x0e\x32..spaceone.api.repository.v1.PublicRegistryType\x12\x14\n\x0cregistry_url\x18\x08 \x01(\t\x12\x30\n\x0fregistry_config\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12+\n\ncapability\x18\n \x01(\x0b\x32\x17.google.protobuf.Struct\x12*\n\x06labels\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12%\n\x04tags\x18\x0c \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\tdomain_id\x18\x15 \x01(\t\x12\x43\n\x0frepository_info\x18\x16 \x01(\x0b\x32*.spaceone.api.repository.v1.RepositoryInfo\x12\x12\n\ncreated_at\x18\x1f \x01(\t\x12\x12\n\nupdated_at\x18 \x01(\t\",\n\x05State\x12\x08\n\x04NONE\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\"[\n\x0bPluginsInfo\x12\x37\n\x07results\x18\x01 \x03(\x0b\x32&.spaceone.api.repository.v1.PluginInfo\x12\x13\n\x0btotal_count\x18\x02 \x01(\x05\"E\n\x0cVersionsInfo\x12\x0f\n\x07version\x18\x01 \x03(\t\x12\x13\n\x0btotal_count\x18\x02 \x01(\x05\x12\x0f\n\x07results\x18\x03 \x03(\t*i\n\x12PublicRegistryType\x12\x16\n\x12NONE_REGISTRY_TYPE\x10\x00\x12\x0e\n\nDOCKER_HUB\x10\x01\x12\x13\n\x0f\x41WS_PRIVATE_ECR\x10\x02\x12\n\n\x06HARBOR\x10\x03\x12\n\n\x06GITHUB\x10\x04\x32\xe1\x08\n\x06Plugin\x12\x90\x01\n\x08register\x12\x31.spaceone.api.repository.v1.RegisterPluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\")\x82\xd3\xe4\x93\x02#\"\x1e/repository/v1/plugin/register:\x01*\x12\x8a\x01\n\x06update\x12/.spaceone.api.repository.v1.UpdatePluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\"\'\x82\xd3\xe4\x93\x02!\"\x1c/repository/v1/plugin/update:\x01*\x12|\n\nderegister\x12).spaceone.api.repository.v1.PluginRequest\x1a\x16.google.protobuf.Empty\"+\x82\xd3\xe4\x93\x02%\" /repository/v1/plugin/deregister:\x01*\x12\x84\x01\n\x06\x65nable\x12).spaceone.api.repository.v1.PluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\"\'\x82\xd3\xe4\x93\x02!\"\x1c/repository/v1/plugin/enable:\x01*\x12\x86\x01\n\x07\x64isable\x12).spaceone.api.repository.v1.PluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\"(\x82\xd3\xe4\x93\x02\"\"\x1d/repository/v1/plugin/disable:\x01*\x12\x9c\x01\n\x0cget_versions\x12\x33.spaceone.api.repository.v1.RepositoryPluginRequest\x1a(.spaceone.api.repository.v1.VersionsInfo\"-\x82\xd3\xe4\x93\x02\'\"\"/repository/v1/plugin/get-versions:\x01*\x12\x88\x01\n\x03get\x12\x33.spaceone.api.repository.v1.RepositoryPluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/repository/v1/plugin/get:\x01*\x12\x7f\n\x04list\x12\'.spaceone.api.repository.v1.PluginQuery\x1a\'.spaceone.api.repository.v1.PluginsInfo\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/repository/v1/plugin/list:\x01*BAZ?github.com/cloudforet-io/api/dist/go/spaceone/api/repository/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'spaceone/api/repository/v1/plugin.proto\x12\x1aspaceone.api.repository.v1\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1cgoogle/api/annotations.proto\x1a spaceone/api/core/v2/query.proto\x1a+spaceone/api/repository/v1/repository.proto\"\x90\x03\n\x15RegisterPluginRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\r\n\x05image\x18\x03 \x01(\t\x12\x10\n\x08provider\x18\x04 \x01(\t\x12\x45\n\rregistry_type\x18\x05 \x01(\x0e\x32..spaceone.api.repository.v1.PublicRegistryType\x12\x30\n\x0fregistry_config\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12+\n\ncapability\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x12*\n\x06labels\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12%\n\x04tags\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\tplugin_id\x18\n \x01(\t\x12%\n\x04\x64ocs\x18\x0b \x01(\x0b\x32\x17.google.protobuf.Struct\"\xdd\x01\n\x13UpdatePluginRequest\x12\x11\n\tplugin_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\ncapability\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12*\n\x06labels\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12%\n\x04tags\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12%\n\x04\x64ocs\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\"\"\n\rPluginRequest\x12\x11\n\tplugin_id\x18\x01 \x01(\t\"C\n\x17RepositoryPluginRequest\x12\x11\n\tplugin_id\x18\x01 \x01(\t\x12\x15\n\rrepository_id\x18\x15 \x01(\t\"\xcd\x02\n\x0bPluginQuery\x12*\n\x05query\x18\x01 \x01(\x0b\x32\x1b.spaceone.api.core.v2.Query\x12\x11\n\tplugin_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12<\n\x05state\x18\x04 \x01(\x0e\x32-.spaceone.api.repository.v1.PluginQuery.State\x12\x15\n\rresource_type\x18\x05 \x01(\t\x12\x10\n\x08provider\x18\x06 \x01(\t\x12\x45\n\rregistry_type\x18\x07 \x01(\x0e\x32..spaceone.api.repository.v1.PublicRegistryType\x12\x15\n\rrepository_id\x18\x15 \x01(\t\",\n\x05State\x12\x08\n\x04NONE\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\"\x86\x05\n\nPluginInfo\x12\x11\n\tplugin_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12;\n\x05state\x18\x03 \x01(\x0e\x32,.spaceone.api.repository.v1.PluginInfo.State\x12\x15\n\rresource_type\x18\x04 \x01(\t\x12\r\n\x05image\x18\x05 \x01(\t\x12\x10\n\x08provider\x18\x06 \x01(\t\x12\x45\n\rregistry_type\x18\x07 \x01(\x0e\x32..spaceone.api.repository.v1.PublicRegistryType\x12\x14\n\x0cregistry_url\x18\x08 \x01(\t\x12\x30\n\x0fregistry_config\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12+\n\ncapability\x18\n \x01(\x0b\x32\x17.google.protobuf.Struct\x12*\n\x06labels\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12%\n\x04tags\x18\x0c \x01(\x0b\x32\x17.google.protobuf.Struct\x12%\n\x04\x64ocs\x18\r \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\tdomain_id\x18\x15 \x01(\t\x12\x43\n\x0frepository_info\x18\x16 \x01(\x0b\x32*.spaceone.api.repository.v1.RepositoryInfo\x12\x12\n\ncreated_at\x18\x1f \x01(\t\x12\x12\n\nupdated_at\x18 \x01(\t\",\n\x05State\x12\x08\n\x04NONE\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\"[\n\x0bPluginsInfo\x12\x37\n\x07results\x18\x01 \x03(\x0b\x32&.spaceone.api.repository.v1.PluginInfo\x12\x13\n\x0btotal_count\x18\x02 \x01(\x05\"E\n\x0cVersionsInfo\x12\x0f\n\x07version\x18\x01 \x03(\t\x12\x13\n\x0btotal_count\x18\x02 \x01(\x05\x12\x0f\n\x07results\x18\x03 \x03(\t*i\n\x12PublicRegistryType\x12\x16\n\x12NONE_REGISTRY_TYPE\x10\x00\x12\x0e\n\nDOCKER_HUB\x10\x01\x12\x13\n\x0f\x41WS_PRIVATE_ECR\x10\x02\x12\n\n\x06HARBOR\x10\x03\x12\n\n\x06GITHUB\x10\x04\x32\xe1\x08\n\x06Plugin\x12\x90\x01\n\x08register\x12\x31.spaceone.api.repository.v1.RegisterPluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\")\x82\xd3\xe4\x93\x02#\"\x1e/repository/v1/plugin/register:\x01*\x12\x8a\x01\n\x06update\x12/.spaceone.api.repository.v1.UpdatePluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\"\'\x82\xd3\xe4\x93\x02!\"\x1c/repository/v1/plugin/update:\x01*\x12|\n\nderegister\x12).spaceone.api.repository.v1.PluginRequest\x1a\x16.google.protobuf.Empty\"+\x82\xd3\xe4\x93\x02%\" /repository/v1/plugin/deregister:\x01*\x12\x84\x01\n\x06\x65nable\x12).spaceone.api.repository.v1.PluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\"\'\x82\xd3\xe4\x93\x02!\"\x1c/repository/v1/plugin/enable:\x01*\x12\x86\x01\n\x07\x64isable\x12).spaceone.api.repository.v1.PluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\"(\x82\xd3\xe4\x93\x02\"\"\x1d/repository/v1/plugin/disable:\x01*\x12\x9c\x01\n\x0cget_versions\x12\x33.spaceone.api.repository.v1.RepositoryPluginRequest\x1a(.spaceone.api.repository.v1.VersionsInfo\"-\x82\xd3\xe4\x93\x02\'\"\"/repository/v1/plugin/get-versions:\x01*\x12\x88\x01\n\x03get\x12\x33.spaceone.api.repository.v1.RepositoryPluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/repository/v1/plugin/get:\x01*\x12\x7f\n\x04list\x12\'.spaceone.api.repository.v1.PluginQuery\x1a\'.spaceone.api.repository.v1.PluginsInfo\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/repository/v1/plugin/list:\x01*BAZ?github.com/cloudforet-io/api/dist/go/spaceone/api/repository/v1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -43,28 +43,28 @@ _globals['_PLUGIN'].methods_by_name['get']._serialized_options = b'\202\323\344\223\002\036\"\031/repository/v1/plugin/get:\001*' _globals['_PLUGIN'].methods_by_name['list']._loaded_options = None _globals['_PLUGIN'].methods_by_name['list']._serialized_options = b'\202\323\344\223\002\037\"\032/repository/v1/plugin/list:\001*' - _globals['_PUBLICREGISTRYTYPE']._serialized_start=2003 - _globals['_PUBLICREGISTRYTYPE']._serialized_end=2108 + _globals['_PUBLICREGISTRYTYPE']._serialized_start=2120 + _globals['_PUBLICREGISTRYTYPE']._serialized_end=2225 _globals['_REGISTERPLUGINREQUEST']._serialized_start=240 - _globals['_REGISTERPLUGINREQUEST']._serialized_end=601 - _globals['_UPDATEPLUGINREQUEST']._serialized_start=604 - _globals['_UPDATEPLUGINREQUEST']._serialized_end=786 - _globals['_PLUGINREQUEST']._serialized_start=788 - _globals['_PLUGINREQUEST']._serialized_end=822 - _globals['_REPOSITORYPLUGINREQUEST']._serialized_start=824 - _globals['_REPOSITORYPLUGINREQUEST']._serialized_end=891 - _globals['_PLUGINQUERY']._serialized_start=894 - _globals['_PLUGINQUERY']._serialized_end=1227 - _globals['_PLUGINQUERY_STATE']._serialized_start=1183 - _globals['_PLUGINQUERY_STATE']._serialized_end=1227 - _globals['_PLUGININFO']._serialized_start=1230 - _globals['_PLUGININFO']._serialized_end=1837 - _globals['_PLUGININFO_STATE']._serialized_start=1183 - _globals['_PLUGININFO_STATE']._serialized_end=1227 - _globals['_PLUGINSINFO']._serialized_start=1839 - _globals['_PLUGINSINFO']._serialized_end=1930 - _globals['_VERSIONSINFO']._serialized_start=1932 - _globals['_VERSIONSINFO']._serialized_end=2001 - _globals['_PLUGIN']._serialized_start=2111 - _globals['_PLUGIN']._serialized_end=3232 + _globals['_REGISTERPLUGINREQUEST']._serialized_end=640 + _globals['_UPDATEPLUGINREQUEST']._serialized_start=643 + _globals['_UPDATEPLUGINREQUEST']._serialized_end=864 + _globals['_PLUGINREQUEST']._serialized_start=866 + _globals['_PLUGINREQUEST']._serialized_end=900 + _globals['_REPOSITORYPLUGINREQUEST']._serialized_start=902 + _globals['_REPOSITORYPLUGINREQUEST']._serialized_end=969 + _globals['_PLUGINQUERY']._serialized_start=972 + _globals['_PLUGINQUERY']._serialized_end=1305 + _globals['_PLUGINQUERY_STATE']._serialized_start=1261 + _globals['_PLUGINQUERY_STATE']._serialized_end=1305 + _globals['_PLUGININFO']._serialized_start=1308 + _globals['_PLUGININFO']._serialized_end=1954 + _globals['_PLUGININFO_STATE']._serialized_start=1261 + _globals['_PLUGININFO_STATE']._serialized_end=1305 + _globals['_PLUGINSINFO']._serialized_start=1956 + _globals['_PLUGINSINFO']._serialized_end=2047 + _globals['_VERSIONSINFO']._serialized_start=2049 + _globals['_VERSIONSINFO']._serialized_end=2118 + _globals['_PLUGIN']._serialized_start=2228 + _globals['_PLUGIN']._serialized_end=3349 # @@protoc_insertion_point(module_scope) diff --git a/dist/python/dist/spaceone-api-2.0.232.tar.gz b/dist/python/dist/spaceone-api-2.0.232.tar.gz deleted file mode 100644 index b52fd1ccffaff44bb14b19e66bafcdccf060945f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207348 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 z 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
    2Db50n!H)`wfS}glqr89@^bBvs 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 literal 0 HcmV?d00001 diff --git a/dist/python/dist/spaceone_api-2.0.232-py3-none-any.whl b/dist/python/dist/spaceone_api-2.0.233-py3-none-any.whl similarity index 88% rename from dist/python/dist/spaceone_api-2.0.232-py3-none-any.whl rename to dist/python/dist/spaceone_api-2.0.233-py3-none-any.whl index c87feec224e0bc1dce457a743320067811ac8709..9fc65a7cf0245a6f23ce47507827ade432f7a90b 100644 GIT binary patch delta 21410 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 XH(I5a!?dk7H+9%5gGBmYsMz!$C>TN- delta 21437 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 ?s?9!cS<>TG*eGM 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 diff --git a/dist/python/spaceone/api/repository/v1/plugin_pb2.py b/dist/python/spaceone/api/repository/v1/plugin_pb2.py index afcea749d..e55564ce6 100755 --- a/dist/python/spaceone/api/repository/v1/plugin_pb2.py +++ b/dist/python/spaceone/api/repository/v1/plugin_pb2.py @@ -19,7 +19,7 @@ from spaceone.api.repository.v1 import repository_pb2 as spaceone_dot_api_dot_repository_dot_v1_dot_repository__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'spaceone/api/repository/v1/plugin.proto\x12\x1aspaceone.api.repository.v1\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1cgoogle/api/annotations.proto\x1a spaceone/api/core/v2/query.proto\x1a+spaceone/api/repository/v1/repository.proto\"\xe9\x02\n\x15RegisterPluginRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\r\n\x05image\x18\x03 \x01(\t\x12\x10\n\x08provider\x18\x04 \x01(\t\x12\x45\n\rregistry_type\x18\x05 \x01(\x0e\x32..spaceone.api.repository.v1.PublicRegistryType\x12\x30\n\x0fregistry_config\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12+\n\ncapability\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x12*\n\x06labels\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12%\n\x04tags\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\tplugin_id\x18\n \x01(\t\"\xb6\x01\n\x13UpdatePluginRequest\x12\x11\n\tplugin_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\ncapability\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12*\n\x06labels\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12%\n\x04tags\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\"\"\n\rPluginRequest\x12\x11\n\tplugin_id\x18\x01 \x01(\t\"C\n\x17RepositoryPluginRequest\x12\x11\n\tplugin_id\x18\x01 \x01(\t\x12\x15\n\rrepository_id\x18\x15 \x01(\t\"\xcd\x02\n\x0bPluginQuery\x12*\n\x05query\x18\x01 \x01(\x0b\x32\x1b.spaceone.api.core.v2.Query\x12\x11\n\tplugin_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12<\n\x05state\x18\x04 \x01(\x0e\x32-.spaceone.api.repository.v1.PluginQuery.State\x12\x15\n\rresource_type\x18\x05 \x01(\t\x12\x10\n\x08provider\x18\x06 \x01(\t\x12\x45\n\rregistry_type\x18\x07 \x01(\x0e\x32..spaceone.api.repository.v1.PublicRegistryType\x12\x15\n\rrepository_id\x18\x15 \x01(\t\",\n\x05State\x12\x08\n\x04NONE\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\"\xdf\x04\n\nPluginInfo\x12\x11\n\tplugin_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12;\n\x05state\x18\x03 \x01(\x0e\x32,.spaceone.api.repository.v1.PluginInfo.State\x12\x15\n\rresource_type\x18\x04 \x01(\t\x12\r\n\x05image\x18\x05 \x01(\t\x12\x10\n\x08provider\x18\x06 \x01(\t\x12\x45\n\rregistry_type\x18\x07 \x01(\x0e\x32..spaceone.api.repository.v1.PublicRegistryType\x12\x14\n\x0cregistry_url\x18\x08 \x01(\t\x12\x30\n\x0fregistry_config\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12+\n\ncapability\x18\n \x01(\x0b\x32\x17.google.protobuf.Struct\x12*\n\x06labels\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12%\n\x04tags\x18\x0c \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\tdomain_id\x18\x15 \x01(\t\x12\x43\n\x0frepository_info\x18\x16 \x01(\x0b\x32*.spaceone.api.repository.v1.RepositoryInfo\x12\x12\n\ncreated_at\x18\x1f \x01(\t\x12\x12\n\nupdated_at\x18 \x01(\t\",\n\x05State\x12\x08\n\x04NONE\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\"[\n\x0bPluginsInfo\x12\x37\n\x07results\x18\x01 \x03(\x0b\x32&.spaceone.api.repository.v1.PluginInfo\x12\x13\n\x0btotal_count\x18\x02 \x01(\x05\"E\n\x0cVersionsInfo\x12\x0f\n\x07version\x18\x01 \x03(\t\x12\x13\n\x0btotal_count\x18\x02 \x01(\x05\x12\x0f\n\x07results\x18\x03 \x03(\t*i\n\x12PublicRegistryType\x12\x16\n\x12NONE_REGISTRY_TYPE\x10\x00\x12\x0e\n\nDOCKER_HUB\x10\x01\x12\x13\n\x0f\x41WS_PRIVATE_ECR\x10\x02\x12\n\n\x06HARBOR\x10\x03\x12\n\n\x06GITHUB\x10\x04\x32\xe1\x08\n\x06Plugin\x12\x90\x01\n\x08register\x12\x31.spaceone.api.repository.v1.RegisterPluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\")\x82\xd3\xe4\x93\x02#\"\x1e/repository/v1/plugin/register:\x01*\x12\x8a\x01\n\x06update\x12/.spaceone.api.repository.v1.UpdatePluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\"\'\x82\xd3\xe4\x93\x02!\"\x1c/repository/v1/plugin/update:\x01*\x12|\n\nderegister\x12).spaceone.api.repository.v1.PluginRequest\x1a\x16.google.protobuf.Empty\"+\x82\xd3\xe4\x93\x02%\" /repository/v1/plugin/deregister:\x01*\x12\x84\x01\n\x06\x65nable\x12).spaceone.api.repository.v1.PluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\"\'\x82\xd3\xe4\x93\x02!\"\x1c/repository/v1/plugin/enable:\x01*\x12\x86\x01\n\x07\x64isable\x12).spaceone.api.repository.v1.PluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\"(\x82\xd3\xe4\x93\x02\"\"\x1d/repository/v1/plugin/disable:\x01*\x12\x9c\x01\n\x0cget_versions\x12\x33.spaceone.api.repository.v1.RepositoryPluginRequest\x1a(.spaceone.api.repository.v1.VersionsInfo\"-\x82\xd3\xe4\x93\x02\'\"\"/repository/v1/plugin/get-versions:\x01*\x12\x88\x01\n\x03get\x12\x33.spaceone.api.repository.v1.RepositoryPluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/repository/v1/plugin/get:\x01*\x12\x7f\n\x04list\x12\'.spaceone.api.repository.v1.PluginQuery\x1a\'.spaceone.api.repository.v1.PluginsInfo\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/repository/v1/plugin/list:\x01*BAZ?github.com/cloudforet-io/api/dist/go/spaceone/api/repository/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'spaceone/api/repository/v1/plugin.proto\x12\x1aspaceone.api.repository.v1\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1cgoogle/api/annotations.proto\x1a spaceone/api/core/v2/query.proto\x1a+spaceone/api/repository/v1/repository.proto\"\x90\x03\n\x15RegisterPluginRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\r\n\x05image\x18\x03 \x01(\t\x12\x10\n\x08provider\x18\x04 \x01(\t\x12\x45\n\rregistry_type\x18\x05 \x01(\x0e\x32..spaceone.api.repository.v1.PublicRegistryType\x12\x30\n\x0fregistry_config\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12+\n\ncapability\x18\x07 \x01(\x0b\x32\x17.google.protobuf.Struct\x12*\n\x06labels\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12%\n\x04tags\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\tplugin_id\x18\n \x01(\t\x12%\n\x04\x64ocs\x18\x0b \x01(\x0b\x32\x17.google.protobuf.Struct\"\xdd\x01\n\x13UpdatePluginRequest\x12\x11\n\tplugin_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12+\n\ncapability\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12*\n\x06labels\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12%\n\x04tags\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12%\n\x04\x64ocs\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\"\"\n\rPluginRequest\x12\x11\n\tplugin_id\x18\x01 \x01(\t\"C\n\x17RepositoryPluginRequest\x12\x11\n\tplugin_id\x18\x01 \x01(\t\x12\x15\n\rrepository_id\x18\x15 \x01(\t\"\xcd\x02\n\x0bPluginQuery\x12*\n\x05query\x18\x01 \x01(\x0b\x32\x1b.spaceone.api.core.v2.Query\x12\x11\n\tplugin_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12<\n\x05state\x18\x04 \x01(\x0e\x32-.spaceone.api.repository.v1.PluginQuery.State\x12\x15\n\rresource_type\x18\x05 \x01(\t\x12\x10\n\x08provider\x18\x06 \x01(\t\x12\x45\n\rregistry_type\x18\x07 \x01(\x0e\x32..spaceone.api.repository.v1.PublicRegistryType\x12\x15\n\rrepository_id\x18\x15 \x01(\t\",\n\x05State\x12\x08\n\x04NONE\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\"\x86\x05\n\nPluginInfo\x12\x11\n\tplugin_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12;\n\x05state\x18\x03 \x01(\x0e\x32,.spaceone.api.repository.v1.PluginInfo.State\x12\x15\n\rresource_type\x18\x04 \x01(\t\x12\r\n\x05image\x18\x05 \x01(\t\x12\x10\n\x08provider\x18\x06 \x01(\t\x12\x45\n\rregistry_type\x18\x07 \x01(\x0e\x32..spaceone.api.repository.v1.PublicRegistryType\x12\x14\n\x0cregistry_url\x18\x08 \x01(\t\x12\x30\n\x0fregistry_config\x18\t \x01(\x0b\x32\x17.google.protobuf.Struct\x12+\n\ncapability\x18\n \x01(\x0b\x32\x17.google.protobuf.Struct\x12*\n\x06labels\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.ListValue\x12%\n\x04tags\x18\x0c \x01(\x0b\x32\x17.google.protobuf.Struct\x12%\n\x04\x64ocs\x18\r \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\tdomain_id\x18\x15 \x01(\t\x12\x43\n\x0frepository_info\x18\x16 \x01(\x0b\x32*.spaceone.api.repository.v1.RepositoryInfo\x12\x12\n\ncreated_at\x18\x1f \x01(\t\x12\x12\n\nupdated_at\x18 \x01(\t\",\n\x05State\x12\x08\n\x04NONE\x10\x00\x12\x0b\n\x07\x45NABLED\x10\x01\x12\x0c\n\x08\x44ISABLED\x10\x02\"[\n\x0bPluginsInfo\x12\x37\n\x07results\x18\x01 \x03(\x0b\x32&.spaceone.api.repository.v1.PluginInfo\x12\x13\n\x0btotal_count\x18\x02 \x01(\x05\"E\n\x0cVersionsInfo\x12\x0f\n\x07version\x18\x01 \x03(\t\x12\x13\n\x0btotal_count\x18\x02 \x01(\x05\x12\x0f\n\x07results\x18\x03 \x03(\t*i\n\x12PublicRegistryType\x12\x16\n\x12NONE_REGISTRY_TYPE\x10\x00\x12\x0e\n\nDOCKER_HUB\x10\x01\x12\x13\n\x0f\x41WS_PRIVATE_ECR\x10\x02\x12\n\n\x06HARBOR\x10\x03\x12\n\n\x06GITHUB\x10\x04\x32\xe1\x08\n\x06Plugin\x12\x90\x01\n\x08register\x12\x31.spaceone.api.repository.v1.RegisterPluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\")\x82\xd3\xe4\x93\x02#\"\x1e/repository/v1/plugin/register:\x01*\x12\x8a\x01\n\x06update\x12/.spaceone.api.repository.v1.UpdatePluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\"\'\x82\xd3\xe4\x93\x02!\"\x1c/repository/v1/plugin/update:\x01*\x12|\n\nderegister\x12).spaceone.api.repository.v1.PluginRequest\x1a\x16.google.protobuf.Empty\"+\x82\xd3\xe4\x93\x02%\" /repository/v1/plugin/deregister:\x01*\x12\x84\x01\n\x06\x65nable\x12).spaceone.api.repository.v1.PluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\"\'\x82\xd3\xe4\x93\x02!\"\x1c/repository/v1/plugin/enable:\x01*\x12\x86\x01\n\x07\x64isable\x12).spaceone.api.repository.v1.PluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\"(\x82\xd3\xe4\x93\x02\"\"\x1d/repository/v1/plugin/disable:\x01*\x12\x9c\x01\n\x0cget_versions\x12\x33.spaceone.api.repository.v1.RepositoryPluginRequest\x1a(.spaceone.api.repository.v1.VersionsInfo\"-\x82\xd3\xe4\x93\x02\'\"\"/repository/v1/plugin/get-versions:\x01*\x12\x88\x01\n\x03get\x12\x33.spaceone.api.repository.v1.RepositoryPluginRequest\x1a&.spaceone.api.repository.v1.PluginInfo\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/repository/v1/plugin/get:\x01*\x12\x7f\n\x04list\x12\'.spaceone.api.repository.v1.PluginQuery\x1a\'.spaceone.api.repository.v1.PluginsInfo\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/repository/v1/plugin/list:\x01*BAZ?github.com/cloudforet-io/api/dist/go/spaceone/api/repository/v1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -43,28 +43,28 @@ _globals['_PLUGIN'].methods_by_name['get']._serialized_options = b'\202\323\344\223\002\036\"\031/repository/v1/plugin/get:\001*' _globals['_PLUGIN'].methods_by_name['list']._loaded_options = None _globals['_PLUGIN'].methods_by_name['list']._serialized_options = b'\202\323\344\223\002\037\"\032/repository/v1/plugin/list:\001*' - _globals['_PUBLICREGISTRYTYPE']._serialized_start=2003 - _globals['_PUBLICREGISTRYTYPE']._serialized_end=2108 + _globals['_PUBLICREGISTRYTYPE']._serialized_start=2120 + _globals['_PUBLICREGISTRYTYPE']._serialized_end=2225 _globals['_REGISTERPLUGINREQUEST']._serialized_start=240 - _globals['_REGISTERPLUGINREQUEST']._serialized_end=601 - _globals['_UPDATEPLUGINREQUEST']._serialized_start=604 - _globals['_UPDATEPLUGINREQUEST']._serialized_end=786 - _globals['_PLUGINREQUEST']._serialized_start=788 - _globals['_PLUGINREQUEST']._serialized_end=822 - _globals['_REPOSITORYPLUGINREQUEST']._serialized_start=824 - _globals['_REPOSITORYPLUGINREQUEST']._serialized_end=891 - _globals['_PLUGINQUERY']._serialized_start=894 - _globals['_PLUGINQUERY']._serialized_end=1227 - _globals['_PLUGINQUERY_STATE']._serialized_start=1183 - _globals['_PLUGINQUERY_STATE']._serialized_end=1227 - _globals['_PLUGININFO']._serialized_start=1230 - _globals['_PLUGININFO']._serialized_end=1837 - _globals['_PLUGININFO_STATE']._serialized_start=1183 - _globals['_PLUGININFO_STATE']._serialized_end=1227 - _globals['_PLUGINSINFO']._serialized_start=1839 - _globals['_PLUGINSINFO']._serialized_end=1930 - _globals['_VERSIONSINFO']._serialized_start=1932 - _globals['_VERSIONSINFO']._serialized_end=2001 - _globals['_PLUGIN']._serialized_start=2111 - _globals['_PLUGIN']._serialized_end=3232 + _globals['_REGISTERPLUGINREQUEST']._serialized_end=640 + _globals['_UPDATEPLUGINREQUEST']._serialized_start=643 + _globals['_UPDATEPLUGINREQUEST']._serialized_end=864 + _globals['_PLUGINREQUEST']._serialized_start=866 + _globals['_PLUGINREQUEST']._serialized_end=900 + _globals['_REPOSITORYPLUGINREQUEST']._serialized_start=902 + _globals['_REPOSITORYPLUGINREQUEST']._serialized_end=969 + _globals['_PLUGINQUERY']._serialized_start=972 + _globals['_PLUGINQUERY']._serialized_end=1305 + _globals['_PLUGINQUERY_STATE']._serialized_start=1261 + _globals['_PLUGINQUERY_STATE']._serialized_end=1305 + _globals['_PLUGININFO']._serialized_start=1308 + _globals['_PLUGININFO']._serialized_end=1954 + _globals['_PLUGININFO_STATE']._serialized_start=1261 + _globals['_PLUGININFO_STATE']._serialized_end=1305 + _globals['_PLUGINSINFO']._serialized_start=1956 + _globals['_PLUGINSINFO']._serialized_end=2047 + _globals['_VERSIONSINFO']._serialized_start=2049 + _globals['_VERSIONSINFO']._serialized_end=2118 + _globals['_PLUGIN']._serialized_start=2228 + _globals['_PLUGIN']._serialized_end=3349 # @@protoc_insertion_point(module_scope) diff --git a/dist/python/spaceone_api.egg-info/PKG-INFO b/dist/python/spaceone_api.egg-info/PKG-INFO index 79c22658e..1eaf5f94d 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.232 +Version: 2.0.233 Summary: Coreforet API Protobuf Home-page: https://cloudforet.io/ Author: MEGAZONE Cloud Corp.