@grafana/openapi 13.2.0-28908703397 → 13.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -732,6 +732,74 @@
732
732
  }
733
733
  ]
734
734
  },
735
+ "/connections/{name}/authorize": {
736
+ "post": {
737
+ "tags": ["Connection"],
738
+ "description": "Complete the OAuth authorization of this connection by exchanging an authorization code",
739
+ "operationId": "createConnectionAuthorize",
740
+ "requestBody": {
741
+ "content": {
742
+ "application/json": {
743
+ "schema": {
744
+ "description": "ConnectionAuthorizeRequest completes the OAuth authorization of a connection by exchanging an authorization code for tokens. It is the request and response body of the connection authorize subresource.",
745
+ "type": "object",
746
+ "required": ["spec"],
747
+ "properties": {
748
+ "apiVersion": {
749
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
750
+ "type": "string"
751
+ },
752
+ "kind": {
753
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
754
+ "type": "string"
755
+ },
756
+ "metadata": {
757
+ "default": {}
758
+ },
759
+ "spec": {
760
+ "default": {}
761
+ },
762
+ "status": {
763
+ "default": {}
764
+ }
765
+ }
766
+ }
767
+ }
768
+ },
769
+ "required": true
770
+ },
771
+ "responses": {
772
+ "200": {
773
+ "description": "OK",
774
+ "content": {
775
+ "application/json": {
776
+ "schema": {
777
+ "$ref": "#/components/schemas/ConnectionAuthorizeRequest"
778
+ }
779
+ }
780
+ }
781
+ }
782
+ },
783
+ "x-kubernetes-action": "connect",
784
+ "x-kubernetes-group-version-kind": {
785
+ "group": "provisioning.grafana.app",
786
+ "version": "v1beta1",
787
+ "kind": "ConnectionAuthorizeRequest"
788
+ }
789
+ },
790
+ "parameters": [
791
+ {
792
+ "name": "name",
793
+ "in": "path",
794
+ "description": "name of the ConnectionAuthorizeRequest",
795
+ "required": true,
796
+ "schema": {
797
+ "type": "string",
798
+ "uniqueItems": true
799
+ }
800
+ }
801
+ ]
802
+ },
735
803
  "/connections/{name}/repositories": {
736
804
  "get": {
737
805
  "tags": ["Connection"],
@@ -3703,10 +3771,10 @@
3703
3771
  },
3704
3772
  "BitbucketConnectionConfig": {
3705
3773
  "type": "object",
3706
- "required": ["clientID"],
3774
+ "required": ["workspace"],
3707
3775
  "properties": {
3708
- "clientID": {
3709
- "description": "App client ID",
3776
+ "workspace": {
3777
+ "description": "The workspace the OAuth consumer belongs to",
3710
3778
  "type": "string",
3711
3779
  "default": ""
3712
3780
  }
@@ -3721,6 +3789,10 @@
3721
3789
  "type": "string",
3722
3790
  "default": ""
3723
3791
  },
3792
+ "email": {
3793
+ "description": "Email is the Atlassian account email used to authenticate the Bitbucket REST API. Required to enable webhooks.",
3794
+ "type": "string"
3795
+ },
3724
3796
  "path": {
3725
3797
  "description": "Path is the subdirectory for the Grafana data. If specified, Grafana will ignore anything that is outside this directory in the repository. This is usually something like `grafana/`. Trailing and leading slash are not required. They are always added when needed. The path is relative to the root of the repository, regardless of the leading slash.\n\nWhen specifying something like `grafana-`, we will not look for `grafana-*`; we will only look for files under the directory `/grafana-/`. That means `/grafana-example.json` would not be found.",
3726
3798
  "type": "string"
@@ -3751,6 +3823,14 @@
3751
3823
  "CommitOptions": {
3752
3824
  "type": "object",
3753
3825
  "properties": {
3826
+ "authorEmail": {
3827
+ "description": "Email used as the commit author instead of the user who triggered the commit. Only valid when signingMethod is unset.",
3828
+ "type": "string"
3829
+ },
3830
+ "authorName": {
3831
+ "description": "Name used as the commit author instead of the user who triggered the commit. Only valid when signingMethod is unset.",
3832
+ "type": "string"
3833
+ },
3754
3834
  "enforceTemplate": {
3755
3835
  "description": "When true, the Comment field in Save drawers is pre-filled from SingleResourceMessageTemplate and rendered read-only.",
3756
3836
  "type": "boolean"
@@ -3759,6 +3839,10 @@
3759
3839
  "description": "Email used as the commit signer. Must match the signing key's identity and a verified email on the account where the matching public key is registered. When empty, defaults to \"noreply@grafana.com\".",
3760
3840
  "type": "string"
3761
3841
  },
3842
+ "signerIsAuthor": {
3843
+ "description": "When true, commits are authored by the signer identity (signerName/signerEmail).",
3844
+ "type": "boolean"
3845
+ },
3762
3846
  "signerName": {
3763
3847
  "description": "Name used as the commit signer. Required for the signing key's identity to match the commit, which providers need to mark commits as Verified. When empty, defaults to \"Grafana\".",
3764
3848
  "type": "string"
@@ -3811,6 +3895,63 @@
3811
3895
  }
3812
3896
  ]
3813
3897
  },
3898
+ "ConnectionAuthorizeRequest": {
3899
+ "description": "ConnectionAuthorizeRequest completes the OAuth authorization of a connection by exchanging an authorization code for tokens. It is the request and response body of the connection authorize subresource.",
3900
+ "type": "object",
3901
+ "required": ["spec"],
3902
+ "properties": {
3903
+ "apiVersion": {
3904
+ "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
3905
+ "type": "string"
3906
+ },
3907
+ "kind": {
3908
+ "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
3909
+ "type": "string"
3910
+ },
3911
+ "metadata": {
3912
+ "default": {}
3913
+ },
3914
+ "spec": {
3915
+ "default": {}
3916
+ },
3917
+ "status": {
3918
+ "default": {}
3919
+ }
3920
+ },
3921
+ "x-kubernetes-group-version-kind": [
3922
+ {
3923
+ "group": "provisioning.grafana.app",
3924
+ "kind": "ConnectionAuthorizeRequest",
3925
+ "version": "v1beta1"
3926
+ }
3927
+ ]
3928
+ },
3929
+ "ConnectionAuthorizeRequestSpec": {
3930
+ "type": "object",
3931
+ "required": ["code"],
3932
+ "properties": {
3933
+ "code": {
3934
+ "description": "The authorization code returned by the provider",
3935
+ "type": "string",
3936
+ "default": ""
3937
+ },
3938
+ "redirectURI": {
3939
+ "description": "The redirect URI used in the authorization request",
3940
+ "type": "string"
3941
+ }
3942
+ }
3943
+ },
3944
+ "ConnectionAuthorizeRequestStatus": {
3945
+ "type": "object",
3946
+ "required": ["authorized"],
3947
+ "properties": {
3948
+ "authorized": {
3949
+ "description": "Whether the connection has been authorized",
3950
+ "type": "boolean",
3951
+ "default": false
3952
+ }
3953
+ }
3954
+ },
3814
3955
  "ConnectionInfo": {
3815
3956
  "type": "object",
3816
3957
  "required": ["name"],
@@ -3845,6 +3986,17 @@
3845
3986
  }
3846
3987
  }
3847
3988
  },
3989
+ "ConnectionOAuthConfig": {
3990
+ "type": "object",
3991
+ "required": ["clientID"],
3992
+ "properties": {
3993
+ "clientID": {
3994
+ "description": "The OAuth app client ID",
3995
+ "type": "string",
3996
+ "default": ""
3997
+ }
3998
+ }
3999
+ },
3848
4000
  "ConnectionSecure": {
3849
4001
  "type": "object",
3850
4002
  "properties": {
@@ -3879,8 +4031,8 @@
3879
4031
  "githubEnterprise": {
3880
4032
  "description": "GitHub Enterprise Server connection configuration Only applicable when provider is \"githubEnterprise\""
3881
4033
  },
3882
- "gitlab": {
3883
- "description": "Gitlab connection configuration Only applicable when provider is \"gitlab\""
4034
+ "oauth": {
4035
+ "description": "OAuth app configuration shared by all OAuth app providers"
3884
4036
  },
3885
4037
  "title": {
3886
4038
  "description": "The connection display name (shown in the UI)",
@@ -3935,6 +4087,10 @@
3935
4087
  "type": "integer",
3936
4088
  "format": "int64",
3937
4089
  "default": 0
4090
+ },
4091
+ "token": {
4092
+ "description": "Token holds metadata about the last generated connection token, used to avoid regenerating a token whose secret was written recently but is not yet readable.",
4093
+ "default": {}
3938
4094
  }
3939
4095
  }
3940
4096
  },
@@ -4181,10 +4337,6 @@
4181
4337
  "type": "string",
4182
4338
  "default": ""
4183
4339
  },
4184
- "generateDashboardPreviews": {
4185
- "description": "Whether we should show dashboard previews for pull requests.",
4186
- "type": "boolean"
4187
- },
4188
4340
  "path": {
4189
4341
  "description": "Path is the subdirectory for the Grafana data inside the repository.",
4190
4342
  "type": "string"
@@ -4264,17 +4416,6 @@
4264
4416
  }
4265
4417
  }
4266
4418
  },
