github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/pkg/cli/create/template/io_chaos_template.cue (about) 1 // Copyright (C) 2022-2023 ApeCloud Co., Ltd 2 // 3 // This file is part of KubeBlocks project 4 // 5 // This program is free software: you can redistribute it and/or modify 6 // it under the terms of the GNU Affero General Public License as published by 7 // the Free Software Foundation, either version 3 of the License, or 8 // (at your option) any later version. 9 // 10 // This program is distributed in the hope that it will be useful 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU Affero General Public License for more details. 14 // 15 // You should have received a copy of the GNU Affero General Public License 16 // along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18 // required, command line input options for parameters and flags 19 options: { 20 namespace: string 21 action: string 22 selector: {} 23 mode: string 24 value: string 25 duration: string 26 27 delay: string 28 errno: int 29 attr?: {} 30 mistake?: {} 31 32 volumePath: string 33 path: string 34 percent: int 35 methods: [...] 36 containerNames: [...] 37 } 38 39 // required, k8s api resource content 40 content: { 41 kind: "IOChaos" 42 apiVersion: "chaos-mesh.org/v1alpha1" 43 metadata: { 44 generateName: "io-chaos-" 45 namespace: options.namespace 46 } 47 spec: { 48 selector: options.selector 49 mode: options.mode 50 value: options.value 51 action: options.action 52 duration: options.duration 53 54 delay: options.delay 55 errno: options.errno 56 if len(options.attr) != 0 { 57 attr: options.attr 58 } 59 if len(options.mistake) != 0 { 60 mistake: options.mistake 61 } 62 63 volumePath: options.volumePath 64 path: options.path 65 percent: options.percent 66 methods: options.methods 67 containerNames: options.containerNames 68 } 69 }