-
Notifications
You must be signed in to change notification settings - Fork 363
/
zz_compute_environment.go
136 lines (120 loc) · 6.39 KB
/
zz_compute_environment.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
/*
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"
)
// ComputeEnvironmentParameters defines the desired state of ComputeEnvironment
type ComputeEnvironmentParameters struct {
// Region is which region the ComputeEnvironment will be created.
// +kubebuilder:validation:Required
Region string `json:"region"`
// Details about the compute resources managed by the compute environment. This
// parameter is required for managed compute environments. For more information,
// see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html)
// in the Batch User Guide.
ComputeResources *ComputeResource `json:"computeResources,omitempty"`
// The tags that you apply to the compute environment to help you categorize
// and organize your resources. Each tag consists of a key and an optional value.
// For more information, see Tagging Amazon Web Services Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
// in Amazon Web Services General Reference.
//
// These tags can be updated or removed using the TagResource (https://docs.aws.amazon.com/batch/latest/APIReference/API_TagResource.html)
// and UntagResource (https://docs.aws.amazon.com/batch/latest/APIReference/API_UntagResource.html)
// API operations. These tags don't propagate to the underlying compute resources.
Tags map[string]*string `json:"tags,omitempty"`
// The type of the compute environment: MANAGED or UNMANAGED. For more information,
// see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html)
// in the Batch User Guide.
// +kubebuilder:validation:Required
Type *string `json:"type_"`
// The maximum number of vCPUs for an unmanaged compute environment. This parameter
// is only used for fair share scheduling to reserve vCPU capacity for new share
// identifiers. If this parameter isn't provided for a fair share job queue,
// no vCPU capacity is reserved.
//
// This parameter is only supported when the type parameter is set to UNMANAGED.
UnmanagedvCPUs *int64 `json:"unmanagedvCPUs,omitempty"`
CustomComputeEnvironmentParameters `json:",inline"`
}
// ComputeEnvironmentSpec defines the desired state of ComputeEnvironment
type ComputeEnvironmentSpec struct {
xpv1.ResourceSpec `json:",inline"`
ForProvider ComputeEnvironmentParameters `json:"forProvider"`
}
// ComputeEnvironmentObservation defines the observed state of ComputeEnvironment
type ComputeEnvironmentObservation struct {
// The Amazon Resource Name (ARN) of the compute environment.
ComputeEnvironmentARN *string `json:"computeEnvironmentARN,omitempty"`
// The name of the compute environment. It can be up to 128 letters long. It
// can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores
// (_).
ComputeEnvironmentName *string `json:"computeEnvironmentName,omitempty"`
// The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used
// by the compute environment.
EcsClusterARN *string `json:"ecsClusterARN,omitempty"`
// The state of the compute environment. The valid values are ENABLED or DISABLED.
//
// If the state is ENABLED, then the Batch scheduler can attempt to place jobs
// from an associated job queue on the compute resources within the environment.
// If the compute environment is managed, then it can scale its instances out
// or in automatically, based on the job queue demand.
//
// If the state is DISABLED, then the Batch scheduler doesn't attempt to place
// jobs within the environment. Jobs in a STARTING or RUNNING state continue
// to progress normally. Managed compute environments in the DISABLED state
// don't scale out. However, they scale in to minvCpus value after instances
// become idle.
State *string `json:"state,omitempty"`
// The current status of the compute environment (for example, CREATING or VALID).
Status *string `json:"status,omitempty"`
}
// ComputeEnvironmentStatus defines the observed state of ComputeEnvironment.
type ComputeEnvironmentStatus struct {
xpv1.ResourceStatus `json:",inline"`
AtProvider ComputeEnvironmentObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// ComputeEnvironment is the Schema for the ComputeEnvironments 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 ComputeEnvironment struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ComputeEnvironmentSpec `json:"spec"`
Status ComputeEnvironmentStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// ComputeEnvironmentList contains a list of ComputeEnvironments
type ComputeEnvironmentList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ComputeEnvironment `json:"items"`
}
// Repository type metadata.
var (
ComputeEnvironmentKind = "ComputeEnvironment"
ComputeEnvironmentGroupKind = schema.GroupKind{Group: CRDGroup, Kind: ComputeEnvironmentKind}.String()
ComputeEnvironmentKindAPIVersion = ComputeEnvironmentKind + "." + GroupVersion.String()
ComputeEnvironmentGroupVersionKind = GroupVersion.WithKind(ComputeEnvironmentKind)
)
func init() {
SchemeBuilder.Register(&ComputeEnvironment{}, &ComputeEnvironmentList{})
}