4267
- "GitlabConnectionConfig": {
4268
- "type": "object",
4269
- "required": ["clientID"],
4270
- "properties": {
4271
- "clientID": {
4272
- "description": "App client ID",
4273
- "type": "string",
4274
- "default": ""
4275
- }
4276
- }
4277
- },
4278
4419
  "HealthStatus": {
4279
4420
  "type": "object",
4280
4421
  "required": ["healthy"],
@@ -4500,6 +4641,11 @@
4500
4641
  "type": "integer",
4501
4642
  "format": "int64"
4502
4643
  },
4644
+ "totalChanges": {
4645
+ "description": "TotalChanges is the action-aware count of resources changed for this group/kind, set by the progress recorder as results are recorded. Used for the job-duration histogram's resources_changed bucket.",
4646
+ "type": "integer",
4647
+ "format": "int64"
4648
+ },
4503
4649
  "update": {
4504
4650
  "type": "integer",
4505
4651
  "format": "int64"
@@ -4527,7 +4673,7 @@
4527
4673
  "required": ["action"],
4528
4674
  "properties": {
4529
4675
  "action": {
4530
- "description": "Possible enum values:\n - `\"delete\"` deletes files in the remote repository\n - `\"deleteResources\"` deletes all resources managed by a repository that no longer exists or is stuck in Terminating state. This action has inverted validation: it is only allowed when the repository does not exist or has a DeletionTimestamp set.\n - `\"fixFolderMetadata\"` is a placeholder job that will eventually regenerate folder metadata files. Currently a no-op to unblock frontend development.\n - `\"migrate\"` acts like JobActionExport, then JobActionPull. It also tries to preserve the history.\n - `\"move\"` moves files in the remote repository\n - `\"pr\"` adds additional useful information to a PR, such as comments with preview links and rendered images.\n - `\"pull\"` replicates the remote branch in the local copy of the repository.\n - `\"push\"` replicates the local copy of the repository in the remote branch.\n - `\"releaseResources\"` removes ownership annotations from all resources managed by a repository that no longer exists or is stuck in Terminating state. Resources remain in Grafana but become unmanaged. This action has inverted validation: it is only allowed when the repository does not exist or has a DeletionTimestamp set.",
4676
+ "description": "Possible enum values:\n - `\"delete\"` deletes files in the remote repository\n - `\"deleteResources\"` deletes all resources managed by a repository that no longer exists or is stuck in Terminating state. This action has inverted validation: it is only allowed when the repository does not exist or has a DeletionTimestamp set.\n - `\"fixFolderMetadata\"` is a placeholder job that will eventually regenerate folder metadata files. Currently a no-op to unblock frontend development.\n - `\"migrate\"` acts like JobActionExport, then JobActionPull. It also tries to preserve the history.\n - `\"move\"` moves files in the remote repository\n - `\"pr\"` adds additional useful information to a PR, such as comments with preview links and rendered images.\n - `\"pull\"` replicates the remote branch in the local copy of the repository.\n - `\"push\"` replicates the local copy of the repository in the remote branch.\n - `\"releaseResources\"` removes ownership annotations from all resources managed by a repository that no longer exists or is stuck in Terminating state. Resources remain in Grafana but become unmanaged. This action has inverted validation: it is only allowed when the repository does not exist or has a DeletionTimestamp set.\n - `\"test\"` is a synthetic job that does no real work: it simply sleeps for a configurable duration and then completes successfully. It exists only to generate controlled load on the job queue and controllers for performance testing, and is gated behind the provisioning.performance feature flag.",
4531
4677
  "type": "string",
4532
4678
  "default": "",
4533
4679
  "enum": [
@@ -4539,7 +4685,8 @@
4539
4685
  "pr",
4540
4686
  "pull",
4541
4687
  "push",
4542
- "releaseResources"
4688
+ "releaseResources",
4689
+ "test"
4543
4690
  ]
4544
4691
  },
4545
4692
  "delete": {
@@ -4570,6 +4717,9 @@
4570
4717
  "repository": {
4571
4718
  "description": "The the repository reference (for now also in labels) This value is required, but will be popuplated from the job making the request",
4572
4719
  "type": "string"
4720
+ },
4721
+ "test": {
4722
+ "description": "Required when the action is `test`"
4573
4723
  }
4574
4724
  }
4575
4725
  },
@@ -4596,6 +4746,11 @@
4596
4746
  "type": "number",
4597
4747
  "format": "double"
4598
4748
  },
