@@ -27,37 +27,25 @@ type DatabaseClass struct {
27
27
}
28
28
29
29
type DatabaseClassSpec struct {
30
- DefaultMasterUsername string `json:"defaultMasterUsername"`
31
- AutoGeneratedMasterPassword bool `json:"autoGeneratedMasterPassword"`
32
-
33
- MultiAZ bool `json:"multiAZ"`
34
- Provisioner DatabaseProvisioner `json:"provisioner"`
35
- Engine DatabaseEngine `json:"engine"`
36
- Instance DatabaseInstance `json:"instance"`
37
- Storage DatabaseStorage `json:"storage"`
38
- PubliclyAccessible bool `json:"publicAccessible"`
30
+ Provisioner string `json:"provisioner"`
31
+ Parameters map [string ]string `json:"parameters"`
32
+ ReclaimPolicy DatabaseReclaimPolicy `json:"reclaimPolicy"`
39
33
}
40
34
41
- type DatabaseProvisioner string
35
+ // DatabaseReclaimPolicy describes a policy for end-of-life maintenance of persistent volumes.
36
+ // +enum
37
+ type DatabaseReclaimPolicy string
42
38
43
39
const (
44
- DatabaseProvisionerAWSRdsInstance DatabaseProvisioner = "AWSRdsInstance"
45
- DatabaseProvisionerAWSRdsCluster DatabaseProvisioner = "AWSRdsCluster"
46
- DatabaseProvisionerAWSRdsAurora DatabaseProvisioner = "AWSRdsAurora"
40
+ // The database will be deleted with a final snapshot reserved.
41
+ DatabaseReclaimDeleteWithFinalSnapshot DatabaseReclaimPolicy = "DeleteWithFinalSnapshot"
42
+ // The database will be deleted.
43
+ DatabaseReclaimDelete DatabaseReclaimPolicy = "Delete"
44
+ // The database will be retained.
45
+ // The default policy is Retain.
46
+ DatabaseReclaimRetain DatabaseReclaimPolicy = "Retain"
47
47
)
48
48
49
- type DatabaseEngine struct {
50
- Name string `json:"name"`
51
- Version string `json:"version"`
52
- // +optional
53
- Mode string `json:"mode"`
54
- }
55
-
56
- type DatabaseInstance struct {
57
- // +optional
58
- Class string `json:"class"`
59
- }
60
-
61
49
const (
62
50
AnnotationsVPCSecurityGroupIds = "databaseclass.database-mesh.io/vpc-security-group-ids"
63
51
AnnotationsSubnetGroupName = "databaseclass.database-mesh.io/vpc-subnet-group-name"
0 commit comments