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

     1  # TODO: monitoring v3 is coming from backward compatibility to stackdriver and probably for this
     2  # reason it may stay forever, unless we develop some different backward compatible API endpoint?
     3  name: monitoring.edgelq.com
     4  proto:
     5    package:
     6      name: ntt.monitoring
     7      currentVersion: v3 # same as google.monitoring to match REST API transcoding
     8      nextVersion: v4
     9      goPackage: github.com/cloudwan/edgelq/monitoring
    10      protoImportPathPrefix: edgelq/monitoring/proto
    11    service:
    12      name: Monitoring
    13      defaultHost: monitoring.edgelq.com
    14      oauthScopes: https://apis.edgelq.com
    15  
    16  resources:
    17  - name: Project
    18  
    19  - name: MonitoredResourceDescriptor
    20    optOuts:
    21      basicActions:
    22      - GetMonitoredResourceDescriptor
    23      - ListMonitoredResourceDescriptors
    24    idPattern: "[\\\\w./-]{4,128}"
    25    actions:
    26    - name: GetMonitoredResourceDescriptor
    27      verb: get
    28      grpcTranscoding:
    29        isBasic: true
    30        httpMethod: get
    31      responseName: MonitoredResourceDescriptor
    32      skipResponseMsgGen: true
    33      withStoreHandle:
    34        readOnly: true
    35        transaction: NONE
    36    - name: ListMonitoredResourceDescriptors
    37      verb: list
    38      opResourceInfo:
    39        isCollection: true
    40        isPlural: true
    41      grpcTranscoding:
    42        isBasic: true
    43        httpMethod: get
    44      withStoreHandle:
    45        transaction: NONE
    46        readOnly: true
    47  
    48  - name: MetricDescriptor
    49    optOuts:
    50      # replace basic actions in order to maintain wire-compatibility with stackdriver api
    51      basicActions:
    52      - "{Get,Create,Update,Delete}MetricDescriptor"
    53      - "ListMetricDescriptors"
    54    parents:
    55    - Project
    56    idPattern: "[\\\\w./-]{4,128}"
    57    actions:
    58    - name: GetMetricDescriptor
    59      verb: get
    60      grpcTranscoding:
    61        isBasic: true
    62        httpMethod: get
    63      responseName: MetricDescriptor
    64      skipResponseMsgGen: true
    65      withStoreHandle:
    66        readOnly: true
    67        transaction: NONE
    68    - name: CreateMetricDescriptor
    69      verb: create
    70      opResourceInfo:
    71        isCollection: true
    72        requestPaths:
    73          resourceParent: [ "parent" ]
    74          resourceBody: [ "metric_descriptor" ]
    75      grpcTranscoding:
    76        isBasic: true
    77        httpMethod: post
    78      responseName: MetricDescriptor
    79      skipResponseMsgGen: true
    80      withStoreHandle:
    81        transaction: SNAPSHOT
    82    - name: UpdateMetricDescriptor
    83      verb: update
    84      opResourceInfo:
    85        isCollection: false
    86        requestPaths:
    87          resourceBody: [ "metric_descriptor" ]
    88        responsePaths:
    89          resourceName: [ "name" ]
    90      grpcTranscoding:
    91        isBasic: true
    92        httpMethod: put
    93      responseName: MetricDescriptor
    94      skipResponseMsgGen: true
    95      withStoreHandle:
    96        transaction: SNAPSHOT
    97    - name: DeleteMetricDescriptor
    98      verb: delete
    99      grpcTranscoding:
   100        isBasic: true
   101        httpMethod: delete
   102      responseName: google.protobuf.Empty
   103      skipResponseMsgGen: true
   104      withStoreHandle:
   105        transaction: SNAPSHOT
   106    - name: ListMetricDescriptors
   107      verb: list
   108      opResourceInfo:
   109        isCollection: true
   110        isPlural: true
   111      grpcTranscoding:
   112        isBasic: true
   113        httpMethod: get
   114      withStoreHandle:
   115        transaction: NONE
   116  
   117  - name: TimeSerie
   118    optOuts:
   119      nameField: true
   120      metadataField: true
   121      standardCrudAccess: true
   122      resourceChange: true
   123      paging: true
   124    parents:
   125    - Project
   126    actions:
   127    - name: ListTimeSeries
   128      verb: query # dont use 'list' as it would be matched and provided with implementation
   129      grpcTranscoding:
   130        httpMethod: get
   131        isBasic: true
   132        # TODO: TimeSerie has parent, but no name field. Perhaps type should still be generated in goten
   133        # so this is supported without hard overwrites
   134        httpPathOverrides:
   135        - "/v3/{parent=projects/*}/timeSeries"
   136      opResourceInfo:
   137        isCollection: true
   138      withStoreHandle:
   139        readOnly: true
   140        transaction: NONE
   141      multiRegionRouting:
   142        skipCodeGenBasedRouting: true
   143    - name: CreateTimeSeries
   144      verb: batchCreate
   145      grpcTranscoding:
   146        httpMethod: post
   147        isBasic: true
   148        # TODO: TimeSerie has parent, but no name field. Perhaps type should still be generated in goten
   149        # so this is supported without hard overwrites
   150        httpPathOverrides:
   151        - "/v3/{parent=projects/*}/timeSeries"
   152        httpBodyField: time_series
   153      opResourceInfo:
   154        isCollection: true
   155      responseName: CreateTimeSeriesResponse
   156      withStoreHandle:
   157        readOnly: true
   158        transaction: NONE
   159      multiRegionRouting:
   160        skipCodeGenBasedRouting: true
   161  
   162  - name: PhantomTimeSerie
   163    parents:
   164    - Project
   165    scopeAttributes:
   166    - Region
   167    idPattern: "[\\\\w+/=]{1,256}"
   168    multiRegion:
   169      syncType: NEVER
   170  
   171  - name: AlertingPolicy
   172    plural: AlertingPolicies
   173    optIns:
   174      searchable: true
   175    parents:
   176    - Project
   177    scopeAttributes:
   178    - Region
   179  
   180  - name: AlertingCondition
   181    optIns:
   182      searchable: true
   183    parents:
   184    - AlertingPolicy
   185  
   186  - name: Alert
   187    versioning:
   188      skipTransformersBasicActions:
   189      - CreateAlert
   190    parents:
   191    - AlertingCondition
   192    idPattern: "[a-zA-Z0-9_.:-]{1,128}"
   193  
   194  - name: Notification
   195    versioning:
   196      skipTransformersBasicActions:
   197      - CreateNotification
   198    parents:
   199    - AlertingPolicy
   200    idPattern: "[a-zA-Z0-9_.:-]{1,128}"
   201  
   202  - name: NotificationChannel
   203    parents:
   204    - Project
   205    actions:
   206    # Action to test a notification channel
   207    - name: TestNotificationChannel
   208      verb: test
   209      opResourceInfo:
   210        isCollection: false
   211        isPlural: false
   212      responseName: google.protobuf.Empty
   213      withStoreHandle:
   214        transaction: SNAPSHOT
   215        readOnly: false
   216  
   217  # Internal resource for time series recovery store
   218  # We must persist sharding info to guarantee that recovering is possible at all.
   219  # If we change for example shards count per day, then we can only reshard for the
   220  # next one. If we change maximum AP period we want to support, we must also do
   221  # this in proper way - change config of controller, then wait till next period starts.
   222  - name: RecoveryStoreShardingInfo
   223    scopeAttributes:
   224    - Region
   225    multiRegion:
   226      syncType: NEVER
   227    idPattern: "[a-zA-Z0-9_.-]{1,128}"