generated from crossplane-contrib/provider-jet-template
-
Notifications
You must be signed in to change notification settings - Fork 13
/
zz_window_types.go
executable file
·137 lines (108 loc) · 6.28 KB
/
zz_window_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
131
132
133
134
135
136
137
/*
Copyright 2022 Upbound Inc.
*/
// Code generated by upjet. 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 WindowInitParameters struct {
// A description for the maintenance window.
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// The maintenance window's end time. This is when the services will start creating incidents again. This date must be in the future and after the start_time.
EndTime *string `json:"endTime,omitempty" tf:"end_time,omitempty"`
// The maintenance window's start time. This is when the services will stop creating incidents. If this date is in the past, it will be updated to be the current time.
StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`
}
type WindowObservation struct {
// A description for the maintenance window.
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// The maintenance window's end time. This is when the services will start creating incidents again. This date must be in the future and after the start_time.
EndTime *string `json:"endTime,omitempty" tf:"end_time,omitempty"`
// The ID of the maintenance window.
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// A list of service IDs to include in the maintenance window.
Services []*string `json:"services,omitempty" tf:"services,omitempty"`
// The maintenance window's start time. This is when the services will stop creating incidents. If this date is in the past, it will be updated to be the current time.
StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`
}
type WindowParameters struct {
// A description for the maintenance window.
// +kubebuilder:validation:Optional
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// The maintenance window's end time. This is when the services will start creating incidents again. This date must be in the future and after the start_time.
// +kubebuilder:validation:Optional
EndTime *string `json:"endTime,omitempty" tf:"end_time,omitempty"`
// References to Service in service to populate services.
// +kubebuilder:validation:Optional
ServiceRefs []v1.Reference `json:"serviceRefs,omitempty" tf:"-"`
// Selector for a list of Service in service to populate services.
// +kubebuilder:validation:Optional
ServiceSelector *v1.Selector `json:"serviceSelector,omitempty" tf:"-"`
// A list of service IDs to include in the maintenance window.
// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-pagerduty/apis/service/v1alpha1.Service
// +crossplane:generate:reference:refFieldName=ServiceRefs
// +crossplane:generate:reference:selectorFieldName=ServiceSelector
// +kubebuilder:validation:Optional
Services []*string `json:"services,omitempty" tf:"services,omitempty"`
// The maintenance window's start time. This is when the services will stop creating incidents. If this date is in the past, it will be updated to be the current time.
// +kubebuilder:validation:Optional
StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`
}
// WindowSpec defines the desired state of Window
type WindowSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider WindowParameters `json:"forProvider"`
// THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored
// unless the relevant Crossplane feature flag is enabled, and may be
// changed or removed without notice.
// 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 WindowInitParameters `json:"initProvider,omitempty"`
}
// WindowStatus defines the observed state of Window.
type WindowStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider WindowObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// Window is the Schema for the Windows API. Creates and manages a maintenance window in PagerDuty.
// +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,pagerduty}
type Window 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.endTime) || has(self.initProvider.endTime)",message="endTime is a required parameter"
// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.startTime) || has(self.initProvider.startTime)",message="startTime is a required parameter"
Spec WindowSpec `json:"spec"`
Status WindowStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// WindowList contains a list of Windows
type WindowList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Window `json:"items"`
}
// Repository type metadata.
var (
Window_Kind = "Window"
Window_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Window_Kind}.String()
Window_KindAPIVersion = Window_Kind + "." + CRDGroupVersion.String()
Window_GroupVersionKind = CRDGroupVersion.WithKind(Window_Kind)
)
func init() {
SchemeBuilder.Register(&Window{}, &WindowList{})
}