-
Notifications
You must be signed in to change notification settings - Fork 112
/
zz_trafficpolicy_types.go
executable file
·130 lines (102 loc) · 5.78 KB
/
zz_trafficpolicy_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
// SPDX-FileCopyrightText: 2024 The Crossplane Authors <https://crossplane.io>
//
// SPDX-License-Identifier: Apache-2.0
// 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 TrafficPolicyInitParameters struct {
// Comment for the traffic policy.
Comment *string `json:"comment,omitempty" tf:"comment,omitempty"`
// Policy document. This is a JSON formatted string. For more information about building Route53 traffic policy documents, see the AWS Route53 Traffic Policy document format
Document *string `json:"document,omitempty" tf:"document,omitempty"`
// Name of the traffic policy.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
}
type TrafficPolicyObservation struct {
// Comment for the traffic policy.
Comment *string `json:"comment,omitempty" tf:"comment,omitempty"`
// Policy document. This is a JSON formatted string. For more information about building Route53 traffic policy documents, see the AWS Route53 Traffic Policy document format
Document *string `json:"document,omitempty" tf:"document,omitempty"`
// ID of the traffic policy
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// Name of the traffic policy.
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// DNS type of the resource record sets that Amazon Route 53 creates when you use a traffic policy to create a traffic policy instance.
Type *string `json:"type,omitempty" tf:"type,omitempty"`
// Version number of the traffic policy. This value is automatically incremented by AWS after each update of this resource.
Version *float64 `json:"version,omitempty" tf:"version,omitempty"`
}
type TrafficPolicyParameters struct {
// Comment for the traffic policy.
// +kubebuilder:validation:Optional
Comment *string `json:"comment,omitempty" tf:"comment,omitempty"`
// Policy document. This is a JSON formatted string. For more information about building Route53 traffic policy documents, see the AWS Route53 Traffic Policy document format
// +kubebuilder:validation:Optional
Document *string `json:"document,omitempty" tf:"document,omitempty"`
// Name of the traffic policy.
// +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:"-"`
}
// TrafficPolicySpec defines the desired state of TrafficPolicy
type TrafficPolicySpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider TrafficPolicyParameters `json:"forProvider"`
// THIS IS A BETA FIELD. It will be honored
// unless the Management Policies feature flag is disabled.
// InitProvider holds the same fields as ForProvider, with the exception
// of Identifier and other resource reference fields. The fields that are
// in InitProvider are merged into ForProvider when the resource is created.
// The same fields are also added to the terraform ignore_changes hook, to
// avoid updating them after creation. This is useful for fields that are
// required on creation, but we do not desire to update them after creation,
// for example because of an external controller is managing them, like an
// autoscaler.
InitProvider TrafficPolicyInitParameters `json:"initProvider,omitempty"`
}
// TrafficPolicyStatus defines the observed state of TrafficPolicy.
type TrafficPolicyStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider TrafficPolicyObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +kubebuilder:storageversion
// TrafficPolicy is the Schema for the TrafficPolicys API. Manages a Route53 Traffic Policy
// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status"
// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,aws}
type TrafficPolicy struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.document) || (has(self.initProvider) && has(self.initProvider.document))",message="spec.forProvider.document is a required parameter"
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
Spec TrafficPolicySpec `json:"spec"`
Status TrafficPolicyStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// TrafficPolicyList contains a list of TrafficPolicys
type TrafficPolicyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []TrafficPolicy `json:"items"`
}
// Repository type metadata.
var (
TrafficPolicy_Kind = "TrafficPolicy"
TrafficPolicy_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: TrafficPolicy_Kind}.String()
TrafficPolicy_KindAPIVersion = TrafficPolicy_Kind + "." + CRDGroupVersion.String()
TrafficPolicy_GroupVersionKind = CRDGroupVersion.WithKind(TrafficPolicy_Kind)
)
func init() {
SchemeBuilder.Register(&TrafficPolicy{}, &TrafficPolicyList{})
}