/
zz_vpc_link.go
109 lines (93 loc) · 4.01 KB
/
zz_vpc_link.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 ack-generate. DO NOT EDIT.
package v1alpha1
import (
xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
)
// VPCLinkParameters defines the desired state of VPCLink
type VPCLinkParameters struct {
// Region is which region the VPCLink will be created.
// +kubebuilder:validation:Required
Region string `json:"region"`
// The description of the VPC link.
Description *string `json:"description,omitempty"`
// [Required] The name used to label and identify the VPC link.
// +kubebuilder:validation:Required
Name *string `json:"name"`
// The key-value map of strings. The valid character set is [a-zA-Z+-=._:/].
// The tag key can be up to 128 characters and must not start with aws:. The
// tag value can be up to 256 characters.
Tags map[string]*string `json:"tags,omitempty"`
// [Required] The ARN of the network load balancer of the VPC targeted by the
// VPC link. The network load balancer must be owned by the same AWS account
// of the API owner.
// +kubebuilder:validation:Required
TargetARNs []*string `json:"targetARNs"`
CustomVPCLinkParameters `json:",inline"`
}
// VPCLinkSpec defines the desired state of VPCLink
type VPCLinkSpec struct {
xpv1.ResourceSpec `json:",inline"`
ForProvider VPCLinkParameters `json:"forProvider"`
}
// VPCLinkObservation defines the observed state of VPCLink
type VPCLinkObservation struct {
// The identifier of the VpcLink. It is used in an Integration to reference
// this VpcLink.
ID *string `json:"id,omitempty"`
// The status of the VPC link. The valid values are AVAILABLE, PENDING, DELETING,
// or FAILED. Deploying an API will wait if the status is PENDING and will fail
// if the status is DELETING.
Status *string `json:"status,omitempty"`
// A description about the VPC link status.
StatusMessage *string `json:"statusMessage,omitempty"`
}
// VPCLinkStatus defines the observed state of VPCLink.
type VPCLinkStatus struct {
xpv1.ResourceStatus `json:",inline"`
AtProvider VPCLinkObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// VPCLink is the Schema for the VPCLinks 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:subresource:status
// +kubebuilder:storageversion
// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}
type VPCLink struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VPCLinkSpec `json:"spec"`
Status VPCLinkStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// VPCLinkList contains a list of VPCLinks
type VPCLinkList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VPCLink `json:"items"`
}
// Repository type metadata.
var (
VPCLinkKind = "VPCLink"
VPCLinkGroupKind = schema.GroupKind{Group: CRDGroup, Kind: VPCLinkKind}.String()
VPCLinkKindAPIVersion = VPCLinkKind + "." + GroupVersion.String()
VPCLinkGroupVersionKind = GroupVersion.WithKind(VPCLinkKind)
)
func init() {
SchemeBuilder.Register(&VPCLink{}, &VPCLinkList{})
}