generated from crossplane-contrib/provider-jet-template
/
zz_accessrule_types.go
executable file
·109 lines (85 loc) · 4.53 KB
/
zz_accessrule_types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
/*
Copyright 2021 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by terrajet. DO NOT EDIT.
package v1alpha1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
v1 "github.com/crossplane/crossplane-runtime/apis/common/v1"
)
type AccessRuleObservation struct {
ID *string `json:"id,omitempty" tf:"id,omitempty"`
}
type AccessRuleParameters struct {
// ID of a access group.
// +crossplane:generate:reference:type=AccessGroup
// +kubebuilder:validation:Optional
AccessGroupID *string `json:"accessGroupId,omitempty" tf:"access_group_id,omitempty"`
// +kubebuilder:validation:Optional
AccessGroupIDRef *v1.Reference `json:"accessGroupIdRef,omitempty" tf:"-"`
// +kubebuilder:validation:Optional
AccessGroupIDSelector *v1.Selector `json:"accessGroupIdSelector,omitempty" tf:"-"`
// A single IP or a single IP address range such as 10.1.10.11 or 10.10.1.0/24 indicates that all IPs are allowed. Please note that the IP entered should be CVM's private IP.
// +kubebuilder:validation:Required
AuthClientIP *string `json:"authClientIp" tf:"auth_client_ip,omitempty"`
// The priority level of rule. Valid value ranges: (1~100). `1` indicates the highest priority.
// +kubebuilder:validation:Required
Priority *float64 `json:"priority" tf:"priority,omitempty"`
// Read and write permissions. Valid values are `RO` and `RW`. and default is `RO`.
// +kubebuilder:validation:Optional
RwPermission *string `json:"rwPermission,omitempty" tf:"rw_permission,omitempty"`
// The permissions of accessing users. Valid values are `all_squash`, `no_all_squash`, `root_squash` and `no_root_squash`. and default is `root_squash`. `all_squash` indicates that all access users are mapped as anonymous users or user groups; `no_all_squash` indicates that access users will match local users first and be mapped to anonymous users or user groups after matching failed; `root_squash` indicates that map access root users to anonymous users or user groups; `no_root_squash` indicates that access root users keep root account permission.
// +kubebuilder:validation:Optional
UserPermission *string `json:"userPermission,omitempty" tf:"user_permission,omitempty"`
}
// AccessRuleSpec defines the desired state of AccessRule
type AccessRuleSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider AccessRuleParameters `json:"forProvider"`
}
// AccessRuleStatus defines the observed state of AccessRule.
type AccessRuleStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider AccessRuleObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// AccessRule is the Schema for the AccessRules API
// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status"
// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status"
// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name"
// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
// +kubebuilder:subresource:status
// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,tencentcloudjet}
type AccessRule struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AccessRuleSpec `json:"spec"`
Status AccessRuleStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// AccessRuleList contains a list of AccessRules
type AccessRuleList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []AccessRule `json:"items"`
}
// Repository type metadata.
var (
AccessRule_Kind = "AccessRule"
AccessRule_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: AccessRule_Kind}.String()
AccessRule_KindAPIVersion = AccessRule_Kind + "." + CRDGroupVersion.String()
AccessRule_GroupVersionKind = CRDGroupVersion.WithKind(AccessRule_Kind)
)
func init() {
SchemeBuilder.Register(&AccessRule{}, &AccessRuleList{})
}