-
Notifications
You must be signed in to change notification settings - Fork 113
/
zz_environment_types.go
executable file
·154 lines (119 loc) · 6.09 KB
/
zz_environment_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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
/*
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 EnvironmentObservation struct {
// ARN of the AppConfig Environment.
Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`
// AppConfig environment ID.
EnvironmentID *string `json:"environmentId,omitempty" tf:"environment_id,omitempty"`
// AppConfig environment ID and application ID separated by a colon (:).
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// State of the environment. Possible values are READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK
// or ROLLED_BACK.
State *string `json:"state,omitempty" tf:"state,omitempty"`
// 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 EnvironmentParameters struct {
// AppConfig application ID. Must be between 4 and 7 characters in length.
// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/appconfig/v1beta1.Application
// +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractResourceID()
// +kubebuilder:validation:Optional
ApplicationID *string `json:"applicationId,omitempty" tf:"application_id,omitempty"`
// Reference to a Application in appconfig to populate applicationId.
// +kubebuilder:validation:Optional
ApplicationIDRef *v1.Reference `json:"applicationIdRef,omitempty" tf:"-"`
// Selector for a Application in appconfig to populate applicationId.
// +kubebuilder:validation:Optional
ApplicationIDSelector *v1.Selector `json:"applicationIdSelector,omitempty" tf:"-"`
// Description of the environment. Can be at most 1024 characters.
// +kubebuilder:validation:Optional
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// Set of Amazon CloudWatch alarms to monitor during the deployment process. Maximum of 5. See Monitor below for more details.
// +kubebuilder:validation:Optional
Monitor []MonitorParameters `json:"monitor,omitempty" tf:"monitor,omitempty"`
// Name for the environment. Must be between 1 and 64 characters in length.
// +kubebuilder:validation:Required
Name *string `json:"name" 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:"-"`
// Key-value map of resource tags.
// +kubebuilder:validation:Optional
Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}
type MonitorObservation struct {
}
type MonitorParameters struct {
// ARN of the Amazon CloudWatch alarm.
// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/cloudwatch/v1beta1.MetricAlarm
// +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("arn",true)
// +kubebuilder:validation:Optional
AlarmArn *string `json:"alarmArn,omitempty" tf:"alarm_arn,omitempty"`
// Reference to a MetricAlarm in cloudwatch to populate alarmArn.
// +kubebuilder:validation:Optional
AlarmArnRef *v1.Reference `json:"alarmArnRef,omitempty" tf:"-"`
// Selector for a MetricAlarm in cloudwatch to populate alarmArn.
// +kubebuilder:validation:Optional
AlarmArnSelector *v1.Selector `json:"alarmArnSelector,omitempty" tf:"-"`
// ARN of an IAM role for AWS AppConfig to monitor alarm_arn.
// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role
// +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("arn",true)
// +kubebuilder:validation:Optional
AlarmRoleArn *string `json:"alarmRoleArn,omitempty" tf:"alarm_role_arn,omitempty"`
// Reference to a Role in iam to populate alarmRoleArn.
// +kubebuilder:validation:Optional
AlarmRoleArnRef *v1.Reference `json:"alarmRoleArnRef,omitempty" tf:"-"`
// Selector for a Role in iam to populate alarmRoleArn.
// +kubebuilder:validation:Optional
AlarmRoleArnSelector *v1.Selector `json:"alarmRoleArnSelector,omitempty" tf:"-"`
}
// EnvironmentSpec defines the desired state of Environment
type EnvironmentSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider EnvironmentParameters `json:"forProvider"`
}
// EnvironmentStatus defines the observed state of Environment.
type EnvironmentStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider EnvironmentObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// Environment is the Schema for the Environments API. Provides an AppConfig Environment 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 Environment struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec EnvironmentSpec `json:"spec"`
Status EnvironmentStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// EnvironmentList contains a list of Environments
type EnvironmentList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Environment `json:"items"`
}
// Repository type metadata.
var (
Environment_Kind = "Environment"
Environment_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Environment_Kind}.String()
Environment_KindAPIVersion = Environment_Kind + "." + CRDGroupVersion.String()
Environment_GroupVersionKind = CRDGroupVersion.WithKind(Environment_Kind)
)
func init() {
SchemeBuilder.Register(&Environment{}, &EnvironmentList{})
}