-
Notifications
You must be signed in to change notification settings - Fork 113
/
zz_ipset_types.go
executable file
·130 lines (99 loc) · 5.43 KB
/
zz_ipset_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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*
Copyright 2022 Upbound Inc.
*/
// Code generated by upjet. DO NOT EDIT.
package v1beta1
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 IPSetObservation struct {
// Contains an array of strings that specify one or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports all address ranges for IP versions IPv4 and IPv6.
Addresses []*string `json:"addresses,omitempty" tf:"addresses,omitempty"`
// The Amazon Resource Name (ARN) of the IP set.
Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`
// A friendly description of the IP set.
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// A unique identifier for the IP set.
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// Specify IPV4 or IPV6. Valid values are IPV4 or IPV6.
IPAddressVersion *string `json:"ipAddressVersion,omitempty" tf:"ip_address_version,omitempty"`
LockToken *string `json:"lockToken,omitempty" tf:"lock_token,omitempty"`
// A friendly name of the IP set.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// Specifies whether this is for an AWS CloudFront distribution or for a regional application. Valid values are CLOUDFRONT or REGIONAL. To work with CloudFront, you must also specify the Region US East (N. Virginia).
Scope *string `json:"scope,omitempty" tf:"scope,omitempty"`
// Key-value map of resource tags.
Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`
}
type IPSetParameters struct {
// Contains an array of strings that specify one or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports all address ranges for IP versions IPv4 and IPv6.
// +kubebuilder:validation:Optional
Addresses []*string `json:"addresses,omitempty" tf:"addresses,omitempty"`
// A friendly description of the IP set.
// +kubebuilder:validation:Optional
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// Specify IPV4 or IPV6. Valid values are IPV4 or IPV6.
// +kubebuilder:validation:Optional
IPAddressVersion *string `json:"ipAddressVersion,omitempty" tf:"ip_address_version,omitempty"`
// A friendly name of the IP set.
// +kubebuilder:validation:Optional
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// Region is the region you'd like your resource to be created in.
// +upjet:crd:field:TFTag=-
// +kubebuilder:validation:Required
Region *string `json:"region" tf:"-"`
// Specifies whether this is for an AWS CloudFront distribution or for a regional application. Valid values are CLOUDFRONT or REGIONAL. To work with CloudFront, you must also specify the Region US East (N. Virginia).
// +kubebuilder:validation:Optional
Scope *string `json:"scope,omitempty" tf:"scope,omitempty"`
// Key-value map of resource tags.
// +kubebuilder:validation:Optional
Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}
// IPSetSpec defines the desired state of IPSet
type IPSetSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider IPSetParameters `json:"forProvider"`
}
// IPSetStatus defines the observed state of IPSet.
type IPSetStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider IPSetObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// IPSet is the Schema for the IPSets API. Provides an AWS WAFv2 IP Set resource.
// +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,aws}
type IPSet struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.ipAddressVersion)",message="ipAddressVersion is a required parameter"
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.name)",message="name is a required parameter"
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.scope)",message="scope is a required parameter"
Spec IPSetSpec `json:"spec"`
Status IPSetStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// IPSetList contains a list of IPSets
type IPSetList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []IPSet `json:"items"`
}
// Repository type metadata.
var (
IPSet_Kind = "IPSet"
IPSet_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: IPSet_Kind}.String()
IPSet_KindAPIVersion = IPSet_Kind + "." + CRDGroupVersion.String()
IPSet_GroupVersionKind = CRDGroupVersion.WithKind(IPSet_Kind)
)
func init() {
SchemeBuilder.Register(&IPSet{}, &IPSetList{})
}