4749
+ "progressUpdates": {
4750
+ "description": "ProgressUpdates is the number of times the job's status has been written while it was processed. It is carried over to the historic job so the total number of progress updates a job went through remains observable after completion.",
4751
+ "type": "integer",
4752
+ "format": "int64"
4753
+ },
4599
4754
  "started": {
4600
4755
  "type": "integer",
4601
4756
  "format": "int64"
@@ -4658,6 +4813,10 @@
4658
4813
  "MigrateJobOptions": {
4659
4814
  "type": "object",
4660
4815
  "properties": {
4816
+ "branch": {
4817
+ "description": "Target branch for the migration (git only). When set to a branch other than the repository's configured branch, the migration writes the exported resources to that branch (a pull request workflow) and removes the migrated resources from the instance instead of taking ownership of them — they return as managed resources once the branch is merged and a regular sync runs on the configured branch. When empty (or equal to the configured branch), the migration writes directly to the configured branch and takes ownership of the exported resources.",
4818
+ "type": "string"
4819
+ },
4661
4820
  "generateNewFolderIDs": {
4662
4821
  "description": "GenerateNewFolderIDs writes a freshly generated identifier into each exported folder's metadata (_folder.json) instead of preserving the existing folder UID. The subsequent pull creates new folders rather than taking over the originals. Has no effect when folder metadata is not written.",
4663
4822
  "type": "boolean"
@@ -4672,6 +4831,10 @@
4672
4831
  "items": {
4673
4832
  "default": {}
4674
4833
  }
4834
+ },
4835
+ "skipResourceDeletion": {
4836
+ "description": "SkipResourceDeletion keeps the migrated resources on the instance instead of removing them. By default a migration deletes the resources it moved (the whole namespace for an instance target, or the exported resources for a branch migration); when true, no deletion happens and the resources are left in place.",
4837
+ "type": "boolean"
4675
4838
  }
4676
4839
  }
4677
4840
  },
@@ -4732,6 +4895,10 @@
4732
4895
  "description": "When true, the PR title field in Save drawers is read-only.",
4733
4896
  "type": "boolean"
4734
4897
  },
