--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: (unknown) name: computeresourcepolicies.compute.cnrm.cloud.google.com spec: group: compute.cnrm.cloud.google.com names: kind: ComputeResourcePolicy listKind: ComputeResourcePolicyList plural: computeresourcepolicies singular: computeresourcepolicy scope: Namespaced versions: - name: v1beta1 schema: openAPIV3Schema: description: ComputeResourcePolicy is the Schema for the compute API properties: apiVersion: description: |- APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: description: |- Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object spec: properties: description: description: Immutable. An optional description of this resource. Provide this property when you create the resource. type: string diskConsistencyGroupPolicy: description: Immutable. Replication consistency group for asynchronous disk replication. properties: enabled: description: Immutable. Enable disk consistency on the resource policy. type: boolean required: - enabled type: object groupPlacementPolicy: description: Immutable. Resource policy for instances used for placement configuration. properties: availabilityDomainCount: description: |- Immutable. The number of availability domains instances will be spread across. If two instances are in different availability domain, they will not be put in the same low latency network. type: integer collocation: description: |- Immutable. Collocation specifies whether to place VMs inside the same availability domain on the same low-latency network. Specify 'COLLOCATED' to enable collocation. Can only be specified with 'vm_count'. If compute instances are created with a COLLOCATED policy, then exactly 'vm_count' instances must be created at the same time with the resource policy attached. Possible values: ["COLLOCATED"]. type: string maxDistance: description: Immutable. Specifies the number of max logical switches. type: integer vmCount: description: |- Immutable. Number of VMs in this placement group. Google does not recommend that you use this field unless you use a compact policy and you want your policy to work only if it contains this exact number of VMs. type: integer type: object instanceSchedulePolicy: description: Immutable. Resource policy for scheduling instance operations. properties: expirationTime: description: Immutable. The expiration time of the schedule. The timestamp is an RFC3339 string. type: string startTime: description: Immutable. The start time of the schedule. The timestamp is an RFC3339 string. type: string timeZone: description: |- Immutable. Specifies the time zone to be used in interpreting the schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database. type: string vmStartSchedule: description: Immutable. Specifies the schedule for starting instances. properties: schedule: description: Immutable. Specifies the frequency for the operation, using the unix-cron format. type: string required: - schedule type: object vmStopSchedule: description: Immutable. Specifies the schedule for stopping instances. properties: schedule: description: Immutable. Specifies the frequency for the operation, using the unix-cron format. type: string required: - schedule type: object required: - timeZone type: object region: description: Immutable. Region where resource policy resides. type: string resourceID: description: Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default. type: string snapshotSchedulePolicy: description: Immutable. Policy for creating snapshots of persistent disks. properties: retentionPolicy: description: Immutable. Retention policy applied to snapshots created by this resource policy. properties: maxRetentionDays: description: Immutable. Maximum age of the snapshot that is allowed to be kept. type: integer onSourceDiskDelete: description: |- Immutable. Specifies the behavior to apply to scheduled snapshots when the source disk is deleted. Default value: "KEEP_AUTO_SNAPSHOTS" Possible values: ["KEEP_AUTO_SNAPSHOTS", "APPLY_RETENTION_POLICY"]. type: string required: - maxRetentionDays type: object schedule: description: Immutable. Contains one of an 'hourlySchedule', 'dailySchedule', or 'weeklySchedule'. properties: dailySchedule: description: Immutable. The policy will execute every nth day at the specified time. properties: daysInCycle: description: Immutable. The number of days between snapshots. type: integer startTime: description: |- Immutable. This must be in UTC format that resolves to one of 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:00 are valid. type: string required: - daysInCycle - startTime type: object hourlySchedule: description: Immutable. The policy will execute every nth hour starting at the specified time. properties: hoursInCycle: description: Immutable. The number of hours between snapshots. type: integer startTime: description: |- Immutable. Time within the window to start the operations. It must be in an hourly format "HH:MM", where HH : [00-23] and MM : [00] GMT. eg: 21:00. type: string required: - hoursInCycle - startTime type: object weeklySchedule: description: Immutable. Allows specifying a snapshot time for each day of the week. properties: dayOfWeeks: description: Immutable. May contain up to seven (one for each day of the week) snapshot times. items: properties: day: description: 'Immutable. The day of the week to create the snapshot. e.g. MONDAY Possible values: ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"].' type: string startTime: description: |- Immutable. Time within the window to start the operations. It must be in format "HH:MM", where HH : [00-23] and MM : [00-00] GMT. type: string required: - day - startTime type: object type: array required: - dayOfWeeks type: object type: object snapshotProperties: description: Immutable. Properties with which the snapshots are created, such as labels. properties: chainName: description: |- Immutable. Creates the new snapshot in the snapshot chain labeled with the specified name. The chain name must be 1-63 characters long and comply with RFC1035. type: string guestFlush: description: Immutable. Whether to perform a 'guest aware' snapshot. type: boolean labels: additionalProperties: type: string description: Immutable. A set of key-value pairs. type: object storageLocations: description: |- Immutable. Cloud Storage bucket location to store the auto snapshot (regional or multi-regional). items: type: string type: array type: object required: - schedule type: object required: - region type: object status: properties: conditions: description: |- Conditions represent the latest available observations of the ComputeResourcePolicy's current state. items: properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. type: string message: description: Human-readable message indicating details about last transition. type: string reason: description: |- Unique, one-word, CamelCase reason for the condition's last transition. type: string status: description: Status is the status of the condition. Can be True, False, Unknown. type: string type: description: Type is the type of the condition. type: string type: object type: array observedGeneration: description: 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. type: integer selfLink: type: string type: object type: object served: true storage: true