### Readme
// You can convert Object in Yaml format to Json format by this online tool:
// https://onlineyamltools.com/convert-yaml-to-json


### Validate Create ConfigRevision
POST https://localhost:9443/validate-cloud-pingcap-com-v1-configrevision
Content-Type: application/json

{
	"apiVersion": "admission.k8s.io/v1",
	"kind": "AdmissionReview",
	"request": {
		"uid": "705ab4f5-6393-11e8-b7cc-42010a800002",
		"timestamp": "2021-05-31T12:34:56Z",
		"kind": {"group": "cloud.pingcap.com", "version": "v1", "kind": "ConfigRevision"},
		"resource": {"group": "cloud.pingcap.com", "version": "v1", "resource": "configrevisions"},
		"namespace": "default",
		"operation": "CREATE",
		"userInfo": {
			"username": "admin",
			"uid": "014fbff9a07c",
			"groups": ["system:masters", "system:authenticated"]
		},
		"object": {
			"apiVersion": "cloud.pingcap.com/v1",
			"kind": "ConfigRevision",
			"metadata": {
				"annotations": {
					"revision.tidbcloud.com/active-at": "2024-03-12T08:41:01Z"
				},
				"labels": {
					"cloud.pingcap.com/provider-type": "gke",
					"revision.tidbcloud.com/hash": "6ad89c05",
					"tags.tidbcloud.com/cluster": "1379661944646414214",
					"tags.tidbcloud.com/project": "1372813089454533003",
					"tags.tidbcloud.com/tenant": "1372813089187791289",
					"tidbcloud.com/cluster-version": "v7.5.1"
				},
				"name": "basev7.5.1-t1372813089187791289-c1379661944646414214-6bd1315-cr1"
			},
			"spec": {
				"tikv": {
					"baseImage": "gcr.io/pingcap-public/dbaas/tikv",
					"config": "\n[backup]\nnum-threads = 1\ns3-multi-part-size = \"30MB\"\n\n[import]\nnum-threads = 1\nstream-channel-window = 32\n\n[quota]\nforeground-cpu-time = 1000\nforeground-write-bandwidth = \"4MB\"\n\n[raft-engine]\nenable-log-recycle = true\nformat-version = 2\n\n[raftstore]\napply-pool-size = 1\nstore-io-pool-size = 1\nstore-pool-size = 1\n\n[rocksdb]\nmax-background-jobs = 2\n\n[security]\nredact-info-log = true\n\n[server]\ngrpc-concurrency = 1\nsimplify-metrics = true\n\n[storage]\nscheduler-worker-pool-size = 2\n\n[storage.block-cache]\ncapacity = \"2000MB\"\n\n[quota]\nenable-auto-tune = true\n",
					"tag": "v7.5.1"
				},
				"version": "v7.5.1"
			}
		},
		"oldObject": null,
		"dryRun": false,
		"options": {
			"kind": "CreateOptions",
			"apiVersion": "meta.k8s.io/v1"
		}
	}
}


### Validate Update ConfigRevision
POST https://localhost:9443/validate-cloud-pingcap-com-v1-configrevision
Content-Type: application/json

{
	"apiVersion": "admission.k8s.io/v1",
	"kind": "AdmissionReview",
	"request": {
		"uid": "705ab4f5-6393-11e8-b7cc-42010a800002",
		"timestamp": "2021-05-31T12:34:56Z",
		"kind": {
			"group": "cloud.pingcap.com",
			"version": "v1",
			"kind": "ConfigRevision"
		},
		"resource": {
			"group": "cloud.pingcap.com",
			"version": "v1",
			"resource": "configrevisions"
		},
		"namespace": "default",
		"operation": "UPDATE",
		"userInfo": {
			"username": "admin",
			"uid": "014fbff9a07c",
			"groups": [
				"system:masters",
				"system:authenticated"
			]
		},
		"object": {
			"apiVersion": "cloud.pingcap.com/v1",
			"kind": "ConfigRevision",
			"metadata": {
				"name": "cr--t90032-c10516473111502639620-8bf8bae8"
			},
			"spec": {
				"version": "v6.5.1"
			}
		},
		"oldObject": {
			"apiVersion": "cloud.pingcap.com/v1",
			"kind": "ConfigRevision",
			"metadata": {
				"name": "cr--t90032-c10516473111502639620-8bf8bae8"
			},
			"spec": {
				"version": "v5.1.0"
			}
		},
		"dryRun": false,
		"options": {
			"kind": "CreateOptions",
			"apiVersion": "meta.k8s.io/v1"
		}
	}
}


### Validate Delete ConfigRevision
POST https://localhost:9443/validate-cloud-pingcap-com-v1-configrevision
Content-Type: application/json

{
	"apiVersion": "admission.k8s.io/v1",
	"kind": "AdmissionReview",
	"request": {
		"uid": "705ab4f5-6393-11e8-b7cc-42010a800002",
		"timestamp": "2021-05-31T12:34:56Z",
		"kind": {
			"group": "cloud.pingcap.com",
			"version": "v1",
			"kind": "ConfigRevision"
		},
		"resource": {
			"group": "cloud.pingcap.com",
			"version": "v1",
			"resource": "configrevisions"
		},
		"namespace": "default",
		"operation": "DELETE",
		"userInfo": {
			"username": "admin",
			"uid": "014fbff9a07c",
			"groups": [
				"system:masters",
				"system:authenticated"
			]
		},
		"object": null,
		"oldObject": {
			"apiVersion": "cloud.pingcap.com/v1",
			"kind": "ConfigRevision",
			"metadata": {
				"name": "cr-chenfei-test"
			}
		},
		"dryRun": false,
		"options": {
			"kind": "CreateOptions",
			"apiVersion": "meta.k8s.io/v1"
		}
	}
}



### Validate Create ConfigChange
POST https://localhost:9443/validate-cloud-pingcap-com-v1-configchange
Content-Type: application/json

{
	"apiVersion": "admission.k8s.io/v1",
	"kind": "AdmissionReview",
	"request": {
		"uid": "705ab4f5-6393-11e8-b7cc-42010a800002",
		"timestamp": "2021-05-31T12:34:56Z",
		"kind": {"group": "cloud.pingcap.com", "version": "v1", "kind": "ConfigChange"},
		"resource": {"group": "cloud.pingcap.com", "version": "v1", "resource": "configchanges"},
		"namespace": "default",
		"operation": "CREATE",
		"userInfo": {
			"username": "admin",
			"uid": "014fbff9a07c",
			"groups": ["system:masters", "system:authenticated"]
		},
		"object": {
			"apiVersion": "cloud.pingcap.com/v1",
			"kind": "ConfigChange",
			"metadata": {
                "namespace": "nightly-ms-43562",
				"name": "cc1"
			},
			"spec": {
				"clusterName": "not-exists",
				"configRevisionName": "basev7.1.2-t30060-c3841029-fcf872a-bbf4f474",
				"changeStrategy": "HotReload"
			}
		},
		"oldObject": null,
		"dryRun": false,
		"options": {
			"kind": "CreateOptions",
			"apiVersion": "meta.k8s.io/v1"
		}
	}
}

