-
Notifications
You must be signed in to change notification settings - Fork 202
/
computereservation_types.go
156 lines (128 loc) · 5.98 KB
/
computereservation_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
155
156
// Copyright 2020 Google LLC
//
// 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.
// ----------------------------------------------------------------------------
//
// *** AUTO GENERATED CODE *** AUTO GENERATED CODE ***
//
// ----------------------------------------------------------------------------
//
// This file is automatically generated by Config Connector and manual
// changes will be clobbered when the file is regenerated.
//
// ----------------------------------------------------------------------------
// *** DISCLAIMER ***
// Config Connector's go-client for CRDs is currently in ALPHA, which means
// that future versions of the go-client may include breaking changes.
// Please try it out and give us feedback!
package v1beta1
import (
"github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/k8s/v1alpha1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
type ReservationGuestAccelerators struct {
/* Immutable. The number of the guest accelerator cards exposed to
this instance. */
AcceleratorCount int `json:"acceleratorCount"`
/* Immutable. The full or partial URL of the accelerator type to
attach to this instance. For example:
'projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100'
If you are creating an instance template, specify only the accelerator name. */
AcceleratorType string `json:"acceleratorType"`
}
type ReservationInstanceProperties struct {
/* Immutable. Guest accelerator type and count. */
// +optional
GuestAccelerators []ReservationGuestAccelerators `json:"guestAccelerators,omitempty"`
/* Immutable. The amount of local ssd to reserve with each instance. This
reserves disks of type 'local-ssd'. */
// +optional
LocalSsds []ReservationLocalSsds `json:"localSsds,omitempty"`
/* Immutable. The name of the machine type to reserve. */
MachineType string `json:"machineType"`
/* Immutable. The minimum CPU platform for the reservation. For example,
'"Intel Skylake"'. See
the CPU platform availability reference](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform#availablezones)
for information on available CPU platforms. */
// +optional
MinCpuPlatform *string `json:"minCpuPlatform,omitempty"`
}
type ReservationLocalSsds struct {
/* Immutable. The size of the disk in base-2 GB. */
DiskSizeGb int `json:"diskSizeGb"`
/* Immutable. The disk interface to use for attaching this disk. Default value: "SCSI" Possible values: ["SCSI", "NVME"] */
// +optional
Interface *string `json:"interface,omitempty"`
}
type ReservationSpecificReservation struct {
/* The number of resources that are allocated. */
Count int `json:"count"`
/* How many instances are in use. */
// +optional
InUseCount *int `json:"inUseCount,omitempty"`
/* Immutable. The instance properties for the reservation. */
InstanceProperties ReservationInstanceProperties `json:"instanceProperties"`
}
type ComputeReservationSpec struct {
/* Immutable. An optional description of this resource. */
// +optional
Description *string `json:"description,omitempty"`
/* Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default. */
// +optional
ResourceID *string `json:"resourceID,omitempty"`
/* Reservation for instances with specific machine shapes. */
SpecificReservation ReservationSpecificReservation `json:"specificReservation"`
/* Immutable. When set to true, only VMs that target this reservation by name can
consume this reservation. Otherwise, it can be consumed by VMs with
affinity for any reservation. Defaults to false. */
// +optional
SpecificReservationRequired *bool `json:"specificReservationRequired,omitempty"`
/* Immutable. The zone where the reservation is made. */
Zone string `json:"zone"`
}
type ComputeReservationStatus struct {
/* Conditions represent the latest available observations of the
ComputeReservation's current state. */
Conditions []v1alpha1.Condition `json:"conditions,omitempty"`
/* Full or partial URL to a parent commitment. This field displays for
reservations that are tied to a commitment. */
Commitment string `json:"commitment,omitempty"`
/* Creation timestamp in RFC3339 text format. */
CreationTimestamp string `json:"creationTimestamp,omitempty"`
/* ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. */
ObservedGeneration int `json:"observedGeneration,omitempty"`
/* */
SelfLink string `json:"selfLink,omitempty"`
/* The status of the reservation. */
Status string `json:"status,omitempty"`
}
// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// ComputeReservation is the Schema for the compute API
// +k8s:openapi-gen=true
type ComputeReservation struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ComputeReservationSpec `json:"spec,omitempty"`
Status ComputeReservationStatus `json:"status,omitempty"`
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// ComputeReservationList contains a list of ComputeReservation
type ComputeReservationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ComputeReservation `json:"items"`
}
func init() {
SchemeBuilder.Register(&ComputeReservation{}, &ComputeReservationList{})
}