4898
+ "generateDashboardPreviews": {
4899
+ "description": "Whether we should show dashboard previews for pull requests. By default, this is false (i.e. we will not create previews).",
4900
+ "type": "boolean"
4901
+ },
4735
4902
  "titleTemplate": {
4736
4903
  "description": "Template for pull request titles. Supports the same variables as BranchOptions.NameTemplate ({{random}} is available but rarely useful here). When empty, the first line of the commit message is used.",
4737
4904
  "type": "string"
@@ -5558,6 +5725,20 @@
5558
5725
  }
5559
5726
  }
5560
5727
  },
5728
+ "TestJobOptions": {
5729
+ "description": "TestJobOptions configures a synthetic performance-testing job. The job does no real work; it sleeps for Duration and then completes. It is only usable when the provisioning.performance feature flag is enabled.",
5730
+ "type": "object",
5731
+ "properties": {
5732
+ "duration": {
5733
+ "description": "Duration is how long the job should sleep before completing, expressed as a Go duration string (for example \"10s\" or \"2m\"). It must be positive and is capped by the server to keep a single job's runtime predictable."
5734
+ },
5735
+ "progressUpdates": {
5736
+ "description": "ProgressUpdates controls how many progress notifications the job emits while running. A value of 0 uses the server default.",
5737
+ "type": "integer",
5738
+ "format": "int32"
5739
+ }
5740
+ }
5741
+ },
5561
5742
  "TestResults": {
5562
5743
  "description": "TestResults is the result of a test connection operation Deprecated: this will go way when we deprecate the test endpoint We should use fieldErrors from status instead.",
5563
5744
  "type": "object",
@@ -5680,6 +5861,9 @@
5680
5861
  },
5681
5862
  "url": {
5682
5863
  "type": "string"
5864
+ },
5865
+ "uuid": {
5866
+ "type": "string"
5683
5867
  }
5684
5868
  }
5685
5869
  },
@@ -5911,6 +6095,10 @@
5911
6095
  }
5912
6096
  }
5913
6097
  },
6098
+ "Duration": {
6099
+ "description": "Duration is a wrapper around time.Duration which supports correct marshaling to YAML and JSON. In particular, it marshals into strings, which can be used as map keys in json.",
6100
+ "type": "string"
6101
+ },
5914
6102
  "FieldsV1": {
5915
6103
  "description": "FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.\n\nEach key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:<name>', where <name> is the name of a field in a struct, or key in a map 'v:<value>', where <value> is the exact json formatted value of a list item 'i:<index>', where <index> is position of a item in a list 'k:<keys>', where <keys> is a map of a list item's key fields to their unique values If a key maps to an empty Fields value, the field that key represents is part of the set.\n\nThe exact format is defined in sigs.k8s.io/structured-merge-diff",
5916
6104
  "type": "object"