github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/pkg/cli/create/template/volumesnapshotclass_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  	driver: string
    21  	name:   string
    22  }
    23  
    24  // required, k8s api resource content
    25  content: {
    26  	apiVersion: "snapshot.storage.k8s.io/v1"
    27  	kind:       "VolumeSnapshotClass"
    28  	metadata: {
    29  		name: options.name
    30  		annotations: {
    31  			"snapshot.storage.kubernetes.io/is-default-class": "true"
    32  		}
    33  		labels: {
    34  			"app.kubernetes.io/instance": "kubeblocks"
    35  		}
    36  		finalizers: ["kubeblocks.io/finalizer"]
    37  	}
    38  	driver:         options.driver
    39  	deletionPolicy: "Delete"
    40  }