github.com/cloudwan/edgelq-sdk@v1.15.4/monitoring/proto/api-skeleton-v4.yaml (about)

     1  name: monitoring.edgelq.com
     2  proto:
     3    package:
     4      name: ntt.monitoring
     5      currentVersion: v4
     6      goPackage: github.com/cloudwan/edgelq/monitoring
     7      protoImportPathPrefix: edgelq/monitoring/proto
     8    service:
     9      name: Monitoring
    10      defaultHost: monitoring.edgelq.com
    11      oauthScopes: https://apis.edgelq.com
    12  
    13  imports:
    14  - meta.goten.com
    15  - secrets.edgelq.com
    16  
    17  resources:
    18  - name: Project
    19    multiRegion:
    20      isPolicyHolder: true
    21  
    22  - name: Bucket
    23    parents:
    24    - Project
    25    scopeAttributes:
    26    - Region
    27    idPattern: "[\\\\w./-]{2,128}"
    28  
    29  - name: MonitoredResourceDescriptor
    30    optOuts:
    31      basicActions:
    32      - GetMonitoredResourceDescriptor
    33      - ListMonitoredResourceDescriptors
    34    parents:
    35    - meta.goten.com/Service
    36    idPattern: "[\\\\w./-]{2,128}"
    37    actions:
    38    - name: GetMonitoredResourceDescriptor
    39      verb: get
    40      grpcTranscoding:
    41        isBasic: true
    42        httpMethod: get
    43      responseName: MonitoredResourceDescriptor
    44      skipResponseMsgGen: true
    45      withStoreHandle:
    46        readOnly: true
    47        transaction: NONE
    48    - name: ListMonitoredResourceDescriptors
    49      verb: list
    50      opResourceInfo:
    51        isCollection: true
    52        isPlural: true
    53      grpcTranscoding:
    54        isBasic: true
    55        httpMethod: get
    56      withStoreHandle:
    57        transaction: NONE
    58        readOnly: true
    59  
    60  - name: MetricDescriptor
    61    optOuts:
    62      # replace basic actions in order to maintain wire-compatibility with stackdriver api
    63      basicActions:
    64      - "{Get,Create,Update,Delete}MetricDescriptor"
    65      - "ListMetricDescriptors"
    66    idPattern: "[\\\\w./-]{4,128}"
    67    parents:
    68    - Project
    69    multiRegion:
    70      syncType: ALWAYS_IN_SCOPE
    71    actions:
    72    - name: GetMetricDescriptor
    73      verb: get
    74      grpcTranscoding:
    75        isBasic: true
    76        httpMethod: get
    77      responseName: MetricDescriptor
    78      skipResponseMsgGen: true
    79      withStoreHandle:
    80        readOnly: true
    81        transaction: NONE
    82    - name: CreateMetricDescriptor
    83      verb: create
    84      opResourceInfo:
    85        isCollection: true
    86        requestPaths:
    87          resourceParent: [ "parent" ]
    88          resourceBody: [ "metric_descriptor" ]
    89      grpcTranscoding:
    90        isBasic: true
    91        httpMethod: post
    92      responseName: MetricDescriptor
    93      skipResponseMsgGen: true
    94      withStoreHandle:
    95        transaction: SNAPSHOT
    96    - name: UpdateMetricDescriptor
    97      verb: update
    98      opResourceInfo:
    99        isCollection: false
   100        requestPaths:
   101          resourceBody: [ "metric_descriptor" ]
   102        responsePaths:
   103          resourceName: [ "name" ]
   104      grpcTranscoding:
   105        isBasic: true
   106        httpMethod: put
   107      responseName: MetricDescriptor
   108      skipResponseMsgGen: true
   109      withStoreHandle:
   110        transaction: SNAPSHOT
   111    - name: DeleteMetricDescriptor
   112      verb: delete
   113      grpcTranscoding:
   114        isBasic: true
   115        httpMethod: delete
   116      responseName: google.protobuf.Empty
   117      skipResponseMsgGen: true
   118      withStoreHandle:
   119        transaction: SNAPSHOT
   120    - name: ListMetricDescriptors
   121      verb: list
   122      opResourceInfo:
   123        isCollection: true
   124        isPlural: true
   125      grpcTranscoding:
   126        isBasic: true
   127        httpMethod: get
   128      withStoreHandle:
   129        transaction: NONE
   130  
   131  - name: TimeSerie
   132    optOuts:
   133      nameField: true
   134      metadataField: true
   135      standardCrudAccess: true
   136      resourceChange: true
   137      paging: true
   138    parents:
   139    - Project
   140    - Bucket
   141    actions:
   142    - name: ListTimeSeries
   143      verb: query # dont use 'list' as it would be matched and provided with implementation
   144      grpcTranscoding:
   145        httpMethod: get
   146        isBasic: true
   147        # TODO: TimeSerie has parent, but no name field. Perhaps type should still be generated in goten
   148        # so this is supported without hard overwrites
   149        httpPathOverrides:
   150        - "/v4/{parent=projects/*}/timeSeries"
   151        - "/v4/{parent=projects/*/regions/*/buckets/*}/timeSeries"
   152      opResourceInfo:
   153        isCollection: true
   154      withStoreHandle:
   155        readOnly: true
   156        transaction: NONE
   157      multiRegionRouting:
   158        skipCodeGenBasedRouting: true
   159    - name: QueryProjectTimeSeriesStats
   160      verb: queryProjectStats
   161      grpcTranscoding:
   162        httpMethod: get
   163        isBasic: true
   164        # TODO: TimeSerie has parent, but no name field. Perhaps type should still be generated in goten
   165        # so this is supported without hard overwrites
   166        httpPathOverrides:
   167        - "/v4/{project=projects/*}/timeSeries"
   168      opResourceInfo:
   169        isCollection: true
   170      withStoreHandle:
   171        readOnly: true
   172        transaction: NONE
   173      multiRegionRouting:
   174        regionIdFieldPaths:
   175        - region_id
   176    - name: QueryServiceTimeSeriesStats
   177      verb: queryServiceStats
   178      grpcTranscoding:
   179        httpMethod: get
   180        isBasic: true
   181        # TODO: TimeSerie has parent, but no name field. Perhaps type should still be generated in goten
   182        # so this is supported without hard overwrites
   183        httpPathOverrides:
   184        - "/v4/{service=services/*}/timeSeries"
   185      opResourceInfo:
   186        isCollection: true
   187      withStoreHandle:
   188        readOnly: true
   189        transaction: NONE
   190      multiRegionRouting:
   191        regionIdFieldPaths:
   192        - region_id
   193    - name: CreateTimeSeries
   194      verb: batchCreate
   195      grpcTranscoding:
   196        httpMethod: post
   197        isBasic: true
   198        # TODO: TimeSerie has parent, but no name field. Perhaps type should still be generated in goten
   199        # so this is supported without hard overwrites
   200        httpPathOverrides:
   201        - "/v4/{parent=projects/*}/timeSeries"
   202        - "/v4/{parent=projects/*/regions/*/buckets/*}/timeSeries"
   203        httpBodyField: time_series
   204      opResourceInfo:
   205        isCollection: true
   206      responseName: CreateTimeSeriesResponse
   207      withStoreHandle:
   208        readOnly: true
   209        transaction: NONE
   210      multiRegionRouting:
   211        skipCodeGenBasedRouting: true
   212    - name: WatchTimeSeries
   213      verb: watch
   214      responseName: WatchTimeSeriesResponse
   215      streamingResponse: true
   216      withStoreHandle:
   217        readOnly: true
   218        transaction: NONE
   219      multiRegionRouting:
   220        skipCodeGenBasedRouting: true
   221  
   222  - name: TimeSeriesForwarderSink
   223    parents:
   224    - Project
   225    multiRegion:
   226      syncType: ALWAYS_IN_SCOPE
   227  
   228  - name: TimeSeriesCollectionRule
   229    parents:
   230    - Project
   231    multiRegion:
   232      syncType: ALWAYS_IN_SCOPE
   233  
   234  - name: PhantomTimeSerie
   235    parents:
   236    - Project
   237    scopeAttributes:
   238    - Region
   239    idPattern: "[\\\\w+/=]{1,256}"
   240    multiRegion:
   241      syncType: NEVER
   242  
   243  - name: AlertingPolicy
   244    plural: AlertingPolicies
   245    optIns:
   246      searchable: true
   247    parents:
   248    - Project
   249    scopeAttributes:
   250    - Region
   251  
   252  - name: AlertingCondition
   253    optIns:
   254      searchable: true
   255    parents:
   256    - AlertingPolicy
   257  
   258  - name: Alert
   259    optOuts:
   260      basicActions:
   261      - CreateAlert
   262    parents:
   263    - AlertingCondition
   264    idPattern: "[a-zA-Z0-9_.:-]{1,128}"
   265    multiRegion:
   266      syncType: NEVER
   267    actions:
   268    - name: BulkCreateAlerts
   269      opResourceInfo:
   270        isCollection: true
   271      withStoreHandle:
   272        transaction: MANUAL
   273    - name: BulkUpdateAlerts
   274      opResourceInfo:
   275        isCollection: true
   276      withStoreHandle:
   277        transaction: MANUAL
   278  
   279  - name: Notification
   280    parents:
   281    - AlertingPolicy
   282    idPattern: "[a-zA-Z0-9_.:-]{1,128}"
   283    multiRegion:
   284      syncType: NEVER
   285  
   286  - name: NotificationChannel
   287    parents:
   288    - Project
   289    actions:
   290    # Action to test a notification channel
   291    - name: TestNotificationChannel
   292      verb: test
   293      opResourceInfo:
   294        isCollection: false
   295        isPlural: false
   296      responseName: google.protobuf.Empty
   297      skipResponseMsgGen: true
   298      withStoreHandle:
   299        transaction: SNAPSHOT
   300        readOnly: false
   301  
   302  # Internal resource for time series recovery store
   303  # We must persist sharding info to guarantee that recovering is possible at all.
   304  # If we change for example shards count per day, then we can only reshard for the
   305  # next one. If we change maximum AP period we want to support, we must also do
   306  # this in proper way - change config of controller, then wait till next period starts.
   307  - name: RecoveryStoreShardingInfo
   308    scopeAttributes:
   309    - Region
   310    multiRegion:
   311      syncType: NEVER
   312    idPattern: "[a-zA-Z0-9_.-]{1,128}"