diff --git a/config/crd/v1/bases/velero.io_backuprepositories.yaml b/config/crd/v1/bases/velero.io_backuprepositories.yaml index 6ab28487c1..d5cc0c51b0 100644 --- a/config/crd/v1/bases/velero.io_backuprepositories.yaml +++ b/config/crd/v1/bases/velero.io_backuprepositories.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: backuprepositories.velero.io spec: group: velero.io @@ -26,14 +26,19 @@ spec: openAPIV3Schema: 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' + 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' + 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 @@ -41,7 +46,8 @@ spec: description: BackupRepositorySpec is the specification for a BackupRepository. properties: backupStorageLocation: - description: BackupStorageLocation is the name of the BackupStorageLocation + description: |- + BackupStorageLocation is the name of the BackupStorageLocation that should contain this repository. type: string maintenanceFrequency: @@ -56,12 +62,14 @@ spec: - "" type: string resticIdentifier: - description: ResticIdentifier is the full restic-compatible string - for identifying this repository. + description: |- + ResticIdentifier is the full restic-compatible string for identifying + this repository. type: string volumeNamespace: - description: VolumeNamespace is the namespace this backup repository - contains pod volume backups for. + description: |- + VolumeNamespace is the namespace this backup repository contains + pod volume backups for. type: string required: - backupStorageLocation diff --git a/config/crd/v1/bases/velero.io_backups.yaml b/config/crd/v1/bases/velero.io_backups.yaml index cc4d6a5875..1e79dcdea8 100644 --- a/config/crd/v1/bases/velero.io_backups.yaml +++ b/config/crd/v1/bases/velero.io_backups.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: backups.velero.io spec: group: velero.io @@ -17,18 +17,24 @@ spec: - name: v1 schema: openAPIV3Schema: - description: Backup is a Velero resource that represents the capture of Kubernetes + description: |- + Backup is a Velero resource that represents the capture of Kubernetes cluster state at a point in time (API objects and associated volume state). 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' + 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' + 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 @@ -36,55 +42,63 @@ spec: description: BackupSpec defines the specification for a Velero backup. properties: csiSnapshotTimeout: - description: CSISnapshotTimeout specifies the time used to wait for - CSI VolumeSnapshot status turns to ReadyToUse during creation, before - returning error as timeout. The default value is 10 minute. + description: |- + CSISnapshotTimeout specifies the time used to wait for CSI VolumeSnapshot status turns to + ReadyToUse during creation, before returning error as timeout. + The default value is 10 minute. type: string datamover: - description: DataMover specifies the data mover to be used by the - backup. If DataMover is "" or "velero", the built-in data mover - will be used. + description: |- + DataMover specifies the data mover to be used by the backup. + If DataMover is "" or "velero", the built-in data mover will be used. type: string defaultVolumesToFsBackup: - description: DefaultVolumesToFsBackup specifies whether pod volume - file system backup should be used for all volumes by default. + description: |- + DefaultVolumesToFsBackup specifies whether pod volume file system backup should be used + for all volumes by default. nullable: true type: boolean defaultVolumesToRestic: - description: "DefaultVolumesToRestic specifies whether restic should - be used to take a backup of all pod volumes by default. \n Deprecated: - this field is no longer used and will be removed entirely in future. - Use DefaultVolumesToFsBackup instead." + description: |- + DefaultVolumesToRestic specifies whether restic should be used to take a + backup of all pod volumes by default. + + + Deprecated: this field is no longer used and will be removed entirely in future. Use DefaultVolumesToFsBackup instead. nullable: true type: boolean excludedClusterScopedResources: - description: ExcludedClusterScopedResources is a slice of cluster-scoped - resource type names to exclude from the backup. If set to "*", all - cluster-scoped resource types are excluded. The default value is - empty. + description: |- + ExcludedClusterScopedResources is a slice of cluster-scoped + resource type names to exclude from the backup. + If set to "*", all cluster-scoped resource types are excluded. + The default value is empty. items: type: string nullable: true type: array excludedNamespaceScopedResources: - description: ExcludedNamespaceScopedResources is a slice of namespace-scoped - resource type names to exclude from the backup. If set to "*", all - namespace-scoped resource types are excluded. The default value - is empty. + description: |- + ExcludedNamespaceScopedResources is a slice of namespace-scoped + resource type names to exclude from the backup. + If set to "*", all namespace-scoped resource types are excluded. + The default value is empty. items: type: string nullable: true type: array excludedNamespaces: - description: ExcludedNamespaces contains a list of namespaces that - are not included in the backup. + description: |- + ExcludedNamespaces contains a list of namespaces that are not + included in the backup. items: type: string nullable: true type: array excludedResources: - description: ExcludedResources is a slice of resource names that are - not included in the backup. + description: |- + ExcludedResources is a slice of resource names that are not + included in the backup. items: type: string nullable: true @@ -97,9 +111,9 @@ spec: description: Resources are hooks that should be executed when backing up individual instances of a resource. items: - description: BackupResourceHookSpec defines one or more BackupResourceHooks - that should be executed based on the rules defined for namespaces, - resources, and label selector. + description: |- + BackupResourceHookSpec defines one or more BackupResourceHooks that should be executed based on + the rules defined for namespaces, resources, and label selector. properties: excludedNamespaces: description: ExcludedNamespaces specifies the namespaces @@ -116,17 +130,17 @@ spec: nullable: true type: array includedNamespaces: - description: IncludedNamespaces specifies the namespaces - to which this hook spec applies. If empty, it applies + description: |- + IncludedNamespaces specifies the namespaces to which this hook spec applies. If empty, it applies to all namespaces. items: type: string nullable: true type: array includedResources: - description: IncludedResources specifies the resources to - which this hook spec applies. If empty, it applies to - all resources. + description: |- + IncludedResources specifies the resources to which this hook spec applies. If empty, it applies + to all resources. items: type: string nullable: true @@ -140,8 +154,8 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -149,17 +163,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -171,11 +184,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -183,10 +195,9 @@ spec: description: Name is the name of this hook. type: string post: - description: PostHooks is a list of BackupResourceHooks - to execute after storing the item in the backup. These - are executed after all "additional items" from item actions - are processed. + description: |- + PostHooks is a list of BackupResourceHooks to execute after storing the item in the backup. + These are executed after all "additional items" from item actions are processed. items: description: BackupResourceHook defines a hook for a resource. properties: @@ -201,10 +212,9 @@ spec: minItems: 1 type: array container: - description: Container is the container in the - pod where the command should be executed. If - not specified, the pod's first container is - used. + description: |- + Container is the container in the pod where the command should be executed. If not specified, + the pod's first container is used. type: string onError: description: OnError specifies how Velero should @@ -215,9 +225,9 @@ spec: - Fail type: string timeout: - description: Timeout defines the maximum amount - of time Velero should wait for the hook to complete - before considering the execution a failure. + description: |- + Timeout defines the maximum amount of time Velero should wait for the hook to complete before + considering the execution a failure. type: string required: - command @@ -227,10 +237,9 @@ spec: type: object type: array pre: - description: PreHooks is a list of BackupResourceHooks to - execute prior to storing the item in the backup. These - are executed before any "additional items" from item actions - are processed. + description: |- + PreHooks is a list of BackupResourceHooks to execute prior to storing the item in the backup. + These are executed before any "additional items" from item actions are processed. items: description: BackupResourceHook defines a hook for a resource. properties: @@ -245,10 +254,9 @@ spec: minItems: 1 type: array container: - description: Container is the container in the - pod where the command should be executed. If - not specified, the pod's first container is - used. + description: |- + Container is the container in the pod where the command should be executed. If not specified, + the pod's first container is used. type: string onError: description: OnError specifies how Velero should @@ -259,9 +267,9 @@ spec: - Fail type: string timeout: - description: Timeout defines the maximum amount - of time Velero should wait for the hook to complete - before considering the execution a failure. + description: |- + Timeout defines the maximum amount of time Velero should wait for the hook to complete before + considering the execution a failure. type: string required: - command @@ -277,74 +285,81 @@ spec: type: array type: object includeClusterResources: - description: IncludeClusterResources specifies whether cluster-scoped - resources should be included for consideration in the backup. + description: |- + IncludeClusterResources specifies whether cluster-scoped resources + should be included for consideration in the backup. nullable: true type: boolean includedClusterScopedResources: - description: IncludedClusterScopedResources is a slice of cluster-scoped - resource type names to include in the backup. If set to "*", all - cluster-scoped resource types are included. The default value is - empty, which means only related cluster-scoped resources are included. + description: |- + IncludedClusterScopedResources is a slice of cluster-scoped + resource type names to include in the backup. + If set to "*", all cluster-scoped resource types are included. + The default value is empty, which means only related + cluster-scoped resources are included. items: type: string nullable: true type: array includedNamespaceScopedResources: - description: IncludedNamespaceScopedResources is a slice of namespace-scoped - resource type names to include in the backup. The default value - is "*". + description: |- + IncludedNamespaceScopedResources is a slice of namespace-scoped + resource type names to include in the backup. + The default value is "*". items: type: string nullable: true type: array includedNamespaces: - description: IncludedNamespaces is a slice of namespace names to include - objects from. If empty, all namespaces are included. + description: |- + IncludedNamespaces is a slice of namespace names to include objects + from. If empty, all namespaces are included. items: type: string nullable: true type: array includedResources: - description: IncludedResources is a slice of resource names to include + description: |- + IncludedResources is a slice of resource names to include in the backup. If empty, all resources are included. items: type: string nullable: true type: array itemOperationTimeout: - description: ItemOperationTimeout specifies the time used to wait - for asynchronous BackupItemAction operations The default value is - 4 hour. + description: |- + ItemOperationTimeout specifies the time used to wait for asynchronous BackupItemAction operations + The default value is 4 hour. type: string labelSelector: - description: LabelSelector is a metav1.LabelSelector to filter with - when adding individual objects to the backup. If empty or nil, all - objects are included. Optional. + description: |- + LabelSelector is a metav1.LabelSelector to filter with + when adding individual objects to the backup. If empty + or nil, all objects are included. Optional. nullable: true properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic merge patch. items: type: string @@ -357,11 +372,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -373,40 +387,41 @@ spec: type: object type: object orLabelSelectors: - description: OrLabelSelectors is list of metav1.LabelSelector to filter - with when adding individual objects to the backup. If multiple provided + description: |- + OrLabelSelectors is list of metav1.LabelSelector to filter with + when adding individual objects to the backup. If multiple provided they will be joined by the OR operator. LabelSelector as well as - OrLabelSelectors cannot co-exist in backup request, only one of - them can be used. + OrLabelSelectors cannot co-exist in backup request, only one of them + can be used. items: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. + description: |- + A label selector is a label query over a set of resources. The result of matchLabels and + matchExpressions are ANDed. An empty label selector matches all objects. A null + label selector matches no objects. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the - key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a - strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -418,11 +433,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -431,11 +445,10 @@ spec: orderedResources: additionalProperties: type: string - description: OrderedResources specifies the backup order of resources - of specific Kind. The map key is the resource name and value is - a list of object names separated by commas. Each resource name has - format "namespace/objectname". For cluster resources, simply use - "objectname". + description: |- + OrderedResources specifies the backup order of resources of specific Kind. + The map key is the resource name and value is a list of object names separated by commas. + Each resource name has format "namespace/objectname". For cluster resources, simply use "objectname". nullable: true type: object resourcePolicy: @@ -443,10 +456,10 @@ spec: that backup should follow properties: apiGroup: - description: APIGroup is the group for the resource being referenced. - If APIGroup is not specified, the specified Kind must be in - the core API group. For any other third-party types, APIGroup - is required. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. + For any other third-party types, APIGroup is required. type: string kind: description: Kind is the type of resource being referenced @@ -465,8 +478,10 @@ spec: nullable: true type: boolean snapshotVolumes: - description: SnapshotVolumes specifies whether to take snapshots of - any PV's referenced in the set of objects included in the Backup. + description: |- + SnapshotVolumes specifies whether to take snapshots + of any PV's referenced in the set of objects included + in the Backup. nullable: true type: boolean storageLocation: @@ -474,8 +489,9 @@ spec: BackupStorageLocation where the backup should be stored. type: string ttl: - description: TTL is a time.Duration-parseable string describing how - long the Backup should be retained for. + description: |- + TTL is a time.Duration-parseable string describing how long + the Backup should be retained for. type: string uploaderConfig: description: UploaderConfig specifies the configuration for the uploader. @@ -497,39 +513,44 @@ spec: description: BackupStatus captures the current status of a Velero backup. properties: backupItemOperationsAttempted: - description: BackupItemOperationsAttempted is the total number of - attempted async BackupItemAction operations for this backup. + description: |- + BackupItemOperationsAttempted is the total number of attempted + async BackupItemAction operations for this backup. type: integer backupItemOperationsCompleted: - description: BackupItemOperationsCompleted is the total number of - successfully completed async BackupItemAction operations for this - backup. + description: |- + BackupItemOperationsCompleted is the total number of successfully completed + async BackupItemAction operations for this backup. type: integer backupItemOperationsFailed: - description: BackupItemOperationsFailed is the total number of async - BackupItemAction operations for this backup which ended with an - error. + description: |- + BackupItemOperationsFailed is the total number of async + BackupItemAction operations for this backup which ended with an error. type: integer completionTimestamp: - description: CompletionTimestamp records the time a backup was completed. - Completion time is recorded even on failed backups. Completion time - is recorded before uploading the backup object. The server's time - is used for CompletionTimestamps + description: |- + CompletionTimestamp records the time a backup was completed. + Completion time is recorded even on failed backups. + Completion time is recorded before uploading the backup object. + The server's time is used for CompletionTimestamps format: date-time nullable: true type: string csiVolumeSnapshotsAttempted: - description: CSIVolumeSnapshotsAttempted is the total number of attempted + description: |- + CSIVolumeSnapshotsAttempted is the total number of attempted CSI VolumeSnapshots for this backup. type: integer csiVolumeSnapshotsCompleted: - description: CSIVolumeSnapshotsCompleted is the total number of successfully + description: |- + CSIVolumeSnapshotsCompleted is the total number of successfully completed CSI VolumeSnapshots for this backup. type: integer errors: - description: Errors is a count of all error messages that were generated - during execution of the backup. The actual errors are in the backup's - log file in object storage. + description: |- + Errors is a count of all error messages that were generated during + execution of the backup. The actual errors are in the backup's log + file in object storage. type: integer expiration: description: Expiration is when this Backup is eligible for garbage-collection. @@ -550,10 +571,10 @@ spec: nullable: true properties: hooksAttempted: - description: HooksAttempted is the total number of attempted hooks - Specifically, HooksAttempted represents the number of hooks - that failed to execute and the number of hooks that executed - successfully. + description: |- + HooksAttempted is the total number of attempted hooks + Specifically, HooksAttempted represents the number of hooks that failed to execute + and the number of hooks that executed successfully. type: integer hooksFailed: description: HooksFailed is the total number of hooks which ended @@ -576,53 +597,62 @@ spec: - Deleting type: string progress: - description: Progress contains information about the backup's execution - progress. Note that this information is best-effort only -- if Velero - fails to update it during a backup for any reason, it may be inaccurate/stale. + description: |- + Progress contains information about the backup's execution progress. Note + that this information is best-effort only -- if Velero fails to update it + during a backup for any reason, it may be inaccurate/stale. nullable: true properties: itemsBackedUp: - description: ItemsBackedUp is the number of items that have actually - been written to the backup tarball so far. + description: |- + ItemsBackedUp is the number of items that have actually been written to the + backup tarball so far. type: integer totalItems: - description: TotalItems is the total number of items to be backed - up. This number may change throughout the execution of the backup - due to plugins that return additional related items to back - up, the velero.io/exclude-from-backup label, and various other + description: |- + TotalItems is the total number of items to be backed up. This number may change + throughout the execution of the backup due to plugins that return additional related + items to back up, the velero.io/exclude-from-backup label, and various other filters that happen as items are processed. type: integer type: object startTimestamp: - description: StartTimestamp records the time a backup was started. - Separate from CreationTimestamp, since that value changes on restores. + description: |- + StartTimestamp records the time a backup was started. + Separate from CreationTimestamp, since that value changes + on restores. The server's time is used for StartTimestamps format: date-time nullable: true type: string validationErrors: - description: ValidationErrors is a slice of all validation errors - (if applicable). + description: |- + ValidationErrors is a slice of all validation errors (if + applicable). items: type: string nullable: true type: array version: - description: 'Version is the backup format major version. Deprecated: - Please see FormatVersion' + description: |- + Version is the backup format major version. + Deprecated: Please see FormatVersion type: integer volumeSnapshotsAttempted: - description: VolumeSnapshotsAttempted is the total number of attempted + description: |- + VolumeSnapshotsAttempted is the total number of attempted volume snapshots for this backup. type: integer volumeSnapshotsCompleted: - description: VolumeSnapshotsCompleted is the total number of successfully + description: |- + VolumeSnapshotsCompleted is the total number of successfully completed volume snapshots for this backup. type: integer warnings: - description: Warnings is a count of all warning messages that were - generated during execution of the backup. The actual warnings are - in the backup's log file in object storage. + description: |- + Warnings is a count of all warning messages that were generated during + execution of the backup. The actual warnings are in the backup's log + file in object storage. type: integer type: object type: object diff --git a/config/crd/v1/bases/velero.io_backupstoragelocations.yaml b/config/crd/v1/bases/velero.io_backupstoragelocations.yaml index b1d4b2d491..c87adab481 100644 --- a/config/crd/v1/bases/velero.io_backupstoragelocations.yaml +++ b/config/crd/v1/bases/velero.io_backupstoragelocations.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: backupstoragelocations.velero.io spec: group: velero.io @@ -40,14 +40,19 @@ spec: objects 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' + 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' + 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 @@ -81,8 +86,10 @@ spec: valid secret key. type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: description: Specify whether the Secret or its key must be defined @@ -131,29 +138,36 @@ spec: BackupStorageLocation properties: accessMode: - description: "AccessMode is an unused field. \n Deprecated: there - is now an AccessMode field on the Spec and this field will be removed - entirely as of v2.0." + description: |- + AccessMode is an unused field. + + + Deprecated: there is now an AccessMode field on the Spec and this field + will be removed entirely as of v2.0. enum: - ReadOnly - ReadWrite type: string lastSyncedRevision: - description: "LastSyncedRevision is the value of the `metadata/revision` - file in the backup storage location the last time the BSL's contents - were synced into the cluster. \n Deprecated: this field is no longer - updated or used for detecting changes to the location's contents - and will be removed entirely in v2.0." + description: |- + LastSyncedRevision is the value of the `metadata/revision` file in the backup + storage location the last time the BSL's contents were synced into the cluster. + + + Deprecated: this field is no longer updated or used for detecting changes to + the location's contents and will be removed entirely in v2.0. type: string lastSyncedTime: - description: LastSyncedTime is the last time the contents of the location - were synced into the cluster. + description: |- + LastSyncedTime is the last time the contents of the location were synced into + the cluster. format: date-time nullable: true type: string lastValidationTime: - description: LastValidationTime is the last time the backup store - location was validated the cluster. + description: |- + LastValidationTime is the last time the backup store location was validated + the cluster. format: date-time nullable: true type: string diff --git a/config/crd/v1/bases/velero.io_deletebackuprequests.yaml b/config/crd/v1/bases/velero.io_deletebackuprequests.yaml index b4139758e8..9d301e8043 100644 --- a/config/crd/v1/bases/velero.io_deletebackuprequests.yaml +++ b/config/crd/v1/bases/velero.io_deletebackuprequests.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: deletebackuprequests.velero.io spec: group: velero.io @@ -29,14 +29,19 @@ spec: description: DeleteBackupRequest is a request to delete one or more backups. 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' + 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' + 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 diff --git a/config/crd/v1/bases/velero.io_downloadrequests.yaml b/config/crd/v1/bases/velero.io_downloadrequests.yaml index bf5f5e74a0..457a3a1551 100644 --- a/config/crd/v1/bases/velero.io_downloadrequests.yaml +++ b/config/crd/v1/bases/velero.io_downloadrequests.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: downloadrequests.velero.io spec: group: velero.io @@ -17,18 +17,24 @@ spec: - name: v1 schema: openAPIV3Schema: - description: DownloadRequest is a request to download an artifact from backup - object storage, such as a backup log file. + description: |- + DownloadRequest is a request to download an artifact from backup object storage, such as a backup + log file. 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' + 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' + 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 diff --git a/config/crd/v1/bases/velero.io_podvolumebackups.yaml b/config/crd/v1/bases/velero.io_podvolumebackups.yaml index 8d4b8032ee..08e703ef27 100644 --- a/config/crd/v1/bases/velero.io_podvolumebackups.yaml +++ b/config/crd/v1/bases/velero.io_podvolumebackups.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: podvolumebackups.velero.io spec: group: velero.io @@ -52,14 +52,19 @@ spec: openAPIV3Schema: 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' + 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' + 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 @@ -67,8 +72,9 @@ spec: description: PodVolumeBackupSpec is the specification for a PodVolumeBackup. properties: backupStorageLocation: - description: BackupStorageLocation is the name of the backup storage - location where the backup repository is stored. + description: |- + BackupStorageLocation is the name of the backup storage location + where the backup repository is stored. type: string node: description: Node is the name of the node that the Pod is running @@ -82,33 +88,40 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic @@ -118,14 +131,16 @@ spec: tags: additionalProperties: type: string - description: Tags are a map of key-value pairs that should be applied - to the volume backup as tags. + description: |- + Tags are a map of key-value pairs that should be applied to the + volume backup as tags. type: object uploaderSettings: additionalProperties: type: string - description: UploaderSettings are a map of key-value pairs that should - be applied to the uploader configuration. + description: |- + UploaderSettings are a map of key-value pairs that should be applied to the + uploader configuration. nullable: true type: object uploaderType: @@ -137,8 +152,9 @@ spec: - "" type: string volume: - description: Volume is the name of the volume within the Pod to be - backed up. + description: |- + Volume is the name of the volume within the Pod to be backed + up. type: string required: - backupStorageLocation @@ -151,10 +167,11 @@ spec: description: PodVolumeBackupStatus is the current status of a PodVolumeBackup. properties: completionTimestamp: - description: CompletionTimestamp records the time a backup was completed. - Completion time is recorded even on failed backups. Completion time - is recorded before uploading the backup object. The server's time - is used for CompletionTimestamps + description: |- + CompletionTimestamp records the time a backup was completed. + Completion time is recorded even on failed backups. + Completion time is recorded before uploading the backup object. + The server's time is used for CompletionTimestamps format: date-time nullable: true type: string @@ -174,9 +191,10 @@ spec: - Failed type: string progress: - description: Progress holds the total number of bytes of the volume - and the current number of backed up bytes. This can be used to display - progress information about the backup operation. + description: |- + Progress holds the total number of bytes of the volume and the current + number of backed up bytes. This can be used to display progress information + about the backup operation. properties: bytesDone: format: int64 @@ -190,8 +208,10 @@ spec: pod volume. type: string startTimestamp: - description: StartTimestamp records the time a backup was started. - Separate from CreationTimestamp, since that value changes on restores. + description: |- + StartTimestamp records the time a backup was started. + Separate from CreationTimestamp, since that value changes + on restores. The server's time is used for StartTimestamps format: date-time nullable: true diff --git a/config/crd/v1/bases/velero.io_podvolumerestores.yaml b/config/crd/v1/bases/velero.io_podvolumerestores.yaml index 385d8999e3..1c38a7d71c 100644 --- a/config/crd/v1/bases/velero.io_podvolumerestores.yaml +++ b/config/crd/v1/bases/velero.io_podvolumerestores.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: podvolumerestores.velero.io spec: group: velero.io @@ -53,14 +53,19 @@ spec: openAPIV3Schema: 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' + 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' + 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 @@ -68,8 +73,9 @@ spec: description: PodVolumeRestoreSpec is the specification for a PodVolumeRestore. properties: backupStorageLocation: - description: BackupStorageLocation is the name of the backup storage - location where the backup repository is stored. + description: |- + BackupStorageLocation is the name of the backup storage location + where the backup repository is stored. type: string pod: description: Pod is a reference to the pod containing the volume to @@ -79,33 +85,40 @@ spec: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + TODO: this design is not final and this field is subject to change in the future. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic @@ -122,8 +135,9 @@ spec: uploaderSettings: additionalProperties: type: string - description: UploaderSettings are a map of key-value pairs that should - be applied to the uploader configuration. + description: |- + UploaderSettings are a map of key-value pairs that should be applied to the + uploader configuration. nullable: true type: object uploaderType: @@ -150,9 +164,10 @@ spec: description: PodVolumeRestoreStatus is the current status of a PodVolumeRestore. properties: completionTimestamp: - description: CompletionTimestamp records the time a restore was completed. - Completion time is recorded even on failed restores. The server's - time is used for CompletionTimestamps + description: |- + CompletionTimestamp records the time a restore was completed. + Completion time is recorded even on failed restores. + The server's time is used for CompletionTimestamps format: date-time nullable: true type: string @@ -168,9 +183,10 @@ spec: - Failed type: string progress: - description: Progress holds the total number of bytes of the snapshot - and the current number of restored bytes. This can be used to display - progress information about the restore operation. + description: |- + Progress holds the total number of bytes of the snapshot and the current + number of restored bytes. This can be used to display progress information + about the restore operation. properties: bytesDone: format: int64 @@ -180,7 +196,8 @@ spec: type: integer type: object startTimestamp: - description: StartTimestamp records the time a restore was started. + description: |- + StartTimestamp records the time a restore was started. The server's time is used for StartTimestamps format: date-time nullable: true diff --git a/config/crd/v1/bases/velero.io_restores.yaml b/config/crd/v1/bases/velero.io_restores.yaml index ead0985ce9..e276172919 100644 --- a/config/crd/v1/bases/velero.io_restores.yaml +++ b/config/crd/v1/bases/velero.io_restores.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: restores.velero.io spec: group: velero.io @@ -17,18 +17,24 @@ spec: - name: v1 schema: openAPIV3Schema: - description: Restore is a Velero resource that represents the application - of resources from a Velero backup to a target Kubernetes cluster. + description: |- + Restore is a Velero resource that represents the application of + resources from a Velero backup to a target Kubernetes cluster. 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' + 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' + 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 @@ -36,19 +42,22 @@ spec: description: RestoreSpec defines the specification for a Velero restore. properties: backupName: - description: BackupName is the unique name of the Velero backup to - restore from. + description: |- + BackupName is the unique name of the Velero backup to restore + from. type: string excludedNamespaces: - description: ExcludedNamespaces contains a list of namespaces that - are not included in the restore. + description: |- + ExcludedNamespaces contains a list of namespaces that are not + included in the restore. items: type: string nullable: true type: array excludedResources: - description: ExcludedResources is a slice of resource names that are - not included in the restore. + description: |- + ExcludedResources is a slice of resource names that are not + included in the restore. items: type: string nullable: true @@ -64,9 +73,9 @@ spec: properties: resources: items: - description: RestoreResourceHookSpec defines one or more RestoreResrouceHooks - that should be executed based on the rules defined for namespaces, - resources, and label selector. + description: |- + RestoreResourceHookSpec defines one or more RestoreResrouceHooks that should be executed based on + the rules defined for namespaces, resources, and label selector. properties: excludedNamespaces: description: ExcludedNamespaces specifies the namespaces @@ -83,17 +92,17 @@ spec: nullable: true type: array includedNamespaces: - description: IncludedNamespaces specifies the namespaces - to which this hook spec applies. If empty, it applies + description: |- + IncludedNamespaces specifies the namespaces to which this hook spec applies. If empty, it applies to all namespaces. items: type: string nullable: true type: array includedResources: - description: IncludedResources specifies the resources to - which this hook spec applies. If empty, it applies to - all resources. + description: |- + IncludedResources specifies the resources to which this hook spec applies. If empty, it applies + to all resources. items: type: string nullable: true @@ -107,8 +116,8 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: @@ -116,17 +125,16 @@ spec: applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, - NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists - or DoesNotExist, the values array must be empty. - This array is replaced during a strategic merge - patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -138,11 +146,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field - is "key", the operator is "In", and the values array - contains only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -168,15 +175,14 @@ spec: minItems: 1 type: array container: - description: Container is the container in the - pod where the command should be executed. If - not specified, the pod's first container is - used. + description: |- + Container is the container in the pod where the command should be executed. If not specified, + the pod's first container is used. type: string execTimeout: - description: ExecTimeout defines the maximum amount - of time Velero should wait for the hook to complete - before considering the execution a failure. + description: |- + ExecTimeout defines the maximum amount of time Velero should wait for the hook to complete before + considering the execution a failure. type: string onError: description: OnError specifies how Velero should @@ -193,9 +199,9 @@ spec: nullable: true type: boolean waitTimeout: - description: WaitTimeout defines the maximum amount - of time Velero should wait for the container - to be Ready before attempting to run the command. + description: |- + WaitTimeout defines the maximum amount of time Velero should wait for the container to be Ready + before attempting to run the command. type: string required: - command @@ -225,57 +231,62 @@ spec: type: array type: object includeClusterResources: - description: IncludeClusterResources specifies whether cluster-scoped - resources should be included for consideration in the restore. If - null, defaults to true. + description: |- + IncludeClusterResources specifies whether cluster-scoped resources + should be included for consideration in the restore. If null, defaults + to true. nullable: true type: boolean includedNamespaces: - description: IncludedNamespaces is a slice of namespace names to include - objects from. If empty, all namespaces are included. + description: |- + IncludedNamespaces is a slice of namespace names to include objects + from. If empty, all namespaces are included. items: type: string nullable: true type: array includedResources: - description: IncludedResources is a slice of resource names to include + description: |- + IncludedResources is a slice of resource names to include in the restore. If empty, all resources in the backup are included. items: type: string nullable: true type: array itemOperationTimeout: - description: ItemOperationTimeout specifies the time used to wait - for RestoreItemAction operations The default value is 4 hour. + description: |- + ItemOperationTimeout specifies the time used to wait for RestoreItemAction operations + The default value is 4 hour. type: string labelSelector: - description: LabelSelector is a metav1.LabelSelector to filter with - when restoring individual objects from the backup. If empty or nil, - all objects are included. Optional. + description: |- + LabelSelector is a metav1.LabelSelector to filter with + when restoring individual objects from the backup. If empty + or nil, all objects are included. Optional. nullable: true properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the key - and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship to - a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a strategic + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic merge patch. items: type: string @@ -288,57 +299,58 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic namespaceMapping: additionalProperties: type: string - description: NamespaceMapping is a map of source namespace names to - target namespace names to restore into. Any source namespaces not - included in the map will be restored into namespaces of the same - name. + description: |- + NamespaceMapping is a map of source namespace names + to target namespace names to restore into. Any source + namespaces not included in the map will be restored into + namespaces of the same name. type: object orLabelSelectors: - description: OrLabelSelectors is list of metav1.LabelSelector to filter - with when restoring individual objects from the backup. If multiple - provided they will be joined by the OR operator. LabelSelector as - well as OrLabelSelectors cannot co-exist in restore request, only - one of them can be used + description: |- + OrLabelSelectors is list of metav1.LabelSelector to filter with + when restoring individual objects from the backup. If multiple provided + they will be joined by the OR operator. LabelSelector as well as + OrLabelSelectors cannot co-exist in restore request, only one of them + can be used items: - description: A label selector is a label query over a set of resources. - The result of matchLabels and matchExpressions are ANDed. An empty - label selector matches all objects. A null label selector matches - no objects. + description: |- + A label selector is a label query over a set of resources. The result of matchLabels and + matchExpressions are ANDed. An empty label selector matches all objects. A null + label selector matches no objects. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector that - contains values, a key, and an operator that relates the - key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, Exists - and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If the - operator is In or NotIn, the values array must be non-empty. - If the operator is Exists or DoesNotExist, the values - array must be empty. This array is replaced during a - strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -350,11 +362,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A single - {key,value} in the matchLabels map is equivalent to an element - of matchExpressions, whose key field is "key", the operator - is "In", and the values array contains only "value". The requirements - are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -371,10 +382,10 @@ spec: nullable: true properties: apiGroup: - description: APIGroup is the group for the resource being referenced. - If APIGroup is not specified, the specified Kind must be in - the core API group. For any other third-party types, APIGroup - is required. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. + For any other third-party types, APIGroup is required. type: string kind: description: Kind is the type of resource being referenced @@ -388,13 +399,15 @@ spec: type: object x-kubernetes-map-type: atomic restorePVs: - description: RestorePVs specifies whether to restore all included + description: |- + RestorePVs specifies whether to restore all included PVs from snapshot nullable: true type: boolean restoreStatus: - description: RestoreStatus specifies which resources we should restore - the status field. If nil, no objects are included. Optional. + description: |- + RestoreStatus specifies which resources we should restore the status + field. If nil, no objects are included. Optional. nullable: true properties: excludedResources: @@ -405,18 +418,19 @@ spec: nullable: true type: array includedResources: - description: IncludedResources specifies the resources to which - will restore the status. If empty, it applies to all resources. + description: |- + IncludedResources specifies the resources to which will restore the status. + If empty, it applies to all resources. items: type: string nullable: true type: array type: object scheduleName: - description: ScheduleName is the unique name of the Velero schedule - to restore from. If specified, and BackupName is empty, Velero will - restore from the most recent successful backup created from this - schedule. + description: |- + ScheduleName is the unique name of the Velero schedule to restore + from. If specified, and BackupName is empty, Velero will restore + from the most recent successful backup created from this schedule. type: string uploaderConfig: description: UploaderConfig specifies the configuration for the restore. @@ -437,16 +451,17 @@ spec: description: RestoreStatus captures the current status of a Velero restore properties: completionTimestamp: - description: CompletionTimestamp records the time the restore operation - was completed. Completion time is recorded even on failed restore. + description: |- + CompletionTimestamp records the time the restore operation was completed. + Completion time is recorded even on failed restore. The server's time is used for StartTimestamps format: date-time nullable: true type: string errors: - description: Errors is a count of all error messages that were generated - during execution of the restore. The actual errors are stored in - object storage. + description: |- + Errors is a count of all error messages that were generated during + execution of the restore. The actual errors are stored in object storage. type: integer failureReason: description: FailureReason is an error that caused the entire restore @@ -458,10 +473,10 @@ spec: nullable: true properties: hooksAttempted: - description: HooksAttempted is the total number of attempted hooks - Specifically, HooksAttempted represents the number of hooks - that failed to execute and the number of hooks that executed - successfully. + description: |- + HooksAttempted is the total number of attempted hooks + Specifically, HooksAttempted represents the number of hooks that failed to execute + and the number of hooks that executed successfully. type: integer hooksFailed: description: HooksFailed is the total number of hooks which ended @@ -483,9 +498,10 @@ spec: - FinalizingPartiallyFailed type: string progress: - description: Progress contains information about the restore's execution - progress. Note that this information is best-effort only -- if Velero - fails to update it during a restore for any reason, it may be inaccurate/stale. + description: |- + Progress contains information about the restore's execution progress. Note + that this information is best-effort only -- if Velero fails to update it + during a restore for any reason, it may be inaccurate/stale. nullable: true properties: itemsRestored: @@ -493,42 +509,46 @@ spec: been restored so far type: integer totalItems: - description: TotalItems is the total number of items to be restored. - This number may change throughout the execution of the restore - due to plugins that return additional related items to restore + description: |- + TotalItems is the total number of items to be restored. This number may change + throughout the execution of the restore due to plugins that return additional related + items to restore type: integer type: object restoreItemOperationsAttempted: - description: RestoreItemOperationsAttempted is the total number of - attempted async RestoreItemAction operations for this restore. + description: |- + RestoreItemOperationsAttempted is the total number of attempted + async RestoreItemAction operations for this restore. type: integer restoreItemOperationsCompleted: - description: RestoreItemOperationsCompleted is the total number of - successfully completed async RestoreItemAction operations for this - restore. + description: |- + RestoreItemOperationsCompleted is the total number of successfully completed + async RestoreItemAction operations for this restore. type: integer restoreItemOperationsFailed: - description: RestoreItemOperationsFailed is the total number of async - RestoreItemAction operations for this restore which ended with an - error. + description: |- + RestoreItemOperationsFailed is the total number of async + RestoreItemAction operations for this restore which ended with an error. type: integer startTimestamp: - description: StartTimestamp records the time the restore operation - was started. The server's time is used for StartTimestamps + description: |- + StartTimestamp records the time the restore operation was started. + The server's time is used for StartTimestamps format: date-time nullable: true type: string validationErrors: - description: ValidationErrors is a slice of all validation errors - (if applicable) + description: |- + ValidationErrors is a slice of all validation errors (if + applicable) items: type: string nullable: true type: array warnings: - description: Warnings is a count of all warning messages that were - generated during execution of the restore. The actual warnings are - stored in object storage. + description: |- + Warnings is a count of all warning messages that were generated during + execution of the restore. The actual warnings are stored in object storage. type: integer type: object type: object diff --git a/config/crd/v1/bases/velero.io_schedules.yaml b/config/crd/v1/bases/velero.io_schedules.yaml index 7c4de96b5d..bb844abbbf 100644 --- a/config/crd/v1/bases/velero.io_schedules.yaml +++ b/config/crd/v1/bases/velero.io_schedules.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: schedules.velero.io spec: group: velero.io @@ -36,18 +36,24 @@ spec: name: v1 schema: openAPIV3Schema: - description: Schedule is a Velero resource that represents a pre-scheduled - or periodic Backup that should be run. + description: |- + Schedule is a Velero resource that represents a pre-scheduled or + periodic Backup that should be run. 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' + 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' + 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 @@ -58,73 +64,80 @@ spec: description: Paused specifies whether the schedule is paused or not type: boolean schedule: - description: Schedule is a Cron expression defining when to run the - Backup. + description: |- + Schedule is a Cron expression defining when to run + the Backup. type: string skipImmediately: - description: 'SkipImmediately specifies whether to skip backup if - schedule is due immediately from `schedule.status.lastBackup` timestamp - when schedule is unpaused or if schedule is new. If true, backup - will be skipped immediately when schedule is unpaused if it is due - based on .Status.LastBackupTimestamp or schedule is new, and will - run at next schedule time. If false, backup will not be skipped - immediately when schedule is unpaused, but will run at next schedule - time. If empty, will follow server configuration (default: false).' + description: |- + SkipImmediately specifies whether to skip backup if schedule is due immediately from `schedule.status.lastBackup` timestamp when schedule is unpaused or if schedule is new. + If true, backup will be skipped immediately when schedule is unpaused if it is due based on .Status.LastBackupTimestamp or schedule is new, and will run at next schedule time. + If false, backup will not be skipped immediately when schedule is unpaused, but will run at next schedule time. + If empty, will follow server configuration (default: false). type: boolean template: - description: Template is the definition of the Backup to be run on - the provided schedule + description: |- + Template is the definition of the Backup to be run + on the provided schedule properties: csiSnapshotTimeout: - description: CSISnapshotTimeout specifies the time used to wait - for CSI VolumeSnapshot status turns to ReadyToUse during creation, - before returning error as timeout. The default value is 10 minute. + description: |- + CSISnapshotTimeout specifies the time used to wait for CSI VolumeSnapshot status turns to + ReadyToUse during creation, before returning error as timeout. + The default value is 10 minute. type: string datamover: - description: DataMover specifies the data mover to be used by - the backup. If DataMover is "" or "velero", the built-in data - mover will be used. + description: |- + DataMover specifies the data mover to be used by the backup. + If DataMover is "" or "velero", the built-in data mover will be used. type: string defaultVolumesToFsBackup: - description: DefaultVolumesToFsBackup specifies whether pod volume - file system backup should be used for all volumes by default. + description: |- + DefaultVolumesToFsBackup specifies whether pod volume file system backup should be used + for all volumes by default. nullable: true type: boolean defaultVolumesToRestic: - description: "DefaultVolumesToRestic specifies whether restic - should be used to take a backup of all pod volumes by default. - \n Deprecated: this field is no longer used and will be removed - entirely in future. Use DefaultVolumesToFsBackup instead." + description: |- + DefaultVolumesToRestic specifies whether restic should be used to take a + backup of all pod volumes by default. + + + Deprecated: this field is no longer used and will be removed entirely in future. Use DefaultVolumesToFsBackup instead. nullable: true type: boolean excludedClusterScopedResources: - description: ExcludedClusterScopedResources is a slice of cluster-scoped - resource type names to exclude from the backup. If set to "*", - all cluster-scoped resource types are excluded. The default - value is empty. + description: |- + ExcludedClusterScopedResources is a slice of cluster-scoped + resource type names to exclude from the backup. + If set to "*", all cluster-scoped resource types are excluded. + The default value is empty. items: type: string nullable: true type: array excludedNamespaceScopedResources: - description: ExcludedNamespaceScopedResources is a slice of namespace-scoped - resource type names to exclude from the backup. If set to "*", - all namespace-scoped resource types are excluded. The default - value is empty. + description: |- + ExcludedNamespaceScopedResources is a slice of namespace-scoped + resource type names to exclude from the backup. + If set to "*", all namespace-scoped resource types are excluded. + The default value is empty. items: type: string nullable: true type: array excludedNamespaces: - description: ExcludedNamespaces contains a list of namespaces - that are not included in the backup. + description: |- + ExcludedNamespaces contains a list of namespaces that are not + included in the backup. items: type: string nullable: true type: array excludedResources: - description: ExcludedResources is a slice of resource names that - are not included in the backup. + description: |- + ExcludedResources is a slice of resource names that are not + included in the backup. items: type: string nullable: true @@ -137,9 +150,9 @@ spec: description: Resources are hooks that should be executed when backing up individual instances of a resource. items: - description: BackupResourceHookSpec defines one or more - BackupResourceHooks that should be executed based on the - rules defined for namespaces, resources, and label selector. + description: |- + BackupResourceHookSpec defines one or more BackupResourceHooks that should be executed based on + the rules defined for namespaces, resources, and label selector. properties: excludedNamespaces: description: ExcludedNamespaces specifies the namespaces @@ -156,16 +169,16 @@ spec: nullable: true type: array includedNamespaces: - description: IncludedNamespaces specifies the namespaces - to which this hook spec applies. If empty, it applies + description: |- + IncludedNamespaces specifies the namespaces to which this hook spec applies. If empty, it applies to all namespaces. items: type: string nullable: true type: array includedResources: - description: IncludedResources specifies the resources - to which this hook spec applies. If empty, it applies + description: |- + IncludedResources specifies the resources to which this hook spec applies. If empty, it applies to all resources. items: type: string @@ -180,26 +193,25 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a - selector that contains values, a key, and an - operator that relates the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are - In, NotIn, Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string - values. If the operator is In or NotIn, - the values array must be non-empty. If the - operator is Exists or DoesNotExist, the - values array must be empty. This array is - replaced during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -211,12 +223,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} - pairs. A single {key,value} in the matchLabels - map is equivalent to an element of matchExpressions, - whose key field is "key", the operator is "In", - and the values array contains only "value". The - requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -224,10 +234,9 @@ spec: description: Name is the name of this hook. type: string post: - description: PostHooks is a list of BackupResourceHooks - to execute after storing the item in the backup. These - are executed after all "additional items" from item - actions are processed. + description: |- + PostHooks is a list of BackupResourceHooks to execute after storing the item in the backup. + These are executed after all "additional items" from item actions are processed. items: description: BackupResourceHook defines a hook for a resource. @@ -243,10 +252,9 @@ spec: minItems: 1 type: array container: - description: Container is the container in - the pod where the command should be executed. - If not specified, the pod's first container - is used. + description: |- + Container is the container in the pod where the command should be executed. If not specified, + the pod's first container is used. type: string onError: description: OnError specifies how Velero @@ -257,10 +265,9 @@ spec: - Fail type: string timeout: - description: Timeout defines the maximum amount - of time Velero should wait for the hook - to complete before considering the execution - a failure. + description: |- + Timeout defines the maximum amount of time Velero should wait for the hook to complete before + considering the execution a failure. type: string required: - command @@ -270,10 +277,9 @@ spec: type: object type: array pre: - description: PreHooks is a list of BackupResourceHooks - to execute prior to storing the item in the backup. - These are executed before any "additional items" from - item actions are processed. + description: |- + PreHooks is a list of BackupResourceHooks to execute prior to storing the item in the backup. + These are executed before any "additional items" from item actions are processed. items: description: BackupResourceHook defines a hook for a resource. @@ -289,10 +295,9 @@ spec: minItems: 1 type: array container: - description: Container is the container in - the pod where the command should be executed. - If not specified, the pod's first container - is used. + description: |- + Container is the container in the pod where the command should be executed. If not specified, + the pod's first container is used. type: string onError: description: OnError specifies how Velero @@ -303,10 +308,9 @@ spec: - Fail type: string timeout: - description: Timeout defines the maximum amount - of time Velero should wait for the hook - to complete before considering the execution - a failure. + description: |- + Timeout defines the maximum amount of time Velero should wait for the hook to complete before + considering the execution a failure. type: string required: - command @@ -322,50 +326,56 @@ spec: type: array type: object includeClusterResources: - description: IncludeClusterResources specifies whether cluster-scoped - resources should be included for consideration in the backup. + description: |- + IncludeClusterResources specifies whether cluster-scoped resources + should be included for consideration in the backup. nullable: true type: boolean includedClusterScopedResources: - description: IncludedClusterScopedResources is a slice of cluster-scoped - resource type names to include in the backup. If set to "*", - all cluster-scoped resource types are included. The default - value is empty, which means only related cluster-scoped resources - are included. + description: |- + IncludedClusterScopedResources is a slice of cluster-scoped + resource type names to include in the backup. + If set to "*", all cluster-scoped resource types are included. + The default value is empty, which means only related + cluster-scoped resources are included. items: type: string nullable: true type: array includedNamespaceScopedResources: - description: IncludedNamespaceScopedResources is a slice of namespace-scoped - resource type names to include in the backup. The default value - is "*". + description: |- + IncludedNamespaceScopedResources is a slice of namespace-scoped + resource type names to include in the backup. + The default value is "*". items: type: string nullable: true type: array includedNamespaces: - description: IncludedNamespaces is a slice of namespace names - to include objects from. If empty, all namespaces are included. + description: |- + IncludedNamespaces is a slice of namespace names to include objects + from. If empty, all namespaces are included. items: type: string nullable: true type: array includedResources: - description: IncludedResources is a slice of resource names to - include in the backup. If empty, all resources are included. + description: |- + IncludedResources is a slice of resource names to include + in the backup. If empty, all resources are included. items: type: string nullable: true type: array itemOperationTimeout: - description: ItemOperationTimeout specifies the time used to wait - for asynchronous BackupItemAction operations The default value - is 4 hour. + description: |- + ItemOperationTimeout specifies the time used to wait for asynchronous BackupItemAction operations + The default value is 4 hour. type: string labelSelector: - description: LabelSelector is a metav1.LabelSelector to filter - with when adding individual objects to the backup. If empty + description: |- + LabelSelector is a metav1.LabelSelector to filter with + when adding individual objects to the backup. If empty or nil, all objects are included. Optional. nullable: true properties: @@ -373,25 +383,25 @@ spec: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that relates - the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. If - the operator is In or NotIn, the values array must - be non-empty. If the operator is Exists or DoesNotExist, - the values array must be empty. This array is replaced - during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -403,11 +413,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. A - single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is "key", - the operator is "In", and the values array contains only - "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -419,40 +428,41 @@ spec: type: object type: object orLabelSelectors: - description: OrLabelSelectors is list of metav1.LabelSelector - to filter with when adding individual objects to the backup. - If multiple provided they will be joined by the OR operator. - LabelSelector as well as OrLabelSelectors cannot co-exist in - backup request, only one of them can be used. + description: |- + OrLabelSelectors is list of metav1.LabelSelector to filter with + when adding individual objects to the backup. If multiple provided + they will be joined by the OR operator. LabelSelector as well as + OrLabelSelectors cannot co-exist in backup request, only one of them + can be used. items: - description: A label selector is a label query over a set of - resources. The result of matchLabels and matchExpressions - are ANDed. An empty label selector matches all objects. A - null label selector matches no objects. + description: |- + A label selector is a label query over a set of resources. The result of matchLabels and + matchExpressions are ANDed. An empty label selector matches all objects. A null + label selector matches no objects. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: - description: A label selector requirement is a selector - that contains values, a key, and an operator that relates - the key and values. + description: |- + A label selector requirement is a selector that contains values, a key, and an operator that + relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: - description: operator represents a key's relationship - to a set of values. Valid operators are In, NotIn, - Exists and DoesNotExist. + description: |- + operator represents a key's relationship to a set of values. + Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: - description: values is an array of string values. - If the operator is In or NotIn, the values array - must be non-empty. If the operator is Exists or - DoesNotExist, the values array must be empty. This - array is replaced during a strategic merge patch. + description: |- + values is an array of string values. If the operator is In or NotIn, + the values array must be non-empty. If the operator is Exists or DoesNotExist, + the values array must be empty. This array is replaced during a strategic + merge patch. items: type: string type: array @@ -464,11 +474,10 @@ spec: matchLabels: additionalProperties: type: string - description: matchLabels is a map of {key,value} pairs. - A single {key,value} in the matchLabels map is equivalent - to an element of matchExpressions, whose key field is - "key", the operator is "In", and the values array contains - only "value". The requirements are ANDed. + description: |- + matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels + map is equivalent to an element of matchExpressions, whose key field is "key", the + operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object x-kubernetes-map-type: atomic @@ -477,11 +486,10 @@ spec: orderedResources: additionalProperties: type: string - description: OrderedResources specifies the backup order of resources - of specific Kind. The map key is the resource name and value - is a list of object names separated by commas. Each resource - name has format "namespace/objectname". For cluster resources, - simply use "objectname". + description: |- + OrderedResources specifies the backup order of resources of specific Kind. + The map key is the resource name and value is a list of object names separated by commas. + Each resource name has format "namespace/objectname". For cluster resources, simply use "objectname". nullable: true type: object resourcePolicy: @@ -489,10 +497,10 @@ spec: policies that backup should follow properties: apiGroup: - description: APIGroup is the group for the resource being - referenced. If APIGroup is not specified, the specified - Kind must be in the core API group. For any other third-party - types, APIGroup is required. + description: |- + APIGroup is the group for the resource being referenced. + If APIGroup is not specified, the specified Kind must be in the core API group. + For any other third-party types, APIGroup is required. type: string kind: description: Kind is the type of resource being referenced @@ -511,9 +519,10 @@ spec: nullable: true type: boolean snapshotVolumes: - description: SnapshotVolumes specifies whether to take snapshots - of any PV's referenced in the set of objects included in the - Backup. + description: |- + SnapshotVolumes specifies whether to take snapshots + of any PV's referenced in the set of objects included + in the Backup. nullable: true type: boolean storageLocation: @@ -521,8 +530,9 @@ spec: a BackupStorageLocation where the backup should be stored. type: string ttl: - description: TTL is a time.Duration-parseable string describing - how long the Backup should be retained for. + description: |- + TTL is a time.Duration-parseable string describing how long + the Backup should be retained for. type: string uploaderConfig: description: UploaderConfig specifies the configuration for the @@ -542,8 +552,9 @@ spec: type: array type: object useOwnerReferencesInBackup: - description: UseOwnerReferencesBackup specifies whether to use OwnerReferences - on backups created by this Schedule. + description: |- + UseOwnerReferencesBackup specifies whether to use + OwnerReferences on backups created by this Schedule. nullable: true type: boolean required: @@ -554,7 +565,8 @@ spec: description: ScheduleStatus captures the current state of a Velero schedule properties: lastBackup: - description: LastBackup is the last time a Backup was run for this + description: |- + LastBackup is the last time a Backup was run for this Schedule schedule format: date-time nullable: true @@ -572,8 +584,9 @@ spec: - FailedValidation type: string validationErrors: - description: ValidationErrors is a slice of all validation errors - (if applicable) + description: |- + ValidationErrors is a slice of all validation errors (if + applicable) items: type: string type: array diff --git a/config/crd/v1/bases/velero.io_serverstatusrequests.yaml b/config/crd/v1/bases/velero.io_serverstatusrequests.yaml index 93467a4a44..a0e8c6bcef 100644 --- a/config/crd/v1/bases/velero.io_serverstatusrequests.yaml +++ b/config/crd/v1/bases/velero.io_serverstatusrequests.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: serverstatusrequests.velero.io spec: group: velero.io @@ -19,18 +19,24 @@ spec: - name: v1 schema: openAPIV3Schema: - description: ServerStatusRequest is a request to access current status information - about the Velero server. + description: |- + ServerStatusRequest is a request to access current status information about + the Velero server. 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' + 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' + 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 @@ -63,8 +69,9 @@ spec: nullable: true type: array processedTimestamp: - description: ProcessedTimestamp is when the ServerStatusRequest was - processed by the ServerStatusRequestController. + description: |- + ProcessedTimestamp is when the ServerStatusRequest was processed + by the ServerStatusRequestController. format: date-time nullable: true type: string diff --git a/config/crd/v1/bases/velero.io_volumesnapshotlocations.yaml b/config/crd/v1/bases/velero.io_volumesnapshotlocations.yaml index 79be91067a..4986a427da 100644 --- a/config/crd/v1/bases/velero.io_volumesnapshotlocations.yaml +++ b/config/crd/v1/bases/velero.io_volumesnapshotlocations.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: volumesnapshotlocations.velero.io spec: group: velero.io @@ -23,14 +23,19 @@ spec: snapshots. 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' + 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' + 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 @@ -52,8 +57,10 @@ spec: valid secret key. type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: description: Specify whether the Secret or its key must be defined diff --git a/config/crd/v1/crds/crds.go b/config/crd/v1/crds/crds.go index b4444d47e2..12177218cb 100644 --- a/config/crd/v1/crds/crds.go +++ b/config/crd/v1/crds/crds.go @@ -29,17 +29,17 @@ import ( ) var rawCRDs = [][]byte{ - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xb4VAo\xe46\x0f\xbdϯ \xf6;\xec\xe5\xb3g\xb7\xbd\x14\xbem\xd3\x16\b\x9a\x04A\x12\xe4Nۜ\x19mdI\x95\xa8I\xa7E\xff{A\xc9\xcexl'\xb3Y\xa0\xbaY\xa2\x1e\xc9G>ZEQ\xacЩG\xf2AYS\x01:E\x7f2\x19\xf9\n\xe5\xd3O\xa1Tv\xbd\xff\xbczR\xa6\xad\xe0\"\x06\xb6\xdd\x1d\x05\x1b}C\xbf\xd0F\x19\xc5ʚUG\x8c-2V+\x004\xc62\xcav\x90O\x80\xc6\x1a\xf6Vk\xf2ŖL\xf9\x14k\xaa\xa3\xd2-\xf9\x04>\xb8\xde\x7f*?\xffP~Z\x01\x18쨂\x1a\x9b\xa7\xe8<9\x1b\x14[\xaf(\x94{\xd2\xe4m\xa9\xec*8j\x04}\xebmt\x15\x1c\x0f\xf2\xed\xdes\x8e\xfa\xe7\x04t7\x00\x1dґV\x81\x7f_<\xbeR\x81\x93\x89\xd3ѣ^\n$\x1d\ae\xb6Q\xa3\x9f\x19\x88\x83\xd0XG\x15\xdcH,\x0e\x1bjW\x00}\xa6)\xb6\x02\xb0m\x13w\xa8o\xbd2L\xfe\xc2\xea\xd8\r\x9c\x15\xf05Xs\x8b\xbc\xab\xa0\x1c\xd8-\x1bO\x89\xd8\a\xd5Q`\xec\\\xb2\x1d\b\xfb\xb2\xa5\xfe\x9b\x0f\xe2\xbcE\xa69\x980W\x1ec}88:A9\x12\x01\xa3\xb3\x8c\x18\xd8+\xb3]\x1d\x8d\xf7\x9f3\x15͎:\xacz[\xeb\xc8|\xb9\xbd|\xfc\xf1\xfed\x1b\xc0y\xebȳ\x1aʓר\xfdF\xbb\x00-\x85\xc6+ǩ9>\n`\xb6\x82V\xfa\x8e\x02\xf0\x8e\x06N\xa9\xedc\x00\xbb\x01ީ\x00\x9e\x9c\xa7@&w\xe2\t0\x88\x11\x1a\xb0\xf5Wj\xb8\x84{\xf2\x02\x03ag\xa3n\xa5]\xf7\xe4\x19<5vk\xd4_/\xd8\x01\xd8&\xa7\x1a\x99\xfa\x1e9\xaeTC\x83\x1a\xf6\xa8#\xfd\x1fд\xd0\xe1\x01<\x89\x17\x88f\x84\x97LB\t\xd7\xd6\x13(\xb3\xb1\x15\xec\x98]\xa8\xd6\xeb\xad\xe2Av\x8d\xed\xbah\x14\x1f\xd6IA\xaa\x8el}X\xb7\xb4'\xbd\x0ej[\xa0ov\x8a\xa9\xe1\xe8i\x8dN\x15)t\x93\xa4Wv\xed\xff|/\xd4\xf0\xf1$\xd6Y-\xf3Jby\xa3\x02\xa2\x16P\x01\xb0\xbf\x9a\xb38\x12-[\xc2\xceݯ\xf7\x0f0\xb8NŘ\xb2\x9fx?^\f\xc7\x12\ba\xcal\xc8\xe7\"n\xbc\xed\x12&\x99\xd6Ye8}4Z\x91\x99\xd2\x1fb\xdd)\x96\xba\xff\x11)\xb0Ԫ\x84\x8b4\x8b\xa0&\x88N\xd4Жpi\xe0\x02;\xd2\x17\x18\xe8?/\x800\x1d\n!\xf6\xdbJ0\x1e\xa3S\xe3\xcc\xda\xe8`\x18\x81\xaf\xd4k:\xd6\xee\x1d5R>aP\xae\xaa\x8dj\x926`c=\xe0̾<\x81^\x96\xae\xac<\xfc\xee\xd9z\xdcҕ͘S\xa3\xc5\xd8&w\x86\xe0d\xb2d\x19Ӳ\xe1\f\x1b\x80w\xc8#\xfd2*\xf32\x06\x16\xf3y\xa3\b\xa9\x10(r6h\x1a\xfa-u\x94i\x0egr\xba^\xb8\")\xed\xec3\xd8\r\x93\x19\x83\xf6\xb1.dR\x13\xf8h\xde\x15\xec\xe90?\x13\xe6݉1(\xd3J\x1b\xf4\xd3T\x9c\f\xd4K]ɴ\xe0O\xff\x9b\xe3E&vsw\x05ʊ\xe7V\xd8N\xa0,\xc12y\x10\xec\x1f5lM\x8c\xc4N95\xe0\x05\xa0)L\x18P\x82rr\xa2\xbc\x82\x1b$IA\xcfD\x81\xed\x85T\xa2\x05\x0f\xab\xe8\r\xf9E* L\xec\xe5\x1br4\xa6\xd4o^\xbd:0\x13&M&\x8b\xa2\x12̜_\xa1\xfc\xb3]e\xa4үr8\x01\x7f\xa5\xd9aMUvd\x062\xcb\xc8W\xb4dkD]\xe0\xc4\xd9\x14\xf9\xbf\x04\x01\xd0/;\xb8\x9a\xb3\x15Fm\x14\x13\x87\xd6\x0f(\xf5\x13\x1c\xb0\x13\xc0ɗk\xeaF\xd1\x10\xda~\xb2\xd4\xf9\xfc\xfe\xfe\xa1-{L\xf7\xa9\x8fto\td\xc3\x02K0&\xf6\xa0\x1c\x13\xf7J\x16\b\x13D\xee\xa4\x0fE\x973\x10}\xf2\xebjW0c\xf9\xfe\xf7\n\xb4\x15r\xb9!\xb7\xa8I\xc8\x0eHU\xe6V27d+\xc8--\x80\xdfR\r\xcf\xce\x00Ki\xbd\xb6\x84McA[\t\xf6+;\xaa\xb5~\b\xbal\x84_N!ܗ\x90u&\x8cm\xc5\xf6,\xc3iA\xf6R5\xfa©\xabM\ad|\xcaڒiv/h\xa9\x8f\xd2<\xb0\x02de\xfa5z\b\xdd\xdeo{\r\x022\x1e5T+\x95\x86\xdcγ'ʌEo\x00\x93X@\xe4\vj\x98\x00\x0f5M\xa5\x89\xa9\x94\xc0Y\xfa\x19h~~\x90\xbfj y\x85\u009a)\xc0!ߐ\x1d쥂\b\\\x05\xb6\xbd\xad\fJY\xc2hDIVfC\x1e\x8e`\xc9H+n\xbc\xdc3M^\xff\x99\x14LT\x066\x03h#\fF\xa2PC\vy\x025C\xafw\xd4\xd0_l\xbd\x1e\x99l{\x82\x00\xecHw\x9ed\xbb\xb3\xfd12*\xcfU\xb2ݷ 2MV+\"\x15Y\xb9%pu\x83\xa0\xed\xa2j\xd6L\xb4\xfa\x88@|b\x9c\x87~\x97\x8d\xdc\x11\xd0\xf1N?\xc8\x0f\xda\t\xe9\x1c!F\x9a\xb5\xe8\xf2t\x04s\x04EJ\x19\x16\x9f\b\xde{Ɓ\xe8\xb36Px\xaa\x04\x95\x1f\x88\x88Ӂs\x0fB[\xa2z\x9c\x87\xe3\x14\x15\xe7t\xc7\xe1\r1\xaa\x1av\xe7Ȱ\x93\x92\x03\xed/?}:|\x06mX6C\x85U\x9f\f\xaeU\x84\b\xca\xff\x80c\x8bID3\xcb\f}\x04B\x035\xec\xb2\xc8y\x8b\x88\x1d\n\x90\xff\x12\xe4\x9d\xd5ٙդCl\x89\xd7\xd9\f8\xae\x13B\x12.\xc5\x01\x94\xebͮ\x87Ar\x14X\xd9ʉU\x95\n\xb8\xd5\xf9d_Y-:\xa43!v\x16\x8f\xca\x00\x13\xda\x00\xcd7\xabk2\b\xbef\xbc\xca!\xbfuFн5\xdf\xf2`\xb4\x0e4a\x8fQ\xef'\x1b\xfb\x15\x94\xb3\fm/of\xad\xd1B\x8c1\xabYH\xcf%8#\xd52\xcecج\x90\xadi\xae\xc1\xd8*\xab?\xadn,?#@\xbb\xbdv\xfbЄ*\xa8)\x10\xd7|\x11\x90P\x94\xe6<\xe4\x1e3PD\b6\xa9&\x12YG\x95\xa2\xe7\x11\xc6Ֆ\xf6e\xac\x1bk\xdec\x9e\b\xd5~g\xf6\xf5\xfb]\xc8\xc0\bD\xa6\xbfW\x06.f\x99Fo\x912aYe\x1d\xb7\x0e\xa74:C\x91\xe1X\x9aY[\x91\t\a\x0f\xfd\x9c\x861\xdf\v]\x96J\xf2\x98\xe8\xd6\x12\xe3E\xd2z\x884j\x15}\xc7D9J\xf98G\x88\xbf\xda:\x8d\xafA2\f@\x90\x1d\x1c\xe9\x89I\xe5\x87\xde\xd8\x01\xf0\x15\xb2\xcaD\xe725$g\xfb=(\v\xa7h\xb0 l\xc3:GĚ\xc7S\xa3M\x92\xdfR\xea\xc8\xce\xf7\b*wR\x1b\x17\x91옳K\xa2_\xc4ɞ\x8fz\x11\xbawY:R\x85\xfc\v\xab.{\x81Z\xcbm=\xad\x99ݞ\x81\x8f\xa49\xa0\xd6![53\xdf\xe9\xe1\x95۳\xc0Nh\x86F\xc9,\xdcR\xc9\ftt\xb7\xb8)\tZ~&\xb8X\a\x16\xa9s|\\r\xc3t03\x94tC\xd6\x12i\xa1\v\xf0\xfek+\xeai\x95\x86\xfd{N\xf8\x96\xe2Ep\xae\x17\x05\xedg\xf1$\xa1x\xebZ\x86i\xe2\x019\x97B\x1d*T\x11閧\x17\xa4\xefay/\x98\xd8b\a\xe4\xf5\xd5́Z\xb9\xc6r9b\xa5Gr߶!z\xfdA\x8c$s\xc4J)1⯠ùa|\xdc\x1a\x98\x89 \x854\xed0\x84\x85[\xca\xfc\xa5&{\xa6\xb4i#\x9a*\x14\xf1\\\x91XY\xeaq\x89\xf7J]\xe4p}r-[\x01\xb0\xa3|\n\xb9P\xa3\xc9\x13\xb1\x82\x9bI@؞0C@d\xb2\x12\x18\xb6\xb1S\x1d\xbbp,p\n:\x99di\n\xc2\x16\x10U\x91F\x805J\x1d\x13\x93\xf1\x9dv\xf5\x0f\x94\xc5v\xa0\x87e!\xdb\xccX\xcaX\xact\xd8\x16r\xc7\xdaIm\x05\xfdʊ\xaa \xb4\xb0\xa4Ou\x97\xf6.\xe3\xac\xc3\xf1:\xef\f\xe1\xe22b\xa4\x9dT%\a\x93:#]\x86\x99\x9d&\x9a\xe5P/\xcc^\n\xa4 \x94\xec)\xe3#\xe9.ò\x88\xb6K|\x14\xaf,\xae\xe7|\xa4u\xbeFR$\x04p\x13\x8d\xccim]\xaatS\xf1NA\x9ay6\x17\xcc\x0e\xe6Y\xa9\x98\xc4<\xbd+[h^Ĩ8\xff0\xd1\x06凉6S~\x98h\xa3凉6_~\x98h\xbe\xfc0\xd1B\xf9a\xa2\xfd0Ѧ\xaaMi\xeb9\x8c\xdc鸑\x1fg\xb1H\xd8֞Bq\x02\xbe\xcf\xc2\xf0yީ\x99\x99\xdbx\xabH\x1e\x7frn\xb8n-%u\xaa\xa6\x9d A\xbc\xdda\x9f\x99\xe4\xcdoȗ\x0f\x9d^\x94/\xbf\x9dl|\xa5|y\x8fa\xdf\xea\xbeR\xb6|\x18\xff\xb2l\xf9\x1b\x9f\xaaQ\x00\r\xe1y\xb7\x17\x9f\x8fu\xd9\xebm\x00\xf8wο\x1d\xe4\x87]\xc6\xf8g϶\x1fa~bb\xfc\xeaO\xab\xef\x8fҋi;J\xcd\x01\x99\"\x83\n\xc7|\xad_\xd9N\xee\xea&\xd2}\x9f¹T\x1aS3\xe6\xa7\xe85\xd42-\x82}\xaf\x93\xd9@\xf1\xa9\xf4kEډ\xcem\xa4\xc9ܙ\xce\xc8x0\b\xa0\xcf\";*)d\xa5}\xdc\xc0B\x7f\x8b\xe1\v\xbf\x15\x8ai`\x89\n\xf6\xdf\xc9QV\x91\x8c\xed\t\xda\xcd\xe4\xef\x8dg\xed\xf9=j0\xf4\xf4z\xd3\xfd\xc5H\x9f\xc3G\x9e\x989F\xf0|:\x82\xc0\xdduqh'\xe4\x87\t\xe7\x0f\x9c\xf7\x05\x89HE\x04\xe3c\vV}*\xbf\xb34}*]\x90h\xf1\xca?\x1d\xe0H\xcb\xf2\xbb8\xb7\xaf\x9b\xbb7b\x04.\xdd\xccN?\u0090\x9e\xbd7\x9dn\xb7$g\xaf\x9f\x917\nt>S/%65\x93\x95wA.^b\x1e\xf67o\xbd\xa7d\xdb]\x94c7\x9b\xaa\x9c\x98Y\xd7͙\x9b\x06\xb9 \x9f.\x898\xf3\xb9s\x8b3\xe6|\x86\xda\xe48\x92\xf3\xe4\"\x19p\x93\x80G\xb3\xe3\xa6\xf2\xdef\xe2\xdeÜ\xb8\xf4l\xb7IИ\t7\x9f\xe3v\xbdL\xf6kx\xd9\xe3\xaaf6Om\xd6\v\x9f\xc6o6\x13mI\xfe\xd9,\xc5.\xcc5\xabs\xc9F\xfa]\x9aa\xd6\xcd \x1b\x01\x9a\x92W6\x9276\x02q2\x9b,5[l\x04\xf6̲;)%\x93?.\xc9\x12\x8b_\xa2BfWC\xfe{\xc9ߥd\x90\xaac\\\xce94\x9fz\xd5-烍5m\xac\xc6\xecTf\x8eˍբ↕\x1c\xb7\x17O,\x8f\xfa\xec\xe6\b\xe7\xfab\x88\xdf$\x1e\xd7t\x97\x99\x90O\x9fka\xde\xf4Ln\xaa\xc9\x13pNhL\x14\a#\xcf\xdc=@\x99\\\x83]!\xec\xf4\xf4W^\xf8\xeb\x82n\x9c\xbc\xe3\x89\xd4\xd8\x0e\x8c9Ba\xa1\x8c_{2\xaaʧ\xcdIg\xf9ⷿW\xa0\xce\x04\xafg\xa9틙\xf3PnZj\xeb\v\x05Eᵍ\xbb}\xaagf7ӓ\xbc\x15n\xc1\x8b\x82\xed\xe1\x88p\xac\x86\xe05\xaf\xad2\xb4^\xc3H\xd5x V֭#\xbf\xcfY\xaa\xa9\x87\x89\x9e\xd7\xd1X\xeej\xcc.\xf2\xcf\xe2n\\\xeepL\x80L=\x1c\x94\xb6!>{\x18\xe8\xb9\x1c\x8f9\xd7#\xd9\xe6J;\xec\xf3\x1c\x87|\x16\x1c\xeeY\xe0\x82,sB\x92ɔr\x88\xe7Y\\\x91gtF\x9e\xc3\x1d\xb9\xcc!\x99\x01\xd9;\x9c\x93r\xec&)\xd9#y\xbf3%Yc~Kr\xfa8M\xc21\x9a\x84\xcd\xca9L\x13\x8e\xcb,;&\x93@\xc3grU\x9e\xc9Yy\x0ew\xe5y\x1d\x96Y\x97eVrf~^v\xbc\xe5\xe2\xe0\xbdT9\xa8ɽ\x8eTќ\x14ʞ\x7f\xd1\xed\xb3\x17\xf9\x0fw\xca\xd9Z\x1dS6\x16\xb0\xaeO\xbdg\xe4'&\xfc>\xaa\x15\xc2ֺ\xdfـi\f\x91x\xfc\xbf\xb1\xf2\xfcm\xa3n\xd7FCI\x15\xee\xb0\xee\xce.\xb5Bo\xc8{\x9a\x1d{ЏQ\xbfb/UA\rY\xd5[^\xaf\x1cp\xfb\xf7jC\xc8\aYoڷo\x92Ѭ(\xf9\xd9\xfa\r\x11\x98\xab6\x88\xcb\x04\"*|\xa1\xff;\xc9Y\x16\xb1\xb4\xa2\x97\v\xb9ʃ+!\xf0ʣ\xac\xbd\xf5]ڊqC\v\x8d\xb2\xee\xf5\x8a{ɹ|Z\xe8\x8eӒ\xfd'\xde\xd2<\x1f\xc3y{\xb7ŪAR\xf0v\xe7:C\xa8Fz\av\xc5l\x8636\xe3\xb7\xfb\x0e\xc4H\xa6]\xfd'Jk\xbdb\xb3\xb1[\x97\\֟\xd54w[\x87\xdd\x06\x85\x85\x8a3\x91\x98\xeba\x8eL\xe5\xeb\x92*svy\x0575\x0e\xe3q\x9c\xb0nNE[F\x97\x97\xe1u\xbfQچ[\x7fq3\xef\\v\xb7B\xfb\x14\xbd\x04\x8f\xf1\xa3|\xb3\x87\xf8\xae\x88Ǹ\t\xb2FJE>G\x93\x92\xae\x16\xc5\xd2\xfej\xdb_\xe4\t\xdeE\xa3Y\x1d\xf2\xdc\xf7\xaaG҉\x02Dw\xb9\xeb\xd4\xed\xa0x9\xe7e\xba(\x9e\x1f\x14\xba\xf6\xd7w&\x8e\xc5\u05ce\f%\xdc\\\x1a\xe0\xeax\xd4\xc6N\xaf\xbb/\xe8Z\xd5*\xcc\x1b;\xdey\n\xa1\xab\xfe\x05w\x7f\xb9~\x8e\x946R\xd1\x03\xfc,\xdd\xd5\xcbs4\xe8\xd6\xeeܻ\xedM\x9e\x90\xb3\x18fC\xcc\x15\xf0\x97@\xf7\x805\xa9ȃkp-\x96\vo\xf55\x86\xcf\f\xe6\xe1\xe1g7\x00\xc3\nؼ\xab\xdc^\xbe\xd5v\x1a,5\xc3\xc0\\\xa3\x9d\xfd\xef1\xb2^\x10\xbcO\xb6ş\x16\xde\n0\xdd\x19\xd3\xde\x16a_\x95\\\xd2\x1cԭ\x14{v\x98\x19ȯ\x9dʽu2Ï~p\xf5\xea\x13\xe0_y\xd7ݚ1\x9c\x03\xff\xc08h\x87V\x82\x12\xbd\x1b\xb6\xaaujU육\xb6\xb7?\xd6\x1d\x8c\xac>nX\x18\xf3-AY\xc3\xc8E\x87+\x1d\xc4r|\xe0\rG\x980p\x88ě'\xb4\xe8\xa9s\xf1w\x10\xe99\x95\xf2%ު\x15\x0flM*g*F5\xca\x18\x9c\xd6\xdb\a\x18)\xc7\xe3\xe5\u05fd%s\xcc\xf8\x1f\xbb\x1d\x1eoD\x9f\xbf\x1f\xde]\x9c\xee_\x83\xf0\x82\\)\xbc\xe2\xd2_\xaa\x8eWB^tE\xfc\xae\xce㩳\x84\xf4[c\xa0(\xa3\x17HG\xd0\x1bi[\x1b$\xd2Pވnl\t\xa8\x9b`\x86\xd1dj\x91\x9b\xb2\x13\x8c\x9b\x12\xda\xd8Xo}N\xfa%c\xadۦ\x8fUWY\x06Z\xef+\xce\xcfu>\xfc\x92\x81Ǭ\x81+\x91\xe2\x03e\xfc\":\xb8\x86#Dpc\x1b]\xf7\x92\xd8\xec\x93pA\xe4a\xf2\x0e\x96n[\xf0\x94\xc82:x\x16\xf8\xdc8mh1w\xd3\xfd\xed\xb0\x05>C\xa2\xf2V6]}]\xfb\x13\xd5\r\x9bcj\xb6\x01\xe7Z\xa2\xcb`\xa1AN\xe0\x04\x82\xd8u\xca\xd17<\x95\xd3o\x13\x81چ\xe2\x8fQ8]\x1f4\x7f\xf0\xfc\xfd\xf3*\x0fhn\xa9\x13\xa8\x97z\x02f}\x01\x7f\x84\bC\xc9t\xae\xf8\x1bk\xcb\xc2:\n4\xc9T\x8b\xea\xdaL\xb3\xae\x9eOVZ\xb7\xf7۱\x96\xa3\x12\x1c*\xc4\xf87x\xe8\xe2\x1b\x95\xd4pd\xa9*j8\xb29\x05\xd5QG\x91\xc15\n\xea\xea\xc3Ĺ:{C6Vr\x16\x00\x1e\a\v\xcf\x1f\xb8\xf3`\x05hM\x0f\xe1j\xec'k0\x1f@\x00\x06\x8f\"\xa3\xf1\xe1\xf8\xe6\xfcP\xf7bh\xb7oH3SQ\xdfA\xc8\xcel\xd5z\x19S\xc0\\\x1e\xdc\xc3\x15,\x03ճC\xfbЮ\xeb\xf7\x97\x1c\xb7ݽ\x8a\xd4%*\xe3{C\x86)h\x1e\xf0\x1a $\xb1\xe3E\x9e\x86\xa3B\xf4\xa9\xab!\xa6\xed\xbaa\x82y\xbd꣐\xfe\xe5\xab\x1b\xef\xbbƃ+\x05\xfdM\xaa\x1bR0a\xff\xa1\"w\x1b@\xa1\xf1\"\xfc\x8fR>\xdeG\xac\xca\x01\xf2\x7f\xad+6\xd1y&\x1c\xdax\xb4n'+\xbfo[[\x98\xf1\xbd<\xbc\xe6\xfcʞ\x13\u009cP\xe8\xd1\xe1,\xd0㮃\x11\xb7\xe9>\xbc\xbe\xc4\xf9\xf9\xa6\x0f\xb9\xf7B[\x03{\n\"J\xae_\xc4\xdb\xd7B\xf9\xbd\x92\x1e\x10W}\xe2\x8e{ҳ#/\xf1\xde<\x8d\xc7L\xbe8\x81\xa7\xed<\x87|\xcbR\x1bA\xdd\xdbonV_\xd7\xf1\xc4\v\xffg$\xff\xce֩ϊ\xb7\xdc(\b\xeb\xc1X`)~>xM>\xc20\x0e\xe2\x8e\xfcB\x8e;\xfe\xb1\xe7\xedl\x95\xad\xb8S\xf2\xa0@\x0f\x05gM\xfeF\x99a\xe2\xf0A\xaa;^\x1d\x98h\xcc\xedE\x95\xef\xa82̊\xb2\xc3'\x86(\x13\x94\xb3\x7fĔS\xfb\xc7y@\xb5\xb5\x11\xf9-\x01\x8d\xb1\x1fށ\xb54G\xbd\xed\xa8\x1e,=]\xe7d\xc1W\x9bӁa\xedol\x87X\xb8\xc7\x03ې\x8f\xd2@H|a]\x98\xd6Z\x02mְ\xdfKe܆\xe8zM\xd8\xde{\xef\x11\xb8Vq`\x10ǽ\x8fG\x98i2\x9d\x9b\xe5\x06\x03\xa9\nWM\xbcл\xa0g\xb7\xddA\xb3\xac\xb2\x16\xd1+m(\x8f\x18$ߤ\xa81Lb\xe7\v俦\xec\x02m\xdb\xf5\x87a-\x04\xe7(\x87W\x018c,j\x9a\x12\f\x83\x83 O\x8a\x19c\r\xa0vf#1\xd6\xe4\xe1\x9chk\x04\\\x14\xdf\"N\xc1m\xc73-\xba\xf1Ӻ\xf2\x98~\xf4\x83\xc3\xe7\xe0vH\x82Ѹ\x9d\xcf(\xf1m-+\xb3#\x15\a+TJV\x87c\x90\xcb\x11Sv\x04n^\x01\xc6\x02QC\xe8\x90Uf*%Z;\xcf\xf5\xf1\xd6\x06]\x9a=\x8eb\xea3g\xc2\x1b\xad\xaf\xfc;\x0f뽒\xc5\xda\xf3\x02\x93\xc1n\xfcn\xb0b\xd2Z\x13\xe6\x18%9qO\xc0\xf9\v\xd5Q\f\xca\x12\x04\xa1\xda\xe3\x93p\x0f\xceū\x876T\x99\xd40\xc0}\xa7\xf2L\x04\x00!\xc7\xf1\xbd\xf7\xbb\xdd\xee>\xa0[\xff\x02b\r\xf8\x86h&\xc2\xf3\xb0n/݉\x82&R\xe0+rR\xc5\xf3\xfc\x06.}ǁ\xef\xa2\xff\xfb\xfa\xee\xa7zM|\x9f\xe2\x04~\xe9U\xef\x9d\xf9ķ\x00\xeb*\xdeq\x8b\xd0\xe3\x0fl\xefR\x0f3\x8b\xf5\x1f\xff\xcf\xcfr\x9e\x92\x9c\x8c\x97\x93\xfe\x05\xba\x0e\xb5\xa30\xf3\xf2\xdf\x1d\ak\xf9h\x80\xae\xeb\xf2r\x91\x8fz\xba,\xear͐Kx\xb9\xf8:\x81\x88\xd3e\xc1\x96g\x8b\xb4\\wtO\x14_K\x9d\x9bc\x7f\xf3\xd5\"\xa1\x16\x0f!\x12l\x89\f\xa3\x0e\xbf\xcc\x06[Z\xb1\x96\x80\xe3\xc8\xe3f\xbd\xf8˕\xa2-\xd1u`\xf0\x11\x15hޚ۾'\xff\xe5\x7f\x03\x00\x00\xff\xff\x1f\xff\x879X}\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xc4YKs\xe3\xb8\x11\xbe\xebWt\xed\x1e|YQ3\x9bKJ\x97\x94FN\xaa\xa6\xe2\x89]#ǹ\xe4\xb0\x10Д\xb0\x06\x01\x06\x0fi\x94T\xfe{\xaa\x01\xf0!\x92\xb2\xe4\xa9$\x8b\x8bM\xb2\xd1\xe8\xfe\xfa\r\xcd\xe7\xf3\x19\xab\xe5\vZ'\x8d^\x02\xab%~\xf3\xa8\xe9\xc9\x15\xaf\xbfw\x854\x8b\xc3\xc7٫\xd4b\t\xeb༩\xbe\xa23\xc1r\xbc\xc7Rj\xe9\xa5ѳ\n=\x13̳\xe5\f\x80im<\xa3\u05ce\x1e\x01\xb8\xd1\xde\x1a\xa5\xd0\xcew\xa8\x8bװ\xc5m\x90J\xa0\x8d̛\xa3\x0f\x1f\x8a\x8f?\x17\x1ff\x00\x9aU\xb8\x84-㯡v\xdeX\xb6CexbY\x1cP\xa15\x8543W#\xa7\x13vքz\t݇\xc4!\x9f\x9e$\xff\x14\x99m\x12\xb3\x87\xcc,~W\xd2\xf9?_\xa6y\x90\xceG\xbaZ\x05\xcb\xd4%\xb1\"\x89\xdb\x1b\xeb\xff\xd2\x1d=\x87\xadS\xe9\x8bԻ\xa0\x98\xbd\xb0}\x06ษq\tqw\xcd8\x8a\x19@\x86&r\x9b\x03\x13\"\x82\xcdԓ\x95ڣ]\x1b\x15*ݞ%\xd0q+k\x1f\xc1L\xba@V\x06\x1am\xc0y\xe6\x83\x03\x17\xf8\x1e\x98\x83ՁIŶ\n\x17\x7fլ\xf9?\xf2\x03\xf8\xd5\x19\xfd\xc4\xfc~\tE\xdaU\xd4{暯\xc9FO\xbd7\xfeD\n8o\xa5\xdeM\x89\xf4\xc0\x9c\x7faJ\x8a(ɳ\xac\x10\xa4\x03\xbfGP\xccy\xf0\xf4\x82\x9e\x12B@\x10!4\b\xc1\x91\xb9|\x0e\xc0!q\x89\x18MK\xaaFg\x9d\x89M\xa2\xc0ˀK\x92\x9f\xded\xe9{l\x1b\xff.\xb8Ŗ\xa5\xf3\xac\xaa\xcf\xf8\xaevx\x89\xd9\x19\x14\xf7X\xb2\xa0|_U\xb2\x92\xea\xfb\xe5\xb9Z5\xf2B\xa4]g'ޟ\xbdK\xa7n\x8dQ\xc8\x12\x97Du\xf8\x98\xbc\x90\xef\xb1b\xcbLljԫ\xa7\xcf/\xbfۜ\xbd\x86)G\x1a\x04\x05\x19\x8e\xf5l\xb3G\x8b\xf0\x12\xe3/\xd9\xcde\xd5Z\x9e\x00f\xfb+r\xdf\x19\xb1\xb6\xa6F\xebe\x13,i\xf5rQ\xef\xed@\xa6;\x12;Q\x81\xa0$\x84ɏr\xbc\xa0Ț\x82)\xc1\xef\xa5\x03\x8b\xb5E\x87\xda\xf7\xe1m\x05+\x81\xe9,^\x01\x1b\xb4Ćb9(A\xb9\xeb\x80փEnvZ\xfe\xb3\xe5\xed\xc0\x9b\xec\xbc\x1e\x9d\x1f\xf0\x8c\xf1\xa9\x99\"W\r\xf8\x130-\xa0b'\xb0H\xa7@\xd0=~\x91\xc4\x15\xf0\x85\xfc]\xea\xd2,a\xef}햋\xc5N\xfa&\asSUAK\x7fZ\xc4t*\xb7\xc1\x1b\xeb\x16\x02\x0f\xa8\x16N\xee\xe6\xcc\xf2\xbd\xf4\xc8}\xb0\xb8`\xb5\x9cG\xd1uJ\x9a\x95\xf8\xd1\xe6\xac\xed\xee\xced\x1dEmZ1k\xbea\x01ʘ\xc9\v\xd2֤E\a4\xbd\"t\xbe\xfeq\xf3\f\xcd\xd1\xd1\x18C\xf4#\xee\xddFי\x80\x00\x93\xbaD\x9b\x8cXZSE\x9e\xa8Em\xa4\xf6\xf1\x81+\x89z\b\xbf\v\xdbJz\xb2\xfb?\x02:O\xb6*`\x1d\v\x13l\x11B\x1d㾀\xcf\x1a֬B\xb5f\x0e\xff\xe7\x06 \xa4ݜ\x80\xbd\xcd\x04\xfd\x9a:$N\xa8\xf5>4\xb5\xf0\x82\xbd&\xa3xS#?\x8b\x1f\x81NZ\xf2p\xcf<Ƹ\x18\xe0\x9aC\xfcr1m\xd6tp\xd3b\x9c\xa3s_\x8c\xc0ᗁȫ\x96\xf0L\xc6\x1am%],\x8bP\x1a;\xac\x18\xac\xcd\xc0\xfd\xd5d\xaab\xf4\ru\xa8Ƃ\xcc\xe1+2\xf1\xa8\xd5\xe9§\xbfY\xe9\xc7\a]0$\xad$\xe2\xe6\xa4\xf9\x13Zi\xc4\x15\xe5?\r\xc8[\b\xf6\xe6\betk\xedՉr\x90;i>ζ\xcdZ=}n2o\n\xa0\x1co\x19\xab\x02V9rM\t\x1f@HG\r\x80\x8bL\xc7`\xe9\xa0b\x83\xb0\x04oû\xd4\xe7F\x97r7V\xba\xdf\xd3\\\xf2\x98+\xac\aȭ\xe3I\x94\x9a\xc8;jk\x0eR\xa0\x9dS|\xc8R\xf2,I\xb0\xa9r\x95\x12\x95pcM/DYTŢ\xa0\xa8f\xea\x8a\r\xd7-a쀙\xd4Ƀ;\x061\xd9\xd8*\x97T\xedQ\x8b\xb6\x1b9\x93\xc6Ĭ\xe5P\xc0Q\xfa}J\x87j*\xee\xe0\xcdأ\xf5\x8a\xa7\xa9\xd7\x03ٟ\xf7H\x94\xa9\x80\"8\xe4\x16}\xf46T\xe4>\xe4J\x05\xc0\x97\xe0bB\x1d\xe6\x89f\xc5F\xad\xd9\xfd\x8a\xa71\xd0p\u0378\xb9\x85\xb9.\xf2\x1d\xb5\u038d\xc0\x16K\xb4\xa8\xfddR\xa7\x01\xc4j\xf4\x18\xf3\xba0\xdcQJ\xe7X{\xb70\a\xb4\a\x89\xc7\xc5\xd1\xd8W\xa9ws\x02|\x9e#h\x11NJŏ\xf1\xcf\x05\x95\x9f\x1f\xef\x1f\x97\xb0\x12\x02\x8cߣ%\xab\x95A5\x8e\xd6\xebo~\x8a5\xf6'\bR\xfc\xe1\xee{p1u\x8a\x9c\x1b\xb0\xd9D\xef?Q\xa3\x16\x85\"\x886\xc9*\xc6\x02UJ2v\x95\xad\x99r͔#Nu\x98\xfdE\x89\x89*\xc8TF}\xc5q2}#\xcc\x00\xbe\xcd;C\xcd+V\xcf\x135\xf3\xa6\x92|6\xd46\xb6\xc1W\"\xb2i\xbb\xa5\x16\x92S\xdbv\x1eI\xcd8\"κ\xf3\t\x18\x86\xfd\xfa\xa5\xfc1\rSR7W\xcf+\x12?\xf6i\xbb!.%\xb3\\\x11\x1dzj\xb7\x1ch\xa4\x8a\xc9\xec\x18\xe7\x98B\xb8њb\xd7\x1b`mb\xbcsÊ\xf0\xce|\xb2\r\xfc\x15'\x80\x1f\xa9\xf2)\x126\x18\xa7m$Kp\x18S\xf551\xe0zDp\xb6F{\x8b,\xeb\x15\x11\xb6E\x95\xc1z\x05۠\x85\xc2F\xa2\xe3\x1e5\xcd\x13\xb2\x14?\xfcf3\x93b\xce\xd3\b\x84\xe2+\x1e\xe4\xf8Nh\x8c\xee\xc3hG\x13\xf8m8\xd0\xc3/\xcdh\xbd\xb0\x99\xec\x97\t0J\xa9\xa8s\x9c\xc8\x13]\xc70\xbe\xbd\xfc\xb4y\xb8s\xb1\xe1G\xed\xa7\x9a\xc4#Z\x8c\xf3\x15\n\xea\xf9M\xbe\xc5\bΣ\x9dp\x80\xd6z\xd1栌\xde\r\x02'\xad|\xa7A\xfd\\r(cA\xa0\xa7Ҥw\xc0\xf7Lﰻ\xb3\xca\xf2\xbf-)\xb9\xcf\xc0g:\x0f\x91\xfa\x92{\xdcd\xd1g9\xd5ԏ\xee\x8b;\xe2\xe9\xbb\xe2F\xfaƲ\x17\x87\xa2+\xb8\x8f\xe8\x9b*M\xa0\xce}w\x7fܭ\xef\x1f\x86Ǘ\xd37 \xf1ޛ\xf37nA\xe0\xc8\\w\x87\xfe\xdb\xe1PQ\xb7z\xb5\x05\xfe\x92\xa8\xd2ec\xde\x02lk\x82\x7f+2\xef\xa6\x1c:\xff8\xf0\x1e\x19\xe3O\x1eך\f\xa2i,\u0083\xa5\xc1\xb3\xbbC\x8bIa\xaa\xb6\xdc~\x19\xb5\x1a\xfc2\xd3\xff6\xfe\xdd\xe6\x06\xbd&k\xed\xe8e\xaa\x97=\xbbf\x90\xfbo¶\xbdW^¿\xfe=\xfbO\x00\x00\x00\xff\xff\x80.\x12\xd3P\x1c\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xb4\x96M\x93\xdb6\x0f\xc7\xef\xfe\x14\x98y\x0e\xb9<\x92\xb3\xed\xa5\xa3[\xb3\xc9a\xa7mƳ\x9bɝ&a\x8bY\x8ad\x01\xd0[\xb7\xd3\xef\xde!)\xf9E\xb67\xdbCy\x13\t\x02\x7f\xfe@\x80j\x9af\xa1\xa2\xfd\x8a\xc46\xf8\x0eT\xb4\xf8\x87\xa0\xcf_\xdc>\xffĭ\r\xcb\xdd\xdd\xe2\xd9z\xd3\xc1}b\t\xc3#rH\xa4\xf1#n\xac\xb7b\x83_\f(\xca(Q\xdd\x02@y\x1fD\xe5iΟ\x00:x\xa1\xe0\x1cR\xb3E\xdf>\xa75\xae\x93u\x06\xa98\x9fB\xef\u07b7w?\xb4\xef\x17\x00^\r\u0601A\x87\x82k\xa5\x9fS$\xfc=!\v\xb7;tH\xa1\xb5a\xc1\x11u\xf6\xbf\xa5\x90b\aDž\xba\x7f\x8c]u\x7f,\xae>\x14W\x8f\xd5UYu\x96\xe5\x97[\x16\xbf\xda\xd1*\xbaD\xca]\x17T\f\xd8\xfamr\x8a\xae\x9a,\x00X\x87\x88\x1d|β\xa2\xd2h\x16\x00㱋\xcc\x06\x941\x05\xa4r+\xb2^\x90\xee\x83K\xc3\x04\xb0\x01\x83\xac\xc9F)\xa0\xbe\xf4X\x8e\ba\x03\xd2#\xd4p \x01\xd68*0e\x1f\xc07\x0e~\xa5\xa4\xef\xa0ͼ\xdaj\x9a\x85\x8c\x06\x15\xf5\x87\xf9\xb4\xec\xb3`\x16\xb2~{K\x02\x8b\x92ē\x88\x12\xd7\x06\x0ft\xc2\xf7\\@\xb1oc\xaf\xf8<\xfaSY\xb8\x15\xb9\xda\xec\xee*i\xdd㠺\xd16D\xf4?\xaf\x1e\xbe\xfe\xf8t6\r\xe7Z\xaf\xa4\x16,\x83\x9a\x94fp\x95\x1a\x04\x8f\x10\b\x86@\x13Un\x0fN#\x85\x88$v\xbaZu\x9c\x14\xcf\xc9\xecL»\xac\xb2Z\x81\xc9U\x83\\\xa0\x8d\x97\x00\xcdx\xb0\n\xd32\x10FBF_\xeb\xe8\xcc1d#\xe5!\xac\xbf\xa1\x96\x16\x9e\x90\xb2\x1b\xe0>$gr\xb1\xed\x90\x04\bu\xd8z\xfb\xe7\xc17\xe7s\xe6\xa0N\xc91?\xd3(\x97\xce+\a;\xe5\x12\xfe\x1f\x9470\xa8=\x10\xe6(\x90\xfc\x89\xbfb\xc2-\xfc\x961Y\xbf\t\x1d\xf4\"\x91\xbb\xe5rkej\x1a:\fC\xf2V\xf6\xcbR\xffv\x9d$\x10/\r\xee\xd0-\xd9n\x1bE\xba\xb7\x82Z\x12\xe1RE\xdb\x14\xe9\xbe4\x8ev0\xff\xa3\xb1\xcd\xf0\xbb3\xad\x17\x17\xa4\x8eR\xe8\xafd \x97yM{\xddZOq\x04\x9d\xa72\x9d\xc7OO_`\n]\x921\xa7_\xb8\x1f7\xf21\x05\x19\x98\xf5\x1b\xa4\x9a\xc4\r\x85\xa1\xf8Dob\xb0^ʇv\x16\xfd\x1c?\xa7\xf5`\x85\xa7+\x99s\xd5\xc2}餹\xa8S4Jд\xf0\xe0\xe1^\r\xe8\xee\x15\xe3\x7f\x9e\x80L\x9a\x9b\f\xf6m)8}\x04\xe6ƕ\xda\xc9\xc2Ծo\xe4\xebJ\xd1>E\xd49\x83\x19b\xdem7V\x97\xf2\x80M x\xe9\xad\ue9e2\x9d\xd1=\x14x{\xb6p\xbd\xa0\xf38\xb6\xc9\xf9\xca\xcd\xc3Cɝ%\x9c\xdd\xc2\x06.z\xee\xeb\\J3\xfc\x97dj'\x1e\xd9\xe8D\x84^N\xfa\xb3\xba\xb6\xe9\xad,\x90(\xd0\xc5\xecLԧbT^ze=\x83\xf2\xfbq#H\xaf\x04^\x90r\x19\xe8\x90r\x9fA\x03&]\xf0\x1b\xb1\x9c\xbe%\x91\x82F\xe6\xf6\xc2\xce\n\x0eW4\xbd\x92\x9d<|rN\xad\x1dv \x94\xf0Ff\x15\x91\xda\xcf\xd6ʛ\xf5\x1d\x04\xabls-\a\x87w\xfa\xbbI(\xb8}\x1a.#5\xf0\x19_\xae\xcc>\xf8\x15\x85-!ϯ|^\\Uz\x87\x9f\x817P\xbaz)/&9\xf7;sB\x91%\x90ڞr\xe5\xb4>\xf4\xef\x0e\xfe\xfa{\xf1O\x00\x00\x00\xff\xff\x045\f\xc6i\n\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xb4VM\x93\xdb6\f\xbd\xfbW`\xa6\x87\xb43\x91\x9c\xb4\x97\x8eo\xad\x93\xc3N\xd24\xb3N\xf7NS\xb0\xc4.E\xb2\x04\xe8\xcd\xf6\xd7w@J\xfe\x94\xbd\xdeCu\x13\t\x82\x8f\x0f\x0f\x8f\xac\xaaj\xa6\x82y\xc0Hƻ\x05\xa8`\xf0;\xa3\x93?\xaa\x1f\x7f\xa5\xda\xf8\xf9\xf6\xfd\xecѸf\x01\xcbD\xec\xfb{$\x9f\xa2\xc6\x0f\xb81ΰ\xf1n\xd6#\xabF\xb1Z\xcc\x00\x94s\x9e\x95\f\x93\xfc\x02h\xef8zk1V-\xba\xfa1\xadq\x9d\x8cm0\xe6\xe4\xe3\xd6\xdbw\xf5\xfb\x9f\xebw3\x00\xa7z\\@㟜\xf5\xaa\x89\xf8OBb\xaa\xb7h1\xfa\xda\xf8\x19\x05Ԓ\xbb\x8d>\x85\x05\xec'\xca\xdaa߂\xf9Ð澤\xc93\xd6\x10\x7f\x9a\x9a\xfdl\x86\x88`ST\xf6\x1cD\x9e$\xe3\xdadU<\x9b\x9e\x01\x90\xf6\x01\x17\xf0E`\x04\xa5\xb1\x99\x01\fG̰\xaa\xe1t\xdb\xf7%\x95\xee\xb0W\x05/\x80\x0f\xe8~\xfbz\xf7\xf0\xcb\xeah\x18\xa0A\xd2\xd1\x04\xceD\x9d`\x06C\xa0`@\x00\xecw\xa0@9P\x91\xcdFi\x86M\xf4=\xac\x95~La\x97\x15\xc0\xaf\xffF\xcd@\xec\xa3j\xf1-P\xd2\x1d(\xc9WB\xc1\xfa\x166\xc6b\xbd[\x14\xa2\x0f\x18ٌ,\x97\xef@C\a\xa3'\xc0\xdf\xc8\xd9J\x144\"\x1e$\xe0\x0eG~\xb0\x19\xe8\x00\xbf\x01\xee\fA\xc4\x10\x91\xd0\x159\x1d%\x06\tRn8A\r+\x8c\x92\x06\xa8\xf3\xc96\xa2\xb9-F\x86\x88ڷ\xce\xfc\xbb\xcbM\u0090lj\x15\x8fr\xd8\x7f\xc61F\xa7,l\x95M\xf8\x16\x94k\xa0W\xcf\x101\xf3\x94\xdcA\xbe\x1cB5\xfc\xe1#\x82q\x1b\xbf\x80\x8e9\xd0b>o\r\x8f\xbd\xa3}\xdf'g\xf8y\x9e\xdb\xc0\xac\x13\xfbH\xf3\x06\xb7h\xe7d\xdaJE\xdd\x19F\xcd)\xe2\\\x05Se\xe8.\xf7O\xdd7?ġ\xdb\xe8\xcd\x11V~\x16\x99\x11G\xe3ڃ\x89\xac\xf9+\x15\x10\xd5\x17\xc1\x94\xa5\xe5\x14{\xa2eHع\xff\xb8\xfa\x06\xe3ֹ\x18\xa7\xec\x17\xe5\xec\x16Ҿ\x04B\x98q\x1b\x8c\xa5\x88Yy\x92\x13]\x13\xbcq\x9c\x7f\xb45\xe8N駴\xee\r\xd3(f\xa9U\r\xcbl(\xb0FH\xa1Q\x8cM\rw\x0e\x96\xaaG\xbbT\x84\xff{\x01\x84i\xaa\x84\xd8\xdbJp腧\xc1\x85\xb5\x83\x89\xd1\xc9.\xd4\xeb\xa4\xd5W\x01\xb5TO\b\x94\x95fctn\r\xd8\xf8\bj\xdf\xf9\x03\x81\xf5Q\xe6\xe9\xce\xcd\xe0Tl\x91OGO\xb0|\xcbA\xb2\xfdS\xa7\x8e\x8d\xe6G\xac\xdbZ\xbc\x82\x06 \xc5=~\xaa\xcf2^\xc6\x00\x93\xea\x9dD2\x8aXh\x10^\xc5\nĤ\x0e1\x9do-\x1f\xba\xd4OoP\xc1\xef\x19\xf3g\xdf^\x9d_z\xc7\"\xf7\xabA\x0fަ\x1eWN\x05\xea\xfc\v\xb1w\x8c\xfd\x9f\x01c\xb91\xaf\x86\x8e\x17\xef\ue5ba\x12\x98\xec\xc5}\xefQ\xfc\x1e/\x9ft\b\xb8)\xcb\r\x98\x86ț\x0e\xba\\ݽ\x86\xc2\v\xe1\xaf(ҝ\xdb\xf8\xe9\xb8\v\xed=~\xf9\x1a\x7fY\xab\xf2\x10\x18\xb5*K\xca݆\xf0)\xad1:d\xa4\xbd\xcd>\x19\xee&3\x02}S\xe6\x84H\xf9\x01\xa4\xd5\xe9\xd3K\xbe5B\x83\x16\x19\x1bX?\x97\x1b\xe9\x99\x18\xfbs\xdc\x1b\x1f{\xc5\v\x90˻b3!#\x97\xacUk\x8b\v\xe0\x98.\xa9l\xf2\xe0\xa1S4цGg\xfe*1S\xc2\xd85\xe3Ue\xc0\xc5{\xa3\x82/\xf841\xfa5z\x8dDx\xdeF\x17O2\xd9\x04g\x83$/\xac急\xe1\xe1>\x8c\xfc\x17\x00\x00\xff\xff\t\x15i;\xcd\r\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xc4YKs\x1b7\xf2\xbf\xebSt9\a\xfdSe\x0ec\xff\xb7\xb6\xb6x\xb3\xe5͖v\x13Yeʾ\xa4r\x00\a=3\x88f\x00\x04\xc0P\xe2\xa6\xf2ݷ\x1a\x0fr\x1e )\xa9\xd6\u07b9H\x04\x1a\x8d\x1f\x1a\xfd\xc6b\xb1\xb8`Z|Ac\x85\x92+`Z\xe0\xa3CI\xbflq\xff7[\b\xb5ܾ\xb9\xb8\x17\x92\xafષNu\x9fЪޔ\xf8\x01+!\x85\x13J^t\xe8\x18g\x8e\xad.\x00\x98\x94\xca1\x1a\xb6\xf4\x13\xa0T\xd2\x19նh\x165\xca\xe2\xbe\xdf\xe0\xa6\x17-G㙧\xad\xb7?\x14o\xde\x16?\\\x00H\xd6\xe1\n\xb4\xe2[\xd5\xf6\x1dnXy\xdfk[l\xb1E\xa3\n\xa1.\xacƒx\xd7F\xf5z\x05\x87\x89\xb06\xee\x1b0\xdf*\xfeųy\xef\xd9\xf8\x99VX\xf7\xaf\xdc\xecO\xc2:O\xa1\xdbްv\x0e\xc2OZ!\xeb\xbeef6}\x01`K\xa5q\x057\x04C\xb3\x12\xf9\x05@<\xa2\x87\xb5\x00ƹ\x17\x1ako\x8d\x90\x0e\xcd\x15qH\xc2Z\x00G[\x1a\xa1\x9d\x17ʭ\xe2\x10\x00B@\b\xd61\xd7[\xb0}\xd9\x00\xb3p\x83\x0f\xcbkykTm\xd0\x06x\x00\xbfY%o\x99kVP\x04\xf2B7\xccb\x9c\r\xe2]\xfb\x898\xe4v\x04\xda:#d\x9d\x83q':\x84\x87\x06%\xb8FX\b\xa7\x85\af\t\x8eq\xfe\x94\xf9\x8d\xfd<-\xb7\x8euz\x84\xe0\xca ;,\r\x108s\x98\x03\xb0\x97'\xa8\n\\\x83$y\xafXLH!k?\x14n\x02\x9c\x82\rz\x88ȡ\xd7\x19d\x1a\xcbB+^\xc8\xc4t\x04\xebf2zN6D\xff\xdfF5\x02t\xab\xf8\v\xa0\x98\x9d\xb8\x01\ng ,\xb0\xb84\x9c\xe2 \xe8\xe4\x8e>\xfd}}\aik\x7f\x19S\xe9{\xb9\x1f\x16\xda\xc3\x15\x90\xc0\x84\xacȬ\xe9\x12+\xa3:\xcf\x13%\xd7JH\xe7\x7f\x94\xad@9\x15\xbf\xed7\x9dpt\xef\xbf\xf7h\x1d\xddU\x01W>S \xf7\xd4k\xd2\\^\xc0\xb5\x84+\xd6a{\xc5,~\xf5\v I\xdb\x05\t\xf6iW0Lr\xa6\xc4Aj\x83\x89\x94\xa2\x1c\xb9\xafIޱ\xd6X\xd2\xed\x91\x00i\xa5\xa8D\xf4P\x952\xc0\xa6\xe4ňq\xdep\xe9\xcbz\xa7)\xd1\x04\xd9\xfbܚ\x84M\x0e|jr\x98\x81r\xc6\x14\xa0\x9dz\xd9\xfd\x1a\x83ZY\xe1\x94\xd9\x11\xe3\xe0`\x8b\x19\x87#\xd7@\x9fT\x1cϜ\xe3Fq\xcc\xc1\xa6\xa5\xe0\x1a\x16\xb4\x95\xf2+\xf2G\xbd\x94\xf3]\xe8S\xf2Y\xc0\xb4\xe2gp\xc5\x1d\x19\x18\xacР,19\xaeS\xc9C\x06\xd90\xac\xcf1\x1eW\n8\xe1ճ\x88\xdf\xdd^'O\x9e\x84\x18\xb1\xbb\xf9\xbeg\xe4C_%\xb0\xe5>Н\xdf\xfb\xf2\xba\n\x9by\x9f\xe6\x140\xd0\x02C\x1a\xb8\x0f\x12 \xa4u\xc88\xa8*ˑj\x12 \xc37\x18W\xbc\x0e\x1e,\xba\xcaCh!\xd9\x03#\xdf)8\xfcs\xfd\xf1f\xf9\x8f\x9c\xe8\xf7\xa7\x00V\x96h}\x16\xec\xb0C\xe9^\xef\x13s\x8eV\x18\xe4\x94fc\xd11)*\xb4\xae\x88{\xa0\xb1\xbf\xbc\xfd5/=\x80\x1f\x95\x01|d\x9dn\xf15\x88 \xf1\xbd[NJ#l\x10Ǟ#<\b\u05c8i0\xddK\x80\xd4+\x1e\xfb\xc1\x1fױ{\x04\x15\x8f\xdb#\xb4\xe2\x1eW\xf0ʧ5\a\x98\x7f\x90\xed\xfc\xf9\xea\b\xd7\xff\v\xa6\xfd\x8a\x88^\x05p\xfb8<4\xba\x03\xc8`yF\xd45\x1e\xb2\xaa\xe9\xe7\x83\n\xb9\xea\xefA\x19\x92\x80T\x03\x16\x9e1\xdd^p\x94\xc8g\xa0\x7fy\xfb\xebQ\xc4cy\x81\x90\x1c\x1f\xe1-\x88X\xdahſ/\xe0\xcek\xc7N:\xf6H;\x95\x8d\xb2xL\xb2J\xb6\xbb\x90\xe7n\x11\xac\xa2B\t\xdbv\x11\xf2 \x0e\x0flGRH\x17G\xfa\xc6@3\xe3Njk\xca~\xee>~\xf8\xb8\n\xc8H\xa1j\xef\x89)jV\x82\xb2\x19JcB,\xf6\xda8\v\xe6\xe9\xb3}P\x1f\xa7\xa0l\x98\xac1\x9c\x17\xa1\xea):\x16\x97/\xb1\xe3yJ\x92\xbeLj2u\x1c\xff\xb3\xe0\xfe\xc4\xc3\xf9\f\xfa\t\x87\x1bV\x19'\x0fw\xdfo\xd0Ht\xe8\xcf\xc7Ui\xe9h%jg\x97j\x8bf+\xf0a\xf9\xa0̽\x90\xf5\x82Ts\x11t\xc0.}\x99\xba\xfc\xce\xffy\xf1Y|E\xfb\xd4\x03\x8d*\xed\xafy*\xda\xc7._t\xa8\x94\xc3>=\x8e]\xaecf5]Kf\xf1Ј\xb2I\xc5I\xf4\xb1G\x8cIP&̃kfr\xf7\xd5U\x99\x04\xda\x1bB\xb4[\xc4^ڂIN\xff[a\x1d\x8d\xbfH\x82\xbdx\x92\xf9~\xbe\xfe\xf0m\x14\xbc\x17/\xb2\xd5#\tx\xf8\x1e\x17\aX\x8b\x8e\xe9E\xa0fNu\xa2\x9cPSVz\xcdI\xf0\x95@s&\x8d\xfb4\"N\x89f&\xbf\xdd\xd3<+\x8ft\xac\xce$n\xc3\xd6\xe1\xa9\xf4\ue93cƍ\x1bV[`\x06\x81A\xc74\xdd\xf3=\xee\x16!!\xd0LP4\xa7\x80\xbd\xef\x8a\x00Ӻ\x15\xd9\xc0\x1d\xc3~LY\xa3$\xa8,g\xb5=v\xf6쭥.\xd0\x1a\x1d\x95\xad\xdfD\x0e\x9f'{>Y&\xf9\xc4z$\x8a\xaa\x90\xbb\xaa\xbdoy\x96\xa9\x8e\x9f\xb4\xcfA\x1d\x11\x9f\x89B\xf11=\x17\x83֨\x99!K\xf7\xaf.W\xd3g\xc1\xd7`\x85o%Sf\x1aR\xd5\xd0\xe8\xb1\x14\x9c(\xb5R\x063.\x13\xe6ae\x14D\xc6\xf0\xbfe\xfc\xc8\xea\xc9l\xd0#\xe7\x03\xde\xf19b8\xd2o\xf6Om+\xf8\xe3ϋ\xff\x04\x00\x00\xff\xff{ŋW\xf4\"\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xc4YKs#\xb7\x11\xbe\xf3Wt\xad\x0f\x8a\xabv\x86\xdeM*\x95\xe2mW\x8aSJl\xadj\xa9\u074b\xcb\apМ\x819\x03\xc0x\x90b\\\xfe\xef\xa9\x06\x06\xe4\xbcHJ\xaaȞˮ\x80F\xe3Ç~\xa1\x99eٌi\xf1\x15\x8d\x15J.\x80i\x81\x8f\x0e%\xfde\xf3\xcd?l.\xd4|\xfbn\xb6\x11\x92/\xe0\xda[\xa7\x9a\xcfh\x957\x05\xde\xe0ZHᄒ\xb3\x06\x1d\xe3̱\xc5\f\x80I\xa9\x1c\xa3aK\x7f\x02\x14J:\xa3\xea\x1aMV\xa2\xcc7~\x85+/j\x8e&(O[o\xbf\xcb߽Ͽ\x9b\x01H\xd6\xe0\x02\xb4\xe2[U\xfb\x06\rZ\xa7\f\xda|\x8b5\x1a\x95\v5\xb3\x1a\vR^\x1a\xe5\xf5\x02\x8e\x13qq\xbbq\x04}\xaf\xf8נ\xe7s\xd4\x13\xa6ja\xdd\x7f&\xa7\x7f\x10\xd6\x05\x11]{\xc3\xea\t\x1ca\xd6\nY\xfa\x9a\x99\xf1\xfc\f\xc0\x16J\xe3\x02\xee\b\x8af\x05\xf2\x19@{\xce\x00-\x03\xc6y`\x8e\xd5\xf7FH\x87\xe6\x9aT$\xc62\xe0h\v#\xb4\v\xcc\x1c\xf4\x80Z\x83\xab\x90\xb6\f\xac2!\x85,\xc3P\x84\x00N\xc1\n\xa1E\u00832\x80_\xac\x92\xf7\xccU\vȉ\xb8\\+\x9eˤ\xb3\x95\x89\x9c\xdf\rFݞ\xcea\x9d\x11\xb2<\x85\xec\xff\f\xaa\x87\xe7^\xf1'\"y\xa80\xc8$4^\u05caq4\xb4y\xc5$\xaf\x11\xc8@\xc1\x19&\xed\x1a\xcd\t\x14i\xd9\xc3^\xf7\x91|I\xfa:3\xcfa\xe79TD\xd9\xde\xf6_\xbbC\x97\xf6\xbdW\xbc]\x00\xadQ\x83u\xccy\v\xd6\x17\x150\vw\xb8\x9b\xdf\xca{\xa3J\x83\xd6N\xc0\b\u2e6e\x98\xed\xe3X\x86\x89\xd7űV\xa6an\x01B\xba\xbf\xff\xed4\xb6vQ\xee\x94c\xf5ǽC\xdbC\xfa0\x1c\x8eh\xc9\xd9\xca\xf6\xfa\xff\x14\xb8+\x82t\xa3d\x9f\u05cf\x83\xd1)\xb0\x1d\xa5)\xde\xe6\x85\xc1\x10j\x1fD\x83ֱF\xf7\xb4~(\xfb\xfa8sq No\xdf\xc5PVTذE+\xa94\xca\x0f\xf7\xb7_\xff\xba\xec\r\x03h\xa34\x1a'Rt\x8d_'ytF\xa1\xcf\xec\x15)\x8cR\xc0)k\xa0\x8dN\x11ǐ\xb7\x18\xa2\xb3\b\v\x06\xb5A\x8b2摞b !&A\xad~\xc1\xc2\xe5\xb0DCj\xc0V\xca\xd7!\x02m\xd180X\xa8R\x8a\xff\x1et[\xf2=ڴf\x0e\xdb\x10\x7f\xfcB\f\x96\xac\x86-\xab=\xbe\x05&94l\x0f\x06i\x17\xf0\xb2\xa3/\x88\xd8\x1c~$\v\x11r\xad\x16P9\xa7\xedb>/\x85KI\xb3PM\xe3\xa5p\xfby\xc8\x7fb\xe5\x9d2v\xceq\x8b\xf5܊2c\xa6\xa8\x84\xc3\xc2y\x83s\xa6E\x16\xa0ː8\xf3\x86\x7fc\xda4k\xafzXGN\x17\xbf\x90\xeb\xce\xdc\x00%;\x10\x16X\xbb4\x9e\xe2Ht\nٟ\xff\xb9|\x80\xb4u\xb8\x8c!\xfb\x81\xf7\xe3B{\xbc\x02\"L\xc85\x05]\xbaĵQMЉ\x92k%\xa4\v\x7f\x14\xb5@9\xa4\xdf\xfaU#\x1c\xdd\xfb\xaf\x1e\xad\xa3\xbb\xca\xe1:T\x12\x14/\xbd&\xcb\xe59\xdcJ\xb8f\r\xd6\xd7\xcc\xe2\xab_\x001m3\"\xf6iW\xd0-\x82\x86\u0091\xb5\xceD\xaa`N\xdcװ*Yj,\xe8\xfa\x88AZ*֢\b\xbeA\xe1\a\xd8H>艹v]\xfaV\xac\xd8x\xbdtʰ\x12\x7fPQ\xe7Ph\x80\xed\xe3Ԛ\x04Nvr^T\x0e6J\x8e\x94\x02\xd4i\xf1\xaeB\x83\xdd5\x06\xb5\xb2\xc2)\xb3'\xc51[\xe6#\r'.\"\x1cY\xf1\vǠp\x1f\x1c\xc2\xe0\x1a\r\xca\x02S\x848W\xc9L\x9c\xa2\x93\xd0\xc7\x10OS\x0fg\xa2\xe7$\xe0\x0f\xf7\xb7)b&\x86[\xe8n\xbc\xef\x05z\xe8[\v\xacyH(\x97\xf7\xbe\xba]\xc7\xcdB\xecp\n\x18h\x81\xb1\"=\x04c\x10\xd2:d\x1c\xd4zR#\xbd\r\x80\x1c\xcc`\xbb\xe2m\x8c\x14mH:\x86p\xa2\x1e\x18\xc5(\xc1\xe1\xdf\xcbOw\xf3\x7fM1\x7f8\x05\xb0\xa2@kC\xbe\xc6\x06\xa5{{\xc8\xd9\x1c\xad0ȩp\xc1\xbcaR\xacѺ\xbc\xdd\x03\x8d\xfd\xe9\xfd\xcf\xd3\xec\x01|\xaf\f\xe0#kt\x8doAD\xc6\x0f\xe1/ٌ\xb0\x91\x8e\x83F\xd8\tW\x89a\xd2:0@\xd6\xd5\x1e{\x17\x8e\xeb\xd8\x06A\xb5\xc7\xf5\b\xb5\xd8\xe0\x02ބJ\xf0\b\xf37r\xac\xdfߜ\xd0\xfa\x97\xe8@oH\xe8M\x04w\xc8w]\x8f<\x82t\x15s\xe0\x8c(K<\x16\xa2\xc3/\x04o\n\x89߂2ĀT\x1d\x15A1\xdd^\x8cG\xc8G\xa0\x7fz\xff\xf3I\xc4}\xbe@H\x8e\x8f\xf0\x1e\x84\x8c\xdchſ\xcd\xe1!X\xc7^:\xf6H;\x15\x95\xb2x\x8aY%\xeb}\xac\xf6\xb7\bV5\b;\xac\xeb,\xd6\x1b\x1cvlO,\xa4\x8b#{c\xa0\x99qg\xad5U\x19\x0f\x9fn>-\"22\xa82\xc4;\xcaNkAU\x03\x95\v1\xe7\x05k\x1c%\xcd\xf4Y\x1f\xcd\xc7)(*&K\x8c\xe7EX{\xcaB\xf9\xd5K\xfcx\x9c\xfa\xd37Q\x02\f\x03ǟ\x96D\x9fx\xb8P\xa9>\xe1pݷ\xd6\xd9\xc3m\xfc\n\x8dD\x87\xe1|\\\x15\x96\x8eV\xa0vv\xae\xb6h\xb6\x02w\xf3\x9d2\x1b!ˌL3\x8b6`\xe7\xe1\xc9<\xff&\xfc\xf3Ⳅ\xd7\xf5S\x0f\xd4{\xf4\xbf\xe6\xa9h\x1f;\x7fѡR\xad\xf8\xf4\x8bE\x96f\x82*$*\x82b\xd59]\xd73\xadk*l\xdaR\xea\xd0T,\x94\\\x8bқ\xf0z\x19\x93\"}]\xb3U\x8d\vpƏ\xe9<\xe3)\xdd\xfe\xe3\x85\xcb\xfd\xd2\x11M7{\xa1\x03ꪩ\xbb\xed\xf5ELJA\xe9\x9b1\x94\f6J\v61Nv=\xf2i\x9ax3\xae\x05\xcf\\lt\x9a\v\x1c\xb4\xed\xba\x89\xb7g\xebs\xb1\x16\x0f#\xf4\xde\v\x9e7\x9dĞ\xeb\x8b\x06\x7f\xf5\xf4\xb0\xe8#̦_\xd4\x03\x19\xad\xf8lHZ7\x8c\r&\x8fAh8\xd1\xf7\xef\xc1l\xaf\x8d\xdc=\u0378\x19\x11z\x94\xcfiGľh\xcb{̊.uK\xe9I\xf8\xe2\x86D\xa1\xe8\xb9\xd5ki^\xb0\x81\xeb\xf1\x8a\xd0\xfd3\xbc\xf5\t\xd1`x\xe5ǖ\xee\x8eٴ\xc9\xd4}CG_\\\x1a*\x11R\x87<<\x86譶f\xa2F\x0e\x87_\xa6\xc2\xcf\x0f6\xb4\xc1\xae\xa6j\xff\xa4\xc8[\xe4!\xd6N\x80\x1e\xafK\x9de\xce\x1cf\xa4\xe2e\x81fҽ\x1a\xb4\x96\x95\x97\xfc\xeb\xc7(\x15\xfb$\xed\x12`+\xe5ݡQ\xd2:ZKŕm\xad\xe0y͚\x8a\xd9KP\xeeIf\xca\xe2\x0e.\x7f\xde\xe4\xe0L(\xbb\xc3\xdd\xc4\xe8\xa8\xd3ߝ\xbcN&41\xf7}\xb0\x8eg\x11\xd0nt\x89\x83V\f*U'\xebV\x8e\x12\xb9oVh\x88\x88\xf0\xf3Bb$\x05\x8e\xa9\xceSx\xb1\x1e\x99BS\xdb\xe0G\xc1\x9b\x12ʨm\xcf\xd62\xc0\xf8\xd3\xd9\x00\xb4:\x94\t+\xffV\xfd[\xb4E\xfb\xabU\xa7\t\x8c\xa9\x02b%\x90\t\a\x8f0\x81\x8bMR\xda6f\xa0J 7\xb9:BD\xc39\xddr\xb8%F50B\x19\xaa\x14=\x8d\x10&\x98\xe0\\\xba\xc4\xfe^!pV@\xd7P8\xd28#C\xd59F\xe4\x0fN\x15\xa6\xad:\v\xab\xbc\x97\x9c\x15\xa7YҤ\x06\x85\xed\xe67_\x90\xe0-\x1c\xe8\x91I\x95X\x92ݑ\xb6kǐ\xb6\xcaTZ]恔\x97-8I\xac\x83\x94Os\xbc\xff\xd9\xf6i\xb56)\xd0y\x8bK\xf1\xdc\xf6Ft\v\x04~@ј\x04\x9a\x84\x94\r\x1a\x10\xa9H-\xb5\x19\xe7\xfb\xb8\xee!N\x1d\x8c\t-\x99\x12\x9a\xb3\x95yU\x198g\x17\xdaS\x9bR\x80ŵ\xb2\x9ck\xfb*ٸ\xbeC\xfb֡x\x9a\"dK5\x94Dz\xa9o8h?W\x89\xeco\xf5\xca\xcd(\xe8\xb8x\xe7ip\xba\x05N4p(\x8cT\xe7\x94̡\xa7k9\xbar\x84\x8e\t\xad\xd9\x17\xffva\x13 \x89\x15\xf3\xe7\x03+\x0e\xce\t\xb0\xb2\x89pH)A\xa3Ⰾ\xeail\x91d\x8e\xf7~\x92)\xd5Ѷ\x99=5\x84\x97R'm\xcbP\xb7m\x9bQ\xbcg\x8a\xc5\x7fOZζ\xfd\xdf$l\xb0$\x17\b\xed\xe6l\xe8\xeb\n-\x06U\xd6\xd9\xdf\xec\bT\xb59\xdd\x10f\xc2\xd79\x88\x94\xf3\xce\xfc\xff\xc0\x8cY.\xf1\x9b\xe1\xc8W\x95\xf8I\xae\xccA\xb4\\\x89\xd3\xff\x032\x05\x8dţ\xb7\x15\xd9\f\xf9Kw\xd4\ra\xbbȐ\xf2\x86\xec\x187\xa0\x06\x9cy\xd1~y\rb\xe4\xd8;\xdb*j\x8aç\x1fֳ\xd1m\x9e)\x93.\xc3\xc1\xce%\x0e1B\xdf0\xcf\xc0%\x18\xbe2\x05\x95\v\x8b\xbf!5\xdb/\x18O\xdc}\xf9\t\xca)\xf2\x90<\xc9;[\xc8\xdd\x00\xd9\xee\xd4\xde\xcf\xcf]\x86w}b\xcc\xe4\x12\x1e7\x84\x92'89\x8f\x85\nb\x99C\r\xfa\xbb\xc9\xe8\xe9\x9c8\x98yA!{\x82\x13\x82\xf1\xa9\x94\xd9ѹ\xa2\xe0\xda\x13$\xdc\xfdT\xeb\x11\xd0\xe2\xe4\x03\\GI\xfb\x01\t\x81\x81w>\xf1\b\xa6ł.\x9a_\x1c\xc9W$\xa1\x05\xda_\xb0\xccȶN\xfa\x10\x19\xfbN;\x16\xd9]p`u\xe6B1{\xa8\x01wKH\x8c}\xa7\x9c\x95q\"'\xf7\x1b1\xee\r\xf7\xdb\x17i6\xe2\xc6Ed\x1a\xa5\xe4'\t\xfa\x8b4\xf8\xe5*\xe4t\x88_@L7\x10\xb7\x97pj\xdbҡ\x9ba\xcb\x10n\xd76.\x91\x12\xd9\xc34\xd9\b\x1b\xb8xz`\xbe\xd4M7m\x1f\xfa\xadj4\xa6Є\x14+4\x95\xeb\xd4L\x8eؙ \xa5\xeaq\xe4\x1c\xb58\xa9\x9b0\x13\xec7kI\xdcx\x97\x01洀2D\x9b\x98\xb7\xa4\x06\xf6\xac \x15\xa8\xfd\x94\xe1\xe8\xb6\xda\xea\xf7<\x142\xb5\xaek\v%,ϴ\x87\xe6Uw9\x8f\xcc\xca\xee܌^\x81ٳ]Gҕ\xe3]\xe7W\x84&\x16\xfd\x8fY\xeaҲ\xc4#$\xca\xef\x17h\xfc\x05\xbc8\xb7\xfd\x0e1g!+Z\xdb\xfd\xfb\xdf\xd6̡@\xff\x0f\xa9)S\x19{\xf8\x0e\x8f\x898\xf4\xc6\xfa\xc4Xw\x1a;\x03\xd3\xc4\xf2\xf7H\xf9y\"<\xb18iu\vpg\xc8\xe5\xee\xccc\xb9!\xcf\a\xa9\x9dM\xdd1\u0a54M\xbf1M\xde>\xc1\xe9\xed͙\x1ex\xbb\x11o\x9d\x81_\xacn\xa2\xb7 \x05?\x91\xb78\xf6\xedK\x9c\xa0LI\xcc\xec\xf6c\xf5\x14Sr\xab\x8a\xd6+/\xbdFV\xac\x18\x1d'\x92\xe9\xf1\xb6\xf5ĩ\x9b\"os\xe3\xde=\x9eZm\x96\xfc\xd6R\x9b\x9fӉ\xbe\x11|\xeeÈ\xbeO\x9bȗ\xcd\xfa\xfa>\xf7\x15\x95\xb1\xf5\x00w\x06\x94O\xfe9\x05\x1d\"\x87\x17\xc6Tsɽ\x98أ1!k\t<#M\xee\xa8$\a\xc5%ަ\xa5\xcbB?\xfdӏNn\xd2\xeel\xfbww!\xaf\xed\r\x17\xb2\xaa\xe8\xf0p0\vՏnd\x90i\x0f\xc8q_\xed\x1b\xdc\xcf\xf9nb\x90!<\x16|f\xe6\xc0\x04\xa1Am\x80\xf2\x02EI-\xe75\x98k\a\xaa\xc9\x16@Ĝ\xfa\x1f\xc1\xceWLlp\x02\xf2\xe1\xd5\xfd\x02Ғ\xeb\"v\x06RG\x86\xc6\x0fh\xa9r]*Y\x92\xe7\x03(\xe8I\xc5y\xa2\xdcz\x9a\x99 \x854\xdd|\x84\x85[\xcb\xf2\x9d&;\xa6\xb4\xe9\"\x9a+p\x8d\xce\x15\x87\x85\x1c\xb6\xab\xfb\xc6*\x90\x8d\xb9\x80\a\x9f\xdaѽs݊\xfe`US\x11Z\xc9&\xc3)p\xcd\xda\x17V\xc5\xc3Wρg\xcaL<\x87\xc2̌\x91\x96K5\a\x93\xcb\xe2-\xec\xac:*\xa4Ь\x04\x15\x8a\x03\x1cg\x99\xb4\x1bwG\x19oR\xc7>\xa9\xb64\xbc\x15\x9f\x94\xba(\xba\xfd\xeaFv\xb2\x8d\a\xf9\xdc'P6\t\x0e\xf4\b\x84\xed\b3\x04Da\xf9\x02ʩl\x9c\xc2\x13\x03I\x93-\x96y\n\xde6\x10M\x95G\x80\x15\xeel&&\x93i\xdd\xee\x9f)\xe3\xd7`\x9b\x95\xbc\xcfR=\x00-/I\xc0\xfc\xda\x19N@\xe8F\xe1\xc1\xbdS/ό\xe7\xe1l9G8mDq\x00\xd4S\xa2\xa7>\x88\x03τ6@se\xc1zM\x8d\x10L\xec\xf3x\x97\x9d\xe2l\x9b#\xf5VJ\x0etX\xf0\x94j\x96֗\xab\xa1_\xdbѿ\x8b\x1a\x8a\x1c\xc8w\x17\xb6\xe0Y\xe5u\x115\x06\xaa\xda\xed7IT#\xba\xd6\xe7\nZhI\f\xee\xb1x\xcd\xe0\x9a\t\x96\xc1\xd8\xc1\x99\v3]\xcf҂\xb8\xaagi'\x88N\xc5%\xe9\xb3M\x0f\x80ݝ!HAܣ\xd4,\xf02\xb7@hYB\xe9\x12\x93\xd6U\xf11\x8b+/\x1b)UH\xaen\xb9\x9b\x98\xc5\xd9\xd0z\x11)\xa6b\xd5\x11V\x8dx\x12\xf2Y\xac0\x92\u05cb\x15H~j\xf0U\xa77\x17k\xa2\xdfS\v\xf5\xe55_\xa6\x82\xf3t\x05-\x93-7\x8b\xb2!SR0\xa7\xd7\\\xe9\xf2ȏ\xb3XL\xcd?1\xd8\x1f4\x7ft5ǹ\xf5l\x9b\xf4\xa8\x8e\xf3\xf7|\x00s\x00\x15\x8a\x99WX\xb7\x9d\xd2\xd3\xedyt\x1b\xc7\xc4\x027+?\xc1\x15v\x85\x97\x83\x92\xb7t\xa0c\xbd\x80\x1b+ش\xe1ƕ\x1f\xab&!DY\x85_i\xcf \xa7rb\xae^\xa2_\x03\x18\xeb\x15B\x11\xa0\f\x93$V\xe8x\xe9*}\xbb\x87\xf1\xfd\xc2\aL\xf9\x05L\xff\xee\xe5\x81\x195\r3\x95\f\xd3E\x93S\xf4:\x17\x9b.\xc5Z\x19\xf4\xfd|5\xed\x1f\x8b|\x06\xaa\xaf\xb5\xdf\a\xa3\x0eh\x9f\x82\x89!\x83r\x10\xd4\xdc6d\xc7\xc2\x02\xcaR\xca\xc5\xeeB\x9f\x0e\xb4\x10\xef\n܉2\x00֘j\xf6\xbb\xcdW\xb73M\xfe\x95\x1cd\x93(\xa9\x9b\xa0\xceL\x81\xc5xY\x85?D\x00C\x8f\x1f\xd6\xfd_\x8c\xf4E\x16\x98\xf9J\xac\x0e\x03\x956\x9b\xcaDɎ\xacl(\xefm\xb2\x8eX\xb4\xd2C\xa4\"\x82\xf1\xd4\xf9\xaa\x15\xab0\xbe'F\xe4k\xed\xceY\x16\xab\xa3i\x171\xaf\x16\xe3\xe2\n\x8c~\x85ň\x91Zz\xe4\x90_j\x9a_c1]\x14\xb1\xa4\xb2bX71\nt\xbe\x9e\"ǻ\x9f\xa9\x9d\xb8\xa0b\"\xb3Z\xee\xc5\a$95\x11\x17UB\xcc\x16\x94e\xd6?\xf4+\x1b\xa6A.\xa8z\xc8\"\xce|\x85\xc3\xe2\xba\x06_G0\xb9\x8e\xecj\x86D\x9d\xc2$\xe0\xd1\x1a\x86\xa9\xea\x84i\x92'*\x17\xf2k\x12&Ac\xbd\xc2|%\xc2\xeb\xd5\x1b\xbeF\x140\xaejf\xab\t^\x14%d\xd4\v,\xa9\x12\x98\xa5\u0605\x15\x01\xf1\xc4\x7fdޥu\x00\xfds\xfe\x11\xa09\xa7\xff#\xa7\xfb#\x10'\xcf\xfcs\xcf\xf4G`Ϙ\xddI)\x99\xfcq\xc9Y~\fC~\xa1u\xcd\xc4\xfe\\Nr\xa5iR\x92\xce\n\x01\xbas\xf6D\xa9\x1b-\xf4\xe2\xacԔ\xeeVn\"&\vi=&\x8c\\\x93;q:\x83\x8bW\x02\x921H\xffږE\xeb\x99q\u07bd\x9b\x84`\xbb\xa0\xfc-?\x9d\xce\f؎c\x1ev\x92\x85R\xf5\xbc\xe3\xb9\x10\xec\xeb\xa0{7Q8\xedm\xa7\x1cmf\x0e\x17z\xdbU\xc3\r\xab\x93[\xbeV\xf2\xc80\xedx\x80S\xa4\xe7_%\xde\nڞ\x10\xd2ׇ\xb8\x1b׃\xc0\x81\xa6\xf6\xd03pN\xa8>_~\xe1.\xc6\x16r\x85w\xdd,'\x83<\xf8\v\xb47\xb8cS\x11\xbb\bW6+\v\x06/\xd7\xeaDFd\xd4\x16M\xfb\xc3\xceu\xc7o\xbf5\xa0ND\x1e\xf1L\xdf;H3e\xf7N\xafh\x1b\xbf\x05M\xe7ե\xbb\x8e=\x88\x13Z\xfdB\ue133\xd8I\xb0\x03\x1c\x11\x8eUqmld\xb5\xb9\r{F\xba&\xa1\n\x19G\xa7\xe5a\xd20\xe5֬_7RZ\x1e+\xcdz)W\x89\x97.\x8f\x98&@\xe6֠睉\xcc֜_+r\x9a\x8b\x9d\xb2\x9dƼ\x9a\xf2kԒ/\xa8!_\x10C-\x8b\xa2\xb2ɔS+~\x95X\xea\x8a\xd1\xd45\xe2\xa9\xcb\"\xaa\x19\x90\x83\x1a\xf0\x9c\xea\xee\xacc\xbc\xec3\x9b\x9cS\xb6\xf9\x93\xe3\xe9\xaa\xed\x8cj\xed\x8cӠ9L3\xaa\xb2\x97Ucg\xd0\xf0J\xb1֕\xa2\xadk\xc4[\u05cd\xb8fc\xaeYə\xf9yY\x15\xf5Ň\f\xe18\xfa\x8b,\xe1^*3\x17 \xdc\x0f\xfb'\x8e\x00;A\x93\xe4%\x11\xa1k\xea\xa4\xc1\xfa\xfe\xde\xef\xbflQ\xe9Ӻ\xe0\xfe\xfe\"K\x8b\xdb\xdc\xd9\xc2à\xfb\xd9\x15\xda\x1d(\x10\xeea\x89\xff|\xfc\xfa%\xc2O\xf9\xa3\xde\xe9\x1d\xbci\xe0\x1c\x8c\xd2\x13ǟ>\xf9\x82\x1bG-\xb4\xe1\xaf|H@k\xf6\x1f\xf8f\xd7|B\xe6\xee~\x83]\x83\xb7\x84o}\xc5\x03\xfdx\xf6\xb6\x05k=\"EF\xa5\x7f\xb3\xebAL\x94\x9d\xc6?\t\xbe\x98\x14\xac\x17\x1b\xab\xc9rEHv\xd7\xddo\x1cvk\xf2ٺn\xe2D\xa4\x13\xbc\x03S媦ʜP:\xf4M\xc4a<)\x13l\xc8T\xeadT՞\xbf\x05\x95\xa4mx\x12\n\x0f\xe0Nu\xff4sH\xd1K\xf0\x18\xbf=1{o\xe2\x15\xf1\x187\xc7+\xa4T\xe2s\xb2\x02\xe2\xd5RR^\r\xdd\x7f\x9fSk\x0f\xb1\xe3\xb4>\xb3\x91lH\xeb$\xe8cǣJӂ\xd6\xfa\x90\xc8\n\xbdL\xa7\xe1CU\x86\x9a&s=\xaeooI\xac8t\x14\xd03\x04\x15\xa5:\xcf\xf6\rp\xb2{\xd5\x01B3\x8c.\xb4`\xfc\xa6\x13\x98\xff>G\x9e\x99ς\\\xfc \x88#ψ\xaa\xc0L\x93UcA\x16Z\xba\\p\xd89\xeb\xc2e\x14\xb6N\xfb\x9d\x99/J\\\xfc\x96\xc4<\xb1\x12\x84\x1a{F\"穈\xbf+='T\x92.\x0eP6\x1c2\x1ex{\xect\x9d\x7f\xe2-\x00N\xedI\xd9\x7f\xe4\xcdҵc^\xad\xc3\xdb\x7fL\xce\x13\xddC\x1e)\xf1\xee\x82t\x9e\xbd{u\xaa\xb0~\xbcn\x8a\x02\xb4\xde5\x11\xd1T[뛂1\xe3\x81\xdfN\xaa\xe9\xe2[Gw&\f\xec\xd3Y{\xc5\f<\xd6Ti@\x8c2V\xf0\xeb`\x88\v2w\x9c\xee]\x91V\xc9\nj \xdaS\x9ca\f}\x1c\xaf\x11\x16w\xf56r$\x9b\x94\xbd\xa3\xc7J\xfdG\xf7\xf4\xd8C\x92\t\xcb;au\vZ\x1b\xbcX\x81|D&\x9a`H\xe5\xee\xec5\xc9\x1e\xd8qI\xf3\x15\xb2\xbe\xbeK\x1bZ%\x9c\xfb\xe1\xdd\xc2\xe1\b|\xb3U\x95\x9d\x8a\xb0\xee\xa3{\xb1\xd0+%\x1dT\xc7\"\xddr݁\xed\xc0\xa0?mACI\xe0\b\x82\xd8]G\x19\x87rJ(\xbfa&V\x1dA\xbd\xd3\x11\x0e֨Yi~4T\x99\x88\xfa\xb9\x92\xd9IUQsKJj`eG_\xe6t\xa5\x1f\xc4Tj\xfe\xd0\f\xefAy\xa1\xc7\xcbK\xc8^\xce\xfd\xed\xa5\n\xb4\xa6\xfb\x10\x11>\x83\x02\xb2\aaI<\xf5\xe6_{\x01\xcc\x1b\x85X\xcah\xa9E\v\xd3P?\x81s\xbe\xe2qb\x02\xa4\x7fH\x16\x83\xcc\xfd\xa8*N\xab\x04\x7f\xf9\xec\x01\xa8\x1e><|F\x88\xcfݾ>\r\xebh\xe0^\xb9\xa1\xae\xee\x10ߩ5,\x06\xbe#\x06\xceμ\xc8l\x1c\xa4|\xca\xf2\x8e\x7f\x8e\x1d\xdb,\x10\x13N\x8e\xf0\xca\xddV6\xa6\xeb\xf7ʱ\x9c1\xbe\a\xf9\xcav\x04a\u07b9;8c\xa9\xcd\xf3\a'\xe3\x80\x18gJCy\xb0\x19V c\x87\xc3\xc4=\xf4\xc7\xf0\xea-秛!\xe4\xc13\xd8-\xec)\x88\xc8z\xaf\x03:w\x93CNn\x00\xc4u\x9fx\x12\x93\xe0\x1b\xc6\xc1\x15\x19{\x84o\xce\xc8\xe1\\\x9f\x11\xa9\\\x02\xbb\xdec\xd4uȻ\xf0\nD::$\xe1L\x17\x9c\x15ޚcb\xffY\xaa{\xde왈E\xcd\xcb:\xdfSe\x98\x15e\x87Ob\xec\xc7`\xcb\x12\xbf͏\x1e\xff\x81\t\xca\xd9\xdfRnZ\xf7ǹ\x19&\x94]\xed\x897\x9b\xafu\xdd\xe6\x14\x9d\xd7\xc4\xeftkxR.\xae\x87\xb6&_\xa4\x81p\x8c\xca\xfa@\x99&[\xd0f\x05\xbb\x9dTƥ\xd7W+\xc2v\xde\xe1I\xa5\x81)\xe3\x18\x06\xba\xe7\xc7ml\x18\v\xffbP\xe2S}\n\xad\vƏ\x15=\xb9\x8c!-\n\xeb\xe3\xc3{mh*\xd6x\x91>Ƹ\xd3o\x8b\x1cm\xb1\xe9\xf6\x8fٶ\xa8)\x10\x9c#\x1d^{v\xa6t9Gj\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xec=Mw\xdc8rw\xfd\n<\xe5\xe0\xddaW\x15\xcf \xbf`\xcc\xe3O]\xaf\x18\xcfs\xa2\b/n\xb5\x90\x16\xf4\x8d*\xea2Pb\xc5r0\x99\x16\x95\xa5\x11\xdfYnk\xc3Ԏ\xd9=t\xfb\xc1\xf2\x8bQ\xf2\x96\xdb\xfd5[\x1b\xaa\xb7\xae\xf6܄_\x1d\x89\x1c\x00\xff\xc9\x1e\x117c\xb5\x90\x0fc\xbd\xbdg7ZI\x06\xdf*\r\x06Qf91P>\xb0\xa7=Hf\x15ӵ$T\xfe\x83g\x8fu5\x82H\x05\xd9z\x80\xa7Ǥ\xffq\x0e\x97\xfb=\xb0\x82\x1bˬ(\x81q\xdf!{\xe2\x86p\xd8)\xcd\xec^\x98y\x9a \x90\x1e\xb6\x0e\x9d\x9f\x86\x9f\x1dB9\xb7\xe0\xd1\xe9\x80\n»\xce4\x90\xdcދ\x12\x8c\xe5e\x1f\xe6\xfb\aH\x00F$\xaaxmH8\xdaַ\xddO\x0e\xc0V\xa9\x02\xb8\xbch+\x1d\xde9\xd9\xcb\xf6P\xf2k_YU \xdf\xdfn\xbe\xfe\xeb]\xef3\x1bȒ\xa7\x14\x13\x86q\xf6\x95&\x06\xd3~\xa62\xbb\xe7\x96i@\u0383\xb4X\xa3Ұ\n\xd4\xcd\x1b\x90\x8c)\xcd*\xd0B\xe5\"\v\\\xa1\xc6f\xaf\xea\"g[@\x06\xad\x9b\x06\x95V\x15h+\xc2\xd4s\xa5\xa3Q:_\a\x18\xbf\xc1A\xb9ZN\x12\xc1\x90\xf0\xf9\t\x05\xb9\xa7\x83\x9b\x1f´\xf8\x13\x93z\x80\x19V⒩\xed/\x90\xd95\xbb\x03\x8d`\x02֙\x92\a\xd0H\x81L=H\xf1?\rl\x83RoI\x18-x}\xd0\x16\x9a\xc0\x92\x17\xec\xc0\x8b\x1a\xae\x18\x979+\xf9\x91i\xc0^X-;\xf0\xa8\x8aY\xb3\x9f\x95\x06&\xe4N]\xb3\xbd\xb5\x95\xb9~\xfb\xf6AؠI3U\x96\xb5\x14\xf6\xf8\x96\x94\xa2\xd8\xd6Vi\xf36\x87\x03\x14o\x8dxXq\x9d텅\xcc\xd6\x1a\xde\xf2J\xac\buI\xdat]\xe6\xff\x148j\xde\xf4p=\x99o\xae\x90\"\x9c\xe0\x00jD'0\xae\xa9\x1bEKh\xfc\x84\xd4\xf9\xf2\xf1\xee\xbe+L\xc2\f\xa9Ot\xefHX\xcb\x02$\x98\x90;\xf03z\xa7UI0A\xe6\x95\x12\xd2\xd2\x1fY!@\x0e\xc9o\xeam),\xf2\xfd\xaf5\x18\x8b\xbcZ\xb3\x1b2/(\x87u\x8530_\xb3\x8dd7\xbc\x84\xe2\x86\x1bxq\x06 \xa5\xcd\n\t\x9bƂ\xaee\x1cVvT\xeb\xfc\x10\xcc[\x84_a\x8e\xdfU\x90\xf5\xa6\f\xb6\x13;\x91\xd1\xc4 \xed٨\x80\x81\x06ue|\xd6\xd2/\xa4\xa6\x86_\ax8]\x16z\x05\x83\xf6\xc3\xee\x89í\x19C\xb9r\xd0P\xa7H5\xe4\xee\x98\x16\xecP\xc2C\x99\xc1\xa4\xaf\xf5R\xed\xdb\tL\xe6U\xdd:\x82\xe3\tW\t\xc5GQm\xca\x12r\xc1-\x14\xc7\x19L\xdf\xdc\xf5\xab\x8fQO\x11L\xb6ujW\xecF\xf0\xecR7\xaf\x81\x89\x0eD\x9aZ\x7f\t5N-\xe4_\xc8\xdav\r[\xb7\x10\x8d\xba\xe0kٲO\xecz?IxZ\xb3͎Y\x8djq\xdb5\xb4=\x90\xa2(p\xa6\xe2\xa8*\xc8{\xc8ƻ\x13;&\xac\x1f\xdf\b\xd0-'\x9c$[;\xefg\xdd\xda\xfa\xc6n#\xca\x03|\x9d\xf6F\x8cF`\xa2\\p\xcb$|\xb3m;$\x16\x8dr\xc7\v\xd3\f\xd3\rʫ ?\xb0\x11\x88IC\xbdb\xdb\xda:\x80c\x18\x8c\x80mp\x82\xb2\xb2\xc7+\xd7v\xa7\x8aB=1C\n\x17m\xddN<\xd4\xda\xe9\x82?\xe4\xb0\xe3ua\xaf\xdd(\xfe\xb8~\xb3h\x1aZ(+4\x8d3\xc2}\xef\xab\xe1\xe0P\a\xe4Md\x10\x9c\xdb\xe0J(\xefA\xb0\x13\x03N\xdd\xed\x01u\xd3A\xe4\xdeB\x8f\x92!\xae\xbd\xb0dF\xdcI^\x99\xbd\xb2(\x0f\xaa\xb6c\xb5\x06\x03\xb8\xb9\xdb\f\x1au\xe6'bE~*\x89\xa7U쉋Sm\xe6\n\xeaޛ\xbb\r\xfb\x8an?\x04\x98\xcc\xcdEfk-\xc9\xe5\xf8\x02\xbe\xec\xd2\x16]\x17`<*\u0381m\xf5\xceU\xcb)\x17\xc6\x17|\v\x053P@f\x95\x8e\x93'E\b\\I՟\x11ʎh\xd2~\x104\xabDۂ\x01\xe6^d{\xe7n\xa2\x94\x11,\x96+0\xa41xU\x15\x11+ԖY\xc9\xf0\x9d\xcd)\x8d\xb6$\xa8\x8f!ܘ\"iK\xa2\x0enˌ6\xeeS\xbd\x11\x9bW\xa2\xf7Д\xdf%웓\xe6\xcf/\xecHn\x01\xa6\xbb\xd6%l\xf8\x9a\x02\xb5\xe7\a\x9a\x7f0Ɲ7[6\xc3\xd6\xcf>[\x9e\x85k\r\x1a\xff L#cu\xe7m\xd5\"\x86\xfd\xd4myE\x8b\xf0\x9ea\xf9\x15ۉ\xc2\x02\xf9Rs\x88v\x1c\x9dY\xce='\x81Rm/\x96\x92\xdbl\xff\xb1ٺIh1\xa0\xd5\x10\x80\xf3\xcbC\fC)\x8b\xff|\xfc&\f\xa2(s\xf6A\x81\xf9\xa4,}yQ\x12\xbbA\x9cI`ט\xa6\xa5tf\x01鲨\xff\x16\a\xb7\xbd\xba\x87\x96m°\x8d\xc4\xf8\xcc\xd1g\t\x9b\xf6\x10\x90sh\x95\xb5\xa1\xedK\xa9\xe4\xca-i\xf9\xde\x16\x00\xed\xe2\xe5Y\xa5t\x8fSW\v!\x8e\xa2\xe8ѻGk\xe5~9\xc9=\x99*\x1a\xaa\x82g\x90\x87]6Jt\xe1\x16\x1eD\xc6J\xd0\x0f\xc0*\xb4\x1b\xe9B\xb5@\x93\xbbr\x86\x14\xa6\xbb\x16\xa1x\xb30\x92\xb71VV8\xeb\x13k\x066'U\x8fd\xb5LWO\x1b%\x99w\U000874a8\xdfM\xc3\\fY\x16\xf2\xeb\xd4\aqH:\xf7\xa3\xe4\xb4\xf1\xf474\xaf$\xde\x7fO\xb3\x86\\h\xb3f\xef)\t\xb5\x80n\xfb\xb0J\xd8\xe9*\t$b\"\fC99\xf0\x02\xdd\aTޒA\xe1\x9c\t\xb5;\xf1\xa0\xd2T\xcc\xd3^\x19g\U000db371\xcbG8\xfa\xcdٮ\x96\xb8\xdc\xc8\xe8\xaa}\xbf\xa0\xce?QZ\x8dעdqd\x97\xf4\xdb%9fK\xa6\xc8\x19\xce\xdb\x02\xa9^P\xf5\xdb\xea\xb1ނ\x96`\xc1\xacJ^\xad\xfcl\xb0\xaa\x8c\xeeq\xbaB\xa9\xa2K\xc2\b\x8cӃǃ\x8d\x9b\x84Jt\xff\xe7(\x90<\x1f*e\"\x99\x16\x11\xb4n\x95\xb1n\xf1\xb0窏\xac.\xa6D\x8e~ő\xf1\x9d\x05͌U:$/\xa2\xca\x1e,\xae\xa3Ԙy\xb9q\xfbD~%\xd3\x01\xc6\x00\xf5\xb2\xd5.\xce\x1e\\\xba\xbd*\xfc\xff<̌\x1c-\x82]i\x95\x81\x89f#\xb4%\xd1\xea\xcc,\xf66\v\xbd\xdc\x05~\xbb$\xb5\x9e\xb2\f\x1d\xca27\x1eI{FP\xf4\xf1[g\xcd\x1aU\x18\xfe\x9d\"\xca\xe7\xe0\xc8\xe8\xfcBY\xf2a\"m2\xba7\xaeu\x98\x80\x1e\x98\v\xb6\xf4CM\ni\x99\xcf\xedE\xf2\xb7洔Bn\xa8#\xf6\xee\xc5\x1c\x1d\x16\xcc@,#i\xac\f\xd8\xe1۷\fi>\xa4ƾ,\xa4\xaa)\xda\xe7\xd1\xd0\xe3\xec\xe9.H:\xa7\x18:\xe2R\xd9\xeeB\x8f\xef\xe9\x8da;\xa1\x8dm\x11^\x00U\x98\x89\xac\xa7\xd1\xe1\x9d\x11\x9fʏZ\x9f\x1d\x9e~v\xad;K\x92{\xf5䓘\x97\x04\xe5\x81\xf8{~\x00\x9fJ\n2S\xb5\xa4\xc52T\x17\xd8\xcd\x02\x88\x8e\x89Θ$\xda\xccNcY\x97\xe9\x04Y\x91t\n9\xbb\xb2\xd6m\xf2#\x17i+[\xec<\xb6ک$ʱ\xd2\xcf\f\xf5ٔ\xddl\xf5\x92\x7f\x13e]2^\"[\x96Ĝ;\x97\x87\x19R\xdb\x1d\xaf\x9f\xb8\xb0\xfeĐ۔]\xa6M3UV\x05X\b\x19\x96\x99\x92F\xe4и\x0f\x9e\xff\xa3\xf9\xaa\xb1\xc2َ\x8b\xa2\xd6\vt\xf4b\xce,\x8d\xf9\xbczz\xfe@.\x1d\x91\x15\x113q\xc1~\x81\xc3=o?*\xbd\xcce\xbe\xd5\xf0\xfc\xaei\xa5\x85rY\xfe\xd3\xde\xe9,L\xf2^\xfbީ\x17^.\x8f1\xf7t\x16*a\xf2\xea\x9e6\xe5\xd5=}uO_\xdd\xd3AyuO_\xdd\xd3W\xf7t\xbc\xbc\xba\xa7\x9d\xf2\xea\x9e&ۏ\x14\fW\xb4r;Q!\t\xab\xc4\xf4\x8d9\xb4g\xfa\xf2YJ\xfe,Ȓ\xec\xea\xcdxˑ\xb3@\x8bΐ\x98\x8e\xd1kҭqJ\x86\xc9\xe4\xceJ&x\xe1\xcfp\xd6& p\xf6Y\x9b\xcd$\x80g\xf0\x9d\xdf\x19\xf9\xae\xec\xd4\xe7?\a\xf3\x9c\xeb\x16ӹ\xa6I\x19\xa6Ik\x1b\xf38'\xe5\x90.\xcd\x1cM\xa2\xea\xd2,\xd1&\x03t\xa2\xe3\xa4\xdc\xd0Ӽϩ\xa1\xccf\x84Ƴ=\xa7\xc0\x8e\xe5\x81&\xe4xN\x80\xecf\x7f.v\x03f\xa5i\xb6\xc2\xd2\xdc\xcd\xf1;\x00C\x99\xb7\xceů!\xb3\xdfK&\xa5{NsJp\xf7y\xd0\x04\xa5%\xf8\x89c\x8ex\xc5\xfb^r\xfc\xf1%\x82\xab\xe7\b\xaf\x92\x1c\x91\x97\b\xb1^*\xc8Z\x1af-I\xdeH:\xbe\xf8\x12\xc1֒pk\x91Ϙ~<\xf1\xa5\x8e%\xbe@\xd8uvൈt\xa9\xc7\x0e\x17\x87_\t\xe3\x9b9fx\xe2\xa3%\x80\x8c\x1e/\x1c\x0f\xc1\x12 \x9e\x1c+\x9c\r\xc2R\xe6\xc10L\xfb\xeeC\x82ɉL\x8bv\xd3S\x93\x90\xd26\xba\xe7\x0f\xff%\x1e\xfaK\xdc\x06O\xc1>\xf1p\xdf\xf2C}\x89t>3<\x9b\xec:\xf1\xf0ޢ\x00\xed\xcc\x10m\x12\xe2\xd4a\xbd\xe9 mz\x01nxH\xef\fw\"A\xc2\x12\xaa,?h\xf7ݛ1J\xe7\xa0g\xf7\xb5\x96\x88\xf3\xac \x0f\xe2\xa8~\xff\x83\x1d\x9dp#*\xd6\xea\xee\x99\xc58\xaa\x9a{G2\xf6'!\xfdn=\nn\xc7'\xe9m\xbc\xb5\x0eS|_\xa7\xf5R\xfd\xe3\x01n\xc7\xce@\xc55\xed\xe3o\x8f.)Ȭ\xd9G\x9e\xed\x9b\x1e\" \xa9\xdf=7l\xa7t\xc9-\xbbl\xb6Bߺ\x0e\xf0\xef\xcb5c?\xaa&}\xa4s\xafX\x04\xaa\x11eU\x1c1bb\x97]0\xdf'8Q\x81\r\xf8ܪBd\x11\x0fq\xf4J:\xd7\xe0\xe4B\x1f\xba4/\xebdA\xc4b\x14l.\xfc\x85\x85\x83K\x85\xdd\xf5\xe2g.]\xf0J\xfc'\xbdՓ\xb66\xf6\xfevCՃT\xd1;?M\xf6\\#c[\x98V\xe8\xed\xc0\xc9\xf5\xe8B\x1d\xc9^m\xfe\x9c\x80H/e\x04?ë\xf1L\xa1\x16\xbb\xdd8,\xd7$X\\\x1e\x99\xf2o!\b\x9d\xaf*\xae\xa3\x9bz\xcc˃\xb9\xeaa\x18\xec\xf8\xdc\n֤Y;}\xf9\xa3[z4\x0f\x8f\x80\xd0f\xef\xb1\xeao\xa3\x13\xa5;\xf4\xfc\x1e\x9c\xa6\x0f.\xcf\x1eY~\x01\x9c\xa6]\xa6\x15Q1\xf2S4\x1d\xef\xd9W\x0f\x8d\xbfD\xfegu\x80\x0f\xd1U\xc4\xfe\xb3\x18\x83&#\tt\x01\xeaԵ\xe9m\xd6\\\xfc:\xebgȈ\v\xa8\xf8\x8b\xaf\x17\x8cϷ\x18\x7fK\x83\xee\xff\x0e\xb0'l\x1bN\xd9ۯ\x14n6\xea\xd2\xcfp\x1fL\x86\xa5\xc2\xc1U\xad\x11\x90\xb1\xa7D\x9e\x8bZVi\xfe\x00?)\xf7\xdaK\n\xb5\xfa-z\x0f\xfexg.d\x13\xfb\xb9\x16S\xe6~lC\x80\xed!\x83\x93\xeb\xe8\x11\xdb3o۷\xb6H\x18\xdc\xfd\xfdOn@\xf44\xc6\a\xff\xee\x05\xea]\x03H\xe90P\xd7h\x1b\xd7N{\xf5D\xf7\xb9w\x9f\xab\xe83\x1a\xfe\xd0{\xfa#L\x92\x14\xb5\xf6u\xbce\xc7[\xeeLשdA\xb5\x8b\xc2\xe2ƨL\x90\x83M\xbb#tj\xe4\xe5\ue71e\n\x94&\xe8X\x1b\xf8\xfc$A\x7f\t*\xd9ld쭍\xfe\xac9i\x18}g\xc3*r\xeb\a\xd5\xc7\xc29\xe9\td\xdc+-a\x9bG\x98\xe6\xfd\xa9S\xd2\xcd̫\xb8\x96\x1f\xf7IV\xe3\xcfᬚ\x17z.\x12(\xeb^\xa1\xe9\x03\x1e\x7f`\xcc=W\x93\xf1\xca\xd6:\xa8\x9cZ\xd3\x05\xdc\b\x04\xdc\xfd\xd4\xe7=1\xd6>H5\xc3\xcb\xf6a\xa7v\xe1{\xf6\xc9\xc8\x11\xfe5\x8f\x84E_\x14r!\xa3{\xd2q\x85\xf0\xcfc\xe7\xe8<@\x9c\xef\xdc;Q\t\xe3\xbd\vOe\x9d\x0e\xb8\x19\x06\x0e9\xf6\xf2\xd4K\x8e\x84\xae^\x9f\x19\xc3-\xd6i\xce.z\x91\xa1\x86\xe1\xca\xf6\xbb\x18\x13\xc6\x0f\xa3\xad\xd8'8\r>W\xec\xa3\xc4A\x9c\x12\xc0\x9d8\x83\x9c\x16\xfe\xc7\x1e\x8a\x9c\x1c\xe2\xa1iE\xc7\xfdF\xf4^_a\x0f\xaa\x0f\x92\x91\xe9\t\x9e\xa6\x8a;\xda7&\xa0\x7f\x10;\xb7+\x93\xe1\x98\xfexR#\xaa\x82'\xd5oL\xf5\x8e*\x87\x93\x8f\xf4\x9aX\xde\x11\x12\xefwv\xbf\xd4\xdb\xf6\x06}\xf6\xb7\xbf_\xfco\x00\x00\x00\xff\xff}\xef\x8a\xf1Mx\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xb4V\xcfo\xeb6\f\xbe\xe7\xaf \xb0û\xcc\xce\xebv\x19r\x1b\xba\x1d\x8am\x0fE\xf3л\"\xd3\tWY\xf2H*]\xf6\xd7\x0f\x92\xec&\xb1\x9d\xb5\x1b0\xdd\"\xf1\xc7Ǐ\xe4\xe7TU\xb52==#\v\x05\xbf\x01\xd3\x13\xfe\xa9\xe8\xd3/\xa9_~\x90\x9a\xc2\xfax\xb7z!\xdfl\xe0>\x8a\x86\xee\t%D\xb6\xf8\x13\xb6\xe4I)\xf8U\x87j\x1a\xa3f\xb3\x020\xde\a5\xe9Z\xd2O\x00\x1b\xbcrp\x0e\xb9ڣ\xaf_\xe2\x0ew\x91\\\x83\x9c\x83\x8f\xa9\x8f\x9f\xeb\xbb\xef\xea\xcf+\x00o:܀ \xa775\x1a\x85\U0004f222R\x1f\xd1!\x87\x9a\xc2Jz\xb4)\xfe\x9eC\xec7p~(\xfeC\xee\x82{\x9bCms\xa8\xa7\x12*\xbf:\x12\xfd\xe5\x96ů4X\xf5.\xb2qˀ\xb2\x81\x1c\x02\xeb\x97s\xd2\nD\xb8\xbc\x90\xdfGgx\xd1y\x05 6\xf4\xb8\x81\xec\xdb\x1b\x8b\xcd\n` $Ǫ\x06.\x8ew%\x9c=`gJ\x12\x80У\xff\xf1\xf1\xe1\xf9\xfb\xed\xd55@\x83b\x99zʹ.T\x06$``@\x01\x1a\xc0X\x8b\"`#3z\x85\x82\x12ȷ\x81\xbb\xdcɷ\xd0\x00f\x17\xa2\x82\x1e\x10\x9e3\xe5Ce\xf5\x9bIϡGV\x1a\xd9\x18\xdc\xceCvq;\xc1\xfa)\x95S\xac\xa0IӅ\x923\r\x94`30\x00\xa1\x05=\x90\x00c\xcf(\xe8u\x8a2\xf3ӂ\xf1\x10v\xbf\xa3\xd5z\xe0AR\xb3\xa2k\xd2P\x1e\x91\x15\x18m\xd8{\xfa\xeb-\xb6$BRRgt\x9c\x93\xf3!\xaf\xc8\xde88\x1a\x17\xf1[0\xbe\x81Μ\x801e\x81\xe8/\xe2e\x13\xa9\xe1\xb7\xc0\x98\xc9\xdc\xc0A\xb5\x97\xcdz\xbd'\x1d\x97ˆ\xae\x8b\x9e\xf4\xb4\xce{B\xbb\xa8\x81e\xdd\xe0\x11\xddZh_\x19\xb6\aR\xb4\x1a\x19צ\xa7*C\xf7y\xc1\xea\xae\xf9\x86\x87u\x94OWX\xf5\x94&K\x94\xc9\xef/\x1e\xf2B\xfcC\a\xd2:\x94\xf9(\xae\xa5\x8a3\xd1\xe9*\xb1\xf3\xf4\xf3\xf6+\x8c\xa9s3\xa6\xecg\xdeώrnA\"\x8c|\x8b\\\x9a\xd8r\xe8rL\xf4M\x1fȗ鲎\xd0O闸\xebHe\x9c\xddԫ\x1a\xee\xb3\xe2\xc0\x0e!\xf6\x8dQljx\xf0po:t\xf7F\xf0\x7fo@bZ\xaaD\xec\xc7Zp)\x96S\xe3\xc2\xda\xc5\xc3(s7\xfa\xb5\xb0\xdd\xdb\x1em\xea`\"1ySK6\xaf\a\xb4\x81\xc1,\xb9\xd4\x1fB\x92=\xfe%\x96AI\n\x9a\x89\xbe\xa4\xfd|\x1fͲ\x9c䗃\x11\x9c^N0=&\x9bi~G-ړuXB\x145\xc1\xf7\xa1\xa4\x83>v\xf3\x9c\x15|\xc1ׅ\xdbG\x0eIY\xb3\xae_\x9f\x1b\xb3\x01\xe5{\xb3'?+wZY\xb1\xca߰K\xa9\xbe\x10\xe8!\x10p\xf4>\xed\xedL!3\x90\xa9\x92\xcflH\xb1[@\xb3\x88\xe7\xc1\xb7!\x7f\xf0MJl\xb4\xec\x13\x0e\xcd\x1e\xf2\x14\\\v\x01o\xf7\xba\x9c\xb9x}\x88\xd0r\xf2\x97\xf4\xbf9'\xb9!\xc6\xc5\xdcUF\xb5\xf8\x902.1\xbe\xbc_\x03\xca\xe8\x9c\xd99܀r\x9c{\x17_\xc3lNө\x19G\xed+u(j\xba\xfe\xbd\x01\x9a9\xa4=y=\xa0\xbf\xb5\r\xf0j\xa6*\x7f\x95\x19v\xa7[\xae\xf7o\xff\x01\xe7+UFw\x03I\xbb+\xa5\x05\xce>D\xcab\xf7\xcaH/\xfe\xf3\x98\x11\xb2\xbd\xb4\x1d5\xe3j5\xc6?\"\xf3\x1anBXl\xf6\xec2\x87o.\xca\x13\rl\xf6c\xc1\x7f\a\x00\x00\xff\xff\xb1J-\xe7\xa6\v\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xb4VA\x93\xdb6\x0f\xbd\xfbW`&\x87\xbdDr\xf2}\x97\x8e/\x9d̦\x87L\x93f'N\xf7N\x8b\x90\x8d\x9a\"U\x10\xd4\xc6\xfd\xf5\x1d\x90\xd2\xdak\xcb\xc9n\xa7\xd5\xc5c\n\x04\x1f\xde\xc3\x03UU\xd5\xc2\xf4t\x8f\x1c)\xf8\x15\x98\x9e\xf0\x9b\xa0\xd7\x7f\xb1\xde\xff\x14k\n\xcb\xe1\xedbOޮ\xe06E\t\xdd\x17\x8c!q\x83\xef\xb1%OB\xc1/:\x14c\x8d\x98\xd5\x02\xc0x\x1f\xc4\xe8rԿ\x00M\xf0\xc2\xc19\xe4j\x8b\xbeާ\rn\x129\x8b\x9c\x93OG\x0fo\xea\xb7\xff\xab\xdf,\x00\xbc\xe9p\x05Cp\xa9\xc3\xe8M\x1fwA\\hJ\xcez@\x87\x1cj\n\x8b\xd8c\xa3Gl9\xa4~\x05\xc7\x17%\xc5x|\x81~\x9f\xb3\xad\xc7l\x1f\xc7l9\xc0Q\x94_\xbf\x13\xf4\x91\xa2\xe4\xc0\xde%6\xee*\xb2\x1c\x13w\x81\xe5\xb7\xe3\xe9\x15\fѕ7\xe4\xb7\xc9\x19\xbe\xb6\x7f\x01\x10\x9b\xd0\xe3\n\xf2\xf6\xde4h\x17\x00#?9]5Q\xf3\xb6dlvؙr\x0e@\xe8ѿ\xbb\xfbp\xff\xff\xf5\x93e\x00\x8b\xb1a\xea%\xb3<_\"P\x04\x03\x13\x12x\xd8!#\xdcg>!J`\x8c#\xe8Ǥ\x00\x13\xfeX?.\xf6\x1czd\xa1\xa9\xf8\xf2\x9c\xf4\xd7\xc9\xea\x19\xae\x1b\x85^\xa2\xc0jca\x04\xd9\xe1T>ڱZ\b-Ȏ\"0\xf6\x8c\x11\xbd\x1c\x85<>\xa1\x05\xe3!l\xfe\xc0FjX#k\x1a\xd5&9\xab\xfd8 \v06a\xeb\xe9\xaf\xc7\xdc\x11$\xe4C\x9d\x11\x1c5?>\xe4\x05\xd9\x1b\a\x83q\t_\x83\xf1\x16:s\x00F=\x05\x92?ɗCb\r\x9f\x02#\x90o\xc3\nv\"}\\-\x97[\x92\xc9WM\xe8\xba\xe4I\x0e\xcbl\x11\xda$\t\x1c\x97\x16\at\xcbH\xdb\xcap\xb3#\xc1F\x12\xe3\xd2\xf4Te\xe8\xbe\xf8\xa0\xb3\xafxtb\xbcy\x82U\x0e\xdaEQ\x98\xfc\xf6\xe4E6\xc2w\x14P\x0f\x94F([K\x15G\xa2uI\xd9\xf9\xf2\xcb\xfa+LGg1\xce\xd9ϼ\x1f7ƣ\x04J\x18\xf9\x16\xb9\x88\xd8r\xe8rN\xf4\xb6\x0f\xe4%\xffi\x1c\xa1?\xa7?\xa6MG\xa2\xba\xff\x990\x8ajU\xc3m\x1e6\xb0AH\xbd5\x82\xb6\x86\x0f\x1enM\x87\xee\xd6D\xfc\xcf\x05P\xa6c\xa5\xc4>O\x82\xd39y\x1e\\X;5\xd88ޮ\xe85\xef\xe4u\x8f\xcd\x13\x03i\x16jitv\x1b\xf8\x8cW3\xf9|>_\xfd$|\xde\xe0P\x86|K\xdb\xf3U\x00cm\xbe\"\x8c\xbb\xbb\xba\xf7;\x84\xcd\xd4}\x9bO\xd2Fm\x03+\xa2\x81,r5\xd59\"I<\x16L\xe8l\xac/R^\xe1<\x97\xc2hUc\xe3.\x81>E\xf2\x18\x98\xef8C\xbeP~L\x90[\x8f\xbbq\xc6zAo\xf3P\xbf@\x13r\x0fG\xb4\xf0@\xb2+\xe6p\xa7\x97\xd4\xf3T\xd0g\x8f\x87\xb9\xe53\xec_w\xa8\x91e\x9c\"Dl\x18EqDtj^uf\r\xf0)\xc5l/3\x9b\x11tD\x90\x9dv\xef\xf1pI4\xfcH\xdc\xf1\xbe\xff1\xe4\x1b\xbd\x17'\xc0\x8c-2z\x99\xb5\xb8~b\xb0G\xc1\xecr\x1b\x9a\xa8\x06o\xb0\x97\xb8\f\x03\xf2@\xf8\xb0|\b\xbc'\xbf\xad\x94\xf0\xaa4B\\\xe6\xef\x86\xe5\xab\xfcs\xa5䯟\xdf\x7f^\xc1;k!\xc8\x0eYUk\x93\x9b\x1a\xed\xe4\xb6{\x9d'\xeekHd\x7f\xbe\xf9'\xbc\x84\xbe8\xe7\x19ܬs\xf7\x1f\xf4\xe6Π\x94\xa2uQ%0\xe8\xdcT\xb1\xbbQ\xcd2\x1f\xe6\x1aq´\t\xc1\xa1\xb9l=\x9d\xbe\xc4h/!Uz\xc2Kl\x06\xf0\xad:\nUu\xa6\xafJ\xb4\x91\xd0Qs\x16=\xf9\xfc\a\x96\xbc\x1b\xc3t<(\aӶ\xa9m\xcaWL\xfe\xa61[\xbc6\x16f\x14\x99/\xbcz<\xe0Y\x03]\x8c\xa4\xf8\U000917b7\x8d\x91\x9bq\xac7\x89\xb5\xfdǜ3\x9f?\xff\xceX\xefw&\xcex\xf3\x19\xa8\xeft\xe7$\x83\xa3\x16\x9bC\xe3\xb0$\x84\xd0\xce\xf4ދ \xeb\x83>us\x8d\xf8n0\xe4\xcc\xc6\xe1̻߽\xb9\xfa\xf6\xaa\xf8\xb3z^,F\xfdƱ+\x10N%\xf7\xd8e\xe3\xca\xdf\x01\x00\x00\xff\xff\xec\xa0\xe0\xa1k\r\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcVMo\xdc6\x10\xbd\xef\xaf\x18\xa4\xd7J\x9b\xa0=\x14\xba%n\v\x04M\x02cm\xf8>\x92fw\x19S$K\x0e\xd7\xdd~\xfc\xf7bHɫ\x95do\xec\x02\xd5M\xc3\xe1㛯G\x16E\xb1B\xa7\xee\xc8\aeM\x05\xe8\x14\xfd\xc1d\xe4/\x94\xf7?\x85R\xd9\xf5\xe1\xdd\xea^\x99\xb6\x82\xab\x18\xd8v\x1b\n6\xfa\x86~\xa6\xad2\x8a\x955\xab\x8e\x18[d\xacV\x00h\x8ce\x14s\x90_\x80\xc6\x1a\xf6Vk\xf2ŎLy\x1fk\xaa\xa3\xd2-\xf9\x04>\x1c}x[\xbe\xfb\xb1|\xbb\x020\xd8Q\x0556\xf7\xd1yr6(\xb6^Q(\x0f\xa4\xc9\xdbR\xd9Up\xd4\b\xfa\xce\xdb\xe8*8-\xe4\xdd\xfdə\xf5\x87\x04\xb4\x19\x80\x8eiI\xab\xc0\xbf-.\x7fR\x81\x93\x8b\xd3ѣ^\"\x92\x96\x832\xbb\xa8\xd1\xcf\x1c\xe4\x80\xd0XG\x15|\x11.\x0e\x1bjW\x00}\xa4\x89[\x01ض)w\xa8\xaf\xbd2L\xfe\xca\xea\xd8\r9+\xe0k\xb0\xe6\x1ay_A9d\xb7l<\xa5\xc4ު\x8e\x02c\xe7\x92\uf430\xf7;\xea\xff\xf9(\x87\xb7\xc84\a\x93̕'\xae\xb7GGg(\xa7D\xc0h-#\x06\xf6\xca\xecV'\xe7û\x9c\x8afO\x1dV\xbd\xafud\xde_\x7f\xbc\xfb\xe1\xe6\xcc\f\xe0\xbcu\xe4Y\r\xe5\xc9ߨ\xfdFV\x80\x96B\xe3\x95\xe3\xd4\x1c\x7f\x17gk\x00r@\xde\x05\xad\xf4!\x05\xe0=\r9\xa6\xb6\xe7\x04v\v\xbcW\x01<9O\x81L\xeeL1\xa3\x01[\x7f\xa5\x86\xcb\t\xf4\ry\x81\x81\xb0\xb7Q\xb7Ҿ\a\xf2\f\x9e\x1a\xbb3\xea\xcfG\xec\x00lӡ\x1a\x99\x02C\xaa\xa2A\r\aԑ\xbe\a4\xed\x04\xb9\xc3#x\x923!\x9a\x11^\xda\x10\xa6<>[O\xa0\xcc\xd6V\xb0gv\xa1Z\xafw\x8a\x87\xa1ll\xd7E\xa3\xf8\xb8N\xf3\xa5\xea\xc8ևuK\a\xd2\xeb\xa0v\x05\xfaf\xaf\x98\x1a\x8e\x9e\xd6\xe8T\x91\x021i0ˮ\xfd\xce\xf7c\x1cΎ\x9d\x15:\x7fi\x92^P\x1e\x19-P\x01\xb0\x87\xca!\x9e\xaa &I\xdd旛[\x18\x98\xe4J墜\\gy\x19\xea#\xd9TfK>\xef\xdbz\xdb%L2\xad\xb3\xcap\xfai\xb4\"\xc3\x10b\xdd)\x966\xf8=R`)\xdd\x14\xf6*\t\x17\xd4\x04\xd1\xc9\xe8\xb4S\x87\x8f\x06\xae\xb0#}\x85\x81\xfe\xe7ZIUB!E\xf8\xa6j\x8d\xe5x\xea\x9c\xd3;Z\x18\xa4\xf4\x89\xd2N\xe5\xf1\xc6Q#\x95\x95\xe4\xcaV\xb5UM\x9e\xa9\xad\xf5\x803\xff\xf3L-K\x80|YDo\xd8z\xdc\xd1'\x9b1\xa7N\x97\xdaN\xbe\x0fK@\x03c\x91\xad\xac\t\xb4\xec\xb8\x00\xc8{\xe4\x91\x180*\xf3\xa8)\x8bA>S\x99T\x1d\x14\xa50h\x1a\xfa5\xf5\xa3i\x8e\x17\x02\xfd\xbc\xb0EB\xda\xdb\a\xb0[&3\x06\xed\xb9.DR\x13\xf8h^D\xf6\xfc\xa6\xb8@ss\xe6\fʴ\xd2\x1b\xbd4\xcb!C\xea\xa5\xd8dZ\xf0\xe7\x97\xf2\xf8#\x13\xbb\xf9q\x05\xdc[\xa7p\xc1\xee)\xb0j\x16\x16\u07bcyY\xbc\x02\xf3\xb1\x95\xe1\xdb*\xf2\xaf\xe9\xc0\xcd\x04ch\xbemԺ?\xa0hl\xe7\x90U\xadiPH\x19\x1f\x95\xf7\x1c\xe7\xbc\x12\xed\xff\xd0t\ay]\xd0\xe3{\xe45aݝC\x8cG*\x1b\x12\xbf<\xc7#\x9a\xc3̄\x05Hg۞Y\xbf/H\x1a^\x10\x98\f\x83\xf24\xb9\x9b\x8ae5\x99\xf8,\xcd\xe1\xc4e\xda\r\x93\xe5IR\xbfIm\x199\x86\x97\xe8m\xda0$\xbb\x89ާ\xfb,[\xe5\x19\xf3j\xc5\xd5\x18x$,\xf2\xa8\xbc\xd0\x16\x9f\xe6;\x06b\x02\x06,\x86\xb1\x12=\xe0R\xd5\x175hk}\x87\x9c_\xad\x85\x00\xcdg\xaf\xfcl\xe9\xb7\x00\xd66\xf2\x13\xa9\xe7\xfd\x9c\x05\\(\xc7\x05\xa6n\x8f\xe1\x12\xcfk\xf1Yj\x88\xc9\xcd\xf6\x1c\x85\xa7\xd4\xf5\v=,X7\x84\xed\\\xa1\v\xf8byy\xe9\xc9\b\x17\xa7bf\f\xf2\xc2kGu\x0ey\x90ǖX?>`+\xf8\xeb\x9fտ\x01\x00\x00\xff\xff\xdd}\xa6m\xca\x0e\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xec}_s\xdb8\x92\xf8{>\x05ʿ\x87\xd9ݒ\xecI\xfd\xf6\xe1\xcao\x19'\xb9Q\xedL\xe2\x8a=\xd9g\x88lI\x18\x83\x00\x17\x00ek\xef\xee\xbb_\xa1\x01\xf0\x8f\b\x92\xa0,{\xb2{\xe1Kb\x11l\x00ݍ\xeeFw\xa3\xb1\\.\xdfВ}\x05\xa5\x99\x14ׄ\x96\f\x9e\f\b\xfb\x97\xbe|\xf8\x0f}\xc9\xe4\xd5\xfe\xed\x9b\a&\xf2krSi#\x8b/\xa0e\xa52x\x0f\x1b&\x98aR\xbc)\xc0М\x1az\xfd\x86\x10*\x844\xd4\xfe\xacퟄdR\x18%9\a\xb5܂\xb8|\xa8ְ\xae\x18\xcfA!\xf0\xd0\xf5\xfe\xc7˷\x7f\xbd\xfc\xf1\r!\x82\x16pM\xd64{\xa8J}\xb9\a\x0eJ^2\xf9F\x97\x90Y\x90[%\xab\xf2\x9a4/\xdc'\xbe;7ԟ\xf0k\xfc\x813m\xfe\xd6\xfa\xf1\x17\xa6\r\xbe(y\xa5(\xaf{\xc2\xdf4\x13ۊS\x15~}C\x88\xced\t\xd7\xe4\x93\xed\xa2\xa4\x19\xe4o\b\xf1\xa3\xc6.\x97~\xc0\xfb\xb7\x0eB\xb6\x83\x82\xba\xb1\x10\"K\x10\xefnW_\xff\xff]\xe7gBrЙb\xa5\xc1\xb9\xff\xf7\xb2\xfe\x9d\xf8Q\x12\xa6\t%_q\x8eDy\x94\x13\xb3\xa3\x86((\x15h\x10F\x13\xb3\x03\x92\xd1\xd2T\n\x88ܐ\xbfUkP\x02\f\xe8\x16\xbc\x8cWڀ\"\xdaP\x03\x84\x1aBI)\x990\x84\tbX\x01\xe4O\xefnWD\xae\x7f\x87\xcchBEN\xa8\xd62c\xd4@N\xf6\x92W\x05\xb8o\xff|YC-\x95,A\x19\x16\x90\xee\x9e\x16'\xb5~\x1d\x9b\xab},z\xdcW$\xb7,\x05nZ\x1eŐ{\x8c\xda\xf9\x99\x1d\xd3\xcd\xf4\x91\xc9\xec\xcfT\xf8\xe1_\x1e\x81\xbe\x03e\xc1\x10\xbd\x93\x15\xcf-'\xeeAY\x04fr+\xd8?kؚ\x18\x89\x9drj@[\xcc\x18P\x82r\xb2\xa7\xbc\x82\x85E\xca\x11\xe4\x82\x1e\x88\x02\xdb'\xa9D\v\x1e~\xa0\x8f\xc7\xf1\xabT@\x98\xd8\xc8k\xb23\xa6\xd4\xd7WW[f\xc2\xfa\xcadQT\x82\x99\xc3\x15.\x15\xb6\xae\x8cT\xfa*\x87=\xf0+ͶK\xaa\xb2\x1d3\x90Y2_ђ-q\"\x02\xd7\xd8e\x91\xff\xbf\xc0\x1e\xbaӭ9X\xb6\xd5F1\xb1m\xbd\xc0\xf51\x83\xe7\f\x84!\xbaZ\x17\xccX6\xf8G\x05ڮ\x01y\f\xf6\x06e\x10Y\x03\xa9\xcaܲ\xf1q\x83\x95 7\xb4\x00~C5\xbc2\xad,U\xf4\xd2\x12!\x89Zm\xc9z\xdcء\xb7\xf5\"\b\xc8\x01\xd2:\xc1rWB\xd6Yh\xf6+\xb6a\x99[N\x1b\xa9\x1a\xb9\xe3d`\x17C\xf1\xa5o\x9fL\xb3;AK\xbd\x93\xe6\x9e\x15 +s\xdcb\x8aאxw\xab#(a\x84~\xbc(\xb3*\r\xb9]\xb4\x8f\x94\x19\x1c\xf3\xcd݊|Ea\x15\xbeF\xa1Uib*%,\x97D\xfa\xfa\x024?\xdc\xcb\xdf4\x90\xbcB\xe6\xce\x14 \x1e\x16d\r\x1b\xcb\t\n\xec\xf7\xf6\x15(eq\xa3q\x00\xb2\xea\t\x1b\xfb\xdc\xef\xc0\xe2\x96V\xdc\xf8u\xc24y\xfb#)\x98\xa8L\x8f\xd5\x06\xa9\x8e\x98\xa2\x86\x16r\x0f\xea\x14$\xbe\xa7\x86\xfej?>\u009d\x05J\x10\xaaE\xde\xda\xe3q}\xc0\x971j\xbbg\xb5iAd\x9a\\\\\x10\xa9ȅ\xd3\xc0\x17\v\xf7uŸY2\xd1\xee\xe3\x91q\x1ez\x997y\x87CGP}/?jǼ'\xe1b\x00V\v5\x8f;0;P\xa4\x94\xb5\xc6\xdb0\x0eD\x1f\xb4\x81\xc2#&h\x11?\x9fHO\xb8v8\xf7 \xb4ū\x9fH\x7f\xf2\xa2✮9\\\x13\xa3*\x18\xc0\xcdZJ\x0eTL \xe7\vhòs\xa0\xc6A\x8a F\xf9\x17\x1d\f\xa0Ҥ\x0f@h\x04\xb4Ǚ\xd5Μ\xb7\x10\xdb\xc5ʛ\xe8\xa0J\x05\x99\x15\xdb\xd7^\x1d0ਂ\x84$\\\x8a-(\u05fd5U\x02\x87)\xb0\x1c\x97\x13+i\x15p\xabNȦ\xb2B\xf8\x92\xd8\xe5=\xc8\x04Lh\x034\u009d\xcf \x10\x8cB\xf4꙳\f\xad@o\xf0-\xd1p\x8d\xf1i\xa3\xa5\x0f%8\xdb\xd9\xd2\xd2\x0f\xbbQ\xbf\xa3\x02A\x83\xb1\x1f]\xfc\xe5b\x81$\xee\xf6\xda\xedC\x13\xaa\xa0FK\xb2\xe0\x84\xa24\x87~kf\xa0\x88`qT\xa0$ғ*E\x0f\x03Ԭ7\x00g\xa4\xe7\x10\xcc#\x8a\x8a\xd0\xec\x95iz\xdc\xef\xbf3U\xcfCG\x8d\xdb]ʄ\xa5\x9f\xddyvȧ\xdd\x06\u03a2MH\x13\x81DŽ\x83\x87{\xb3\x11j\xfdA\xc8:\v\xcf\x0f1y\xcd[\x9ey\xff%1\xb5\x93\xf2a\n;?\xdb6ͮ\x88d\xe8V!k\xd8\xd1=\x93\xcaO\xbdѵ\xf0\x04Ye\xa2\xab\x9e\x1a\x92\xb3\xcd\x06\x94\x85S\xee\xa8\x06\xed\xf6\xc9\xc3\b\x19\xb6\xdfIK\x8cD_\x1eͣ!\xa4%\x13\xce|h\xe8\u05908֒\xe1\xb1\x03\xb5\xf65*\xe3\x9c\xedY^Q\x8ez\x99\x8a\xcc͇\xd6\xe3\x8aI\x99\x11\"\xf7\xc6\x1c\xe5L\xf78\x83 L\xca\x12\xa9\xb3U\x92\x02\xac\xd1[\xd8MA\xbf\xe9\xf0\xcc\xd7\xd4\xda*rh\xf6\x04\x89\xa5*\x0e\xdaw\x95\xa3\x1d\xd9ȌEC\x14\xf4D\x10N\xd7\xc0\x89\x06\x0e\x99\x91*\x8e\x91):\xbb'E\b\x0e 2\"\xf9\xba[\x8df\x02# \t\xee\xe1v,\xdb9S\xcf2\x11\xc2!\xb9\x04k\xf0\x19B˒G\xd4E\xf3\x8c\x12\xdfw2\xb6֛gb\xd5\x1fË\xad\xff\xe6I\x90\x99\xcd\x13Em\xb3\xbe\xba\x98\xad\xd9!\xbe\xa9m\x9e\x7fO\xc4\x06\xc9\x7f\x02ӎ\xac~\x82n\xa1d\x9e\x1e\xe4[\x8bU\x06\xfaҚSh\xe9,\b3\xe1ש\x95б\xb9z\u07b2\x0e\x12\xbem\xda\xccg\xfaDҤ\xac\x89\x17\"L\xddſ ]Pe\xdcy\x8d\x91L\x93_\xda_-\b\xdb\xd4H\xcf\x17dø\x01u\x84\xfd\x93D}\xa0\xcc9\x90\x91\xa2\xf5\b\xfa\xefM\xb6\xfb\xf0dM0݄\xaa\x12\xf1r\xfc\xb13d\x83\xb5\xdfU\xcf\x13p\t\xfa\xb1\x99\x82\x02\xfd\xe3\xb8cj\xff\x82\xa6ջO\xef\xe3\xfb\xab\xf6\x93\xc0y\xbd\x89L,:\xf7\xbc;\x9aQ{|ބ\x0fo\xd0\x06\xaa7@.\x16\xb2 \x94<\xc0\xc1\x99.T\x10K\x1f\x1a\x1a't\xaf\x00\x832\xc8g\x0fp@0\xf1(K\xffI\xe5\x06\xf7<\xc0!\xa5\xd9\x11\x0e혘\xf6\xd1#\x8b'\xfb\x03\"\x02\x9d\xeb\xa9l\xe0\x1e\xbf\x14\"1\x8d\xf8\x93(K\xc2\x13p\x7f\xc24\x93X\xa5\xddG;L\x89\x1c\xf0\x83v\xb4\xb4+f\xc7J\x14\xab\xe8q\x90\x9bd\x82\xba\xe7+\xe5,\xaf;rkd%\x16\xe4\x934\xf6\x9f\x0fOL\xfbH\xe6{\t\xfa\x934\xf8ˋ`\xd4\r\xfc%\xf1\xe9z\xc0\x85&\x9c\x94\xb7\bk\xc7\xe2\x9cN\xb3\xdcV\xe3\x9ei\xb2\x12v\xbb\xe2P\x92\xd8\x15\x86]]w\xae\xa3\xa2\xd2\x18F\x13R,\x9d\xdb&֓ǷT\x1dt?\xbbS\xdf\xe1\xbdU\x16\xee\x8d\v\xfer\x9aA\x1e\xe25\x18\x95\xa4\x06\xb6,K\xec\xaf\x00\xb5\x05RZ\x11\x9e\xc6\x11\x89\x82\xd5\xcff\x1e\xfb\xa4i\xef\xf0x\xc1\x9bO\x0ffi\x17\\B\xab@\xc6ɦ\x03\x11\xc7\xe1\xa6\xd33B-\x8a&\xc6$vi\x9ec\xa2\t\xe5\xb73$\xfa\fZ\xcc]\x9a\xad\xb1;\x15XP\x8cu\xfc\x97\xd5t\xc8\xcd\xffCJʔ\xbe$\xef0\xa7\x84C\xe7\x9dwZ\xb5\xc0$t\x899!\x96\x05\xf6\x94[\xddk\x05\xa8 \xc0\x9d&\x96\x9b\x9e]\xb2 \x8f;\xa9\x9dڬ\x83(\x17\x0fpp!\xbb\xc9.ۋ\xfcb%.\x9c\x0e\xef-\xd8Z\xe1K\xc1\x0f\xe4\x02\xdf]<ǔId\xb6\xc4fOˇ:-fY\xd0r\xe9\x19\xd4\xc8bDh`NO\xaa\xa1l7\x8c\xc1\b\xb0\x1fֹ*\xd6\xc8\x1d\x9bm\x12\x8b\x96RG\"\xe9\x03C\x99`\xde[\xa9\x8d\xf3Wul֨CK\x06'\x16\xa1\x1b\x97@$U\xc8\xf6\xb0Bq\xca\xf5\xda~\xeew\xa0\xc1\xc7\v\xbcc\xcc\x01\xb5;\xab\x8bf};i{\xe1\xe2\x15\xd8\t\xcd\xd0b\xc0oK%3\xd0\xd1`r\xf3$\xc8\xebHZD{\xee\xb5Ϗ\xba]\x8aˉ\x18wA\x86'\xdd䴈\x98i\xaf\x7fxj9$\xedڷ\x7fO\xf1\xd8\xdcq\x11\xcc\xd9+\nz\x9c'\x944\xc4\x1b\xf7eX\r\x1e\x903\xfeնBI\x90\xaaKk\x06\xfc\x16\x14u\xc1\xc4\n; oϮ\xd8I\x90\xa1\xb1l\x8f\xd8s\x9a)y\x13:i\xa8S\xff\xe0\x96r)\xd1U\xaf\xa0C\xbc\xbeW\x1b\xed@!M\xcb!0\xc3\xdc+e\xfe\x83&\x1b\xa6\xb4i\x0fA\x0f\xe4\x89D\xc1\xcc\xdc\xf8\x88\x0fJ\x9d\xb4\xef\xf9\xec\xbel\xb9\x9bv\xf21\xe4G9\xc4$\xce\x1c\xe3;@؆0C@d\xb2\x12\xe8@\xb1\xeb\x18\xbbp\xc8u\x12\x96\xa5.\x92\xb4\xd5o\x1f\x10U\x91\x86\x80%r\n\x13\xa3\x9e\x96v\xf3\x8f\x94\xf1\x97 \x9b\x19J#\x8b=\xa7\xad\x89\x90c\xd6Έ+\xe8\x13+\xaa\x82\xd0\xc2\xd2\b\x959+\xa0K\xf4&\xf3\xcc~\x81j\xc2H\xbbbJ\x0e\x06|\xf6X\xe2\x182)4ˡV\xae\x9e\x11\xa4 \x94l(\xe3\x95J\x94\x80\xb3\xd0;g7\xe1%\xc1\xf9\xb6\ti\x9d/\x11\x15\t\xde\xd4D[q\\\x1a\x97*\xdd\xe2\x9b2\xb3\x14̷\xb2J\xc5$\xe6\xe5\x9d\xd9\xd0\xf2\x99\x8cT\x1c\xbe[Z\xa9C\xfdni\x8d=\xdf-\xad\x89绥\xf5\xdd\xd2Ji\xf9\xdd\xd2\xfani\xb5\x9f\xff\x13\x96\xd6Ԉ܁\xba\x81\x97\x93\xa3H\b\x15\x8f\rq\x04\xbeOn\xf09\xd8\xcfʅ\\\xc5AE2\xef\aҪcB\xabQ\x1eur\xa4]5\x81\xe7\xdd\xf9\x9e\tS\xf2\x19Y\xef\xa1\xd3\xf3e\xbd\xafF!\x9e)\xeb\xdd\x0f{\xda\xc6>)\xe7= e^v\xf4\xc2'J\x14@\x83[݅\xc1c\xf3\x1a␉\xfe_91\xb6\x97\xb5uF\xfex\xf1,\xfad\x1e\x89\x92\xf4\xe2/\x17\xdf\x1e\xfaσ\xf0A\x14\xf7q\xe7\x0f\x18G\xa0\xda\x1dh;-\xab\x9b\x05\xf7m\xb2\xf1Y\xf865\x13\xbeFb\x04V\x97%\x8f\xb0\xf8\xad\xca\x02\x03\xc5\xe7\xd2k\xa4g\x1c\x15]E\xe0$\x1d\x16\xa5\xfa \xb2\x9d\x92BV\xda{%,\xacw\x99;Q\x1e@Ƙ5\xba\xc2\xffJv\xb2\x8adb\x8f\xa0o\"#oz\xf2\x9d\xe4<\x1f\x84\x06C\xf7o/\xbbo\x8c\xf4\xa9z䑙]\x04\xd0\xe3\x0e\x04F\xd8Ŷ\x9d\x80\x1f\n\x02\xf8\x93\xf1\xc7\f\x16\x01$\x15\x11\x8c;Ϋ\xcb\t\xb4\xf9\x8e|.\x9d\xefi\xb6\xdd1\xeeSIK\xe6;9\x85\xaf\x9b\xa27`\x97\u038dv\x9f\xe5\xc8\xc2\x1f\x92\x9a7?!/\xc5#6\x91|wB\xca]bn\xef\xb3\xc3\xf3)Iusv\xcc/\x96@w\xfe\xb4\xb9$\xfcL\xa7\xc8\xcd\xc1\u038b\xa7ýb\x12\xdc뤾%&\xbc\x9d/s\xfd\x1c\x1e\x80\xe1\xf4\xb5ɤ\xb5I\x0f\xc1\xf8\xf8&\xd3\xd2\xe6$\xa3Mb,\x8d\xf5_-\xdd\xecՒ\xcc^7\xb5l\x94%F_\xceI\x1e\x8b\xd7j!\x93\n\x90\xbf\x16\xb3\x9d\x8a\x06\xa9:&\xe5I{\x9e\xcfG0,ჹ\xf5JvkQq\xc3J\x8e\xc1\xcd=ˣ\x0e\x00\xb3\x83C]T\xe2w\x89\xc71}y\x94\xcf_j\xae\xbd<\xb2\xbe\xa9&\x8f\xc09\xa1\xb1u՛y\xe6\xca\x13er\tVG\xd8\xd5\xe9\xabe\xf8\x9aF\v\xc7\xeex\xe2\x145M\x11s\xfbP1\\ZeP\x98\xa7ț\x9eU\xe9lc\xfc\xed\x1f\x15\xa8\x03\xc1\xe2.\xb5\xed\xd1\x1c\x8c\xf2\vS\xdb\xcdQ\x10\x15^l\r\xf9\xb4{\x86x\xb3\x94\xc9;\xe14\xe1\xf1x\xf0\x1b+#\x9a\x8d\x86\x15|v\x0f\x11\xedc\xe0s!\xeb\xaf#\x9fM\x19\xad\xa9'\x88^v\xdb1\x7f\xe31\xa9\xe9ӭ\xb1?\xe8d\xd0)'\x82҂\xf2\x93'\x80^j\x1b2\xb5\x11I\xb6\xbd\xd2N\xf8\xcc\v\xe0\xbd\xe0\x89\x9e\x978ɓ\x88\xa9\x94\x93;\xf3\xf0\xf4\n'u^\xf5\x84\xcek\x9d\xccI>\x91\x93\x94v\x92\x1c\x99MI\x1b\x99\x0e\x9e\x8e\x9f\xb4I8a\x93\x10V\x9d\x1ai\xc2I\x9ay'h\x12p\x98\xba4^\xf1\xa4\xcc+\x9e\x90y\xed\x931\x13L2\xf1z\xde\t\x98\x93\xdd\xfaR\xe5\xa0FC#\xa9\\8\xca\x7f){\x8d\xee@\x8eb\x02\xa14\x9dmձ_Q\\\xfbj\x98X\xf7t(\xc4g9\xad\xa5\xfd;\xf1\x9a\xc6\x1c\xe9\x1aw\xbe\x18\xaa\v\xe9h(\xa9\xc2\x02\xbb\xeb\x83K\xf9\x88\xaa\xca\x0f4\xdb\x1dA\xdfQM6R\x15Ԑ\x8b:Hv\xe5\x80ۿ/.\t\xf9(뼁v\xed\x18͊\x92\x1f쎁\\\xb4?8\x8d\x03\xa2\xdc\x16z\xbb\x95\x9ce\x11[*Z?\xc85\xee\x15t\xc0\xaaFY;\xac^چqS\nͮn\x9dƍ\xe4\\>\xce܋Ӓ\xfd'\x96\x97~\x86\xb7\xe6\xdd\xed\na\x04\xf6\xc0z\xd5u\x02S=\x9b5X5\xd9\xccsh\xed\xaf6\x1d\x88\xdd\\\xc0v\x05W\xc8]\xb1ޠ\xa6\xbd\xe8̤\x95.\xb7+7\x8e\xa1^,\xcfPq \x12\xb3N̎\xa9|YRe\x0e.\x99a\xd1\x19CP\x8bcޖA\xed\xd1/@\x1cEo\xa8;\x8cQ\xbcC\xd9\r\x8c\x1e\xe3\xee\x94q\f\x9f\xf0\x9b<\xdbw\xc6q\f[\x18K\xc4T\xe4\xe7hv\xd4ټXڗ\xcf\xfdU\xee\xe1}ԛ\xd5A\xcf\xddQ\xf3H\nS\x80\xe8*\xc3\x0efr\xae\x01\xab\xc6\xf6_=#')t\xed\xeb~\x9e⸺낈\xcc/\x94A\r\x9d\xc5\xe4\x13V)?\x90ۯ\xb8g\xaaE\x9b_\xa2~\xcf\x14\\W!`\x1a\x81\xe3?\xf8\xe9\xfc\xe9[\xdaHE\xb7\xf0\x8bt\x85\xa0\xa7\xc8\xdem\xdd)\x10\ueb5e\x90c\x19\x16M\xacJ\xac/I}\x04\xacɋ\xeeU\u07b5\xa3\x9cYK\xd8\x18~\n\xdd\xef\xef\x7fq\xb32\xac\x80\xcb\xf7\x95K\t\xb02Q\x83Eq\x98\xad\x83\xb4\xb6\xff\xdd\xc9G,P\x1b\xf7+\x86\xc2\xfe\xcdd\x14`B6\xa6\xe9͚RUrIsP7Rl\xd8vbv\xbfu\x1a\x1f\xa9\xd9\f\x7f\xf4\x93\xabuT\x80\x7f\xe68\xbd\xb5y8\a\xfe\x91q\xd0nX\t\x02\xf8\xb6\xffU-\x8f\xabb\xedl\xb8\x8d}Yw0\xa0\xe3ܴ\xd05\\\x82\xb2V\x94s\"W:\xf0\xea\xf0\xc4\x1b\x8a0a`\v\xfd\r݈\x04\xdew\n\x93\a>\x9f\x12G_\xe3_\xb5\xcc\xca\xd6Jsv\xa5\xdcD\x06>\x04\xa7u\xcd\xc3#3\xbe,\xd3y\xebh\x0em\x16\x86\n\xd8c\xc5\xf6\xe9\x12\xf6\xae\xb0\xbb\xbf\xf8\xc23r\xa5\xb0\b\xa6/\xfa\x8eE#O\xaab\xbf\xaeӁ\xea\xd4\"\xfd\xce\x18(J\x13\xd3\xd2ӂ\xe4\xa71\x80\xb5\x85#\r\xe5-~\xa6\xa1A\xccF\xd5\a\x91\x8d\xa5-\xf9uT8h\x83\x8c`\xa77\nir\xc2>\x99\x18D\x1eVz8\b3\x0f\x15\x9e\n>\xd7N\x1bZ\x9cT\x8f\xff\xa6\x0f\x06odQy+e\x8f\xd6c\xa7\xba!\x7fL,7\xe0ܗ\xb8=\xb1\xd0 '\xb0\aA\xac^s(\x0eW\n̈́\xe2\xcfO:\xdd\x104Ep\"D\xef\x9d!\xdeO\xa0\xf1~\x93\x1ft\r\x133\x11\xf1\xba\x8a>\x12\xfaf\xa3\xdb\xe7_[\xbb\x19\x96\x16\xc4i\xf6^T6g\x9au\xf5\xc2\xf3\x84\xdc\xcd\xddj\b\xdc)\"\xae\x7f\x9b\xc73\x97q\x7f\xba\xcf\x12i\xfd\xe9\xce\x12h\x11\x885\x8f\x9f\x7f\xee\xb8\xd4O+ٍ_:\x83#\v'\xb4(\xe7\xfe\x18]\x01Z\xd3m\xa8\xd5\xfdh\x8d\xf6-\bp\x8e-\x17\x06\x88\x00m\xce\\u+U\xbb%C3SQ\xdfAH\x1fm\xb5\xfaA\x13.cP\xf1\xbe\x0e\x16.\x82\n\xbb\x99\x99\x88z*\x99J\xd9\xfd|\xa8\x1bZܠ\r\x89\xd4i\xae\xee\x02ζ\xcc\xee\x12,\xe5\xb6T\xad\xe9\x16\x96\x99\xe4\x1cPZ\xf7\xc7\xf5\x92kݟl\xfb\x02TON\xedc\xbb\xad\x8fe9j\xbb\x10.u\xc9\xd4x9\x93a\n\x9a{\xd2z\x03\x92\xd8\U0006c34d\xc3B\xf4\x12\xb1\xfeH\xdbmê\xf3b\xd9{H\xfd\x1db\v\xbf\xa3\x8e\xf3cA\x7f\x97jA\n&\xec?T\xe4.\x14\x15>\x9e5\xfe\x9d\x94\x0fw\x11#\xb67\xf8\x9f\xeb\x86M\x90\x80\t7l<\x8e\xb8\x96\x95\x8f#\xd7\x06m< \x81u\xd7ϼQC\x98#\xfa\xa07\x9dA_\xe8\xcf\x1dH\x93\xaa\xc0\xf5<\x00\xeb.\\T\xc5\xf9aq\f\xf9\xe8R\xbc\x06v\xab.\xbd7\x03\x9a\xd3\xee\x03\x1d\x85XN\x14H]V\xa1-\xd0O\xd9/z4\x0f\x19\x93=\x1c\xffܴ\x1e£\x1bf\xcb\xdc\x1b\x98`\xc7\b<\xefV\x17/!\x98`\xfe[ۦ>\x19\xdfڸ\x85|\xa7A\xffV\xfcd\xf5\x92|\x82\xbe\xa3\xdf\x1d\x96\x86\x1cs\fpUE\x9a\xacĭ\x92[\x05\xba\xcftK\xf2w\xca\f\x13ۏR\xdd\xf2j\xcb\xc4\xe7\xe1\x83!c\x8do\xa92\xcc2\xad\x1bOl\xa0LP\xce\xfe\x19\x93O\xed\x97Ӏn\x067JK\x920\x8c\xa1\x17\xef\xc1ڪ\x83\xfb\xfb\xa8(,=^O\xb1;\x02M\xa6dcm\x1346E\xe8\xf6\x92|\x92\xd1\x05\xee\x13tX\x17\xa65\xad@\x9b%l6R\x19\x17\xaf].\t\xdb\x04'\x82\x95\x1d\xe89rW\n\x12\x16\v\xb4֩\x0f\x8d\x1aB\xb7\xafBm\x8a\x05\xc7\vzp\xb1\x19\x9ae\x95\xb5\x94\xae\xb4\xa1\xc5[\x0e\xd6\xf4\xd2\x00\xdd\xedӬm\xf2\xfe\x8c~\xa3s:\x8d\xc2]\xd5\xe7\xf1\x9a\xec\xcf\xe8.z1_\xd1y\xa7\xfcH\xf1\xa6ۓV\xed\xdf\xfd\xb7\x11g\x91\a{nwQ\xcb[\x14\x06\xfe\xaa\xfe\xa2\xa8V\xea\xfd\x88r:oI\vߓ\xff\xe5\x7f\x03\x00\x00\xff\xff\xe1\xa0\x1ak\x81\x7f\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xccYI\x93b\xb9\x11\xbe\xf3+2b\x0es\xe9\aݶ\x0f\x0e.\x0e\x9a\xb2#:\\\xed\xaah\xca\xe5\xeb\b)\x01\rzҳ\x16h\xbc\xfcwGj\x81\xc7[\x1a\xaa\xed\x18\x8f.UOK*\xd7/3EUU\x13\xd6\xc8W\xb4N\x1a=\a\xd6H\xfc\xeaQӗ\x9b\xee\x7f\xef\xa6\xd2\xcc\x0e\x1f&{\xa9\xc5\x1c\x96\xc1yS\x7fAg\x82\xe5\xf8\x80\x1b\xa9\xa5\x97FOj\xf4L0\xcf\xe6\x13\x00\xa6\xb5\xf1\x8c\xa6\x1d}\x02p\xa3\xbd5J\xa1\xad\xb6\xa8\xa7\xfb\xb0\xc6u\x90J\xa0\x8d\xc4\xcbՇ\xf7\xd3\x0f\xbf\x9b\xbe\x9f\x00hV\xe3\x1c\u058c\xefC㼱l\x8b\xca\xf0Drz@\x85\xd6L\xa5\x99\xb8\x069ݰ\xb5&4s\xb8,$\n\xf9\xf6\xc4\xf9\xc7Hl\x95\x88=fbq]I\xe7\xff<\xbe\xe7Q:\x1f\xf75*X\xa6\xc6؊[\xdc\xceX\xff\x97\xcb\xd5\x15\xac\x9dJ+Ro\x83bv\xe4\xf8\x04\xc0q\xd3\xe0\x1c\xe2\xe9\x86q\x14\x13\x80\xac\x9aH\xad\x02&DT6S\xcfVj\x8fviT\xa8\xf5\xf9.\x81\x8e[\xd9\xf8\xa8\xcc$\vda\xa0H\x03\xce3\x1f\x1c\xb8\xc0w\xc0\x1c,\x0eL*\xb6V8\xfb\xabf\xe5\xffH\x0f\xe0gg\xf43\xf3\xbb9Lөi\xb3c\xae\xac&\x1b=\xb7f\xfc\x89\x04p\xdeJ\xbd\x1db\xe9\x919\xffʔ\x14\x91\x93\x17Y#H\a~\x87\xa0\x98\xf3\xe0i\x82\xbe\x92\x86\x80T\x84P4\x04G\xe6\xf2=\x00\x87D%\xeah\x98Sջ\xeb\x8amb\x05^;T\x12\xff4\x93\xb9o\x91-\xfe=\xe5\x16\xcf$\x9dgusEw\xb1\xc51bW\xaax\xc0\r\vʷE%+\xa9\xb6_^\x8b\xd5 \x9f\x8at\xea\xeaƇ\xab\xb9t\xeb\xda\x18\x85,QI\xbb\x0e\x1f\x92\x17\xf2\x1d\xd6l\x9e7\x9b\x06\xf5\xe2\xf9\xd3\xeboWW\xd30\xe4H\x9d\xa0 ñ\x96mvh\x11^c\xfc%\xbb\xb9,ڙ&\x80Y\xff\x8c\xdc_\x8c\xd8XӠ\xf5\xb2\x04K\x1a-,j\xcdvx\xfaWu\xb5\x06@b\xa4S \b\x940\xf9U\x8e\x1f\x14Yr0\x1b\xf0;\xe9\xc0bcѡN0E\xd3Lg\x06\xa7\x1d\xd2+\xb4D\x86b;(AXv@\xeb\xc1\"7[-\xffq\xa6\xed\xc0\x9b\xec\xcc\x1e\x9d\x87\x18\xa1\x9a)rր\xef\x80iѡ\\\xb3\x13X\xa4;!\xe8\x16\xbdx\xc0u\xf9\xf8L\xd1 \xf5\xc6\xcca\xe7}\xe3\xe6\xb3\xd9V\xfa\x82\xd0\xdc\xd4u\xd0ҟf\x11l\xe5:xc\xddL\xe0\x01\xd5\xcc\xc9m\xc5,\xdfI\x8f\xdc\a\x8b3\xd6\xc8*\n\xa2\x13\xa4\xd6\xe2\a\x9b1\xdd]]\xdb\v\xe94\"\xa4\xbe\xc1<\x04\xaf\xc9e\x12\xa9$\xe2\xc5\n4E\xaa\xfb\xf2\xc7\xd5\v\x14N\x92\xa5\x92Q.[{z)\xf6!mJ\xbdA\x9b\xcem\xac\xa9#MԢ1R\xfb\xf8\xc1\x95D\xed\xc1\x85u-=\xb9\xc1\xdf\x03:O\xa6\xeb\x92]\xc6,\x06k\x84\xd0D\x90\xe8n\xf8\xa4a\xc9jTK\xe6\xf0\x17\xb6\x15Y\xc5Ud\x84\xbb\xac\xd5\xce\xcd\xdd\xcdI\xbd\xad\x85\x92SGL;\x88\x06\xab\x06\xf9U\xdc\tt\xd2Rdx\xe61FWGA\x19*Ɠr\x19\xc3 A\x83q\x8e\xce}6\x02\xbb+\x1d\x96\x17\xe7\x8dW<6hk\xe9bz\x85\x8d\xb1\xdd\xcc\xc3\xceH\xde\x1e\x05\xf1\xba\x06\a@\x1d\xea>#\x15|A&\x9e\xb4:\x8d,\xfd\xcdJ߿hĐ4\x12\x8b\xab\x93\xe6\xcfh\xa5\x117\x84\xff\xd8\xd9~V\xc1\xce\x1ca\x13\xfd_{u\"\xecr'\xcd\xfb\xa8]\xc6\xe2\xf9SA\xf0\x14[90\xb3\xae\xa6\xb0\xc8Am6\xf0\x1e\x84tTH\xb8H\xb4\xaf,\x1dT,4\xe6\xe0mx\x93\xf8\xdc\xe8\x8d\xdc\xf6\x85n\xd7Fc\x1es\x83tGs\xcbx\x13\xa1\x16yGc\xcdA\n\xb4\x15Ň\xdcH\x9e9\t6e\x90\x8dD%z\xd84\x1aeQ\x14\x8b\x82\x82\x9a\xa9\x1b6\\\x9e7\xc6J\x9aI\x9d<\xf8B b\x8d\xadsj\xd6\x1e\xb5\xc0n\xb6\x89ܘ\bh\x0e\x05\x1c\xa5\xdf%\xa4TCq\aߌ=\x1a{<\rMwx\x7f\xd9!\xedL\x89\x17\xc1!\xb7裷\xa1\"\xf7!W\x9a\x02|\x0e.bm\x17'ʈ\x05_9\xbd\xc7S_\xd1p˸\xb9\x14\xba\xcdr/{\x95A\xa5y\x11\xc4\xe2\x06-\xea^\xb5P\xc6@\x06\xa0\xb6\xc7j\xf4\x18\x93\x800\xdc\x11\xfesl\xbc\x9b\x99\x03ڃ\xc4\xe3\xech\xec^\xeamE\xe6\xa9r\xbc\xcdb33\xfb!\xfe\x19\xb9\xef\xe5\xe9\xe1i\x0e\v!\xc0\xf8\x1dZ\xb2\xf1&\xa8▭\xaa\xea]L\xde\xef H\xf1\x87\xefQ\xa2iR\x98ݡ\xc8U\f\x95\x13U\x87\x91'\xd2\xdb*\x99\xd0X\xa0\xfcK\x9eQg\xd3'`\x1a\xf2ڡ\xb2\xb6=\b\xc5(\xdd\f\xc1\xef\x1e\xfb\xc8\xfb\x8d\x98\x04\xf8Z]\xecTլ\xa9\xd2n\xe6M-\xf9\xa4+m\xac\xbdo\x84o\xa9\xf5\xa5\x16\x92Smx\x1dv\xa5\a\x12W-\xc1\x80\x1a\xbaM\xc2\x18\xd8\f\xab)\x89\x9bS\xed\r\x8e\x9f\xda{/\x9dcB\xbe\x9c>\x1dz*\xdb\x1ch\xa4\xf4\xcal_\xcf\x11o\xb8њ\x02\xdd\x1b`g\x14\xfd\xd1u\xd3\xc7\x1b\xc1g\x1d\xf8\x1e\a\x14\xdf\x13\xe5c\xdcXt\x9c\x8e\x11/\xc1a\xc4\xf5[l\xc0\xed\x88\xe0l\x89\xf6\x1e^\x96\v\xdax\xce\xc0\f\x96\vX\a-\x14\x16\x8e\x8e;\xd4Դ\xc8\xcdi\xf8.\x1a/\x8f\xab\xa2\xd5X\xbc䶣\xe8vX\x86\x94\x1e\xe6\xb0>\r\x94\x1bw\b\xd9X\xdcȯw\b\xf9\x1c7\x16\x857\xcc\xef@j'\x05\x02\x1bP\x7f\xaa\x03G\x04=\x97\x16O\x19s\xbe\xc3<\xdf\u0086\xc4\xce[\xe0\xa1\xe8\xf8F\xfc<\xe7mg-\x94\xef\x9c<\xae\xcḇ8\x1e\x94\xe8p~\xd3\xf8S*\xde\xf8@\x16\xbeb\xe6\xb5\x7f\xe2\x1bE`yY\x19\nf*9\x8c\xb5\xe8\x1a\xa3\x05\xb5l\xf7\x95\x80\x17\x96\xffw\x85\xe0\xb0Y\xabk\x94\xeb\xac\x15+\xdc\xd5\x05\xc5W\xa47\xf7A\xe9m\xad\xdde\x98\xb5\xa3\xfe\xf4\xd2\nud\xfcE:\xa0\xc1\x8a\xa6\xd5\x16Qg\xae!\xe8X\x18ƒa:\x99\f\x1cy\xa0&\x9cR\x98\x98\x93p6\x9e\xd4\xe6H\xa7[\xe4\"\x050:%|\xea\r\x99\x16\xb9+\xa7\xa5\x01\xcaG\xa9\x14\x15\x01\x16kCڢ\xb2֢:\x01s\xe4M\x87\xdfL\xdf\xff\xffZ.Ŝ\xa7\x0e\n\xc5\x17<\xc8\xfe\xd3\xd4}\xfa~\xecQ)\xf0p\x0e\x1a\xfa\xf8\xa9t\xeb3\x9b\xb7\xfd\x04\x1b\xa9\xa8\x98la\xc7\x1d\xe5\xc1\xc0\xc3\xea\xc7\xd5\xe3\x8f.\xf6\x10\xa8\xbd\x83#Y\xd0E\x96\xa8i0\xf9\x85$8OY\xe4\xb6\x03\x14{&/\x00e\xf4\x96*\xcf\xf4\\B%^\xf2'cA\xa0\xa7l\xa5\xb7\xc0wLo)6\x86@?r\x9c\xd9o3J\xee3\xea!R\x8f\xb8\xc7]\x16}\x91C=\xc1[\xac9\xfe\x8e}\xe6?\x9b\xf6\xf2\\\xdaQ\xfc\x18\xd8\x16St\x17K2'EW\xfe\xf2\xb6}\x19\xdf\xdf`\xf7\x1fοW=\xff\xd5S\x7f\xef\x89\xffW\xa1\x9c\x9a*ݛ\xe5\xf3\xe7\xb4+=x\xe6#\xc0\xd6&\xf8\x81\xec\xdfr\xf8\xc1\xa0\x8e\xbff\xbc\x85\xc7\xf8\x1bͭ\x02\x85\xf6\x14\x8b\xf0`m|\x14-\x8fu\x11*\x86\xf2\xd2\xfd\x10\xbc\xe8\xfc\x94\xd4^\xeb\xff\xd0t\x87\\\x83y\xba7\x99rmˮY\xc9홰>?u\xcf\xe1\x9f\xff\x9e\xfc'\x00\x00\xff\xff\xf3/:\xb2\x01\x1d\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcVMs\xdb6\x10\xbd\xebW\xecL\xaf%\x15O{\xe8\xf0\xd689x\xdaf4v&w\bX\x89\x88A\x00\xdd]\xc8u?\xfe{\a\x00)K\x14\xe5$\x97\xf0&`\xb1\xfb\xf0\xde\ue0da\xa6Y\xa9h?!\xb1\r\xbe\x03\x15-\xfe%\xe8\xf3/n\x1f\x7f\xe1ֆ\xf5\xe1f\xf5h\xbd\xe9\xe06\xb1\x84\xe1\x1e9$\xd2\xf8\x0ew\xd6[\xb1\xc1\xaf\x06\x14e\x94\xa8n\x05\xa0\xbc\x0f\xa2\xf22\xe7\x9f\x00:x\xa1\xe0\x1cR\xb3G\xdf>\xa6-n\x93u\x06\xa9$\x9fJ\x1f\u07b47?\xb7oV\x00^\r\u0601A\x87\x82[\xa5\x1fS$\xfc3!\v\xb7\atH\xa1\xb5a\xc5\x11uο\xa7\x90b\a/\x1b\xf5\xfcX\xbb\xe2~WR\xbd-\xa9\xeek\xaa\xb2\xeb,\xcbo\xd7\"~\xb7cTt\x89\x94[\x06T\x02\xd8\xfa}r\x8a\x16CV\x00\xacC\xc4\x0e>dXQi4+\x80\xf1\xda\x05f\x03ʘB\xa4r\x1b\xb2^\x90n\x83K\xc3D`\x03\x06Y\x93\x8dR\x88\xfa\xd8c\xb9\"\x84\x1dH\x8fPˁ\x04\xd8\xe2\x88\xc0\x94s\x00\x9f9\xf8\x8d\x92\xbe\x836\xf3\xd5\xd6\xd0\fd\f\xa8T\xbf\x9d/\xcbs\x06\xccB\xd6\xef\xafA`Q\x92x\x02Q\xea\xda\xe0\x81N\xf8=\aP\xe2\xdb\xd8+>\xaf\xfeP6\xaeU\xae1\x87\x9bʴ\xeeqP\xdd\x18\x1b\"\xfa_7w\x9f~z8[\x86s\xac\v҂eP\x13\xd2L\\e\r\x82G\b\x04C\xa0\x89Un\x8fI#\x85\x88$vj\xad\xfa\x9d\f\xcf\xc9\xea\f¿\xcd\xd9\x1e@F]O\x81\xc9S\x84\\H\x1c\x9b\x02\xcdx\xd1J\xaee \x8c\x84\x8c\xbe\xceU^V\x1e\xc2\xf63jig\xa9\x1f\x90r\x1a\xe0>$g\xf2\xf0\x1d\x90\x04\bu\xd8{\xfb\xf717\xe7{\xe7\xa2NI\xa1$\xb7\x9dW\x0e\x0e\xca%\xfc\x11\x947\xb3̃z\x06\xc2\\\x13\x92?\xc9W\x0e\xf0\x1c\xc7\x1f\x99D\xebw\xa1\x83^$r\xb7^\xef\xadL\x96\xa2\xc30$o\xe5y]\xdc\xc1n\x93\x04\xe2\xb5\xc1\x03\xba5\xdb}\xa3H\xf7VPK\"\\\xabh\x9br\x11_l\xa5\x1d\xcc\x0f4\x9a\x10\x9f\x95\xbd\xe8\x9e\xfa\x15\x17\xf8\x06y\xb2'\xd4\x1e\xa9\xa9\xea\x15_T\xc8K\x99\xba\xfb\xf7\x0f\x1faBR\x95\xaa\xa2\xbc\x84^\xf02\xe9\x93ٴ~\x87T\xcf\xed(\f%'z\x13\x83\xf5R~hg\xd1\vp\xda\x0eVx\xea\xd8,\xdd<\xedm\xb1\xdd\xec\x00)\x1a%h\xe6\x01w\x1enՀ\xeeV1~g\xad\xb2*\xdcd\x11\xbeJ\xad\xd3\xc7d\x1e\\\xe9=٘\x9e\x81+\xd2.\f\xffCD\x9d\xc5\xcd\xfc\xe6\xd3vgu\x1d\xab] x\xea\xad\xee\xa7\xe1\x9f\xd1t4\x8as\xfe\x96\x8d!\x7f/v;߹zy(\"[\xc2Y\xc36p\xe1ݯ\xf3RL\xf5\x1b\x99\xa9\x8e>r\xa3\x13Qi\xbe\xa3ϫ\xa5C_\xcb\x05\x12\x05\xbaX\x9d\x81z_\x82\xca?\x06e=\x83\xf2\xcf\xe3A\x90^\t\xfe\xa5\x13ǂ\xf5#\x96mɚ\x13\x06 Y\x8f~\x9a\x16\xea\x12\x06\x98m\xf4Y$c\x7f3\r\xcc+\v\n\x8b\xdd!\xa6ӣ\xf9C\x13\xfb\xf9\x03\n\xf8=a\xbe\xb7\xed\xc5\xf5\xb55\xc4sq\xd1\xe9\xc9\xea\xd8\xe3\xc6\b\x17:\xfb\x86\xef\x1da\xff\xa7C\x9f\xafዮ\xe3m\xbe\xbb\xfa.8F}\xf6\xdcG\xe4\x1b\x04\xcfg:8\\\x15\xe5\nL\x83\xe7U\x89\xae7w\xef\xa1\xf0\x8c\xfb;\x8atg\x1a;\xefwf\xbc\xc7/\xbd\r\xde\xeeU~]\x8c\xbd\xca[\xf2\x9d\x88\xf09V\xe8\r\x12\x86\xbd\x02\xbf(\xeaf#\x02\xbctJvicjt\x16\xf7\x10\xacTsRy\x05|\xd6\a\xe5qf؊4\x843f\x06\x7fb>\xa3j\xe7\x0e(\x06\xa5\xb9J\x19IP\f\xef\xd0\xc6\xe4?R-\xa3\xf7\xe9\xea\xc9V~qL7\\+\x8e\xa3\xa2\xfc\xf5x\xff\x86B\xde\xee=\xd3KZ(\x93\xd18\x8fEP-\xbf\x8cx\x8d52i\xd7)\x19\xf9;~\xb9\x1d\x135[Q\xfc\xe6T\x1e\xac7 ~\xda9f!G\x93\xef\xef\xe9\xdb4\x05\xc4\xc0\xcf(\x90\xc2\xcc`\xac\x10j\xd4HXC\xf5\x9ao\xa4\xd7@؟\xe2n\xac\xef\x05\xad\x80\xef\xf5\x82\xd4L\x1b\x99\xa8\xb5\xa84\xae\x80|<\xd7e\xb3\x89\xbbN\x84\x991<\xca\xf9\x81}\xe6\x1ac7\x8c\x17;\x03\xce\xde\x1b\x05|\xc1\x97\x19냷\x12C\xc0\xd31:\x9b\xc9\xec\x10\x9c\x18\x03?\xbe\xea\x03\x96\x86\xbf\x02\x83\xe5\xff\x00\x00\x00\xff\xff\xafA\x18\x17\"\x0e\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xc4ZKs\x1b7\x12\xbe\xebWt)\x87$U\x1e2\xf6\xa6\xb6\xb6x\xb3\xe5͖v\x13Yeʾ\xa4r\x00\a=3\x88f\x00\x04\xc0\x90\xe2f\xf3߷\x1a\x0fr^$E:\xb1\xe7b\x13\x8f\xee\x0f\xfdFCY\x96]1->\xa2\xb1B\xc9\x050-\xf0ɡ\xa4_v\xf6\xf8\x0f;\x13j\xbe~y\xf5($_\xc0Mk\x9djޣU\xad\xc9\xf1-\x16B\n'\x94\xbcj\xd01\xce\x1c[\\\x010)\x95c4l\xe9'@\xae\xa43\xaa\xae\xd1d%\xca\xd9c\xbb\xc2U+j\x8e\xc6\x13O\xac\xd7\xdf\xcd^~?\xfb\xee\n@\xb2\x06\x17\xa0\x15_\xab\xbamp\xc5\xf2\xc7V\xdb\xd9\x1ak4j&ԕ\u0558\x13\xedҨV/`?\x11\xf6F\xbe\x01\xf3\xbd\xe2\x1f=\x997\x9e\x8c\x9f\xa9\x85u\xff\x99\x9a\xfdQX\xe7W\xe8\xba5\xac\x1e\x83\xf0\x93VȲ\xad\x99\x19M_\x01\xd8\\i\\\xc0\x1d\xc1\xd0,G~\x05\x10\x8f\xe8ae\xc08\xf7Bc\xf5\xbd\x11ҡ\xb9!\nIX\x19p\xb4\xb9\x11\xday\xa1\xdc+\x0e\x01 \x04\x84`\x1ds\xad\x05\xdb\xe6\x150\vw\xb8\x99\xdf\xca{\xa3J\x836\xc0\x03\xf8\xd5*y\xcf\\\xb5\x80YX>\xd3\x15\xb3\x18g\x83x\x97~\"\x0e\xb9-\x81\xb6\xce\bYN\xc1x\x10\r¦B\t\xae\x12\x16\xc2ia\xc3,\xc11Οr\x9a\xb1\x9f\xa7\xedֱF\xf7\x10\xdc\x18d\xfb\xad\x01\x02g\x0e\xa7\x00\xec\xe4\t\xaa\x00W!I\xde\x1b\x16\x13R\xc8\xd2\x0f\x05M\x80S\xb0B\x0f\x119\xb4z\x02\x99\xc6|\xa6\x15\x9f\xc9D\xb4\a\xebn0zJ6\xb4\xfe\xcfF\xd5\x03t\xaf\xf8\x05P\xce\xe2\x1b\x16\xf7\xb8~\xec\x0e\x9d\xb4\x8f\n\xfd\x9aļյb\x1c\r\xb1\xaf\x98\xe45\x92f\x198ä-\xd0\x1c\x80\x91\xb6=lu\x1ḟD\xaf3s\x8e0\xa2\xef,\x9d2\xacD\xf8Q\xe5>@\x91I\x1b\xecٴ\xadT[sX%.\x00\xd6)3i\xe0\x848\xec\x8at\x13ف\x9f\xf5y\x1eFߡ\x9d\xe2\xe9,'\x1f\x11JN{\xd0\xeb\x12\xa7\xbd'L\xaf_\x86p\x95WذE\\\xa94\xca\xd7\xf7\xb7\x1f\xff\xb6\xec\r\x03h\xa34\x1a'R\xf8\f_'9tF\xa1/\xea\xffe\xbd9\x00b\x10v\x01\xa7,\x816\xd8d\x18C\x1e1\x05\xf5\b\v\x06\xb5A\x8b2\xe4\r\x1af\x12\xd4\xeaW\xcc\xddl@z\x89\x86\xc8$E\xe5J\xae\xd180\x98\xabR\x8a\xff\xeeh[\xb2=bZ3\x87ց\x0f\xb5\x92հfu\x8b/\x80I>\xa0ܰ-\x18$\x9e\xd0\xca\x0e=\xbf\xc1\x0eq\xfc\xa4\f\x82\x90\x85Z@圶\x8b\xf9\xbc\x14.\xa5\xcc\\5M+\x85\xdb\xce}\xf6\x13\xab\xd6)c\xe7\x1c\xd7Xϭ(3f\xf2J8\xcc]kpδ\xc8\xfcA\xa4O\x9b\xb3\x86\x7feb\x92\xb5=\xb6#\xab\t\x9f\xcftg\xa8\x87r\x1f\b\v,\x92\nG\xdck!Ů\xf7\xff\\>@B\x124\x15\x94\xb2_:\x92K\xd2\x0fISȂb\x00\xed+\x8cj\xa98\x9e8ܝ\xe28\x05\x9b\xb6\x82\xabX\xb0n*\xde(\xb8\xb5R\x8e\xb9Ч\xe4Y\xc0\xb4\xe2'pE\x8e\f\f\x16hP昢\xe0\xb1\xcad\x02Y\xb7f\x18c\x8a\xfc'\xe5C_!\xb0\xe6>\x8b\x9e\xe6=i\xa2\xf4\xdd\x16\x01\x84\x8f\x8dN\x01\x03-0Ԟ\xbb\xbc\x04BZ\x87\x8c\xc7A\n\a\x06\xe3܋\x10\xf3\x0e\x82\xa4o\x9f\xbfH'\xc0(\x06\v\x0e\xff^\xbe\xbb\x9b\xffK\x85s\x00\xcbs\xb4\xbe\xc8vؠt/vu?G+\fr\xaa\xe2q\xd60)\n\xb4n\x16\xa9\xa1\xb1?\xbf\xfaeZ~\x00?(\x03\xf8\xc4\x1a]\xe3\v\x10A滰\x9e\xccF\xd8p\xf0\x1dE\xd8\bWy\xa0Z\xf1x\xc0\x8d?\x82c\x8f\b*\x1e\xa1E\xa8\xc5\xe3\x84\xff\x84\xef\xdaWM{\x98\xbf\x93\xf7\xfcq\r\xdf\x047\xbe\xa6\x9f\xd7\x01\xc6.\x81w\x1dl\x0f'x\x99\x11e\x89\xfb\xf2ld,\x94p(T\x7f\v\xca\xd0Y\xa5\xea\x90\xf0\x84IO!R\"\x1f\xc1\xfb\xf9\xd5/\xd7\xf0M_\x06\aX\t\xc9\xf1\t^\x81\x88w$\xad\xf8\xb73x\xf0v\xb0\x95\x8e=\x11\xa7\xbcR\x16%(YoCi\xbcF\xb0\x8a\xeeVX\xd7Y(\x958l\xd8\x16Tq\x80OR\x11\x99&\x03͌;Z.\xa5\xef\xe1\xdd\xdbw\x8b\x80\x8cL\xa7\xf4Q\x972j!\xa8(b\x92\xc7<\xed\xed\x8e@\xb7\xc1$\x9c\x82\xbcb\xb2\xc4p2\x84\xa2\xa5)\xb8|\xb8}\xfb%=\xaa\x15\x97D\x92\x03\xb7\x86\xf0=e{TY\xc3t\x16V3\xa7\x1a\x91\x0fVS\xd5|\xcbII\x85@s\xa2\xcc|\xdf[\x9c\n\xe1\x89\xfa{\xb7\xe6\xac:ױr\xa2\xb0\xec\xf6M\x8f\x95\x9fG\xe5u\xda\x14\x1eXi\x81\x19\x04\x06\r\xd3d\x11\x8f\xb8\xcdBe\xa3\x99\xa0\xb2\x84*\x8f]\x9f\b\x98\xd65\xd5\x0e\xa1Z\x99\xa0\x18\xeb\xec(\x1ef\xfd\xf9\x0e\tdR\x95\xa9/\xb6DGw\xf3/'\x9c\x0f\x03 \x7f\xae\xa0v]\xc3\\\xc9B\x94\xad\xf1w\xbe\xb1\xa4d[\xd7lU\xe3\x02\x9ciDŽ\x9e!\xc8\aZr\xfc\xfc\x1f:K\x93\x85\x9fhqN\x9f\xaa\xd7\xf8\x1c\x1f\x06eی\xa1d\xf0\xa8\xb4`\x13\xe3\x06\xad\x1by/M\\_\x9f\xe3c\xc1(/\xb9\xc3\xc7爉\xdbo4\xf4xQH7\xe0n\azR\xe9g\xc4\x06\x83\xbf\xb5t\xed\xe9\xe3Φ\x1b\x14\x835t7\x1f\fi\xc5\a#\xfd08\x98\xecuɻH\xc7]\x1b\xff\xf8qF\xdf&<\xeaD\x99\x86\xe4\xe8\xd2S\x0f\x95\xf7\x97vnrE\u05fc^\a\xf9\x12\x9dߌ\xc9\xf8\x8e\xab\xe1\xd11DCq\xa0\xf3.\x14\x19O\xb5^\xba\xe4\xc2N_\xa3\x105\xe4\xfe\xbaF\xb7ɂ\x89\x1a9\xa4ǿ3\xa9\xac\xb0\xa0\x1c\x1d\x9c45<\"\xbc\xc3\x17\xa5\x87\n\xc1\xfa\xfe\xe5\xd7vG\xb3\xb5\xc8}\xfblB\b\xe3\x8c](\xd30\x17Z\xf1\x19\x91\xb8,zM\xfal\x83ֲ\xf2\x94\xd3\xfe\x14V\x85>P\xdc\x02l\xa5Z\xb7k\x04\xf52\xd2\xd76\x1a\xday\xbd\xa8\xc9\x16K\xdfƙ\xab\x92I\x17m]\xfb=\xdd\xe8\xb0\x7f\x18\xf6\xa8V8]\xd7\x1diD\x1d\x03X1{JT\xf7\xb4f\xca\xebv!\xed\xa8\xdb\xc1\x91\xf0}\x87\x9b\x89\xd1\xd1Kmw\xf2&\xb9\xcc\xc4\xdc\x0f\xde\x1b\xce:\x7fdt\x89\xbb'\x90P\xa9:y\xb8r\xac\x06\xd96+4$\x9c\xd5֡\x1d\x04\xfe\xd0D\xd8Ir\xea\xf6\xb7ߟ\x94\x1a(\xc5NIΤo\xf1\xdbP&pauͶ\xbb\xb3\xf8\x9a\x9b\xfck\xba\x15\xbc7\xf2\xe4\xe9\x1a\x0f\xd5\x10\xc7[\x98\x1e\xd3[%\x0f\xdcR\x93\x93\v\xe9\xfe\xfe\xfd\x91\xa2]H\x87\xe5 \x8d\xc4y\x12\xe7\x1b\xe2\xf2\xd7p8R\x03Yɴ\xad\x94\xbb}{\xc24\x96\xbb\x85\xc9E\xf6\xf5\xbc\x0f\x88\xfe\x95!.\x8a\xa60\x01u\x1fp\xce\xf2\xdf\xfe\x1f\x0e\\b\xc5\xcb\x1e\x85\x13\xf9*\xfe\x1d\xc3TVX\xa2f\x86b\x82\x7fú\x19\xbeȾ\x00+|\xa3\x9d\xaa\xddP\xfe\x86\x86\xd9\xd4uNI_\xc0)3~P\x84\x93\t\xa8\x7f\xa0ϙ{&\xcdi4\xe8\x91\xf3\x0e\xed\xf8|\xd3\x1diW\xbb\x97\xcd\x05\xfc\xfe\xc7\xd5\xff\x03\x00\x00\xff\xff\x8b\xcb\x17\x16\x81$\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xc4Y_s\xdb6\x12\x7f\xf7\xa7\xd8q\x1f\xda΄R\x93\xeb\xdc\xdc\xe8-q\xae7\xbek\x1dO\xe4\xe4\xa5Ӈ\x15\xb1\"Q\x93\x00\n\x80\x92u\xbd~\xf7\x9b\x05H\x8a\xff$YJ\x9b\xe0\xc5\x16\xb0X\xfc\xb0\xff\xb1L\x92\xe4\n\x8d\xfcH\xd6I\xad\x16\x80Fғ'ſ\xdc\xec\xf1\x1fn&\xf5|\xf3\xf2\xeaQ*\xb1\x80\x9b\xcay]\xbe'\xa7+\x9b\xd2[ZK%\xbd\xd4\xea\xaa$\x8f\x02=.\xae\x00P)푧\x1d\xff\x04H\xb5\xf2V\x17\x05\xd9$#5{\xacV\xb4\xaad!\xc8\x06\xe6\xcdћ\xeff/\xbf\x9f}w\x05\xa0\xb0\xa4\x05\x18-6\xba\xa8J\xb2伶\xe4f\x1b*\xc8\xea\x99\xd4W\xceP\xca\xcc3\xab+\xb3\x80\xfdB\xdc\\\x1f\x1cA\xdfk\xf11\xf0y\x1f\xf9\x84\xa5B:\xff\x9f\xc9\xe5\x1f\xa5\xf3\x81\xc4\x14\x95\xc5b\x02GXuReU\x81v\xbc~\x05\xe0Rmh\x01w\f\xc5`J\xe2\n\xa0\xbeg\x80\x96\x00\n\x11$\x87Ž\x95ʓ\xbda\x16\x8d\xc4\x12\x10\xe4R+\x8d\x0f\x92i\xf9\x80^\x83ω\x8f\fRE\xa9\xa4\xca\xc2T\x84\x00^Ê\xa0F\"\x023\x80_\x9dV\xf7\xe8\xf3\x05\xccXp3\xa3\xc5L5?\x81>N\xc4\xe5\xcd\xcb\x18\xcaҜJ\\Ԕڐz}\x7f\xfb\xf1o\xcb\xde4\x80\xb1ڐ\xf5\xb2\x89\xaeqt\x92Gg\x16\xfa\x92\xfd_\xd2[\x03\xe0\x03\xe2.\x10\x9cE\xc8E'\x89s$jL\xd1y\xa4\x03Kƒ#\x15\xf3\nO\xa3\x02\xbd\xfa\x95R?\x1b\xb0^\x92e6\xe0r]\x15!\"m\xc8z\xb0\x94\xeaL\xc9\xff\xb6\xbc\x1d\xfb\"\x1fZ\xa0'烬\xad\xc2\x026XT\xf4\x02P\x89\x01\xe7\x12w`\x89τJu\xf8\x85\rn\x88\xe3'\xb6\x1f\xa9\xd6z\x01\xb9\xf7\xc6-\xe6\xf3L\xfa&\xa5\xa6\xba,+%\xfdn\x1e\xb2\xa3\\U^[7\x17\xb4\xa1b\xeed\x96\xa0Ms\xe9)\xf5\x95\xa59\x1a\x99\x84\x8b\xa8\x90Vg\xa5\xf8\xca\xd6I\xd8\xf5\x8e\x1dyd\x1c!\x11\x9e\xa1\x1eΌ \x1d`\xcd*^q\xaf\x85&\xbe\xbf\xff\xe7\xf2\x01\x1a$QSQ){ґ\\\x1a\xfd\xb04\xa5Zs\x84\xe6}k\xab\xcb\xc0\x93\x940Z*\x1f~\xa4\x85$\xe5\xc1U\xabRz6\x83\xdf*r\x9eU7d{\x13\xca\x0e\x0e\xae\x95a3\x17C\x82[\x057XRq\x83\x8e>\xb3\xaeX+.a%Vf\xe9\xb5Ō~ԑ\xe7\x90\xe8\x94\xd9\xf1x3ŨA\xac:\t5\x9e\b.RBQ\x93N\xb0\xdc\xe6d\xa9\xbbǒ\xd1Nzmw\xcc8\xa6\xe2\xa1I\x1c\xd4N\x90\x83\x16'\xeeƹ$8\x90\xa55YR)5\xe1\xe6X\x994\x01\xbeS-\x8c!\x1e\xd6\a\x1c\t͓\x80_\xdf\xdf6᷑p\r}\x14aO\x8a\x87\xc7ZR!B\xb6:}\xf6\xa4!\xf0\xb8]G\x10!\x06y\r\bFR,\x83\xdb\xf8\x0fR9O(\xeaIv;K\xf5ڋ\x18[\x0e\x82\xe4\xb1\xcf\x13\xac\x12@\x8euR\xc0\xbf\x97\xef\xee\xe6\xff\xd2\xf1\x1e\x80iJ΅r\x80JR\xfeE[\x12\brҒຈf%*\xb9&\xe7g57\xb2\xee\xe7W\xbfL\xcb\x0f\xe0\am\x81\x9e\xb04\x05\xbd\x00\x19eކ\xcf\xc6j\xa4\x8b\x17o9\xc2V\xfa<\x005Z\xd4\x17܆+x|$\xd0\xf5\x15*\x82B>Ҵ\xf4\x01\xaeC\xa1\xb9\x87\xf9;\xbb\xd6\x1f\xd7\xf0Mt\x96k\xfey\x1da\xb4\x89\xb2\xeb}{8>G\x0f\xde\xca,\xa3}E;2\x16\x0e\xec\x1c\x12\xbf\x05m\xf9\xaeJwX\x04Ƭ\xa7\x18\x90H\x8c\xe0\xfd\xfc\xea\x97k\xf8\xa6/\x83\x03GI%\xe8\t^\x81TQ6F\x8bog\xf0\x10\xec`\xa7<>\xf1Ii\xae\x1d)Ъ\xd8\xc5\a\u0086\xc0\xe9\x92`KE\x91ĒD\xc0\x16w\xa0\xd7\a\xceiTĦ\x89`\xd0\xfa\xa3eI3\x1e\u07bd}\xb7\x88\xc8\xd8t\xb2\x10\xdb8s\xad%\x17\x1f\xa8D\x9d\x0f\x83\xdd1\xe8*\x9a\x84א\xe6\xa82\x8a7#XW\x9co.r\xceq=Ќ\xe7\xf9e\xa8\x0f\x9e\x15%\xbeXn}\xa6$B!\xfc\t\x92\xe8>\xf1.\x90\xc4c\xb5\"\xab\xc8S\x10\x86Щc9\xa4d\xbc\x9b\xeb\rٍ\xa4\xed|\xab\xed\xa3TY\xc2F\x9fD\xebr\xf3\xf0~\x9f\x7f\x15\xfe\\z\xf1\xf0\xd2\xff\xd4\xdb\xf7\x1a\x13\x9f_\x04|\xba\x9b_\"\x81\xa6n}~\x8e<(\x87e]I\ry\xb2\xd3ns\x99\xe6\xcd+\xa6\x13\xd5K\x141\xec\xa3\xda}!\xdfa9W\x96\x11풺I\x97\xa0\x12\xfc\xbf\x93\xce\xf3\xfc%\x82\xad\xe4'\x05\x97\x0f\xb7o\xbf\xa4GU\xf2\x92Hr\xa0:\x8f\xe3)٣JJ4I\xa4F\xafK\x99\x0e\xa8\xb96\xbd\x15\xac\xa4\xb5${\xa2\xca|\xdf#n\xaa\xe4\x89*\xb7\xa59\xab\xccu\n\x8d˵\xbf}{\x02Dz%l0\xecuX\x17\xb7\r\xafA\a\xec<<\xc1\xb7\xee\x0eG\xae>\xa8>u\x83L[\x99\x85Tۆ\x8f\xf0\xf4QXb\xb7\xf3\xd9\x1d%\x1a#Uv\x16֦\x91\xb8$\xcf\xcf\xe5\x89\x02\xbd\xdb\x02>V\xc6\x1f\xb5\xbb\xd3.\xf5a\x00\x04\xd0\x12 ߉5\xf4H\xbb$V\x8b\x06%\x97z\\\xcd\xd5%\xf1\x8a\x00\x8d)\xb8\x1e\x8b\x15\xe0\x94\xaf7m\xd1T\xab\xb5\xcc*\x1b\x1eacI\xa9\xaa(pU\xd0\x02\xbc\xadƌ\x8e\xb8O\xb7#{B\xe3\x1f:\xa4\x8d\xbaO\xf4\x84\xa7o\xd5\xeb\x14\x8f/C\xaa*\xc7P\x12x\xd4F\xe2\xc4<\x1b\xfb\xc8\xd1y\xe1\xfa\xfa\x1c\x93\x8a\x9etB\x06u\x03s\xe2\xc1\\;b\xfd|\xe0\x19~\xa4\x06w\x9cΎ\xe7:\xa8\xa5\xdf*~\v\xf5\x11&ӽ\x81\x01\x8d\xd1\xe2j(\xb4nl\x1b,\xee#\xd3p\xa1\xef\xf4\x83\xd5^c\xbd{\x9bq[%tm\xcfi\xac\xc4Nq-\xf7\x98V}\xd3?\xe6\x87\xc1ŭ\x95T\xf3\v\xb1\xd7佤\xb1r3f\x13\x9a\xa2VԎ\"K\n\xfd\x8a\xd8\xf9ޢkN\x9e2\x82.\xbf\xb85\xd47̎Dx\xea\xf1Kt\x8d\xb2 \x01\xed\a\xbc\t6\x0f9\x81\v-\xc1\xaf]˨r$BT\x9e\x00=N\xceM\x03^\xa0\xa7\x84Y\\\x16}&}\xae$\xe70;\xe5t?E\xaa\xd8\xf1\xa9\xb7\x00\xaet\xe5ۖO\xed}\xb5(\xbev\xb5i\x9c\xd7v\xcaѝ\x82r\xcf4Sf\xd8Ɓ\xe3v\bG\xe2\xdb\x1dm'fG\x1fD\xba\x8b7\x8d\tM\xac\xfd\x10\xac\xe3,\x01\xd4\a]b\xff\rH\xc8uј\xbc\xf6\\\aT\xe5\x8a,K'|\x9ai\xc4\xd4\x16,\xf1I\xde\ns\xea-\xd5rh\xa2fdU\xb7\x1dRT\xa1/\xedb\"\x15ҙ\x02w\xedeB\x01\xcb\x16<ݽܛQ\xe3\x9a\x1c(\x0e\xa4\xd9\xe3\r\xc1\xf6\xd3\xd3ty>\xf5!\xab?\xc6_\xa5\x06\xeb\xed7\xb7\xbf\xe6\x84#e\x82\xf3h\xfd'\x05\xc8e\x8fé\xd8\x18Λ\x8e\x8c\xc7CZ\xff\x98\xcf\x19\xcd&\xa57\x9a\f\xc8E\x87w\xdda\xef\xceT\xab\xf6\xf3\xd3\x02~\xff\xe3\xea\xff\x01\x00\x00\xff\xff\xc5p\x17\xe3F\"\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xdc=]\x93\x1c)r\xef\xfa\x15\x19\xf2\xc3\xda\x11ӣS\xf8\x1e\x1c\xf3&\xcfJ\xd6\xf8\ue909\x19Y\xfbLWewqCA-P\xd3\xea\xb3\xfd\xdf\x1d$P\x1f\xddT\x15\xdd\xf3\xb1\xbb\xe6E1Ր@~g\x92\xa0\xd5j\xf5\x865\xfc;jÕ\xbc\x02\xd6p\xfcaQ\xba\xbf\xcc\xe5ÿ\x99K\xae\xde=\xbe\x7f\xf3\xc0ey\x05\u05ed\xb1\xaa\xbeC\xa3Z]\xe0ϸ\xe1\x92[\xae\xe4\x9b\x1a-+\x99eWo\x00\x98\x94\xca2\xf7ٸ?\x01\n%\xadVB\xa0^mQ^>\xb4k\\\xb7\\\x94\xa8\tx\x9c\xfa\xf1O\x97\xef\xff|\xf9\xa77\x00\x92\xd5x\x05\x1a\x8dU\x1a\xcd\xe5#\n\xd4꒫7\xa6\xc1\xc2\xc1\xdcj\xd56W\xd0\xff\xe0DŽ\xf9\xfcZ\xef\xfcp\xfa\"\xb8\xb1\x7f\x19~\xfd+7\x96~iD\xab\x99\xe8'\xa3\x8f\x86\xcbm+\x98\xee>\xbf\x010\x85j\xf0\n\xbe\xb8i\x1aV`\xf9\x06 ,\x9d\xa6]\x85U?\xbe\xf7 \x8a\nk\xe6\xd7\x03\xa0\x1a\x94\x1fno\xbe\xff\xeb\xfd\xe83@\x89\xa6м\xb1\x84\x80\xffYu\xdf!.\x14\xb8\x01\x06\xdfi\xa3n5\x84x\xb0\x15\xb3\xa0\xb1\xd1hPZ\x03\xb6B`M#xAx\a\xb5\x19@\x8a\xa3\fl\xb4\xaa{hkV<\xb4\rX\x05\f,\xd3[\xb4\xf0\x97v\x8dZ\xa2E\x03\x85h\x8dE}\xd9\x01j\xb4jP[\x1e\xb1\xecۀw\x06_\xe76\xe6\x9aÅ\x1f\x05\xa5c\"\xf4[\b\xf8\xc42\xa0\x0f\xd4\x06l\xc5M\xbfո=`\x12\xd4\xfa\xefX\xd8\xcb\x03\xd0\xf7\xa8\x1d\x180\x95jE\xe9x\xef\x11\xb5CV\xa1\xb6\x92\xff\xa3\x83m\xdc\xc6ݤ\x82Y4\x16\xb8\xb4\xa8%\x13\xf0\xc8D\x8b\x17\xc0dy\x00\xb9f{\xd0\xe8\xe6\x84V\x0e\xe0\xd1\x00s\xb8\x8e\xbf\x11\xf1\xe4F]Aemc\xae\u07bd\xdbr\x1b%\xaaPu\xddJn\xf7\xefH8\xf8\xba\xb5J\x9bw%>\xa2xg\xf8v\xc5tQq\x8b\x85m5\xbec\r_\xd1F$I\xd5e]\xfeSG\xd4Ѵv\xefx\xd4X\xcd\xe5v\xf0\x03\t\xc4\t\xe4q\xa2\xe2\x19σ\xf2[\xec\xa9\xe0>9\xd4\xdd}\xbc\xff6dJn\x02Q\x06\xbc9E\x1f\x87M.7\xa8\xfd8bM\a\x13e\xd9(.-\xfdQ\b\x8e҂i\xd75\xb7\x8e\r~m\xd18~W\x87`\xafI\xeb\xc0\x1a\xa1mJf\xb1<\xecp#\xe1\x9a\xd5(\xae\x99\xc1W\xa6\x95\xa3\x8aY9\"dQk\xa8K\x0f;{\xf4\x0e~\x88\x1aq\x82\xb4A\x8b\xdc7X\x8c$\xcd\r㛨.6J\x8f\x94\x8c\x1b2\xc6QZ\xf8]\xf3Zĩ\xc5\xc3_\x96\xb8̵\x7f\xefF;~s+k%\xff\xb5ER\xa6^\xfc\xf1X_\xe9\x81j\x1f7\xc7F\x87ԝD\xb4k\xf8\xa3\x10m\x89e\xa7\u05cf6\x98\xb3\x8d\x8fGP\xc8\xe81.\x9d\x109\xeb\xe3\xf6\"\xfb_I\x813\x8d \x95M\xc0\xe3\xd2\xc3\x03.\t\x03I\x9aPG\x8bubų[\x06\x90\xad\x10l-\xf0\n\xacn\x8f\xd1\xe8\xc72\xad\xd9~\x02[\xd1\x03x\x12\xb2: A\xd5\b^\x10\xc9;\x85B\xf8\xfa㢊\x1b\xa7(\xe3.o\x95\xe0\xc5~\x01_\x1f\x93\x83\xa2\xb4\x06\xd9\r;\x845V\xec\x91+\x9d\x12\x03\xa5\xa9\xeb\xc0\x9e\xf7jZ9-\x19\x80\x1cڸ\xcc\r'\x91U)\xf5\xb0\xc4\x10\x9f]\x9f\xde:@A\x0ee\xb7\x95@\xed`\xbb\xd7\b\xf8\x03\x8b\xd6&\x96\tP\xb6d\x9a\x94\x86F\x19;M\xf7i\xd5\x05C\xe7(\xf5\xe3\f\xd3\x1c\xed,\xc9\xea\xbe\x05%\x1c\x89\xeap0R\xc8J\xa2\xdbF\xed\x88\xda\xf7ժ\xf5}'\x91\x02kf\xb0\x04%'g&vi\x05\x9a0WI\x9c\xd1롋~\xff\xe4\xf1\x80`k\x14`P`a\x95>Ff\x0eJ}\xcbQ\xac\x13\xa8Lhӱ\x04\xf4\x1b\x98\x01\t\x8e\xd3w\x15/*\xefa8\xf6$8P*4N\x9b\x90˼\x9f\xda$,\x91?L2\xa7=\xfa\xb6 V\x87\xf0R\x1a\xa5o\x19j\xb8oI\xd4\xf6\xba\xf7H\xb7\x84\xefV\xcdn\xfb\xff'b\xa319\x83ig\xe4\x1f\xc8\xfd\xcc\xe6\xe9I\xbe\xa5\b\x0f\xcd%\xdcl\x00\xeb\xc6\xee/\x80\xdb\xf8uI\x12\x98\x10\x839\xfe\xc0\xb49\x9d\xe93I\x93#\x13/D\x98n\x8a? ]\xc8d\xdc\a\x8b\x91M\x93\xbf\x0eG]\x00\xdftH//`ÅE}\x80\xfd\xb3T}\xa4\xccs #\xc7\xea\x01\xe5\tlQ}\xfc\xe1\\\x1c\xd3'\xc12\xf1r8\xd8\xfb\xc61\x82\x18\x9b\xe7\x05\xb8@\xf12\xd7XS\x1c\x0e\xdf\b\x9b\xfd\x17r\xaa?|\xf9\xf98V>l\x19\x9cw\xb4\x91\x05\xa1\xf3\xed\xc3\xc1\x8e\x86\xeb\vQA\xfc\x85|\xa0.\xa8\xf29\x97\v`\xf0\x80{\xef\xba0\t\x8e>,vΘ^#%\x7f\x88\xcf\x1epO`\xd2ٜ\xe3\x96\xcb\r\xbe=`\xc2\xf5O\xb5\x11\x0eݚBX\xec\xf1\xe4>\x10\"(\x86\xcfe\x03߂($r'閩Kb\x8b\xb8?c\x9bY\xac2\x9cc\x98\xfa$\x0e\xf8\xc9xZ:\x89\xa9x\xc8i\x1a$\x99\xc9%\xa8oߙ\xe0e7\x91\x97\x91\x1by\x01_\x94u\xffP\x80f\x88Q~Vh\xbe(K_^\x04\xa3~\xe1/\x89O?\x03\t\x9a\xf4Z\xde!l\x98\xf3\xf36\xcdq[\x87{n\xe0F\xbaxţ$s*J\xef\xfa\xe9\xfcDuk(]'\x95\\\x91\xcdL\xce\x14\xf0\xad\xf4\b\xddO\x9e4L\xf8\xcd\x19\v\xff\x8bO2\vV`\x19#K\xca~2\x8b[^d\xceW\xa3\xde\"4N\x85\xe7qD\xa6b\r\xbb9\x8d}\xf2\xacwlA\xf1\x96ˋY9\x81\xcb\xe8\x15ɸ\xd8u\"\xb39\xdduyGdE\xc9\xc5X\xc4.+K:\xc2b\xe2\xf6\x04\x8d~\x02-N\x15\xcd\xc1ڽ\t\xacY\xe3\xc4\U000bf765#n\xfe_h\x18\xd7\xe6\x12>\xd0I\x95\xc0\xd1o!\x0f6\x00\x931e\xe3\xa6r,\xf0Ȅ\xb3\xbdN\x81J@\xe1-\xb1\xda\x1c\xf9%\x17\xb0\xab\x94\xf1fs\xc3Q\xd0y\xc1\xdb\aܿ\xbdp\xd3/N9\x14\xf2\xb77\xf2\xad\xb7\xe1G\x02\xdb\x19|%\xc5\x1e\xde\xd2oo\x9f\xe2\xcad2[f\xb7\x1f\xab\x87.ö\xaaY\xb3\n\fjU=\xa34d2Y\u07b7\x11\xc7\fs\xe3}R<8\xb9s\xbb\xcdb\xd1F\x19\xfb9\x9d\xb7\x9bX\xcfm\x1c1\xf6L\x139\xaeE\x8f=\xe4\xb1:}뜸\x8dE\x1dry^\aG\xff\xff\x89\x91Q\xeaTd\xb8\xd8.\x19Ǻ\xfc\xaaC\xf0\x027\xf9\x83\x93\x9c%\x9e\xe20:\xbc\x9c\xe8m\x7f\xfc1\xc8':\xc9u\x7f\x0f7\xf2\xdc\x0em\xa1\xea\x9a\x1d\x9e*f-\xf5ڏ\x8c<\x1d\x00y\xea\xebmK\xf2\x9ck\x11{\x1e\xa2\xf3\xc3\x1d\xb7\x15\x97\xc0\xa2\xda@\x1d\x18\x8aA\xa3R9\xe4T\xab\x98\x815\xa2\xecR\xe4\xbf\aS^syC\x13\xc0\xfbg7\xfdУ\xeb%\x9d\xcd\xeb\x8e&\x1d\xe5\xbb\x0f\xded5\xaa\x84]\x85\x1aG\x8cq\x9c\xf7&OQ*;H\x19\x9c\xe0\x106\xaa\xfc\xc9\xc0\x86kc\x87K0К\\Z\x9fH>\xb7\xeeo\xbcF\xd5ڗD\xf0\xc7~\x9a\xd1Yo\xcd~\U0003ab41ժ\xf5\xc6\xdc\xf2\xba;U\r\xe8\xdd1n\xbbc#ʟX\xe5H\xd0\b\xb4\bkܤ\xcf[S\xadP\xd2\xf0\x12u\xac\x12\xf0d\xe3\xca\t\xe6\x86qѦNiR\xed\xd4\bT~\xd4\xfa\xac\x00\xf4\xab\x1f9\xc8\xfbUj7FP\xe6\xde\xe9 \v\x81o\x80[@Y8\x8c\xa3\xf6*\x99\xa6\b\xc8 \xd4\xf0\\=\x97\xa7\xc0]C\xd9\xd6y\bX\x91@r9\x9b\xf2\x1av\xffĸx\t\xb29\xce\xfb\xa4\xf4\x1d\xb2\xf2\x9c\x1c\xc9/\x83\xe1\x80Ҵ\x9a\x0e߽\xee\xd8q\x91\xb7fG9\x10\xac\x95E\x85\xa4\x84\xe4X7x\xf0\\\x1a\x8b,\x97\x17\x9cW\xd4J\xc9\xe56\x8fvىȾyT\xaf\x95\x12ȦO\x01\xfb\xe6p\xfd\n\x9a\xe8\x97~\x9a'j\xa2\x9e\b\xfeؚ\xe8\x90MQ\xa7\xb4\x80Y\xeb\xc2}\x129\x05\xba\x95C\xeb\xf2\x02\x8a\xe8\x94H:\xac\xe29Cd.y\x06mGt\xbd\x91\xdc\x0e\x9dG\a\xe2E\x9dG7A\xe7\x0e\x9c\x93\xe1\xba\x19\x01p\x02\x1a\xe3\x10Z{\xc75'8\x92k\x04V\x96X\xfaܡsEBX\xe2\v\xcf&\x8a\v\x92\xbb;\xdd\x13̢ll\xa3\xa0\x93\xf2\xa0\xfa\x11W\xad|\x90j'W\x14\x8c\x9b\x93uH\xae\xab\xf8\xcc\xd3۳\x95Ѳ~\xc9W\xd3KZh̯\xf9<\x15\xfd\xa7\x17\xd02\xd9|sR\xc2c\x8e\v\x96\xf4\x9a/\x80\x9e\xf8qq\x15s\xf3\xcf\f\x0e\x87\xc2\u05feX\xf9Iei7iP\x03\xa7pW\xa1\xadP\xc7\xd2\xe8\x15\x95\x84\x97\xb3'\x94}\xf0\xd2թ9\xa6\x8a.\xb2/\xbf<\xa8\\\xa3\xe8\xa6\x15\xe2\xc2\xf16kE2\x1c\xb6\x8aD옳\xb2\xea\xb7\xd2\x1eCN\xf5C6\x1e\x87\x95\x0e\xe3\xfa\xbe\xae\n!\x16\xf8\xa98s\xa0qj\xbfT\xd898_\x1f\x973P\xfe/.\xff7/\xfd˨T\xc8Gcn\x95d\x87\xc4\x04\xac\x04\x83\r\xd0\xd8\xd77\x84~\xa1\xd0\xf6\xf7\x85S\x8b\xf5\xd7&H̤\v\x9b\x81\xd6\x04\x9c\x83z\x0f\xb2\x06\xad\xf1\xae@g\aB\xceЍ\xffP\xf8[\b\x11L\x8a_\xbfU\x18\xc57T\xcfs\x03\x7f\x86J\xb5\x89\xaa\xba\x19\x94-TW,oxTh\x11\x0e\x14в\xc7\xf7\x97\xe3_\xac\ne\x17\x94EK\x00\xa2\xa0\xa8\xcf\xccrY\xf2G^\xb6LD\xa9\xedk\xf8=\x03\xf5|\x96\x80\xa64H.<\x03\xc6\xf1#\x86\x83\xaf\x8d?\x969Y\xc5\xcd\xfb\xa2y\xd5\x19g\xd7d\x8ck.&\xac\xe1\xa9\xc7\x17\xcfR\x85\xfa\x9b\xd4Z\x9c^a\x91\x13I,TS\x9cQC\x91Y\xac\xf5\xe4\xf3\x96\x9c*\x89Sb\xee\x17\xab\x88x\xfe:\x88,\xfc,\xd7<\x9c\x82\x9d\x17\xafoxŪ\x86שeȬ`x\xbeR\xc4\xe7\x88;\xa6\xeb\x11\x16\xab\x10\x9e\x14\x97d\xd4\x19\x9cR]\xb0\x88\xb1<\xd6\x7f\xb5\xfa\x81W\xab\x1ax\xddZ\x81Y\x96\x98\xfd\xf1\x94j\x80.v\xf9\x1bk\x1a.\xb7\xc7L\x91\xcb:\xb3l\xb3\xcc2_\x0e\x162\xe2\x99a\x88\xd1Gl\x13ᨿB\x9c\x88\xeeb*\x91K\xab.\xe1\x83\xdc\a\xb8\t8\x83\x90N*{t\xb9\xcb-kDž\x18\xde`\"\xb0\xf3\xa0\xc2=B\xc3j\xbf\xaa)\x0f\xa5\x88\xc7\xe1_T\x89\xb7Jۥ`\xe1\xf6\xb0\x7f\xe2\xb4q\x10@)Q\x82\x8c]\x13\xbb$\x97?\xb8\xfb\xe7m*}0\x18\xddۿ\xa9ҭm\xe9\x1c\xe2\xee\xa0\xfb\xd1}\xda\rj\x94\xfe)\x8a\xff\xbc\xff\xfa\xa5\x83\x9f\xf2A\x83\xa7z\xf0\x04\x82\xf7(ʀ\x9cp|\x15\n~<\xb6\xc8&?\xf3\xd9\x01k\xf8\x7f\xd0\xcbcOH\xcf|\xb8\xbd!\x18\xd1o\xa2\xa7̺J\x83\xeeTo\x8d\u0382t\xa8\x9a\x14\x8b\x9b\xcd\b\xe2\xb8*v\xf8\xd4\x0f\x96\xfeY\xa7h\xc1x\xac\x83r\x82w{\xe3\xd715\xcb'\xe7\xc4\xc9=(ϑ\x15\xd7\xe5\xaaa\xda\xee\x89m\xcc\xc5h\r\xd1b̥W&\x15\xeb\xf1SUI\xf4\xc6\x17\xaa\xe8\xbcnߌOD\x0fqw\xce:\xa6\xefh,\xde\xcex\xc6uL\x1b\xdf\x15a*\xf19Y\x84\xf1li\xab\xa0\x89n\xbf\x9f\x95\x06\xb9\xebF\xcf\xeb9\x17\xd5\xc6\xd4O\x02\x8c\x1bO\xaa\xceH֘*\xf1,\xd0\xd3t\x1d\xbd\x98e\x99m\x9f\xb2I\x0f`\xb4O^T\x03m\xb5è\xcf\xe2\xb6IZiXJ\xb7;\xdb\xeckC\xb8\xb8\x18D\xee\xafsl\x9a\xf9\xe4\xc8ُ\x8dx\xf4L\xa8\x1f\xcaF9\xd5v\x8c\xa93\x0eL\x17]\xbb\x8cB\xdcy\x7f4\xf3\xa9\x8a<\x83q\xc6\xf3\x14\x84\xaf\\\\A\xf2Պ̗)~SD\xcfh5STX\xb6\x02\xcf}\x97\xee~0~\xf9e\xba8[\xc6\xdbt\x0e\xd9\x03\x03\xed|\xe6\xf1\x1bx\x81\x12\x01\xf2\x90\x92S\x0e\x1f\x05\a\xfe\t\xac¿\x96X\x14h̦\x15\xb1\x92\xa7\xd0\xc8,\x96\xb1;7݊O\xaaEi\x1b\xa1X\x89\xfaZ\xc9\rO\x9cX\x8c\xd0\xfa_\xa3\xce\a<[\xd0\xc7V\xf7\xcf\x0f\xce>\xdd\xf6$\xcd\xd50̈́@\xf1\x89\v4?\xab\x9dt\xeb\xca\x10\xc8\xdbԸ\xc1ݥ\xa2\xd5ά\xefA\xb6\xf5\xda9\xb9h\xedt\xb0\xb8Qz\xbe\x8a\xd8\xe3\x9dK\x8b[L\x85\xca;\xcd-\xde7L\x1b\xa4\x15e\xec\xe0\x97\x83!>\xfa\xdc\b\xb6\xf5\xe5b%/\x98\xc5\xce\x00\xd3\fS˧\xf1\x86`\x89=U降$T\xb6PO][\x98\x14\xeb\xa9'0\x13\xa6:\xf9\b\xa6\xb7\xc8\x05k,]\x12!:\x12\x11m\x80A\x0f\xcb\x1e\xbc\x839\x02;\xcdi\xa1\xd47\x14\x95\x19\xcb\xeaD\x94\xb0\xacw\xae\x8f\xc1\xd0ӵ\xba\x1cԦ\r\x1f\x01\xec\x8a\xd0`\xc7LWp\x9c\xf4\xbd{\xd8\x1e\f\xb9\xea\x0e4\x96\x80\x8f(\xc1\x89\"\xe3\x02\xcb9N\xfdF\x89]\xfd\x88\xfa'\xd3\xc1\xa1j9\xc7\xe2\xf7\x96i\xdb-\xfd؏\xd9(]3{\x05%\xb3\xb8r\xa3\xcfs\xdd\xd2Oyj}\xe6\xf1\x1c\xdd\xfe\n\xe2Qī)\xce\xfa\xf9;[5\x1aö1\bݡFآtx\xefr}I\x8f)^{\vƢ+\xbft(d\x85mY\x98\xc0\xbbp\xddif|C\x97\xa2\xd8\xed\xa4\x8aN\xab\x8ap\xc1\xee\x0e\x999|\x92\xf9\b\x17\x9f\x86}C\xd2\xd6\xef؟U0_\x04I\x8f\xf2Z\xdeE\xd6)\x99\xb6\x8af>ɜTJ=d\xb9ٟ\xbb\x8e}:\x89K\xcfJt\xadp\xadZ;\xf0s\x02\xc2\x13ˤ'*\x9fپ\x10\xcc\x0f\xfe\x92\xd1T\x9a4\xcf\xd3\xfb<\x82ԅ\xb7\xca2\x11\x8d\x8c\xe3ˮC5s\xc9\xfe>>\xf0+\xc4\xfe\xe2\x10\xf2\xc1\xcb\xe1=\xec\xaa\x7fn2h\x82\xfe\x8a\xf5TZ5d\xfd\x92@\xba\x97*{\x9fd\xea]\xc0%\xfbGP?Ѣ2p\xfc\xb9\xef=\x85G\xbfL\xef0\xa3LG\x9a@\xc1\x87\xad:\xc98c\xe93^jS1\xb3\xe4\x9e\u07ba>\x9d\xdb10W\x9d\x13z7!\x95黠+\xf8\x82\xbb\xc4W\x8f,:\x8d\"\xa9Jt\xb9\x91\xb7Zm5\x9ac\xa6[ѝ?.\xb7\x9f\x94\xbe\x15\xed\x96˯\xd3\xd5\xd1s\x9do\x99\xb6\xdc1\xad_Ob\xecu\xb4q\x89ߖGO\xff\xc0%\x13\xfc\x1f)]>\xfcqi\x86\x19}\xd7\x04\xe4\x9dc\xa1\"\xe2\x97\x14`\xd0\xd0?\x99\x81\xf9\x89\xf3^\xc2\x17\x95\x14\xe3p`\xcb\xc7@\xb9\x815\x1a\xbb\xc2\xcdFi\xeb\xf3\xf7\xab\x15\xf0Mt\x90\x9c\x86\xa08ѿ\xb8\x0e<\x95x\xef\x8e¢ò\t\xa9DMV\x87BΚ\xed}F\x92\x15\x85\x8b\t\xf0\x9d\xb1,\x15\x9b\x9e\x1d\xbb~?\x80qpM\xd0E\xb1\xfd41\xde\xfcg\xbeIɋ\xff\x1f\x84\xd6\x02\xff\xe5\xe8\xd7W\xbe\xee\xb7cZr\xb9=\v#\xbf\x84\xb1\x89x>\x80}Ɉ>\xae\xfc\xd9b\xfa\xa4Y:\xfaH\f^\x0e\xf0\x1cf\n_\xfe/\x00\x00\xff\xff\xe5\x9d;'\xe7k\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xec=]s\x1c)\x92\xef\xfa\x15\x84\xeea?B\xdd\x1e\xc7\xedÅ\xde|\xb2\xe7\xae\xe3\xfe\x87Y\n\xf5f\xf7\xf6\xe2Q\xc8\xfc\x9a\xdd\xd4ƪ\xf23\x18U\xeb\f\xde\xc3FHa\x85\x92\x17%X\x9es˯/\x18\xe3R*\xcb\xf1\xb3\xc1?\x19˔\xb4Z\x15\x05\xe8\xc5\x03\xc8\xe5c\xbd\x86u-\x8a\x1c4\x01\x0f]\xef~X\xbe\xfd\xcb\xf2\x87\v\xc6$/ᚙl\vy]\x80Y\xee\xa0\x00\xad\x96B]\x98\n2\x04\xfa\xa0U]]\xb3\xf6\a\xd7\xc8w落\xf3\xed\xe9S!\x8c\xfd\x9f\xde\xe7\x8f\xc2X\xfa\xa9*j͋N\x7f\xf4\xd5\b\xf9P\x17\\\xb7\xdf/\x183\x99\xaa\xe0\x9a\xfd\x8c]U<\x83\xfc\x821\x8f?u\xbd`<ω\"\xbc\xb8\xd5BZ\xd07\xaa\xa8\xcb@\x89\x05\xcb\xc1dZT\x96F|g\xb9\xad\rS\x1bf\xb7\xd0\xed\a˯F\xc9[n\xb7\xd7li\xa8\u07b2\xdar\x13~u$r\x00\xfc'\xbbG܌\xd5B>\x8c\xf5\xf6\x8e\xddh%\x19|\xad4\x18D\x99\xe5\xc4@\xf9\xc0\x9e\xb6 \x99ULגP\xf9O\x9e=\xd6\xd5\b\"\x15d\xcb\x01\x9e\x1e\x93\xfe\xc7)\\\xee\xb7\xc0\nn,\xb3\xa2\x04\xc6}\x87\xec\x89\x1b\xc2a\xa34\xb3[a\xa6i\x82@z\xd8:t>\x0e?;\x84rn\xc1\xa3\xd3\x01\x15\x84w\x99i \xb9\xbd\x17%\x18\xcb\xcb>\xccw\x0f\x90\x00\x8cHT\xf1ڐp\xb4\xado\xbb\x9f\x1c\x80\xb5R\x05py\xd1Vڽu\xb2\x97m\xa1\xe4\u05fe\xb2\xaa@\xbe\xbb]}\xf9\xf7\xbb\xdeg֧\xe8\xff-\x9a\xef\xac\xe1\x06\x13\x86q\xf6\x85f\t\xd3~\xda2\xbb\xe5\x96i@1\x00i\xb1F\xa5a\x11H\x9d3\xa5;\xa0*\xd0B\xe5\"\v,\xa2\xc6f\xab\xea\"gk@n-\x9bڕV\x15h+\xc2Y-;\xf0\xa8\x81\x19\xe2\xf1\x93\xd2\xc0\x84ܨk\xb6\xb5\xb62\xd7o\xde<\b\x1b\x94n\xa6ʲ\x96\xc2\xeeߐ\xfe\x14\xeb\xda*m\xde䰃\xe2\x8d\x11\x0f\v\xae\xb3\xad\xb0\x90\xd9Z\xc3\x1b^\x89\x05\rD\x92\xe2]\x96\xf9\xbf\x05~\x9b^\xb7\a3\xd3\x15R\x993\u0603\xba\xd4I\x97\x03\xe5\x86\xd8r\x01?!\xe9>\x7f\xb8\xbb\xefJ\x9e0\x9e)\x1d\x01\x8c\xf1\a\xa9)\xe4\x06\xbc.\xd8hU\x12L\x90y\xa5\x84\xb4\xf4GV\b\x90\x96\x99z]\n\x8bb\xf0[\r\xc6\"\xeb\x86`o\xc80\xa1\xd0\xd6\x15\xce\xdd|Xa%\xd9\r/\xa1\xb8\xe1\x06^\x99W\xc8\x15\xb3@&$q\xabkn\x87\x95\x1dy;?\x04\x9b\x19am\xd0\x15w\x15d\xbd\xa9\x86\xed\xc4FdnB\xa1JnT\xc9@-\xbb2>\xfb\xe9\x17\xd2}ï\x03<\x9c\x82\f\xbd\x82A\xa3d\xb7\xc4\xfc\xd66\xa2\xc89hLi&\x95=\x80y\xa8Z;\x94\xf0P&09\x10vv\xa0RS,\xe9\b\x90ֶ\x0e\xe5+\xcaj\xc2\xfbQT\xab\xb2\x84\\p\v\xc5\xfe$\xf4\xfb \xc6Ȭ\xa8\x1f\xb6vz^lzD\xcfk`\xa2Ӟ&\xe3_C\x8dCk\xfcW\xb2\xecdD\x1dM\xba\xc0j\xd9\xf2pЏ\x84\xa7C\xd20\xb6\xda0\xabQ\xe7z\xec\x9eDQ\xe0LF\x8c+\xc8{\xa8Ż\x13\x1b&l\x18͚\x13\x06\x92-\x9d\x17\xb5l}\x86\xc6\xfe#\x82\x03\xecH\xed\xbb\xfe\xd1S\xe1\x96I\xf8j\xdbZ8\xec\xc8\b6\xbc0\x83!x\x854k\x18Wl]\xdb\xd30\x80\xb2\xb2\xfb+\xd7v\xa3\x8aB=1C\xca\x16\x8d\xe0F<\xd4\xdaM\xf6?\xe6\xb0\xe1ua\xaf\x1d\xce\x7f\x8aI\xeb\xf84\xb3PVh2O\x91\xd3{\xdf\x16\a\x8c\xb3%ob\x8c\xe0&\a?Dy\xf7c\x04\x88r^l\xa5\xd5N\xe4ޜ\x1f\xa8+vTeaɌ\xb8\x93\xbc2[eQ\"Tm\xc7j\xa5\x8c\n\xcb\xcd\xddj\x00\xad3\t\x11]r\x85IN\xadbO\\Xҹ7w+\xf6\x05c\b\b\xad\x99\x9bl\xcc\xd6Z\xa2\x9d\x8b\xf4\xf7\x19x\xbe\xbfW\xbf\x18`yM&:\xb8\xb7Wl\r\x1b\xb4g\x1a\x10\x06\xfe\x04Z\xa3~7\x84\x84\xaa\x0f\\\xa6\x86=\x8e%(\x1b\xde\xe2\v\xc3\xde\xfe\xc0J!k;*uG\x15\x1bQ\x8f[^\xaa\x1d\xe8\xe7\x10\xf7=\xb7\xfc'\x042\xa0)\x02g\x04\xdd\v\f\xd1w\xbd\xa7\x1f\xd7\x11M\xec\xcajӁ*\f\xbb\xbcDmp\xe9B\xce\xcb+\a\xa1\x16\x85]\b\xd9\xed'\xa8&\xec\xe94\x828\xfa:\xa6\x9b{\xf5\xa3q\"\xff,\xfaD`\x8e\u0601J\xe5lG\xf5\xd8F\x14\xc0\xcc\xdeX(\x83\xd6j=\xffN83,\xe4+\x14\x85\ac\x90\xde~P\xe3\x04\x91uQ\xf0u\x01פ\xe4\x8f\xd0l\\ߌ\x11\xed3\x18+\xb2s\x92\xccA\x1c!\x98\xf6?\xf4(C\xa1\x03\x7f\x04\xc6#\xe0==1N)\x8a\x0e\xd1\xfbԺ\x88\"Wi\xc8Љ\xbd\xf6α\x80\x82\x1cr\xa9X\xa1\xe4\x03h\x87Fc\xacPY\x02Jh\xce\xd0\xef\xd4hb\x84d\x9b\x1a]\xd2%C5\x11\x15\x12!\x8d\x05\x1e\x91\xe630\x0f\xbefE\x9dC~S\xd4Ƃ\xbe\xcbT\x05yXe\x1aUͩL\xfcp\x14\xb2\x0f`\n\x91\x012\"s\x95\x16\xb4\xca\x13\x93\xed6\x96\xd9W\xe0\x16\x9d\x90\xd7~\bm\x902\xa9\\\fXlx\xf9\xe7\xcb+\x12\x81~\xef\xfd~\f\xe3\x1a\x1a2\xcdR\xced\xf2\xc7[\b\ve\x84\xba\x93Jj\x06߹\xd6|\x7f\x84\xeb\xcdj\xda\v\xf0=\x06{\xc0y\x19\xaa}#\xde\x0f\xfb\xffW\xe4\xfey\xf9mhՙ\v\x89|.\x84\xb1=6\x1b\xb7\x8c\x85d\x1d\x8b!=\x81\xa4\x83\x89jr\x8a\xab\xff \xc4<\xeb܉M\x96F6\xfd\x04\xf8\xa7\xa2\xe4V\xa9\xc7\x14\xea\xfd7\xd6kװXF;#l\r[\xbe\x13J\x9b\xe1:)|\x85\xac\xb6Q\xcd\xc2-\xcb\xc5f\x03\x1aa\xd1:\x7f\xb3-p\x8cX\xc7\xe3\x17\xd6QY\xd1\n\x83q\xb5LG\x96\x125bC\xa1\b5\n\xd5y8\x18[\x90\x03\x91\x8b\x9d\xc8k^\x90/\xc1e\xe6\xc6\xc7\x1b\xfcbZmB \x0e\xf0\x8fJ\xb5+Ρ\t\x83D&\xf6\x96\xbd\x94\x04t\xf2K\f\x8e\x0e\xab\xc6)\x11\xd6\x12\x8e\xf6\x8d\xcc\xd4u\x01\xc6w\x97\x93\x9f\xdc꤫\x96Yn\x91\xa1\xe0k(\x98\x81\x022\xabt\x9cB)r\xe0J\xaaҍ\x10wD\xcb\xf6ív0\x13`\x19Ÿ[\x91m\x9d\xfb\x8a\x82F\xb0X\xae\xc0в\b\xaf\xaa\"b\xba\xda2)\x1c\xbe\xb3)\xbdі\x04\r2\x84\x1b\xd3%mI\xd4\xcfm\x19%{;7\xfbT\x1f_\xe8\x1f\xc5\xf7_\x89\xe8\xc1\xea\x9c(\xec\x13\x9a\x84цA\xf2|\x88\x92\x1e).\xc0,;\xcbs\u0086\xaf)\f\xed\xf9\x8f\a{)\aD\xf9}\xf1\xee\xb4\t3\x83u\x93s\xeae\x19\xd7t\xf3O\xc272Yw\xdeb\xcd\xe2\xd9\xc7n\xcb+\xda\x16\xf0\fɯ\xd8F\x14\x16ȩ\x9aB\x94\xcd\xe0\xdc9\t\x94j\x81\x19\xed\x12\xdbl\xfb\xa1\xd9cyN\x9c\x1bH\xba\xe5;\xf0)\xa3 3UKZ\x82B=\x80\xdd̀\xe8X\xe3\xac@\xa2\xbd\xeb4\x96u\x99N\x90\x05I\x92\x90\x93\xebU\xdd&?r\x91\xb6^\xc4Nc\xab=\x96<9VN\x9fG!\xb3\xb2\x9b\xc7^\U000af8acK\xc6K\xe4!\xb9\x1d\xa2\x84&\x95ݱ\xbbɷ\xc4\x16d\xb4\xac\xc2YV\x15`\xc1\xe7K\xce\xc0#S҈\x1c\x1a\xd3\xefE@I\xc6ن\x8b\xa2\xd63\xb4\xeal\x92ύ\xa1\xbc69\x7f`\x94\x8eȂH\x94\xb8\xbe=\xc3\v\x9e\xd6\xf8\x95\x9e\xe7Ǧ8\x8c\x1a\xe6\xfb\x8b\x95\x16\xcae\xe1\x9f\xdfe\xf4\xf9\xbe\\\xee\xbf\xfb\x8c\xdf}\xc6\xef>㜎\xbe\xfb\x8c\x13\xe5\xbb\xcf\xf8\xddg<^\xbe\xfb\x8c)\xe5\xbb\xcf8\x13\x91o\xe53\xa6`\xb8\xa05\xce#\x15\x92\xb0JLA\x98B{\xa2/\x9fl\xe3\xcfH\x9c%\x87x5\x0er\xe4\xf4L\xe4\xd8C\xcc\xebh\x8dW\x93T\x8c30\xcc\x1dw|1\xc1a>é\x95\x80\xc0\xf9O\xad\xac\x8eB>\xe3\xa9\x15?\x84\xb4\b\xe3\xa43+\x81H\xf3O-\\\xf9\xe4\x9d\x12x\xd8Jqi\x17\xb11\xc6$)\x01\x8fo\x9ct~\x90\xa9\xf8\x02\xb2\xf4*'af\xc9\xd3(\xeb/\xff|\xf9\xfb`\xd1y\x99\x12e\xc3!m\x9d\x1a\x8f\xe9G\x8c\xe5\xbb)\x89\xfd\xec\xd0\xdf\xcfT8\xab짞di\x88\x1c\x81\xd7\x17\xeb\x01\x95\x7fO\xfa\xc6B\xf9\xa9\xf2\xd6\xf2\fG\xdbW#\xf0\x92\x0e\xb7s\xb3\x97\xd9V+\xa9j\xe3ׄ\x10ֻ\xcc\x1d\xf8\x0f c\xc2>\xaaA\xfe¶\xaa\x8e\x9c\x96\x98 mB\xf6j\x1aAzɬ>1\x02,߽]\xf6\x7f\xb1ʧ\xb6\xb2'a\xb7\x11`t\x11\x04\xcfs\x8c\v:\ai\xbc\x1e\bw\x14\r\x852\x02Li&E\xe1$6@\xe8\xc9+\xfbT\xb9\xd5\xc1\x93\xfd\xa6\xe95\xac\xf4\x04عi\xafM\x96\xe2\xb4\xfb\xfe\x8cd׳\x1eI\xfaf鬧%\xb1\xa6\xaeP&$\xac\xa6\xa7\xa9\xa6\xb0Օ\xf4\xe4\xd4\xe4\b95\x11u\xee\nċ&\x9d\xbeL\xaai2\xcd\xd2\xd2J\xe7R\xecURH_9q\xf4\xf5\xd2Eg$\x89\x9e\xff\xb4\xc99WV\x8e\xa7|&%z&\xad\xbeL㜔\xca97\x813\x89\xaa\xe9S\xe7US4_51\xf3\xf5\xd31'\xc5f\xb2\xc2܄\xcb\xf1\x9b\xfeB\x996\xc6ŷ\x10\xce\xe7\x92I鞛\xfc\xac\x18\xf0\xd3\x00\x16\nKp\x19_\xd1'/\xeb\u008a\xaah/%\x8b\x05\x7f[\xd87\x17\xf6\xfc\xaa蘸\xbf\xae\xea\xd3\xe7F◃\b\x83\x1b\xf6\x04E\xc1xln\x1eP!s\x97afj\x01h\xa7p\x96\xfb\x1b\x89\xfc\r\x9aWn\xbaЉx\xb2velٍ\xcb\xe3\xd7]\x1d5&\xa9z\xec\xc0Kv\xbe?}\xfb\xad\x06\xbdgt\xf9V\xe3'\xb5\a+\xfdD7\x18$\x06\xf5\xe3\xd5\xe1\xb1\xfd\x8b\x83`\xa3U\x0f\xec\x9dt\xd6y\x88\x13\xb5A\xbd\xd3\x06W\xa8T1f\x8a\xf6\x13\x01!U\x03!\xd24\xc5\x11\x9fs\xd2\xf0%B\xads\x04[I\xde\xc8gX\xfdzw\xbb\"XA\x8c\xe8\xe1\xa0&i\xafa\xf9\x1a\xd0t\xb7c?\xa6OV\x9b\x1e\xd4~\xdel\xf7\xe5\x04\xc8\xdd3\x19\xc1}\xf0\xaa9S\xa8\xb5nW\x0e\x97c=\xa1|q\xb9gʿ\x83 t\xbe\xa8\xb8\xb6{\x97`s\xd5\xc3#\x98\xe7\xa9ի\xa3\xd6\xea\xf0\x19\x90n\xe9\x91=\xbc\x00B\xbb\xbb\xfb\xaa\xbf\xa1>\xa4\xe7sp:~\xd2x\xf2\x8c\xf1\v\xe0t\xdc\x13Z\x10\x15#?E\xb3\x02Ͼrh\xfcu\xf1?\xa9\x1d\xbc\x8f\xae \xf6\x9f\x02\x194\x19I\xd7\vP\xe9\xc6\xf3\b\x05\xdb\x1c=\xbao\xfayj/\x9e\x7f\x17P\xf1\xf7U?g\x91\xf0\xae\x0fj\xfcu\f\xba\xce;t\x1a\xf3\xaa\xe8ݡ=\xbb\xfdB\xf1c\xa3J\xfd\xd4\xf7\xf1cX&\f\x9b\xee\x11XB\x1e}0\xe4\\d\xb4J\xf3\a\xf8\xa8\xdcC/)b\xd2o\xd1{\x06\xc8{n!\x87\xd9O\u0098\xa2\xf7c\x1b\x02l\xcf,\x1c\xdc:\x8f؞x\xaf\xbe\xb5\xc5sd\xe4\xfe\xfe\xa3\x1b)\xbd\xaf\xf1\xde?\x95\x81\xfa\xd8\x00\xb2 P\xc0A[\xe3\x7f\xb7\xea\x89.c\x8f\xaf\xf5\x86\xd7,:\x0fj\x01\x1d\x9e\xa0\xb4֓\x86YW\x85\xe29\xe8\x1bz\xd1#aĿ\xf4\x1a\f܁\xfe\xbb \xdenF\xc6\x13z~\xc1\xcc\x11\xf4\xe8\x8a\x02\x8a\x1fE\x01\xc6!\x9eh\x1an\x0f[6\x96\xa2.\xd7\xceS\xdd\xe0\x8fM'G,\xb3\x1b*-\xf4W\xa0\xd1Ot[\x02\xb5\t\x92\x7f\x9c\x18\xacᣐ\x16\x1e`<\x14\x9e\xb0\t\xbb\u07b3 a\xf6\xa4(\xc2/\xe3-;\xcetg\x1e\x93\xf7\x1bWw1X\xdc\x18\x95\t\U000bf7c4\xf5\x97\xf0\xbd\xdc\xcd\xcf\xc7B\xa9#t\xac\r|z\x92\xa0?\a]mV2\xf6\xdcƴ\x9e\xf8\xe5\x00Z\xf4\x99\r\xab\xb0\xef\x11\x18\x03\x00L\x85\x9d\x19\xe3\x1ep\t\x1bB\xc24oR\x1d\xd2sb\xb2\xc5m¸k\xb3\x18\x7fBg\xd1<\xf5s\x91@n\xf7lM\x1f\xf0\xf8Kd\xee}\x9b\x8cW\xb6\xd6A\x0f՚\xee\xc6F எ>\xed-\xb2\xf6\x89\xaaS\x18ܾ\x11ծ\x98O\xbeb9\x02\xa7yM,\xfa4\x91\x8b=\xdd+\x93\v\x84\x7f\x1a\x8fGg\f\xe2|瞜\x9a \xc2Ƕ\xe6\u0600\x9ba\xe0\x90\xfd#V\xaf:\x12\xba*}b\f\xb7X\xa79#\xe9\xe5\x88\x1a\x86+\xd6\xefbL\x18?H\xb7`?\xc3al\xbb`\x1f$\x0e\xe2\x90\x00\xee\xb4\x1c\xe4\xb4\x19@\xdaq\xce\x10wM+:\xaa8\xa2!\xa7\xc5\xf6\xcb\x00\xc6 \x0f\x9a\xde\xeai\xaa\xb8\xb3\x8a\x86\xfdQ\x8c\xf9m\xb4Ǔ\xe1@\xfft\xf0kT\x83\x1f\xd5\xde1\xcd=\xaaF\x0e>\xd2\xfbeyGr\xbc?\xdb\xfdR\xaf\xdbk\xf0\xd9\xdf\xfe~\xf1\xff\x01\x00\x00\xff\xff\xba:\x16j\xf5x\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcV\xcfo\xeb6\f\xbe\xe7\xaf \xb0\xeb\xec\xbcb;\f\xb9\r\xdd\x0eŶ\x87\xa2y\xe8]\x91\x99\x84\xab,y$\x95.\xc3\xfe\xf8A\x92ݦ\xb6\xb2\xf6\xed0\xdd,\x89\x1f?~\xfc!7M\xb32\x03=\"\v\x05\xbf\x013\x10\xfe\xa9\xe8ӗ\xb4O?HKa}\xbaY=\x91\xef6p\x1bEC\xff\x80\x12\"[\xfc\t\xf7\xe4I)\xf8U\x8fj:\xa3f\xb3\x020\xde\a5i[\xd2'\x80\r^98\x87\xdc\x1cзOq\x87\xbbH\xaeC\xce\xe0\x93\xebӧ\xf6\xe6\xfb\xf6\xd3\n\xc0\x9b\x1e7 \xc8\xe9L\x8dFa\xfc#\xa2\xa8\xb4'tȡ\xa5\xb0\x92\x01m\xc2?p\x88\xc3\x06^\x0f\x8a\xfd\xe8\xbb\xf0\xdef\xa8m\x86z(P\xf9ԑ\xe8/\xd7n\xfcJ\xe3\xad\xc1E6\xaeN(_\x90c`\xfd\xfc\xea\xb4\x01\x11.'\xe4\x0f\xd1\x19\xae\x1a\xaf\x00Ć\x017\x90m\ac\xb1[\x01\x8c\x82d\xacf\xd4\xe2tS\xe0\xec\x11{S\x9c\x00\x84\x01\xfd\x8f\xf7w\x8f\xdfm\xdfl\x03t(\x96i\xd0,\xeb\xdf\xcd\xcb>\xd4\xc2\x04\x1200R\x02\r`\xacE\x11\xb0\x91\x19\xbdB\xa1\f\xe4\xf7\x81\xfb\x9cV0\xbb\x10\xf5\x02U\x8f\b\x8fY\xff1\xcc\xf6\xe5p\xe00 +MҔuQq\x17\xbb\xffF<\xad\x14k\xb1\x82.\x95\x1eJ\xf6<\xea\x85\xdd(\x0f\x84=\xe8\x91\x04\x18\aFA_\x8a1m\x1b\x0fa\xf7;Zmg\xd0E\x17I\x99\x8c\xaeK\x15{BV`\xb4\xe1\xe0\xe9\xaf\x17lI\x02%\xa7\xceh\xd6\xce+\xb27\x0eN\xc6E\xfc\x16\x8c\xeffȽ9\x03c\xf2\t\xd1_\xe0e\x03\x99\xf3\xf8-0f\xa97pT\x1dd\xb3^\x1fH\xa7>\xb4\xa1\xef\xa3'=\xafsK\xd1.j`YwxB\xb7\x16:4\x86\xed\x91\x14\xadFƵ\x19\xa8Ɂ\xf8܋m\xdf}\xc3c\xe7\xca\x1b\xb7zN5(\xca\xe4\x0f\x17\a\xb9u\xbe\"=\xa9\x91J1\x15\xa8\x12\xe2k\x16\xd2V\x92\xee\xe1\xe7\xed\x17\x98\x98\x94L\x95\xa4\xbc^]\xe82\xe5'\xa9I~\x8f\\\xec\xf6\x1c\xfa\x8c\x89\xbe\x1b\x02y\xcd\x1f\xd6Q.ܸ\xebIe*픺9\xecm\x9eU\xb0C\x88Cg\x14\xbb\xf9\x85;\x0f\xb7\xa6Gwk\x04\xff\xe7\\\xa5\xacH\x93\x92\xf0\xa1l]N\xe0\xf9\xe5\"\xef\xc5\xc14;\xaf\xa4\xb62%\xb6\x03ڔܤo\xb2\xa6=\xd9\xd2V\xfb\xc0`j&퇘d\x8b\xaf\xe42N\xa4\xc2f6\xa7R\x97\xbfϦ>\x96\xf2\xc9\xd1\b\xce7g\x9c\xeeӝ\xb9\x7fG{\xb4g\xeb\xb0@\x94)\x84\xefSI\v}\xec\x97>\x1b\xf8\x8cϕ\xdd{\x0eiB\xe3|\xd4\\\xad\r(\x8f\u0601\xfc\"\xdcyd\xe5V~\x18\x97#?\a4\x02\x01G\xefSK\a\xbf\x80\xac\xbc\b\x8b;\xa4\xd8W\xd8T\xf9\xdc\xf9}\xc8\x7f\x11&96Z\xda\t\xc7d\x8f~\n\xaf\n\xe0\xf5\\\x97\xb5\x9cs\x1f\x12\xb4\xac\xfc<\xff7\xe34\x97\x88\xb1\xea\xbbɬ\xaa\a\xc9cM\xf1z\x7f\x8d,\xa3sf\xe7p\x03\xcaqi]l\r\xb39ϫf*\xb5/ԣ\xa8\xe9\x87w\nh\xf1*\xa4u\xbf@I\xcd\xf3|D\x7f\xadE\xe0\xd9ȫ\xf3\n\xe4\xee|\xcd\xf4\xf6\xe5os\xd9g\xa5\x9e7\x90f}\xa3T\x11\xf2CJUSZ\xea\xbc\xfa[\xb3Pi{yw\x1a$o\xfae\xfa\xabY\xc6p\x95B\xb5\x02\x16\x9b\x19\xbe\xbb\bO4\xb09L\x01\xff\x13\x00\x00\xff\xff\xd9Ո\xaf\x10\f\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcVM\x8f\xdb6\x10\xbd\xfbW\f\x90kd'h\x0f\x85/E\xb0\xe9!h\xd2,\xe2t\xef\xb48\xb2\xa6K\x91\xeap\xa8\x8d\x8b\xfe\xf8bHi\xd7+\xcb\xd9ݢ\xa8.\x86\xc9ᛏ7\xf3Ȫ\xaaV\xa6\xa7\x1b\xe4H\xc1o\xc1\xf4\x84\xdf\x04\xbd\xfe\x8b\xeb۟\xe2\x9a\xc2fx\xbb\xba%o\xb7p\x95\xa2\x84\xee\vƐ\xb8\xc6\xf7ؐ'\xa1\xe0W\x1d\x8a\xb1F\xccv\x05`\xbc\x0fbt9\xea_\x80:x\xe1\xe0\x1cru@\xbf\xbeM{\xdc'r\x169\x83O\xae\x877\xeb\xb7?\xae߬\x00\xbc\xe9p\vCp\xa9\xc3\xe8M\x1f\xdb .\xd4\x05s=\xa0C\x0ek\n\xab\xd8c\xad.\x0e\x1cR\xbf\x85\x87\x8d\x021\xba/\xa1\xdfd\xb4݈\xf6qD\xcb\x06\x8e\xa2\xfc\xfa\x1d\xa3\x8f\x14%\x1b\xf6.\xb1q\x17#\xcb6\xb1\r,\xbf=x\xaf`\x88\xae\xec\x90?$g\xf8\xd2\xf9\x15@\xacC\x8f[\xc8\xc7{S\xa3]\x01\x8c\xf5\xc9p\xd5T\x9a\xb7\x05\xb1n\xb13\xc5\x0f@\xe8ѿ\xbb\xfep\xf3\xc3\xee\xd12\x80\xc5X3\xf5\x92\xab\xbc\x9c\"P\x04\x03S$p\xd7\"#\xdc\xe4zB\x94\xc0\x18Ǡ\xefA\x01\xa6\xf8\xe3\xfa~\xb1\xe7\xd0#\vMɗ錄NVgq\xfd]=\xda\x03\xd0T\xca)\xb0\xdah\x18AZ\x9cʁv\xcc\x1eB\x03\xd2R\x04ƞ1\xa2/\xad\xa7\xcb\xc6C\xd8\xff\x81\xb5\xacg\xd0;d\x85Q\xae\x92\xb3ڟ\x03\xb2\x00c\x1d\x0e\x9e\xfe\xbaǎ !;uF0\n\x90\x17do\x1c\f\xc6%|\r\xc6\xdb\x19rg\x8e\xc0\xa8>!\xf9\x13\xbc| \xce\xe3\xf8\x14\x18\x81|\x13\xb6Њ\xf4q\xbb\xd9\x1cH\xa6\xa9\xabC\xd7%Or\xdc\xe4\x01\xa2}\x92\xc0qcq@\xb7\x89t\xa8\f\xd7-\t֒\x187\xa6\xa7*'\xe2˔t\xf6\x15\x8fs\x1a\x1f\xb9\x95\xa3\xb6X\x14&\x7f8\xd9\xc8S\xf2\x02zt`J\xd7\x14\xa8\x92\xe2\x03\v\xba\xa4\xa5\xfb\xf2\xcb\xee+L\x91\x14\xa6\n)\x0f\xa6gu\x99\xf8\xd1j\x92o\x90˹\x86C\x971\xd1\xdb>\x90\x97\xfc\xa7v\x84^ \xa6}G\xa2m\xf0g\xc2(J\xdd\x1c\xf6*+\x13\xec\x11Ro\x8d\xa0\x9d\x1b|\xf0pe:tW&\xe2\xff̕\xb2\x12+%\xe1Yl\x9d\xea\xedܸ\x94\xf7tPG\x99\xbc@\xed\xb2\"\xecz\xac\x1f\r\x9e\xa2PC\xa3B4\x81g\x052\x93^,\xe3=\xae\xe7\xb2P@\xb9,\x1a:\xccW\x01\x8c\xb5\xf9\xaa1\xee\xfa\xe2\xd9\xef\x14l!\xef\xab\xecI{\xb8\t\xac\x11\rd\x91\xab)\xcf1\x92\xc4c\u0084Ξu\xeaŚ\xe7T\x18\xadRl\xdcy\xa0\x8f#\xb97\xccw\xa5!_J\xfe\x00\x90;\x8f\xbbQ\xab\xbd\xa0\xb78מ\x1cM\xc8\xed\x1d\xd1\xc2\x1dI[\xe6Ɲ^v\xcfcA\xbf[<.-\xcfb\xffڢZ\x16\x19F\x88X3\x8a\xc6\x11\xd1\xe9\x94\xebЮ\x01>\xa5\x98'\xcf,\"\x82\xaa\a\xd9\xe9\xf4-\x1e\xcf\v\rO\x91;\xbe\x1b\x9e\x0e\xf9L˦O\xef\xdd)\x11\xc6\x06\x19\xfd\xd9\xdd1}\vz\xa0\x0f\x1b\xf6(\x98%\xc1\x86:\xaa\x1a\xd4\xd8K܄\x01y \xbc\xdb\xdc\x05\xbe%\x7f\xa8\x94\x9e\xaa\xb4M\xdc\xe4\xd7\xca\xe6U\xfe\xb9\xe0\xef\xeb\xe7\xf7\x9f\xb7\xf0\xceZ\b\xd2\"+\xc7MrS[\x9eܱ\xaf\xb3\x94\xbf\x86D\xf6\xe7\x7fS\xc4З1{F!wyT\x8e\xfa\\\xc81i\xddv\x85\xc2\xc0\xa0j\xac\x9dэ\xd4\x171Y\xea\xda)\xa6}\b\x0e\xcdy\x9f\xaa\xa6\x13\xa3=\x0f\xa9R\x0f/\x99I\x80o\xd5\x03OUg\xfa\xaaX\x1b\t\x1d\xd53\xebI\x14\x9e\x98\xdf\xeb\xd1L\xb5Dk0\x1d\x9bz\xa9<\x9d\xf2C\xca\x1c\xcen\x96\xef0\xb2\x9cxu\xef\xe0Y\xea/FR|\xb9\xfe\xe7c\xa3\xe5~\xbc\x03\xeaĜ/ۼ9\xcbC_\\\xff\xcd\x1dз&.\f\xf23\xa2\xbe֓\x13\r\x8e\x1a\xac\x8f\xb5\xc3\x02\b\xa1Y\xe8\xbd\x17\x85\xac\x1f\xfa\xd4-5\xe2\xbb\xc1\x903{\x87\v{\xbf{sq\xf7\"\xf9\x8b|\x9e-F}+\xd9-\b\xa7\x82=vٸ\xf2O\x00\x00\x00\xff\xff\xb7\xb0(y\xe0\r\x00\x00"), } var CRDs = crds() diff --git a/config/crd/v2alpha1/bases/velero.io_datadownloads.yaml b/config/crd/v2alpha1/bases/velero.io_datadownloads.yaml index c81eafc4f9..a3f994dc61 100644 --- a/config/crd/v2alpha1/bases/velero.io_datadownloads.yaml +++ b/config/crd/v2alpha1/bases/velero.io_datadownloads.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: datadownloads.velero.io spec: group: velero.io @@ -52,14 +52,19 @@ spec: and data mover controller for the datamover restore operation 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' + 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' + 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 @@ -67,12 +72,14 @@ spec: description: DataDownloadSpec is the specification for a DataDownload. properties: backupStorageLocation: - description: BackupStorageLocation is the name of the backup storage - location where the backup repository is stored. + description: |- + BackupStorageLocation is the name of the backup storage location + where the backup repository is stored. type: string cancel: - description: Cancel indicates request to cancel the ongoing DataDownload. - It can be set when the DataDownload is in InProgress phase + description: |- + Cancel indicates request to cancel the ongoing DataDownload. It can be set + when the DataDownload is in InProgress phase type: boolean dataMoverConfig: additionalProperties: @@ -81,22 +88,23 @@ spec: fields. type: object datamover: - description: DataMover specifies the data mover to be used by the - backup. If DataMover is "" or "velero", the built-in data mover - will be used. + description: |- + DataMover specifies the data mover to be used by the backup. + If DataMover is "" or "velero", the built-in data mover will be used. type: string operationTimeout: - description: OperationTimeout specifies the time used to wait internal - operations, before returning error as timeout. + description: |- + OperationTimeout specifies the time used to wait internal operations, + before returning error as timeout. type: string snapshotID: description: SnapshotID is the ID of the Velero backup snapshot to be restored from. type: string sourceNamespace: - description: SourceNamespace is the original namespace where the volume - is backed up from. It may be different from SourcePVC's namespace - if namespace is remapped during restore. + description: |- + SourceNamespace is the original namespace where the volume is backed up from. + It may be different from SourcePVC's namespace if namespace is remapped during restore. type: string targetVolume: description: TargetVolume is the information of the target PVC and @@ -129,9 +137,10 @@ spec: description: DataDownloadStatus is the current status of a DataDownload. properties: completionTimestamp: - description: CompletionTimestamp records the time a restore was completed. - Completion time is recorded even on failed restores. The server's - time is used for CompletionTimestamps + description: |- + CompletionTimestamp records the time a restore was completed. + Completion time is recorded even on failed restores. + The server's time is used for CompletionTimestamps format: date-time nullable: true type: string @@ -154,9 +163,10 @@ spec: - Failed type: string progress: - description: Progress holds the total number of bytes of the snapshot - and the current number of restored bytes. This can be used to display - progress information about the restore operation. + description: |- + Progress holds the total number of bytes of the snapshot and the current + number of restored bytes. This can be used to display progress information + about the restore operation. properties: bytesDone: format: int64 @@ -166,7 +176,8 @@ spec: type: integer type: object startTimestamp: - description: StartTimestamp records the time a restore was started. + description: |- + StartTimestamp records the time a restore was started. The server's time is used for StartTimestamps format: date-time nullable: true diff --git a/config/crd/v2alpha1/bases/velero.io_datauploads.yaml b/config/crd/v2alpha1/bases/velero.io_datauploads.yaml index 9f873afadd..3502eeac74 100644 --- a/config/crd/v2alpha1/bases/velero.io_datauploads.yaml +++ b/config/crd/v2alpha1/bases/velero.io_datauploads.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.0 + controller-gen.kubebuilder.io/version: v0.14.0 name: datauploads.velero.io spec: group: velero.io @@ -53,14 +53,19 @@ spec: data mover controller for the datamover backup operation 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' + 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' + 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 @@ -68,12 +73,14 @@ spec: description: DataUploadSpec is the specification for a DataUpload. properties: backupStorageLocation: - description: BackupStorageLocation is the name of the backup storage - location where the backup repository is stored. + description: |- + BackupStorageLocation is the name of the backup storage location + where the backup repository is stored. type: string cancel: - description: Cancel indicates request to cancel the ongoing DataUpload. - It can be set when the DataUpload is in InProgress phase + description: |- + Cancel indicates request to cancel the ongoing DataUpload. It can be set + when the DataUpload is in InProgress phase type: boolean csiSnapshot: description: If SnapshotType is CSI, CSISnapshot provides the information @@ -104,22 +111,23 @@ spec: nullable: true type: object datamover: - description: DataMover specifies the data mover to be used by the - backup. If DataMover is "" or "velero", the built-in data mover - will be used. + description: |- + DataMover specifies the data mover to be used by the backup. + If DataMover is "" or "velero", the built-in data mover will be used. type: string operationTimeout: - description: OperationTimeout specifies the time used to wait internal - operations, before returning error as timeout. + description: |- + OperationTimeout specifies the time used to wait internal operations, + before returning error as timeout. type: string snapshotType: description: SnapshotType is the type of the snapshot to be backed up. type: string sourceNamespace: - description: SourceNamespace is the original namespace where the volume - is backed up from. It is the same namespace for SourcePVC and CSI - namespaced objects. + description: |- + SourceNamespace is the original namespace where the volume is backed up from. + It is the same namespace for SourcePVC and CSI namespaced objects. type: string sourcePVC: description: SourcePVC is the name of the PVC which the snapshot is @@ -136,10 +144,11 @@ spec: description: DataUploadStatus is the current status of a DataUpload. properties: completionTimestamp: - description: CompletionTimestamp records the time a backup was completed. - Completion time is recorded even on failed backups. Completion time - is recorded before uploading the backup object. The server's time - is used for CompletionTimestamps + description: |- + CompletionTimestamp records the time a backup was completed. + Completion time is recorded even on failed backups. + Completion time is recorded before uploading the backup object. + The server's time is used for CompletionTimestamps format: date-time nullable: true type: string @@ -173,9 +182,10 @@ spec: - Failed type: string progress: - description: Progress holds the total number of bytes of the volume - and the current number of backed up bytes. This can be used to display - progress information about the backup operation. + description: |- + Progress holds the total number of bytes of the volume and the current + number of backed up bytes. This can be used to display progress information + about the backup operation. properties: bytesDone: format: int64 @@ -189,8 +199,10 @@ spec: backup repository. type: string startTimestamp: - description: StartTimestamp records the time a backup was started. - Separate from CreationTimestamp, since that value changes on restores. + description: |- + StartTimestamp records the time a backup was started. + Separate from CreationTimestamp, since that value changes + on restores. The server's time is used for StartTimestamps format: date-time nullable: true diff --git a/config/crd/v2alpha1/crds/crds.go b/config/crd/v2alpha1/crds/crds.go index acbdbed1f3..ed8f604a10 100644 --- a/config/crd/v2alpha1/crds/crds.go +++ b/config/crd/v2alpha1/crds/crds.go @@ -29,8 +29,8 @@ import ( ) var rawCRDs = [][]byte{ - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcY_s\xe3\xb8\r\x7fϧ\xc0l\x1f\xf2\xb2Rn\xaf\x9dN\xc7o\xbbN;\x93\xe9m\xea\xb9\xec\xe4\x9d\x12a\x99\x17\x8adI\xc8i\xda\xe9w\uf014d\xfd\xa1\xe3d\xafwz3\t\x82?\xfc\x00\x02 ]\x14ŕp\xea\x11}P\xd6l@8\x85\xff\"4\xfc+\x94O\x7f\t\xa5\xb27\xc7OWO\xca\xc8\rl\xbb@\xb6\xfd\x19\x83\xed|\x8d\xb7\xb8WF\x91\xb2\xe6\xaaE\x12R\x90\xd8\\\x01\bc,\t\x1e\x0e\xfc\x13\xa0\xb6\x86\xbc\xd5\x1a}Ѡ)\x9f\xba\n\xabNi\x89>*\x1f\xb6>\xfeP~\xfa\xb1\xfc\xe1\n\xc0\x88\x167\xc0\xfa\xa4}6\xda\n\x19\xca#j\xf4\xb6T\xf6*8\xacYq\xe3m\xe76p\x9aH\v\xfbM\x13\xe0[A\xe2\xb6\xd7\x11\x87\xb5\n\xf4\xf7\xd5\xd4O*P\x9cv\xba\xf3B/\xf6\x8e3A\x99\xa6\xd3\xc2\xcf\xe7\xae\x00Bm\x1dn\xe0\x9e\xb7v\xa2F\x1e\xebm\x8aP\n\x10RF\x96\x84\xdeye\b\xfd\xd6\xea\xae\x1d\xd8)@b\xa8\xbdr\x14Y\x98\u0082@\x82\xba\x00\xa1\xab\x0f \x02\xdc\xe3\xf3͝\xd9y\xdbx\f\t\x16\xc0/\xc1\x9a\x9d\xa0\xc3\x06\xca$^\xba\x83\b\xd8\xcf&*\x1f\xe2D?D/\x8c7\x90W\xa6\xc9!\xf8\xa6Z\x04\xd9\xf9\xe8B\xb6\xbbF\xa0\x83\nsh\xcf\"0\xa0\xc7(Q%\t\x8e^P\xec;볮sX\x97I\xb6W6\xe8Z\xf8o\xbe\xd1\xff=\xb6j\x8f\"\x1b[C\xaa)\xa3\x84\xb2&\x1f`\x9f\x1b|SpMI4Vℱ\x19&\x15\xc0y[c\b\xaf\x04<+\x98\xa1\xb8?\r\xac\xa8I\x12\xc7\x1f\x85v\a\xf1)%\x99\xfa\x80\xad\xd8\xf4+\xacC\xf3yw\xf7\xf8LJ\xd90\xbc\x920DM\x813\x05\xc3wޒ\xad\xad\x86\n\xe9\x19\xd1$\u05f7\xf6\x88\x9e\xf3\\\xa3L\x185r֖S\x81S\xce\xe6\xf8\x8e\xfax6Mz\x8c\xd1\xc3\x00\xfd\xd4\xfb\xc0{:\xf4\xa4\x86,\xdc\xeb>\x15\x98\xc9\xe8\u008ek65I\x81\xe4ʂɌ>\x97\xa2\xec\xd9I\xceR\x01<:\x8f\x01\r\xcd!\xf4\xdc\xedA\x18\xb0\xd5/XS\t\x0f\xe8Y\r\x84\x83\xed\xb4d\xe3\x8e\xe8\t<ֶ1\xeaߣ\xee\x00d\xe3\xa6Z\x10\xf6%\xe1\xf4\xc5\xdcm\x84\x86\xa3\xd0\x1d~\x8c\x94\xb5\xe2\x05<\xf2.Й\x89\xbe(\x12J\xf8\xca<)\xb3\xb7\x1b8\x10\xb9\xb0\xb9\xb9i\x14\r\x85\xb5\xb6m\xdb\x19E/7\x91oUud}\xb8\x91xD}\x13TS\b_\x1f\x14aM\x9d\xc7\x1b\xe1T\x11\xa1\x9bX\\\xcbV\xfe\xc1\xf7\xa58\\ϰ\xaeb-}\xb1&\xbe\xe2\x01.\x8c\x1c\xe8\xa2_\x9a\xac8\x11\xcdC\xcc\xce\xcf\x7f}\xf8\x06\xc3\xd6\xd1\x19K\xf6#暈\xe1\xe4\x02&L\x99=\xfa\xe4Ľ\xb7mԉF:\xab\f\xc5\x1f\xb5Vh\x96\xf4\x87\xaej\x15\xb1\xdf\xff\xd9a \xf6U\t\xdb\xd8m@\x85\xd09>Ⲅ;\x03[Ѣފ\x80\xbf\xb9\x03\x98\xe9P0\xb1os\xc1\xb4QZ\n'\xd6&\x13C\xa7s\xc6_ӓ\xff\xe0\xb0f\xd71{\xbcL\xedU_\x01\xf8\xf8\x8a\x99l9S\x99?\xb2\xfce\xab\xc0Rh\x81\xe9Kn\xcd\x00\xccLrm_\x8eB\x92\\)\x05\xd0gK\x98Gg\x83\"\xeb_N\x85\xac\\i8\xe3\x00\xfejaj\xd4\x17,\xd9F!PF2\x938\xc6\x1d\xa7\x88\xa4 b\xb2\xa6\xb1|.\xce\x13\x9c\xbe;\xe2U\x1c\xa8\x01\x89m2\xd9\x1a\xa3\f\x9c:<\x98vrK\xcb*k5\x8ae\xde\xe3\xd8\xfa\xcaIzk\xcd^5k\x1b\xa7\xcd\xe89\xc7_\xa0/\x13\x86\x93-\xd9\n\x8e9FR\xc4zQ\f\x01ɉw\xaf\x9a\xce\xe726\x7f{\x85Z\x86s\xbe\\\x9d\x8f\xc1\xe0\xb8\xcb\x05w\x8e(\x87\xe3ї\x97I\xcd#\x1b\xf3H\x88\x8d&Of\x10\xa6\x10,\xe1n?Ѩ\x02|\xf8\x00\xd6Çt\x19\xf9\xf01\x85k\xa74\x15jZx3\x1a\x9f\x95\xd6þ\xef\x8a\xe2\xb1\xfar\x03d;\xba@\xc0?\x16\xe2\v\x1e\x88;\xb3h;Yx\x16\x8a\xc6r\x97\xc1B\x85{N\xb1\x1e\xa9\xf3\x86O\x02z\xcf)'D\x95\xb6\xa3w\x19\x15\x8cp\xe1`\xe9\xee\xf6\x829\x0f\xa3\xe0\x90]\xeen\x87\xdc\xf2\x18\xbd0\xa6\x98^\x12\xc8\xe6\x1c\x8aC;#c1z\x1f\xdaX\x01ǫ\xdf%\xc8s\xe9\x01\xb7\xf5\xaaQ\xdcV\x98q\xe6\x94\xf2\x8e|U\xcc\x05\xa2\n\xd1>\x94й\x04\x9cS\fW\xd7\nA\xaa\xfd\x1e=\x1aJ\xf55m\xbc{\xdc^\x87\xd3&9\x9d\xfb\t\x86\xd8a\xb5\xc29\x94ܱ\xb3g{\xa2\xdeE\x11\t\xdf =F3.\xf0\xf3m\":\x90Õ\x9b\xafW\\\bz\xef&\x8d\xb0{\xdcr\a\x961c\xf7\xb8Fx\xbe\xcaAߊ\x9f\xf1\xe0\n\xe5\xca\x7f=\x9e\u05c8\xbd\x90N\x01\xdc\xf1\r;\xef\x1es\x85t\xa4\x03\xe8 \x88%\xfa\xab\x13T/Y\x9d0\x9c\x8fޝ߇\xb7~\x13\xe0\xed\xab\x88\xb7K\xc8g\xf0V/\xbf\x1a2\x17o\xe5Q\xaeQ\x17\xafx\xae\x00w\xcc\x0e\xd6o/Q\xf9\x9d\x8b|w\xb5\x90Y\xa6\xf8\xc5\xf4)Y.'\xe6\x99f1;=\x92ojC\xe3\xe5\xf6\xad\x8dhz\xb2\xea\xdd^w>\xa6\xa1\xfe!\x8boe\xdfՊ\xd6\xe9\thzۿԾ\xadW\xc4\xfb\x9e\x97\x93z'ƫl|r\x18ޙr\xfd\xdbI_Z\x1a\xd3#\xabC\txD\x03\xdcj\v\xa5Q\x0e:C\t߸\x1b\x8f\x17\x9f\xeb\xe5\x15)\xf2\xdd+\x8ae\x97{\xa6\f\xe8\xf5\xbaὉ\xaf;\x05\xabXI\x98NkQi\xdc\x00\xf9\xee\\\xff\x98=(-\x86 \x9aK\x89\xfak\x92JW\xc5~\t\x88\x8a\x9b\x8aeO{\x1dz߿\xabh\x18+/a\xb8\xb72\x020\xdf\xf1~\xf3.,\xb1\a\xbf\x00f\xc72\xb9\x98\x1f\xa1\xbd~=@ӵ\xb9\xcct\x8fϙ\xd1\xcfu\x8d.\x97-\v\xd8yt\xc2g\xa7V\x0f\xc7\xd3\xc9t\xd9\xc9%\xcea.\xabs|\x99\xcd\xcc\xfd-\x1e\x86w1\xdd\xe3\xbbD\xf6p;:X=\x1c\xe6\xf8xj\xba\xb6Bό\xc7\xe7ف\xfa!Kf\x0e\xa00r沓\x86\xb1'\x8c\xaa\xf8$s\x95J\x17\xb8\xa1K\x96*8-rEv\xb0d־\x9c\x0e\xc8\xea\xfd\xec\xbd\xfd\xca\xf8\x98\x9d/¹\x17\xe9\x9c\x17\xa6oˋ\xf9\xf1\x91\xfa\xb7\xd9\xe1\x95\v\xdd\xfcO\x83K-\xf5L\xf8R\x82\xef\xff\xafȥ\xf7i\xa6^\xe7\xe5\xf96\xbfgJ\xce\x12\xb5\x1a\x8c\xc8\xe5Dw\xff\xac2\x1d\xe9\xaa\xf1\xb1p\x03\xff\xf9\xef\xd5\xff\x02\x00\x00\xff\xffG\x0e\xcf\xec\xfa\x1b\x00\x00"), - []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcYOsۺ\x11\xbf\xfbS줇\\\"\xfa\xe5\xb5\xd3\xe9\xe8\x96\xc8팦/\xae'J}\x87\xc8\x15\x89g\x10`\xf1G\xae\xdb\xe9w\xef,@P \t\x89R\xfaR\x1e<\x16\xfe,v\x17\xbb\xbf\xfd\x01X\xadVw\xac\xe3Ϩ\rWr\r\xac\xe3\xf8O\x8b\x92~\x99\xe2\xe5O\xa6\xe0\xea\xfe\xf8\xf1\xee\x85\xcbj\r\x1bg\xacj\xbf\xa2QN\x97\xf8\x80\a.\xb9\xe5J\u07b5hY\xc5,[\xdf\x010)\x95e\xd4l\xe8'@\xa9\xa4\xd5J\bԫ\x1ae\xf1\xe2\xf6\xb8w\\T\xa8\xbd\xf0\xb8\xf4\xf1\xa7\xe2\xe3\xcf\xc5Ow\x00\x92\xb5\xb8\x06\x92\xe7:\xa1Xe\x8a#\nԪ\xe0\xea\xcetX\x92\xd8Z+\u05ed\xe1\xd4\x11\xa6\xf5K\x06u\x1f\x98e\x7f\xf7\x12|\xa3\xe0\xc6\xfeu\xd2\xf1\v7\xd6wv\xc2i&F\xab\xfav\xc3e\xed\x04\xd3i\xcf\x1d\x80)U\x87kx\xa4%;V\"\xb5\xf5\x96x\x15V\xc0\xaa\xca\xfb\x86\x89'ͥE\xbdQµ\xd1'+\xa8Д\x9aw\xd6\xdb~R\b\x8ce\xd6\x190\xael\x80\x19x\xc4\xd7\xfb\xad|Ҫ\xd6h\x82J\x00\xbf\x1a%\x9f\x98m\xd6P\x84\xe1E\xd70\x83}op\xdf\xcew\xf4M\xf6\x8d\xb45VsY\xe7\xd6\xff\xc6[\x84\xcai\xbfmds\x89`\x1bnR\xc5^\x99!\xe5\xb4\xc5\xea\xac\x1a\xbe\x9f\x84\x19\xcb\xdan\xaaO25(T1\x8b9u6\xaa\xed\x04Z\xac`\xfff1\x1aqP\xbaev\r\\\xda?\xfe\xe1\xbc'zW\x15~ꃒc\xb7|\xa6VH\x9a\x83&\xb4C5\xea\xaco\x94e\xe2\x7fQĒ\x80\xcf\xc9\xfc\xa0I\x90\x9b\xb6/\xaaB\xe1\x06\xea\x00\xb6A\xf8\xcc\xca\x17\xd7\xc1\xce*\xcdj\x84_T\x196\xef\xb5A\xddo\xde>\f1\x8dr\xa2\x82}\xb4\x18\xc0X\xa5\xb3\xbb\xd8aY\x84Y\xbd\xdc(v\xb2\x95\xe35\x7f\xe3 +5\xb2l\x90E\x94)\xfc\b\xaed>\xd2>\xd5xU\x94\xa5ޔ\xaa\xc2\xc1u\x98j\xc4\rtZ\x95h̅\xb8\xa7\xe9#\x1d\x1eO\r3\xb7\x84\x11ǟ\x99\xe8\x1a\xf61\xa0L\xd9`\xcb\xd6\xfd\fա\xfc\xf4\xb4}\xfe\xfdn\xd4\fg1\x83\x95\xd6\x10X\x90\xea\x9dVV\x95J\xc0\x1e\xed+\xa2\xf4\xb8\x05\xad:\xa2&\x90\xab\xb94\xc0d5Ȅt\xc0\t\xaa)Ƚ<\xea\r\x9d}8\xa9\x0eu\xba\xed@Kv\xa8-\x8f\xe8\x1b\xbe\xa4\xac$\xad\x13#ޓ\x9da\x14TTO0X\xd1c)V\xbdk\xc2>q\x03\x1a;\x8d\x06\xa5\x1d\xab\xd0;\xee\x00L\x82\xda\xff\x8a\xa5-`\x87\x9a\xc4\xc4\xf8/\x95<\xa2\xb6\xa0\xb1T\xb5\xe4\xff\x1ad\x1b\xb0\xca/*\x98ž\x1c\x9c>\x8fݒ\t82\xe1\xf0\x03\xf9\x0eZ\xf6\x06\x1ai\x15p2\x91燘\x02\xbe(\x8d\xc0\xe5A\xad\xa1\xb1\xb63\xeb\xfb\xfb\x9a\xdbXNKնNr\xfbv\xef\xdd\xcd\xf7\xce*m\xee+<\xa2\xb87\xbc^1]6\xdcbi\x9d\xc6{\xd6\xf1\x95W]\xfa\x92Z\xb4\xd5\xeft_\x80\xcd\xfb\x91\xae\xb3@\v\x9f\xaf\x85\x17v\x80J\"E9\xeb\xa7\x06+N\x8e\xa6&\xf2\xce\xd7?\xef\xbeA\\\xdao\xc6\xd4\xfb\xde柳\xe6\xb4\x05\xe40.\x0f\xa8\xc3&\x1e\xb4j\xbdL\x94U\xa7\xb8\xb4\xfeG)8ʩ\xfb\x8d۷\xdcҾ\xffá\xb1\xb4W\x05l<ǀ=\x82\xeb(\xbb\xab\x02\xb6\x126\xacE\xb1a\x06\x7f\xf8\x06\x90\xa7͊\x1c{\xdd\x16\xa4\xf4h:8x-\xe9\x88\f\xe7\xcc~\x9d\xd2~\xd7aI\x1bG\xbe\xa3I\xfc\xc0\xfb\x1a@\xb9˒\x91\xc5H\\>]\xe9\xcbB\xfft\xd0D\x9fϹ9Q-\x99@l\xacFa\xe4L(\x80\x98\x96\xb0a\x8e\xc6N\x19n\x95~#\xc1\xa1z\x153\tg\x9cO_\xc9d\x89b\xc1\x92\x8d\x1f\x04\\V\xe4G\x1cb\x8e\xe0!\b\xf0:)Y+ʉs\xee\r\xdf\xd6\xd2\x1c\nQ\x83\x96,\x92\x99\xc2\xc2%\x9c\xb8\x1d\xa4\x1cnj\xd5^)\x81l\x8aw\xa5\xe1;\xc9:\xd3(\xbb`\xdb\xf6\x00q䷷\x0ei\xf1\xcdn\xfb\x81\xfe\xc4v\x8a\x8b#\xafz\x00\xa6\xe4!\x963\aY\b@K\x836\xbb-\x98~\xfa\xdc\t\xd2\t\xc1\xf6\x02\xd7`\xb5\x9b\x1bv>\f\xe9\x8bb7\x82\x99쀉\x81\xbbt|.\xfc\xa2@(\xfd\b۰)\xd4\f\x1e\xa7\xfaCd=\x99\xc4\aZ\x02\xaf\xdc6ٙ\x17\xe2\x0fz\xd2\xc5j\xbcڠdx֞\x9e\x84\x05s\xd4\xe1\x821O\xcf\x1bo\xef\x92e\x04\xcb\xdfcY\x10y>\x12g\xb6=\x8f&䬛hy\xce8E\tF \x81\x15\xb8\xeev\xdd)ù\xc6j\xae\xf3j\xb4_\x99\xee\xb1\xd1g\xd2v\x06\xee\xd0\xf3\xad/Ĩ6J\x1ex=_;=:^ʑ\x8b\xa6͊F\xb2$y\x9cj\x04i\xb2\xf2\xe4n\x15\v\bѤ\x03\xaf\x9d>\x97\xfa\a\x8e\xa227g\xfb\x82?\xbc\x12\v\x186\x18\x11\xab]\x0fU\t\x7f\r\x01\xe1\x8c?9RgƀPS\n\x82ēDn\xe0\xdd;P\x1aޅ\x1b\x85w\x1fB\xfdq\\\xd8\x15OItF\xe2+\x17\"\xae{SY\x1a\xa84\x1dd\x94[\x02\xf1\xbfM\x86O\xfc`\xe9|\xe5m\xb7\n^\x19\xb7\x03w\xcd!x\x94e>\xc0\x1e\x0fė4Z\xa7%\x956Ԛ\x18\x84\xf1\"\x95\xcb`\xfb\x05\xa3LRg\x16\f\x9a\x96$o\x05\xfd?\xc5\xec4\xd13Ƹ\xee6\r=\x85\x1d\xeen\x96\x94\x1c\x8f\x8ez*\xcdkN\xe7\x029\xf4\x9cxK\x00\x87\x8c\xa6\xfd\xa9\xdcÕ\xc7ۂ\x98B$q\x04\x80'q\x94\xa1aq\x02p:wlvی\xccaF\xd5\xe7W&;\x17\xbd\xf1\xf4\xbc\xb9\xca\x0f\xa4J\x06\xaf\xa9\xf9\xb5\xe1e3\u07b7\xd9\x19\xc1\xeb\xc2^\xd0s\xd4\x1b\xd4\xcc\x03\xf5*\xcfX'c\xa6Y6\xe9N\xe3u\xda5\xde\xfal\xef\xd3\xf3\xe6*V\xef/\n\xae\xe3\xf5\xe1\x06\xb0\xf7r\xe9\xb4Fi\xe3\xbd \x1dq\xbf\x83ٗ\xe1F-\xbd3Yb\xc3\xf3\x19\xfe謫\x04mXd\xe8\xfe\xde&\xde\xda\xe5\xf8\xf0I\\\x98\xe9\x8f\xf2$\r+\xc0#J\xa0c\vゐۋ4\xc5tN>\x9d\x06)=\x8a\x85+\xdaxh\x8dw\x16\xfd\x95\xc07\nN\x7f&}o.\xc8\xf4 J\xe9\x97q\xc2<\xa2\xe3u \x9dDWY\xa1W\xd5\xc6lr\x0e\\\xe1+\x1a'2\x05\xe2\ar\x85\xb0d8n\x99,W\xb8|H`\x06\x18\xe8 \xa4\x87\x89Kg\xa6\xef'\x10-\x1a\xc3\xea%\x1c\xff\x12F\x85\xab\x8e~\n\xb0=\xd5ѱj\xefM\x9fl7\xc1\xa8TՒ\x06\x8f\xaa\xf2\xcb˛/\x1eoҤc\xb6Y\xd0\xe4\x89\xd9&\x02\xcc\xc1\t\xe1\xe7̪nO\xc2\xf7H\xd9\xf4[\x15_\x7f\xca]R\x8f\xc6\xe4\x00\x10\xaf\t$\x94\xae\xcd\x11\xfaG|ʹ~*K\xeclƲ\x154JDd\xf7\x0f\x13ҵ{\xd4\xe4o\xff\xf41>\x98\xe5\xb2]V\xa3\xedJ\xe6\x0f\x84\xc7K\"\x14\xa6Cg\xb8\x1d\x89|\xb5\xe2\xa6\x13\xec-#8\x1a\x92\xa2M\x92\xb7\xd3[\xe9y<\\\xbeh\x18\x9e\x89\xf2\xe7\xd6\xdc[On\x0f\xd2W\x9bI\xff\xf0\xfc\xf3cV\xb8\x00\x8c1\x93\xb7\x0fW\x12\xf1\xedC\xcc:^\xa1\xb4t\xb68\xbd\x04\x9cX\x9d\xbcx\xb4J\xae\xebn#\xa2\xa3\xc7\xc3%\x8dG\x83\x17\x98I\xffl\x99\xe3%;Jq\x02\x16\x7f'\xbd\x99>,}\x18ީ\x98\xed/\xc6ˆɚ\x12BRq\xf3\xc51'xF5F\xc4b\xac\xfe\xff\x93Sd\xc3e\xd6\xe85\xaf\x12\xd9\xfdmH\xda\xe2\xf6\xc3C\xc4\x1a\xfe\xfd\x9f\xbb\xff\x06\x00\x00\xff\xff?\xb7\xcf\xe0L \x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcYKs\xe3\xb8\x11\xbe\xfbWtM\x0es\x19\xca;\xc9V*\xa5ی\x9cT\xb9\xb2\xe3\xa8\xd6.\xdfA\xa2Ea\a\x04\x10<\xe48\x8f\xff\x9ej\x80\xa4@\x12\xb2,m\xb2\xbc\th|\xf8\xfa\x81\xee\x06TU\xd5\r3\xe2\x19\xad\x13Z\xad\x81\x19\x81\xff\xf0\xa8\xe8\x97[}\xff\x93[\t}{\xf8|\xf3](\xbe\x86Mp^w?\xa3\xd3\xc16x\x87;\xa1\x84\x17Z\xddt\xe8\x19g\x9e\xado\x00\x98R\xda3\x1av\xf4\x13\xa0\xd1\xca[-%ڪE\xb5\xfa\x1ej\xac\x83\x90\x1cm\x04\x1f\xb6>\xfc\xb0\xfa\xfc\xe3\xea\x87\x1b\x00\xc5:\\\x03\xe1q\xfd\xa2\xa4fܭ\x0e(\xd1\xea\x95\xd07\xce`C\xc0\xad\xd5\xc1\xac\xe18\x91\x16\xf6\x9b&\xc2w̳\xbb\x1e#\x0eK\xe1\xfc_\x17S?\t\xe7㴑\xc129\xdb;\xce8\xa1\xda \x99\x9d\xce\xdd\x00\xb8F\x1b\\\xc3\x03mmX\x834\xd6\xeb\x14\xa9T\xc08\x8fVbrk\x85\xf2h7Z\x86n\xb0N\x05\x1c]c\x85\xf1\xd1\n9-p\x9e\xf9\xe0\xc0\x85f\x0f\xcc\xc1\x03\xbe\xdcޫ\xadխE\x97h\x01\xfc\xe2\xb4\xda2\xbf_\xc3*\x89\xaf̞9\xecg\x93)\x1f\xe3D?\xe4_\x89\xaf\xf3V\xa8\xb6\xc4\xe0It\b<\xd8\xe8BһA\xf0{\xe1\xa6\xd4^\x98#z\xd6#?I$\xce\x13\x9c\xf3\xac3sF\xd9\xd2D\x893\x8f%B\x1b\xdd\x19\x89\x1e9ԯ\x1e\a5v\xdav̯A(\xff\xc7\x1fOۢ7\xd6*.\xbd\xd3jj\x98\xaf4\n\xd9pbB^j\xd1\x16\xad\xa3=\x93\xbf\x86\x88'\x80\xaf\xd9\xfa\xc4$\xe1\xe6\xe3g\xa9Pȁށ\xdf#|e\xcd\xf7`\xe0\xd1k\xcbZ\x84\x9ft\x93\xdc\xf7\xb2G\x8bQ\xa2N\x12\x14\xbd \xc8w\xda\x16]g\xb0Y%\xd9\x1el\xc0\x9a\xf9o\xba\xd1\xff<\xb6\x1a\x8b\xac\x18[C\xaaYE\t\xa1U9\xc0\xbe\xb4\xf8\xae\xe0ʍ\xa84\xc7\xccb\x13N\u0081\xb1\xbaA\xe7\xde\bx\x02\x98\xb0x8\x0e,L\x93$\x0e\xbfg\xd2\xec\xd9\xe7\x94d\x9a=vlݯ\xd0\x06\u0557\xed\xfd\xf3\x1f\x1e'\xc3\xf0F\xc2`\x8dw\x94)\x88\xbe\xb1\xda\xebFK\xa8ѿ \xaa\xe4\xfaN\x1f\xd0R\x9ek\x85r#\"em\x9e\v\x1cs6\xc5wģ\xd94i1F\x0f\x11\xb4\xb9\xf7\x81\xf64h\xbd\x18\xb2p\x8f},0\xd9\xe8L\x8f\x7fW\x939\x00R=\xad\x02N\x95\x06\x93Z}nE\xde[+9O8\xb0h,:T\xa9\xf6\xd00S\xa0\xeb_\xb0\xf1\xab\x19\xf4#Z\x82\x01\xb7\xd7ArR\xf6\x80փ\xc5F\xb7J\xfcs\xc4v\xe0u\xdcT2\x8f\xce\xc7\xc3h\x15\x93p`2\xe0'2\xda\f\xb9c\xaf`\x91\xf6\x84\xa02\xbc\xb8\xc0\xcdy|#+\n\xb5\xd3k\xd8{o\xdc\xfa\xf6\xb6\x15~(\xbb\x8d\ueea0\x84\x7f\xbd\x8d\xde\x10u\xf0ں[\x8e\a\x94\xb7N\xb4\x15\xb3\xcd^xl|\xb0xˌ\xa8\xa2\"*\x96\xdeU\xc7\x7fg\xfbB\xed&\xdb.\x021}\xb1`^\xe0\x1e\xaa\xa2t*X\x0f\x95T\x17\xb8W\xb0a\x1d\xca\rs\xf8\x1b\xfb\x8a\xbc\xe2*r»\xbc\x957\\s\xe1d\xdelb\xe8\x98N\xb86\xcf \x8f\x06\x1b\xf2*\x19\x96\x96\x89\x9d\xe8+\t\xa5\x016\x91\x9dZ\xa8|\xf4\xe9+V\x93\xb9йp\xa3\xefk\th`\xab\xb2D\xde\xd7:\xd7\x17)9-R\xf9\xb7\xa8\x8f\x16\x8dv\xc2k\xfbz\xac\x92\xf3P8\xe9\x15\xfa\x1a\xa6\x1a\x94ר\xb7\x89+A(N6\xc71\x94)\t%\xd4HT\xabV\xd3ᚸ\x02\xee=\xc9Pl;\xf4eEU\xb1\xaa\t\x05Ǟ\x12\xf2\xdeq\xaen\xad\xb5D6\xb7\"E\xe17*\v\x1b\xadv\xa2]*\x9e\xb7\xbf\xa7B\xe4\x8cM\v\x01\x9bmIZPt\x12\x93*V\xa8j\b]J\xed;\xd1\x06{\xca\xff;\x81\x92/\xf2\xcfɓ4(\x1cw\xb9\xc6\xc7#\xf5\xe1t\xf5U-+\xbd^\xc7\f\xe5b\xbf\x9b\x85\xe6\x92$\xc0\xfd.C\x14\x0e>|\x00m\xe1C\xba\x13}\xf8\x94V\a!}%&\xf5\xffEH9\xecrQt\x8f%\x9f\xba.\x1d\xfc56\xf8\xdb\fcf\nO=bT\xdfkxa\"+\xbb\xe3\xee\xeeS\x01\xb7\xc6\x1d\xe5h\x8b>XE'\x04\xad\xa5\xa4\xe5\"\xa4\x0e\x8b6\xe0MM\x9db\xc6\xed\xb5\xbf\xbf;\xa3\xe3\xe3(8\xa4\xa2\xfb\xbb!\x11=GG\x8c\xf9\xa8\x97\x04\xaf\x8b\xf4\x87Ɗ\xc7Jw\x19\xdbX^\xc7K\xe85ny\x9cB\f\xcah+ZA\xc6W\xe3\xcc1i\x1e\xe8&\x1bEIE\xe4\x10\xcc\t\xee@\x19\x8a\xeay\x8d\xc0\xc5n\x87\x96\x8av\xac\xe8i\xe3\xed\xf3\xe6\xa3\xcb6\x11\xbb\xfc\a%Î\x19\x83\x9c\xae\x0f\xe4\xdc\xdeV\x17Y\xc93ۢ\x7f\x8e\xa4Ϙ\xe8)\x13\x1dLA՟\xeez}{\x19\x835\x8a\xc1\xf6ySh\x06\xe9\xdb>/\x19\x9e.\x95\xd0\xdf\vN8q\xc1r᭞ψQ\x84x3\xd3\x02\x98\xc3;v\xde>\x97\n\xefh\x0e\xf0{\xe6I\xa2\xbf\xc7A\xfdZĄ\xe1\x88\xf4\uef0eo\xf3.\u009b7\x19o\xe6\x94O\xf0\xad_\x7f5e\xaa\xeb\xc2\"_\xb2\xae\xde\xf0\\\x05\xe6P\x1cl\xde_\xbd\xca;W\xe5\x16m&3O\xfd\xb3\xe9c\xbe\x9cOL\xf3\xcal6?\x92\xef\xeae\xe3M\xfb\xbd\xddlz?\xeb\xdd\xde\x04\x1b\x93N\xff\xaaF\x17ī\xfa\xd9&\xbdG\xe5O\x0fW\xb5{K\x98x\x03\xb5<\xab\x83l\xbcl\xc7G\x91\xe1%\xac\x94_\x8fxii̙\x04\x87\x1c\xf0\x80\n\xa8\x89gB\"\x1f0\v}\x0f\xc0\x13u\xfe\xf1\xfe\xf5э@\xb1\x1cS\x8fU \xed\x16 Ë\x18ݱ*\x82XH\xa8 %\xab%\xae\xc1\xdbp\xaa\xdf,\x9e\x9e\x0e\x9dc\xed\xb9\xec\xfd-I\xa5\xfbi\xbf\x04XM\xcdƼ\a\xfe\xe8\xfa\x80\xb8\xa8\x92(\xcd\xcfqx\xd0<\x12PW\xbc0]\xc4%\xf6\xecg\xc8lI\xa6t\x10Fj\xa7O\x02}\xa8BWJW\x0f\xf8R\x18\xfd\xd24hJ)\xb4\x82\xadE\xc3lqj\xf1\xb4\x9dO\xa6\xcbQ)\x9b\x0esE\xcc\xf1\xed\xb80\xf7\x97x\x18.\xb2t\xcf\xef\x9a\xe3>^\xb1\xf6Z\x0e'<\xbe\xf9\xaa\xd0\xd5h\xc9\r\xf1Uy\xf0\xc7\xd8,2\xc5s\xaf\x95:\x86\x11al #\xd4\n\x9e\xf6T\xcfҽph\xa9\xb9pF\xb2\xd7Q\x99\xbc\xad)\x80\x1fO\xcd\xe2\xd9\xef\xd2\xcef|\x83/\x97\xeb\xd2C\xfa\xf4[>\x89\xcf\xe6Ƿ\xf5\xff\xcf\x0eo\xdc\n\xa7\xffu\\\xd5\x7fO\x10Ε\x82\xfe\xbf\x97\xcb3\xf8t\x9b\xdf2y\x17\xad\xb7\x18\x8c\xccy\x86ݿ\xe2\xe4#\xa1\x1e\x9f6\xd7\xf0\xaf\xff\xdc\xfc7\x00\x00\xff\xff^Vs\xa2\xc6\x1c\x00\x00"), + []byte("\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xbcYKs\xe3\xb8\x11\xbe\xfbWtM\x0e{\xb1\xe4\x9dd+\x95\xd2m,'U\xaa\xec8\xaa\x91\xe3;D\xb6H\xacA\x80\xc1C\x8a\xf3\xf8\xef\xa9\x06@\n$!\xc9Rv\x87\a\x97\x85G\xa3\x9f_7\x1a\xb3\xd9쎵\xfc\x15\xb5\xe1J.\x80\xb5\x1c\xffiQ\xd2/3\x7f\xfb\x93\x99s\xf5\xb0\xff|\xf7\xc6e\xb9\x80\xa53V5\xdf\xd0(\xa7\v|\xc2\x1d\x97\xdcr%\xef\x1a\xb4\xacd\x96-\xee\x00\x98\x94\xca2\x1a6\xf4\x13\xa0P\xd2j%\x04\xeaY\x85r\xfe涸u\\\x94\xa8=\xf1\xee\xe8\xfd\x8f\xf3\xcf?\xcd\x7f\xbc\x03\x90\xac\xc1\x05\x10=\xd7\n\xc5J3ߣ@\xad\xe6\\ݙ\x16\v\"[i\xe5\xda\x05\x1c'¶xd`\xf7\x89Y\xf6wO\xc1\x0f\nn\xec_G\x13?sc\xfdd+\x9cfbp\xaa\x1f7\\VN0\x9d\xce\xdc\x01\x98B\xb5\xb8\x80g:\xb2e\x05\xd2X\x94ij0\x03V\x96^7L\xac5\x97\x16\xf5R\t\xd7t:\x99A\x89\xa6м\xb5^\xf6#C`,\xb3\u0380qE\r\xcc\xc03\x1e\x1eVr\xadU\xa5\xd1\x04\x96\x00~1J\xae\x99\xad\x170\x0f\xcb\xe7m\xcd\f\xc6٠\xbe\x8d\x9f\x88C\xf6\x9d\xb85VsY\xe5\xce\x7f\xe1\rB\xe9\xb47\x1b\xc9\\ ؚ\x9b\x94\xb1\x033Ĝ\xb6X\x9ed\xc3\xcf\x131cYӎ\xf9I\xb6\x06\x86Jf1\xc7\xceR5\xad@\x8b%l\xdf-vB\xec\x94n\x98]\x00\x97\xf6\x8f?\x9d\xd6DT\xd5\xdco}Rr\xa8\x96G\x1a\x85d8pB\x16\xaaPgu\xa3,\x13\xff\x0f#\x96\b<&\xfb\x03'\x81n:~\x91\x15r7P;\xb05\xc2#+\xde\\\v\x1b\xab4\xab\x10~VE0ޡF\x1d\x8d\xb7\rKL\xad\x9c(a\xdbI\f`\xac\xd2Y+\xb6X\xccîH\xb7#;2\xe5\xf0\xcc_\xd9\xc9\n\x8d,\xebd\x1d\xca\xcc\xfd\n\xaed\xdeӾT\xf8!/K\xb5)U\x89\xbd\xea0\xe5\x88\x1bh\xb5*И3~O\xdb\a<<\x1f\a&j\t+\xf6\xbfg\xa2\xad\xd9\xe7\x802E\x8d\r[\xc4\x1d\xaaE\xf9e\xbdz\xfd\xc3f0\f'1\x83\x15\xd6\x10X\x10\xeb\xadVV\x15J\xc0\x16\xed\x01Qz܂F\xedQ\x13\xc8U\\\x1a`\xb2\xeciB\xba\xe0\b\xd5\xe4\xe4\x9e\x1e͆\xc9\xe8N\xaaE\x9d\x9a\x1d\xe8\xc8\x16\xb5\xe5\x1d\xfa\x86/I+\xc9\xe8H\x88\xff\xcc\x06s\x00$w\xd8\x05%\xe5\x17\fREl\xc52\xaa*؍\x1b\xd0\xd8j4(Cơa&Am\x7f\xc1\xc2\xceG\xa47\xa8\x89L\x17\x0f\x85\x92{\xd4\x164\x16\xaa\x92\xfc_=m\x03V\xf9C\x05\xb3h\xac\x0fH-\x99\x80=\x13\x0e\xefGڣ\xafa\uf811\xce\x04'\x13z~\x83\x19\xf3\xf1Ui\x04.wj\x01\xb5\xb5\xadY<\x11\xb6\x934\x00\xb1\xc2\xfbJ5\xdcR\xc9\x1d\xaf\xa6g\xa7\x97\xd5s1rV\xb4IzI\x8e$\x8dS6!Nf\xbe\x9c\x9cu\xa9\x86\n\xb1\x1d\xaf\x9c>\x15\xfa;\x8e\xa2\x9cT\v\x17\xa3\xfd\x82><\x13\xb7\x80v/Y\x97,#~%et\xf0\x12g\xfc\x056\xc95S\x19\x80p\xf2H\x91\x1b\xf8\xf4\t\x94\x86O\xa1\xb1\xf1\xe9>\xecv\\\xd8\x19\x1f\xd4\xf2\a.Dw\xcaU骯\xdf\xe9\xf6\xa4\xdc%\x1c\xcf\xea\xe0o#\x1a#UX\xba\xe9y\xf1\xad\x82\x03\xe3I\rݟn\xee3t\xb7\xb8\xa3\x82K\xa3uZR\xcaC\xad\xa9\x061\x9e\xa4r\x19\xcc?#\xa9I\xf2\xcf\x05)ǩ\xcaKA\xff\x8f\xb1<\x05\x80\x8c\x009\x1b\x9f\xe3\xd0\xd7\xc7}\x17\xe9\x16Sl\x86$:\xe6\x95\xe6\x15'\x85\xcb~\xe6X\xf9D\xac\x8b-\x02\x8fd\x1e\x8a\xb3\xfe٣\xa5!\xb4<\x92\xa3p\x0e\x87\x13\xda3Y\xfa\xe4\xdcϗ1\xf42\x81{Q!\xeb\xd7\xe5%{\xf5\ag\xa0\x9c\x86\x0f5/\xea\xa1\xe9\xf8\x14T\x01,{C_\xe8^\xc1f\x1e\xc3g\xf9\xb2w\xb4f\x1c}\xa3\xe9\xd4e\xc7SCCggׯ\xcb\x0f]\r|\xd7\xe2c\x97\x83Ў\x8cZ.\x9c\xd6\xfe\xda\x15F\xe9\xb6}\xc3\xf5\xa0\b\xed\xbd\xb4\x81sS\xf5<%\xe3/\xf3\xbaLP\x88ue\xbe\xef,u}Ŝ\xa3\x1fɅ\x9d\xbe\xb9@\u0530\x04ܣ\x04\xba\x101.\b\xd4=Ɍg\x9f\xa7\x12\xd1-4\x91\xbb\x9br\xd7Uɶ,\xe8{!\x1f\xf6W\xe3\x1fLOӃ+E`F\tS7\xef\x1a\x96t\xfd\x9d\x11\x89\xdbri6b\xfb\xda\xe2\x1b\x1a'2\xd9\xe47\xac-\u0091\xe1\xcef\xb2\xb5\xc5\xf9K\x053\xc0@\a\"\x11;Ny\U000c7554-8\x1a4\x86U\x97\xf0\xfdkX\x15\xfa+q\v\xb0-\xe5\xd7!k?\x98\x18\x81Wa\xabT\xe5%\x0e\x9eU鏗W\xb7F\xaf\xe2\xa4e\xb6\xbe\xc0ɚٺC\x9d\x9d\x13\xc2\xef\x99d\xe3\x98ȶH\xd1\xf4k%e\x7f+\xbe\xc4\x1e\xadɡ\"~đP\xba&w\x01x\xc6Cf\xf4KQ`k3\x92\xcd`\xad\xb1e:;5y4J'C\xe3!\x17h\xdd\\\x96f\xff.\x93\x99\xfb\x8b\x87ƫ\xf4\x1c\xf9\xbb\x05\xfb\xfb\x16F\xadD\a\xf7\xfe=E\xbaf\x8b\x9a\x8c\xe0_lF\xb7;\xaaR\x12\x8be\b'\xfb\xfb\xd2\xc8S\x9a\xc3KM7\xd7\xd0t\xe9\x8aے\x9bV\xb0\xf7^\x96K\x80\xd3\a\xf3\xb8\x99>u\x92\xf3݊\xfeu+\x7f\xf9\xcd=Q\r\xbf\xe9c\xd3h\xbe\x7f\xb5\xfamN8\x83\x96]x\xaf\x9e>X\xb5\xaf\x9e\xbaP\xe4%JK\x17\x91\xe3\x03Ʊ\xfe\xf3\r\xb1\x9c.Ǎ\xc0\xebJ\xd6\xc1\x9b\xe7M%\xfc\x80\u0085\x1a&>\xc1\xe6*\x85\r\x81\x01A\x90o\x99/Ǐd\xf7\xfd\x9b\x1b\xb3\xb1o_\xd4LV\x98\xab\x8b\x95\xa4\xc4\xe8\x13\xeb\xf5E\xc9P\xa0\xefY\x8fd\xbdj2\xe89/\x13ڱ\U000d23b8m\xff\x90\xb2\x80\x7f\xff\xf7\xee\x7f\x01\x00\x00\xff\xff\xed\xa0\x8b\x92*!\x00\x00"), } var CRDs = crds() diff --git a/go.mod b/go.mod index 7d95ee2814..88b6018c41 100644 --- a/go.mod +++ b/go.mod @@ -65,6 +65,7 @@ require ( k8s.io/utils v0.0.0-20230726121419-3b25d923346b sigs.k8s.io/controller-runtime v0.17.2 sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd + sigs.k8s.io/structured-merge-diff/v4 v4.4.1 sigs.k8s.io/yaml v1.4.0 ) @@ -189,7 +190,6 @@ require ( gopkg.in/yaml.v2 v2.4.0 // indirect k8s.io/component-base v0.29.0 // indirect k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect ) replace github.com/kopia/kopia => github.com/project-velero/kopia v0.0.0-20240403023715-a639f2da10a7 diff --git a/hack/build-image/Dockerfile b/hack/build-image/Dockerfile index 71bd253ecd..32dc808409 100644 --- a/hack/build-image/Dockerfile +++ b/hack/build-image/Dockerfile @@ -30,7 +30,7 @@ RUN wget --quiet https://github.com/kubernetes-sigs/kubebuilder/releases/downloa chmod +x /usr/local/kubebuilder/bin/kubebuilder # get controller-tools -RUN go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.12.0 +RUN go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.14.0 # get goimports (the revision is pinned so we don't indiscriminately update, but the particular commit # is not important) @@ -69,7 +69,8 @@ RUN ARCH=$(go env GOARCH) && \ chmod a+x /usr/include/google/protobuf && \ chmod a+r -R /usr/include/google && \ chmod +x /usr/bin/protoc -RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.32.0 +RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.32.0 && \ + go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0 # get goreleaser # goreleaser name template per arch is basically goarch except for amd64 and 386 https://github.com/goreleaser/goreleaser/blob/ec8819a95c5527fae65e5cb41673f5bbc3245fda/.goreleaser.yaml#L167C1-L173C42 diff --git a/hack/update-2proto.sh b/hack/update-2proto.sh index 8ad696e163..0036f22d46 100755 --- a/hack/update-2proto.sh +++ b/hack/update-2proto.sh @@ -19,6 +19,8 @@ HACK_DIR=$(dirname "${BASH_SOURCE}") echo "Updating plugin proto" echo protoc --version -protoc pkg/plugin/proto/*.proto pkg/plugin/proto/*/*/*.proto --go_out=plugins=grpc:pkg/plugin/generated/ --go_opt=module=github.com/vmware-tanzu/velero/pkg/plugin/generated -I pkg/plugin/proto/ -I /usr/include +protoc --version +protoc pkg/plugin/proto/*.proto pkg/plugin/proto/*/*/*.proto --go_out=pkg/plugin/generated/ --go-grpc_out=pkg/plugin/generated --go_opt=module=github.com/vmware-tanzu/velero/pkg/plugin/generated --go-grpc_opt=module=github.com/vmware-tanzu/velero/pkg/plugin/generated -I pkg/plugin/proto/ -I /usr/include + echo "Updating plugin proto - done!" diff --git a/pkg/apis/velero/v1/zz_generated.deepcopy.go b/pkg/apis/velero/v1/zz_generated.deepcopy.go index 18d881959e..522e15105f 100644 --- a/pkg/apis/velero/v1/zz_generated.deepcopy.go +++ b/pkg/apis/velero/v1/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated // Code generated by controller-gen. DO NOT EDIT. diff --git a/pkg/apis/velero/v2alpha1/zz_generated.deepcopy.go b/pkg/apis/velero/v2alpha1/zz_generated.deepcopy.go index ca6c522bdd..a543ac7052 100644 --- a/pkg/apis/velero/v2alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/velero/v2alpha1/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated // Code generated by controller-gen. DO NOT EDIT. diff --git a/pkg/generated/applyconfiguration/internal/internal.go b/pkg/generated/applyconfiguration/internal/internal.go new file mode 100644 index 0000000000..c01871205c --- /dev/null +++ b/pkg/generated/applyconfiguration/internal/internal.go @@ -0,0 +1,62 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package internal + +import ( + "fmt" + "sync" + + typed "sigs.k8s.io/structured-merge-diff/v4/typed" +) + +func Parser() *typed.Parser { + parserOnce.Do(func() { + var err error + parser, err = typed.NewParser(schemaYAML) + if err != nil { + panic(fmt.Sprintf("Failed to parse schema: %v", err)) + } + }) + return parser +} + +var parserOnce sync.Once +var parser *typed.Parser +var schemaYAML = typed.YAMLObject(`types: +- name: __untyped_atomic_ + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic +- name: __untyped_deduced_ + scalar: untyped + list: + elementType: + namedType: __untyped_atomic_ + elementRelationship: atomic + map: + elementType: + namedType: __untyped_deduced_ + elementRelationship: separable +`) diff --git a/pkg/generated/applyconfiguration/utils.go b/pkg/generated/applyconfiguration/utils.go new file mode 100644 index 0000000000..622bb4b474 --- /dev/null +++ b/pkg/generated/applyconfiguration/utils.go @@ -0,0 +1,159 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package applyconfiguration + +import ( + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + v2alpha1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v2alpha1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" + velerov2alpha1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v2alpha1" + schema "k8s.io/apimachinery/pkg/runtime/schema" +) + +// ForKind returns an apply configuration type for the given GroupVersionKind, or nil if no +// apply configuration type exists for the given GroupVersionKind. +func ForKind(kind schema.GroupVersionKind) interface{} { + switch kind { + // Group=velero.io, Version=v1 + case v1.SchemeGroupVersion.WithKind("Backup"): + return &velerov1.BackupApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("BackupHooks"): + return &velerov1.BackupHooksApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("BackupProgress"): + return &velerov1.BackupProgressApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("BackupRepository"): + return &velerov1.BackupRepositoryApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("BackupRepositorySpec"): + return &velerov1.BackupRepositorySpecApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("BackupRepositoryStatus"): + return &velerov1.BackupRepositoryStatusApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("BackupResourceHook"): + return &velerov1.BackupResourceHookApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("BackupResourceHookSpec"): + return &velerov1.BackupResourceHookSpecApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("BackupSpec"): + return &velerov1.BackupSpecApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("BackupStatus"): + return &velerov1.BackupStatusApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("BackupStorageLocation"): + return &velerov1.BackupStorageLocationApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("BackupStorageLocationSpec"): + return &velerov1.BackupStorageLocationSpecApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("BackupStorageLocationStatus"): + return &velerov1.BackupStorageLocationStatusApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("DeleteBackupRequest"): + return &velerov1.DeleteBackupRequestApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("DeleteBackupRequestSpec"): + return &velerov1.DeleteBackupRequestSpecApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("DeleteBackupRequestStatus"): + return &velerov1.DeleteBackupRequestStatusApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("DownloadRequest"): + return &velerov1.DownloadRequestApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("DownloadRequestSpec"): + return &velerov1.DownloadRequestSpecApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("DownloadRequestStatus"): + return &velerov1.DownloadRequestStatusApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("DownloadTarget"): + return &velerov1.DownloadTargetApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("ExecHook"): + return &velerov1.ExecHookApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("ExecRestoreHook"): + return &velerov1.ExecRestoreHookApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("HookStatus"): + return &velerov1.HookStatusApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("InitRestoreHook"): + return &velerov1.InitRestoreHookApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("Metadata"): + return &velerov1.MetadataApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("ObjectStorageLocation"): + return &velerov1.ObjectStorageLocationApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("PluginInfo"): + return &velerov1.PluginInfoApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("PodVolumeBackup"): + return &velerov1.PodVolumeBackupApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("PodVolumeBackupSpec"): + return &velerov1.PodVolumeBackupSpecApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("PodVolumeBackupStatus"): + return &velerov1.PodVolumeBackupStatusApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("PodVolumeRestore"): + return &velerov1.PodVolumeRestoreApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("PodVolumeRestoreSpec"): + return &velerov1.PodVolumeRestoreSpecApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("PodVolumeRestoreStatus"): + return &velerov1.PodVolumeRestoreStatusApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("Restore"): + return &velerov1.RestoreApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("RestoreHooks"): + return &velerov1.RestoreHooksApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("RestoreProgress"): + return &velerov1.RestoreProgressApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("RestoreResourceHook"): + return &velerov1.RestoreResourceHookApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("RestoreResourceHookSpec"): + return &velerov1.RestoreResourceHookSpecApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("RestoreSpec"): + return &velerov1.RestoreSpecApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("RestoreStatus"): + return &velerov1.RestoreStatusApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("RestoreStatusSpec"): + return &velerov1.RestoreStatusSpecApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("Schedule"): + return &velerov1.ScheduleApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("ScheduleSpec"): + return &velerov1.ScheduleSpecApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("ScheduleStatus"): + return &velerov1.ScheduleStatusApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("ServerStatusRequest"): + return &velerov1.ServerStatusRequestApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("ServerStatusRequestStatus"): + return &velerov1.ServerStatusRequestStatusApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("StorageType"): + return &velerov1.StorageTypeApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("UploaderConfigForBackup"): + return &velerov1.UploaderConfigForBackupApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("UploaderConfigForRestore"): + return &velerov1.UploaderConfigForRestoreApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("VolumeSnapshotLocation"): + return &velerov1.VolumeSnapshotLocationApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("VolumeSnapshotLocationSpec"): + return &velerov1.VolumeSnapshotLocationSpecApplyConfiguration{} + case v1.SchemeGroupVersion.WithKind("VolumeSnapshotLocationStatus"): + return &velerov1.VolumeSnapshotLocationStatusApplyConfiguration{} + + // Group=velero.io, Version=v2alpha1 + case v2alpha1.SchemeGroupVersion.WithKind("CSISnapshotSpec"): + return &velerov2alpha1.CSISnapshotSpecApplyConfiguration{} + case v2alpha1.SchemeGroupVersion.WithKind("DataDownload"): + return &velerov2alpha1.DataDownloadApplyConfiguration{} + case v2alpha1.SchemeGroupVersion.WithKind("DataDownloadSpec"): + return &velerov2alpha1.DataDownloadSpecApplyConfiguration{} + case v2alpha1.SchemeGroupVersion.WithKind("DataDownloadStatus"): + return &velerov2alpha1.DataDownloadStatusApplyConfiguration{} + case v2alpha1.SchemeGroupVersion.WithKind("DataUpload"): + return &velerov2alpha1.DataUploadApplyConfiguration{} + case v2alpha1.SchemeGroupVersion.WithKind("DataUploadSpec"): + return &velerov2alpha1.DataUploadSpecApplyConfiguration{} + case v2alpha1.SchemeGroupVersion.WithKind("DataUploadStatus"): + return &velerov2alpha1.DataUploadStatusApplyConfiguration{} + case v2alpha1.SchemeGroupVersion.WithKind("TargetVolumeSpec"): + return &velerov2alpha1.TargetVolumeSpecApplyConfiguration{} + + } + return nil +} diff --git a/pkg/generated/applyconfiguration/velero/v1/backup.go b/pkg/generated/applyconfiguration/velero/v1/backup.go new file mode 100644 index 0000000000..99dfae59d7 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/backup.go @@ -0,0 +1,219 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// BackupApplyConfiguration represents an declarative configuration of the Backup type for use +// with apply. +type BackupApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *BackupSpecApplyConfiguration `json:"spec,omitempty"` + Status *BackupStatusApplyConfiguration `json:"status,omitempty"` +} + +// Backup constructs an declarative configuration of the Backup type for use with +// apply. +func Backup(name, namespace string) *BackupApplyConfiguration { + b := &BackupApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("Backup") + b.WithAPIVersion("velero.io/v1") + return b +} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *BackupApplyConfiguration) WithKind(value string) *BackupApplyConfiguration { + b.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *BackupApplyConfiguration) WithAPIVersion(value string) *BackupApplyConfiguration { + b.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *BackupApplyConfiguration) WithName(value string) *BackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *BackupApplyConfiguration) WithGenerateName(value string) *BackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *BackupApplyConfiguration) WithNamespace(value string) *BackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *BackupApplyConfiguration) WithUID(value types.UID) *BackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *BackupApplyConfiguration) WithResourceVersion(value string) *BackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *BackupApplyConfiguration) WithGeneration(value int64) *BackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *BackupApplyConfiguration) WithCreationTimestamp(value metav1.Time) *BackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *BackupApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *BackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *BackupApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *BackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *BackupApplyConfiguration) WithLabels(entries map[string]string) *BackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Labels == nil && len(entries) > 0 { + b.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *BackupApplyConfiguration) WithAnnotations(entries map[string]string) *BackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Annotations == nil && len(entries) > 0 { + b.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *BackupApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *BackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.OwnerReferences = append(b.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *BackupApplyConfiguration) WithFinalizers(values ...string) *BackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.Finalizers = append(b.Finalizers, values[i]) + } + return b +} + +func (b *BackupApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *BackupApplyConfiguration) WithSpec(value *BackupSpecApplyConfiguration) *BackupApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *BackupApplyConfiguration) WithStatus(value *BackupStatusApplyConfiguration) *BackupApplyConfiguration { + b.Status = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/backuphooks.go b/pkg/generated/applyconfiguration/velero/v1/backuphooks.go new file mode 100644 index 0000000000..da89d41249 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/backuphooks.go @@ -0,0 +1,44 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +// BackupHooksApplyConfiguration represents an declarative configuration of the BackupHooks type for use +// with apply. +type BackupHooksApplyConfiguration struct { + Resources []BackupResourceHookSpecApplyConfiguration `json:"resources,omitempty"` +} + +// BackupHooksApplyConfiguration constructs an declarative configuration of the BackupHooks type for use with +// apply. +func BackupHooks() *BackupHooksApplyConfiguration { + return &BackupHooksApplyConfiguration{} +} + +// WithResources adds the given value to the Resources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Resources field. +func (b *BackupHooksApplyConfiguration) WithResources(values ...*BackupResourceHookSpecApplyConfiguration) *BackupHooksApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithResources") + } + b.Resources = append(b.Resources, *values[i]) + } + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/backupprogress.go b/pkg/generated/applyconfiguration/velero/v1/backupprogress.go new file mode 100644 index 0000000000..6c4af7c59a --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/backupprogress.go @@ -0,0 +1,48 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +// BackupProgressApplyConfiguration represents an declarative configuration of the BackupProgress type for use +// with apply. +type BackupProgressApplyConfiguration struct { + TotalItems *int `json:"totalItems,omitempty"` + ItemsBackedUp *int `json:"itemsBackedUp,omitempty"` +} + +// BackupProgressApplyConfiguration constructs an declarative configuration of the BackupProgress type for use with +// apply. +func BackupProgress() *BackupProgressApplyConfiguration { + return &BackupProgressApplyConfiguration{} +} + +// WithTotalItems sets the TotalItems field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the TotalItems field is set to the value of the last call. +func (b *BackupProgressApplyConfiguration) WithTotalItems(value int) *BackupProgressApplyConfiguration { + b.TotalItems = &value + return b +} + +// WithItemsBackedUp sets the ItemsBackedUp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ItemsBackedUp field is set to the value of the last call. +func (b *BackupProgressApplyConfiguration) WithItemsBackedUp(value int) *BackupProgressApplyConfiguration { + b.ItemsBackedUp = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/backuprepository.go b/pkg/generated/applyconfiguration/velero/v1/backuprepository.go new file mode 100644 index 0000000000..2e5dbca1b6 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/backuprepository.go @@ -0,0 +1,219 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// BackupRepositoryApplyConfiguration represents an declarative configuration of the BackupRepository type for use +// with apply. +type BackupRepositoryApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *BackupRepositorySpecApplyConfiguration `json:"spec,omitempty"` + Status *BackupRepositoryStatusApplyConfiguration `json:"status,omitempty"` +} + +// BackupRepository constructs an declarative configuration of the BackupRepository type for use with +// apply. +func BackupRepository(name, namespace string) *BackupRepositoryApplyConfiguration { + b := &BackupRepositoryApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("BackupRepository") + b.WithAPIVersion("velero.io/v1") + return b +} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *BackupRepositoryApplyConfiguration) WithKind(value string) *BackupRepositoryApplyConfiguration { + b.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *BackupRepositoryApplyConfiguration) WithAPIVersion(value string) *BackupRepositoryApplyConfiguration { + b.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *BackupRepositoryApplyConfiguration) WithName(value string) *BackupRepositoryApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *BackupRepositoryApplyConfiguration) WithGenerateName(value string) *BackupRepositoryApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *BackupRepositoryApplyConfiguration) WithNamespace(value string) *BackupRepositoryApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *BackupRepositoryApplyConfiguration) WithUID(value types.UID) *BackupRepositoryApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *BackupRepositoryApplyConfiguration) WithResourceVersion(value string) *BackupRepositoryApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *BackupRepositoryApplyConfiguration) WithGeneration(value int64) *BackupRepositoryApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *BackupRepositoryApplyConfiguration) WithCreationTimestamp(value metav1.Time) *BackupRepositoryApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *BackupRepositoryApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *BackupRepositoryApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *BackupRepositoryApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *BackupRepositoryApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *BackupRepositoryApplyConfiguration) WithLabels(entries map[string]string) *BackupRepositoryApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Labels == nil && len(entries) > 0 { + b.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *BackupRepositoryApplyConfiguration) WithAnnotations(entries map[string]string) *BackupRepositoryApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Annotations == nil && len(entries) > 0 { + b.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *BackupRepositoryApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *BackupRepositoryApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.OwnerReferences = append(b.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *BackupRepositoryApplyConfiguration) WithFinalizers(values ...string) *BackupRepositoryApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.Finalizers = append(b.Finalizers, values[i]) + } + return b +} + +func (b *BackupRepositoryApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *BackupRepositoryApplyConfiguration) WithSpec(value *BackupRepositorySpecApplyConfiguration) *BackupRepositoryApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *BackupRepositoryApplyConfiguration) WithStatus(value *BackupRepositoryStatusApplyConfiguration) *BackupRepositoryApplyConfiguration { + b.Status = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/backuprepositoryspec.go b/pkg/generated/applyconfiguration/velero/v1/backuprepositoryspec.go new file mode 100644 index 0000000000..df2d3f88cc --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/backuprepositoryspec.go @@ -0,0 +1,79 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// BackupRepositorySpecApplyConfiguration represents an declarative configuration of the BackupRepositorySpec type for use +// with apply. +type BackupRepositorySpecApplyConfiguration struct { + VolumeNamespace *string `json:"volumeNamespace,omitempty"` + BackupStorageLocation *string `json:"backupStorageLocation,omitempty"` + RepositoryType *string `json:"repositoryType,omitempty"` + ResticIdentifier *string `json:"resticIdentifier,omitempty"` + MaintenanceFrequency *v1.Duration `json:"maintenanceFrequency,omitempty"` +} + +// BackupRepositorySpecApplyConfiguration constructs an declarative configuration of the BackupRepositorySpec type for use with +// apply. +func BackupRepositorySpec() *BackupRepositorySpecApplyConfiguration { + return &BackupRepositorySpecApplyConfiguration{} +} + +// WithVolumeNamespace sets the VolumeNamespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the VolumeNamespace field is set to the value of the last call. +func (b *BackupRepositorySpecApplyConfiguration) WithVolumeNamespace(value string) *BackupRepositorySpecApplyConfiguration { + b.VolumeNamespace = &value + return b +} + +// WithBackupStorageLocation sets the BackupStorageLocation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BackupStorageLocation field is set to the value of the last call. +func (b *BackupRepositorySpecApplyConfiguration) WithBackupStorageLocation(value string) *BackupRepositorySpecApplyConfiguration { + b.BackupStorageLocation = &value + return b +} + +// WithRepositoryType sets the RepositoryType field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RepositoryType field is set to the value of the last call. +func (b *BackupRepositorySpecApplyConfiguration) WithRepositoryType(value string) *BackupRepositorySpecApplyConfiguration { + b.RepositoryType = &value + return b +} + +// WithResticIdentifier sets the ResticIdentifier field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResticIdentifier field is set to the value of the last call. +func (b *BackupRepositorySpecApplyConfiguration) WithResticIdentifier(value string) *BackupRepositorySpecApplyConfiguration { + b.ResticIdentifier = &value + return b +} + +// WithMaintenanceFrequency sets the MaintenanceFrequency field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the MaintenanceFrequency field is set to the value of the last call. +func (b *BackupRepositorySpecApplyConfiguration) WithMaintenanceFrequency(value v1.Duration) *BackupRepositorySpecApplyConfiguration { + b.MaintenanceFrequency = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/backuprepositorystatus.go b/pkg/generated/applyconfiguration/velero/v1/backuprepositorystatus.go new file mode 100644 index 0000000000..140716376f --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/backuprepositorystatus.go @@ -0,0 +1,62 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// BackupRepositoryStatusApplyConfiguration represents an declarative configuration of the BackupRepositoryStatus type for use +// with apply. +type BackupRepositoryStatusApplyConfiguration struct { + Phase *v1.BackupRepositoryPhase `json:"phase,omitempty"` + Message *string `json:"message,omitempty"` + LastMaintenanceTime *metav1.Time `json:"lastMaintenanceTime,omitempty"` +} + +// BackupRepositoryStatusApplyConfiguration constructs an declarative configuration of the BackupRepositoryStatus type for use with +// apply. +func BackupRepositoryStatus() *BackupRepositoryStatusApplyConfiguration { + return &BackupRepositoryStatusApplyConfiguration{} +} + +// WithPhase sets the Phase field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Phase field is set to the value of the last call. +func (b *BackupRepositoryStatusApplyConfiguration) WithPhase(value v1.BackupRepositoryPhase) *BackupRepositoryStatusApplyConfiguration { + b.Phase = &value + return b +} + +// WithMessage sets the Message field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Message field is set to the value of the last call. +func (b *BackupRepositoryStatusApplyConfiguration) WithMessage(value string) *BackupRepositoryStatusApplyConfiguration { + b.Message = &value + return b +} + +// WithLastMaintenanceTime sets the LastMaintenanceTime field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LastMaintenanceTime field is set to the value of the last call. +func (b *BackupRepositoryStatusApplyConfiguration) WithLastMaintenanceTime(value metav1.Time) *BackupRepositoryStatusApplyConfiguration { + b.LastMaintenanceTime = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/backupresourcehook.go b/pkg/generated/applyconfiguration/velero/v1/backupresourcehook.go new file mode 100644 index 0000000000..c1c53c3227 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/backupresourcehook.go @@ -0,0 +1,39 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +// BackupResourceHookApplyConfiguration represents an declarative configuration of the BackupResourceHook type for use +// with apply. +type BackupResourceHookApplyConfiguration struct { + Exec *ExecHookApplyConfiguration `json:"exec,omitempty"` +} + +// BackupResourceHookApplyConfiguration constructs an declarative configuration of the BackupResourceHook type for use with +// apply. +func BackupResourceHook() *BackupResourceHookApplyConfiguration { + return &BackupResourceHookApplyConfiguration{} +} + +// WithExec sets the Exec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Exec field is set to the value of the last call. +func (b *BackupResourceHookApplyConfiguration) WithExec(value *ExecHookApplyConfiguration) *BackupResourceHookApplyConfiguration { + b.Exec = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/backupresourcehookspec.go b/pkg/generated/applyconfiguration/velero/v1/backupresourcehookspec.go new file mode 100644 index 0000000000..1fb50c4290 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/backupresourcehookspec.go @@ -0,0 +1,124 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// BackupResourceHookSpecApplyConfiguration represents an declarative configuration of the BackupResourceHookSpec type for use +// with apply. +type BackupResourceHookSpecApplyConfiguration struct { + Name *string `json:"name,omitempty"` + IncludedNamespaces []string `json:"includedNamespaces,omitempty"` + ExcludedNamespaces []string `json:"excludedNamespaces,omitempty"` + IncludedResources []string `json:"includedResources,omitempty"` + ExcludedResources []string `json:"excludedResources,omitempty"` + LabelSelector *v1.LabelSelector `json:"labelSelector,omitempty"` + PreHooks []BackupResourceHookApplyConfiguration `json:"pre,omitempty"` + PostHooks []BackupResourceHookApplyConfiguration `json:"post,omitempty"` +} + +// BackupResourceHookSpecApplyConfiguration constructs an declarative configuration of the BackupResourceHookSpec type for use with +// apply. +func BackupResourceHookSpec() *BackupResourceHookSpecApplyConfiguration { + return &BackupResourceHookSpecApplyConfiguration{} +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *BackupResourceHookSpecApplyConfiguration) WithName(value string) *BackupResourceHookSpecApplyConfiguration { + b.Name = &value + return b +} + +// WithIncludedNamespaces adds the given value to the IncludedNamespaces field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the IncludedNamespaces field. +func (b *BackupResourceHookSpecApplyConfiguration) WithIncludedNamespaces(values ...string) *BackupResourceHookSpecApplyConfiguration { + for i := range values { + b.IncludedNamespaces = append(b.IncludedNamespaces, values[i]) + } + return b +} + +// WithExcludedNamespaces adds the given value to the ExcludedNamespaces field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ExcludedNamespaces field. +func (b *BackupResourceHookSpecApplyConfiguration) WithExcludedNamespaces(values ...string) *BackupResourceHookSpecApplyConfiguration { + for i := range values { + b.ExcludedNamespaces = append(b.ExcludedNamespaces, values[i]) + } + return b +} + +// WithIncludedResources adds the given value to the IncludedResources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the IncludedResources field. +func (b *BackupResourceHookSpecApplyConfiguration) WithIncludedResources(values ...string) *BackupResourceHookSpecApplyConfiguration { + for i := range values { + b.IncludedResources = append(b.IncludedResources, values[i]) + } + return b +} + +// WithExcludedResources adds the given value to the ExcludedResources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ExcludedResources field. +func (b *BackupResourceHookSpecApplyConfiguration) WithExcludedResources(values ...string) *BackupResourceHookSpecApplyConfiguration { + for i := range values { + b.ExcludedResources = append(b.ExcludedResources, values[i]) + } + return b +} + +// WithLabelSelector sets the LabelSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LabelSelector field is set to the value of the last call. +func (b *BackupResourceHookSpecApplyConfiguration) WithLabelSelector(value v1.LabelSelector) *BackupResourceHookSpecApplyConfiguration { + b.LabelSelector = &value + return b +} + +// WithPreHooks adds the given value to the PreHooks field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the PreHooks field. +func (b *BackupResourceHookSpecApplyConfiguration) WithPreHooks(values ...*BackupResourceHookApplyConfiguration) *BackupResourceHookSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithPreHooks") + } + b.PreHooks = append(b.PreHooks, *values[i]) + } + return b +} + +// WithPostHooks adds the given value to the PostHooks field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the PostHooks field. +func (b *BackupResourceHookSpecApplyConfiguration) WithPostHooks(values ...*BackupResourceHookApplyConfiguration) *BackupResourceHookSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithPostHooks") + } + b.PostHooks = append(b.PostHooks, *values[i]) + } + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/backupspec.go b/pkg/generated/applyconfiguration/velero/v1/backupspec.go new file mode 100644 index 0000000000..6f0544218a --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/backupspec.go @@ -0,0 +1,311 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// BackupSpecApplyConfiguration represents an declarative configuration of the BackupSpec type for use +// with apply. +type BackupSpecApplyConfiguration struct { + *MetadataApplyConfiguration `json:"metadata,omitempty"` + IncludedNamespaces []string `json:"includedNamespaces,omitempty"` + ExcludedNamespaces []string `json:"excludedNamespaces,omitempty"` + IncludedResources []string `json:"includedResources,omitempty"` + ExcludedResources []string `json:"excludedResources,omitempty"` + IncludedClusterScopedResources []string `json:"includedClusterScopedResources,omitempty"` + ExcludedClusterScopedResources []string `json:"excludedClusterScopedResources,omitempty"` + IncludedNamespaceScopedResources []string `json:"includedNamespaceScopedResources,omitempty"` + ExcludedNamespaceScopedResources []string `json:"excludedNamespaceScopedResources,omitempty"` + LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"` + OrLabelSelectors []*metav1.LabelSelector `json:"orLabelSelectors,omitempty"` + SnapshotVolumes *bool `json:"snapshotVolumes,omitempty"` + TTL *metav1.Duration `json:"ttl,omitempty"` + IncludeClusterResources *bool `json:"includeClusterResources,omitempty"` + Hooks *BackupHooksApplyConfiguration `json:"hooks,omitempty"` + StorageLocation *string `json:"storageLocation,omitempty"` + VolumeSnapshotLocations []string `json:"volumeSnapshotLocations,omitempty"` + DefaultVolumesToRestic *bool `json:"defaultVolumesToRestic,omitempty"` + DefaultVolumesToFsBackup *bool `json:"defaultVolumesToFsBackup,omitempty"` + OrderedResources map[string]string `json:"orderedResources,omitempty"` + CSISnapshotTimeout *metav1.Duration `json:"csiSnapshotTimeout,omitempty"` + ItemOperationTimeout *metav1.Duration `json:"itemOperationTimeout,omitempty"` + ResourcePolicy *corev1.TypedLocalObjectReference `json:"resourcePolicy,omitempty"` + SnapshotMoveData *bool `json:"snapshotMoveData,omitempty"` + DataMover *string `json:"datamover,omitempty"` + UploaderConfig *UploaderConfigForBackupApplyConfiguration `json:"uploaderConfig,omitempty"` +} + +// BackupSpecApplyConfiguration constructs an declarative configuration of the BackupSpec type for use with +// apply. +func BackupSpec() *BackupSpecApplyConfiguration { + return &BackupSpecApplyConfiguration{} +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *BackupSpecApplyConfiguration) WithLabels(entries map[string]string) *BackupSpecApplyConfiguration { + b.ensureMetadataApplyConfigurationExists() + if b.Labels == nil && len(entries) > 0 { + b.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Labels[k] = v + } + return b +} + +func (b *BackupSpecApplyConfiguration) ensureMetadataApplyConfigurationExists() { + if b.MetadataApplyConfiguration == nil { + b.MetadataApplyConfiguration = &MetadataApplyConfiguration{} + } +} + +// WithIncludedNamespaces adds the given value to the IncludedNamespaces field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the IncludedNamespaces field. +func (b *BackupSpecApplyConfiguration) WithIncludedNamespaces(values ...string) *BackupSpecApplyConfiguration { + for i := range values { + b.IncludedNamespaces = append(b.IncludedNamespaces, values[i]) + } + return b +} + +// WithExcludedNamespaces adds the given value to the ExcludedNamespaces field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ExcludedNamespaces field. +func (b *BackupSpecApplyConfiguration) WithExcludedNamespaces(values ...string) *BackupSpecApplyConfiguration { + for i := range values { + b.ExcludedNamespaces = append(b.ExcludedNamespaces, values[i]) + } + return b +} + +// WithIncludedResources adds the given value to the IncludedResources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the IncludedResources field. +func (b *BackupSpecApplyConfiguration) WithIncludedResources(values ...string) *BackupSpecApplyConfiguration { + for i := range values { + b.IncludedResources = append(b.IncludedResources, values[i]) + } + return b +} + +// WithExcludedResources adds the given value to the ExcludedResources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ExcludedResources field. +func (b *BackupSpecApplyConfiguration) WithExcludedResources(values ...string) *BackupSpecApplyConfiguration { + for i := range values { + b.ExcludedResources = append(b.ExcludedResources, values[i]) + } + return b +} + +// WithIncludedClusterScopedResources adds the given value to the IncludedClusterScopedResources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the IncludedClusterScopedResources field. +func (b *BackupSpecApplyConfiguration) WithIncludedClusterScopedResources(values ...string) *BackupSpecApplyConfiguration { + for i := range values { + b.IncludedClusterScopedResources = append(b.IncludedClusterScopedResources, values[i]) + } + return b +} + +// WithExcludedClusterScopedResources adds the given value to the ExcludedClusterScopedResources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ExcludedClusterScopedResources field. +func (b *BackupSpecApplyConfiguration) WithExcludedClusterScopedResources(values ...string) *BackupSpecApplyConfiguration { + for i := range values { + b.ExcludedClusterScopedResources = append(b.ExcludedClusterScopedResources, values[i]) + } + return b +} + +// WithIncludedNamespaceScopedResources adds the given value to the IncludedNamespaceScopedResources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the IncludedNamespaceScopedResources field. +func (b *BackupSpecApplyConfiguration) WithIncludedNamespaceScopedResources(values ...string) *BackupSpecApplyConfiguration { + for i := range values { + b.IncludedNamespaceScopedResources = append(b.IncludedNamespaceScopedResources, values[i]) + } + return b +} + +// WithExcludedNamespaceScopedResources adds the given value to the ExcludedNamespaceScopedResources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ExcludedNamespaceScopedResources field. +func (b *BackupSpecApplyConfiguration) WithExcludedNamespaceScopedResources(values ...string) *BackupSpecApplyConfiguration { + for i := range values { + b.ExcludedNamespaceScopedResources = append(b.ExcludedNamespaceScopedResources, values[i]) + } + return b +} + +// WithLabelSelector sets the LabelSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LabelSelector field is set to the value of the last call. +func (b *BackupSpecApplyConfiguration) WithLabelSelector(value metav1.LabelSelector) *BackupSpecApplyConfiguration { + b.LabelSelector = &value + return b +} + +// WithOrLabelSelectors adds the given value to the OrLabelSelectors field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OrLabelSelectors field. +func (b *BackupSpecApplyConfiguration) WithOrLabelSelectors(values ...*metav1.LabelSelector) *BackupSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOrLabelSelectors") + } + b.OrLabelSelectors = append(b.OrLabelSelectors, *values[i]) + } + return b +} + +// WithSnapshotVolumes sets the SnapshotVolumes field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SnapshotVolumes field is set to the value of the last call. +func (b *BackupSpecApplyConfiguration) WithSnapshotVolumes(value bool) *BackupSpecApplyConfiguration { + b.SnapshotVolumes = &value + return b +} + +// WithTTL sets the TTL field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the TTL field is set to the value of the last call. +func (b *BackupSpecApplyConfiguration) WithTTL(value metav1.Duration) *BackupSpecApplyConfiguration { + b.TTL = &value + return b +} + +// WithIncludeClusterResources sets the IncludeClusterResources field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IncludeClusterResources field is set to the value of the last call. +func (b *BackupSpecApplyConfiguration) WithIncludeClusterResources(value bool) *BackupSpecApplyConfiguration { + b.IncludeClusterResources = &value + return b +} + +// WithHooks sets the Hooks field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Hooks field is set to the value of the last call. +func (b *BackupSpecApplyConfiguration) WithHooks(value *BackupHooksApplyConfiguration) *BackupSpecApplyConfiguration { + b.Hooks = value + return b +} + +// WithStorageLocation sets the StorageLocation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the StorageLocation field is set to the value of the last call. +func (b *BackupSpecApplyConfiguration) WithStorageLocation(value string) *BackupSpecApplyConfiguration { + b.StorageLocation = &value + return b +} + +// WithVolumeSnapshotLocations adds the given value to the VolumeSnapshotLocations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the VolumeSnapshotLocations field. +func (b *BackupSpecApplyConfiguration) WithVolumeSnapshotLocations(values ...string) *BackupSpecApplyConfiguration { + for i := range values { + b.VolumeSnapshotLocations = append(b.VolumeSnapshotLocations, values[i]) + } + return b +} + +// WithDefaultVolumesToRestic sets the DefaultVolumesToRestic field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DefaultVolumesToRestic field is set to the value of the last call. +func (b *BackupSpecApplyConfiguration) WithDefaultVolumesToRestic(value bool) *BackupSpecApplyConfiguration { + b.DefaultVolumesToRestic = &value + return b +} + +// WithDefaultVolumesToFsBackup sets the DefaultVolumesToFsBackup field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DefaultVolumesToFsBackup field is set to the value of the last call. +func (b *BackupSpecApplyConfiguration) WithDefaultVolumesToFsBackup(value bool) *BackupSpecApplyConfiguration { + b.DefaultVolumesToFsBackup = &value + return b +} + +// WithOrderedResources puts the entries into the OrderedResources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the OrderedResources field, +// overwriting an existing map entries in OrderedResources field with the same key. +func (b *BackupSpecApplyConfiguration) WithOrderedResources(entries map[string]string) *BackupSpecApplyConfiguration { + if b.OrderedResources == nil && len(entries) > 0 { + b.OrderedResources = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.OrderedResources[k] = v + } + return b +} + +// WithCSISnapshotTimeout sets the CSISnapshotTimeout field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CSISnapshotTimeout field is set to the value of the last call. +func (b *BackupSpecApplyConfiguration) WithCSISnapshotTimeout(value metav1.Duration) *BackupSpecApplyConfiguration { + b.CSISnapshotTimeout = &value + return b +} + +// WithItemOperationTimeout sets the ItemOperationTimeout field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ItemOperationTimeout field is set to the value of the last call. +func (b *BackupSpecApplyConfiguration) WithItemOperationTimeout(value metav1.Duration) *BackupSpecApplyConfiguration { + b.ItemOperationTimeout = &value + return b +} + +// WithResourcePolicy sets the ResourcePolicy field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourcePolicy field is set to the value of the last call. +func (b *BackupSpecApplyConfiguration) WithResourcePolicy(value corev1.TypedLocalObjectReference) *BackupSpecApplyConfiguration { + b.ResourcePolicy = &value + return b +} + +// WithSnapshotMoveData sets the SnapshotMoveData field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SnapshotMoveData field is set to the value of the last call. +func (b *BackupSpecApplyConfiguration) WithSnapshotMoveData(value bool) *BackupSpecApplyConfiguration { + b.SnapshotMoveData = &value + return b +} + +// WithDataMover sets the DataMover field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DataMover field is set to the value of the last call. +func (b *BackupSpecApplyConfiguration) WithDataMover(value string) *BackupSpecApplyConfiguration { + b.DataMover = &value + return b +} + +// WithUploaderConfig sets the UploaderConfig field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UploaderConfig field is set to the value of the last call. +func (b *BackupSpecApplyConfiguration) WithUploaderConfig(value *UploaderConfigForBackupApplyConfiguration) *BackupSpecApplyConfiguration { + b.UploaderConfig = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/backupstatus.go b/pkg/generated/applyconfiguration/velero/v1/backupstatus.go new file mode 100644 index 0000000000..999862fc04 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/backupstatus.go @@ -0,0 +1,208 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + velerov1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// BackupStatusApplyConfiguration represents an declarative configuration of the BackupStatus type for use +// with apply. +type BackupStatusApplyConfiguration struct { + Version *int `json:"version,omitempty"` + FormatVersion *string `json:"formatVersion,omitempty"` + Expiration *v1.Time `json:"expiration,omitempty"` + Phase *velerov1.BackupPhase `json:"phase,omitempty"` + ValidationErrors []string `json:"validationErrors,omitempty"` + StartTimestamp *v1.Time `json:"startTimestamp,omitempty"` + CompletionTimestamp *v1.Time `json:"completionTimestamp,omitempty"` + VolumeSnapshotsAttempted *int `json:"volumeSnapshotsAttempted,omitempty"` + VolumeSnapshotsCompleted *int `json:"volumeSnapshotsCompleted,omitempty"` + FailureReason *string `json:"failureReason,omitempty"` + Warnings *int `json:"warnings,omitempty"` + Errors *int `json:"errors,omitempty"` + Progress *BackupProgressApplyConfiguration `json:"progress,omitempty"` + CSIVolumeSnapshotsAttempted *int `json:"csiVolumeSnapshotsAttempted,omitempty"` + CSIVolumeSnapshotsCompleted *int `json:"csiVolumeSnapshotsCompleted,omitempty"` + BackupItemOperationsAttempted *int `json:"backupItemOperationsAttempted,omitempty"` + BackupItemOperationsCompleted *int `json:"backupItemOperationsCompleted,omitempty"` + BackupItemOperationsFailed *int `json:"backupItemOperationsFailed,omitempty"` + HookStatus *HookStatusApplyConfiguration `json:"hookStatus,omitempty"` +} + +// BackupStatusApplyConfiguration constructs an declarative configuration of the BackupStatus type for use with +// apply. +func BackupStatus() *BackupStatusApplyConfiguration { + return &BackupStatusApplyConfiguration{} +} + +// WithVersion sets the Version field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Version field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithVersion(value int) *BackupStatusApplyConfiguration { + b.Version = &value + return b +} + +// WithFormatVersion sets the FormatVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FormatVersion field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithFormatVersion(value string) *BackupStatusApplyConfiguration { + b.FormatVersion = &value + return b +} + +// WithExpiration sets the Expiration field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Expiration field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithExpiration(value v1.Time) *BackupStatusApplyConfiguration { + b.Expiration = &value + return b +} + +// WithPhase sets the Phase field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Phase field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithPhase(value velerov1.BackupPhase) *BackupStatusApplyConfiguration { + b.Phase = &value + return b +} + +// WithValidationErrors adds the given value to the ValidationErrors field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ValidationErrors field. +func (b *BackupStatusApplyConfiguration) WithValidationErrors(values ...string) *BackupStatusApplyConfiguration { + for i := range values { + b.ValidationErrors = append(b.ValidationErrors, values[i]) + } + return b +} + +// WithStartTimestamp sets the StartTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the StartTimestamp field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithStartTimestamp(value v1.Time) *BackupStatusApplyConfiguration { + b.StartTimestamp = &value + return b +} + +// WithCompletionTimestamp sets the CompletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CompletionTimestamp field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithCompletionTimestamp(value v1.Time) *BackupStatusApplyConfiguration { + b.CompletionTimestamp = &value + return b +} + +// WithVolumeSnapshotsAttempted sets the VolumeSnapshotsAttempted field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the VolumeSnapshotsAttempted field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithVolumeSnapshotsAttempted(value int) *BackupStatusApplyConfiguration { + b.VolumeSnapshotsAttempted = &value + return b +} + +// WithVolumeSnapshotsCompleted sets the VolumeSnapshotsCompleted field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the VolumeSnapshotsCompleted field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithVolumeSnapshotsCompleted(value int) *BackupStatusApplyConfiguration { + b.VolumeSnapshotsCompleted = &value + return b +} + +// WithFailureReason sets the FailureReason field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FailureReason field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithFailureReason(value string) *BackupStatusApplyConfiguration { + b.FailureReason = &value + return b +} + +// WithWarnings sets the Warnings field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Warnings field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithWarnings(value int) *BackupStatusApplyConfiguration { + b.Warnings = &value + return b +} + +// WithErrors sets the Errors field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Errors field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithErrors(value int) *BackupStatusApplyConfiguration { + b.Errors = &value + return b +} + +// WithProgress sets the Progress field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Progress field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithProgress(value *BackupProgressApplyConfiguration) *BackupStatusApplyConfiguration { + b.Progress = value + return b +} + +// WithCSIVolumeSnapshotsAttempted sets the CSIVolumeSnapshotsAttempted field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CSIVolumeSnapshotsAttempted field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithCSIVolumeSnapshotsAttempted(value int) *BackupStatusApplyConfiguration { + b.CSIVolumeSnapshotsAttempted = &value + return b +} + +// WithCSIVolumeSnapshotsCompleted sets the CSIVolumeSnapshotsCompleted field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CSIVolumeSnapshotsCompleted field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithCSIVolumeSnapshotsCompleted(value int) *BackupStatusApplyConfiguration { + b.CSIVolumeSnapshotsCompleted = &value + return b +} + +// WithBackupItemOperationsAttempted sets the BackupItemOperationsAttempted field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BackupItemOperationsAttempted field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithBackupItemOperationsAttempted(value int) *BackupStatusApplyConfiguration { + b.BackupItemOperationsAttempted = &value + return b +} + +// WithBackupItemOperationsCompleted sets the BackupItemOperationsCompleted field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BackupItemOperationsCompleted field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithBackupItemOperationsCompleted(value int) *BackupStatusApplyConfiguration { + b.BackupItemOperationsCompleted = &value + return b +} + +// WithBackupItemOperationsFailed sets the BackupItemOperationsFailed field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BackupItemOperationsFailed field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithBackupItemOperationsFailed(value int) *BackupStatusApplyConfiguration { + b.BackupItemOperationsFailed = &value + return b +} + +// WithHookStatus sets the HookStatus field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the HookStatus field is set to the value of the last call. +func (b *BackupStatusApplyConfiguration) WithHookStatus(value *HookStatusApplyConfiguration) *BackupStatusApplyConfiguration { + b.HookStatus = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/backupstoragelocation.go b/pkg/generated/applyconfiguration/velero/v1/backupstoragelocation.go new file mode 100644 index 0000000000..984a14c278 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/backupstoragelocation.go @@ -0,0 +1,219 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// BackupStorageLocationApplyConfiguration represents an declarative configuration of the BackupStorageLocation type for use +// with apply. +type BackupStorageLocationApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *BackupStorageLocationSpecApplyConfiguration `json:"spec,omitempty"` + Status *BackupStorageLocationStatusApplyConfiguration `json:"status,omitempty"` +} + +// BackupStorageLocation constructs an declarative configuration of the BackupStorageLocation type for use with +// apply. +func BackupStorageLocation(name, namespace string) *BackupStorageLocationApplyConfiguration { + b := &BackupStorageLocationApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("BackupStorageLocation") + b.WithAPIVersion("velero.io/v1") + return b +} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *BackupStorageLocationApplyConfiguration) WithKind(value string) *BackupStorageLocationApplyConfiguration { + b.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *BackupStorageLocationApplyConfiguration) WithAPIVersion(value string) *BackupStorageLocationApplyConfiguration { + b.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *BackupStorageLocationApplyConfiguration) WithName(value string) *BackupStorageLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *BackupStorageLocationApplyConfiguration) WithGenerateName(value string) *BackupStorageLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *BackupStorageLocationApplyConfiguration) WithNamespace(value string) *BackupStorageLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *BackupStorageLocationApplyConfiguration) WithUID(value types.UID) *BackupStorageLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *BackupStorageLocationApplyConfiguration) WithResourceVersion(value string) *BackupStorageLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *BackupStorageLocationApplyConfiguration) WithGeneration(value int64) *BackupStorageLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *BackupStorageLocationApplyConfiguration) WithCreationTimestamp(value metav1.Time) *BackupStorageLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *BackupStorageLocationApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *BackupStorageLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *BackupStorageLocationApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *BackupStorageLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *BackupStorageLocationApplyConfiguration) WithLabels(entries map[string]string) *BackupStorageLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Labels == nil && len(entries) > 0 { + b.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *BackupStorageLocationApplyConfiguration) WithAnnotations(entries map[string]string) *BackupStorageLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Annotations == nil && len(entries) > 0 { + b.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *BackupStorageLocationApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *BackupStorageLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.OwnerReferences = append(b.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *BackupStorageLocationApplyConfiguration) WithFinalizers(values ...string) *BackupStorageLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.Finalizers = append(b.Finalizers, values[i]) + } + return b +} + +func (b *BackupStorageLocationApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *BackupStorageLocationApplyConfiguration) WithSpec(value *BackupStorageLocationSpecApplyConfiguration) *BackupStorageLocationApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *BackupStorageLocationApplyConfiguration) WithStatus(value *BackupStorageLocationStatusApplyConfiguration) *BackupStorageLocationApplyConfiguration { + b.Status = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/backupstoragelocationspec.go b/pkg/generated/applyconfiguration/velero/v1/backupstoragelocationspec.go new file mode 100644 index 0000000000..ffb6096148 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/backupstoragelocationspec.go @@ -0,0 +1,114 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + apisvelerov1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + v1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// BackupStorageLocationSpecApplyConfiguration represents an declarative configuration of the BackupStorageLocationSpec type for use +// with apply. +type BackupStorageLocationSpecApplyConfiguration struct { + Provider *string `json:"provider,omitempty"` + Config map[string]string `json:"config,omitempty"` + Credential *v1.SecretKeySelector `json:"credential,omitempty"` + StorageTypeApplyConfiguration `json:",inline"` + Default *bool `json:"default,omitempty"` + AccessMode *apisvelerov1.BackupStorageLocationAccessMode `json:"accessMode,omitempty"` + BackupSyncPeriod *metav1.Duration `json:"backupSyncPeriod,omitempty"` + ValidationFrequency *metav1.Duration `json:"validationFrequency,omitempty"` +} + +// BackupStorageLocationSpecApplyConfiguration constructs an declarative configuration of the BackupStorageLocationSpec type for use with +// apply. +func BackupStorageLocationSpec() *BackupStorageLocationSpecApplyConfiguration { + return &BackupStorageLocationSpecApplyConfiguration{} +} + +// WithProvider sets the Provider field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Provider field is set to the value of the last call. +func (b *BackupStorageLocationSpecApplyConfiguration) WithProvider(value string) *BackupStorageLocationSpecApplyConfiguration { + b.Provider = &value + return b +} + +// WithConfig puts the entries into the Config field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Config field, +// overwriting an existing map entries in Config field with the same key. +func (b *BackupStorageLocationSpecApplyConfiguration) WithConfig(entries map[string]string) *BackupStorageLocationSpecApplyConfiguration { + if b.Config == nil && len(entries) > 0 { + b.Config = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Config[k] = v + } + return b +} + +// WithCredential sets the Credential field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Credential field is set to the value of the last call. +func (b *BackupStorageLocationSpecApplyConfiguration) WithCredential(value v1.SecretKeySelector) *BackupStorageLocationSpecApplyConfiguration { + b.Credential = &value + return b +} + +// WithObjectStorage sets the ObjectStorage field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ObjectStorage field is set to the value of the last call. +func (b *BackupStorageLocationSpecApplyConfiguration) WithObjectStorage(value *ObjectStorageLocationApplyConfiguration) *BackupStorageLocationSpecApplyConfiguration { + b.ObjectStorage = value + return b +} + +// WithDefault sets the Default field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Default field is set to the value of the last call. +func (b *BackupStorageLocationSpecApplyConfiguration) WithDefault(value bool) *BackupStorageLocationSpecApplyConfiguration { + b.Default = &value + return b +} + +// WithAccessMode sets the AccessMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AccessMode field is set to the value of the last call. +func (b *BackupStorageLocationSpecApplyConfiguration) WithAccessMode(value apisvelerov1.BackupStorageLocationAccessMode) *BackupStorageLocationSpecApplyConfiguration { + b.AccessMode = &value + return b +} + +// WithBackupSyncPeriod sets the BackupSyncPeriod field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BackupSyncPeriod field is set to the value of the last call. +func (b *BackupStorageLocationSpecApplyConfiguration) WithBackupSyncPeriod(value metav1.Duration) *BackupStorageLocationSpecApplyConfiguration { + b.BackupSyncPeriod = &value + return b +} + +// WithValidationFrequency sets the ValidationFrequency field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ValidationFrequency field is set to the value of the last call. +func (b *BackupStorageLocationSpecApplyConfiguration) WithValidationFrequency(value metav1.Duration) *BackupStorageLocationSpecApplyConfiguration { + b.ValidationFrequency = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/backupstoragelocationstatus.go b/pkg/generated/applyconfiguration/velero/v1/backupstoragelocationstatus.go new file mode 100644 index 0000000000..2a39ceb9d7 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/backupstoragelocationstatus.go @@ -0,0 +1,90 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" +) + +// BackupStorageLocationStatusApplyConfiguration represents an declarative configuration of the BackupStorageLocationStatus type for use +// with apply. +type BackupStorageLocationStatusApplyConfiguration struct { + Phase *v1.BackupStorageLocationPhase `json:"phase,omitempty"` + LastSyncedTime *metav1.Time `json:"lastSyncedTime,omitempty"` + LastValidationTime *metav1.Time `json:"lastValidationTime,omitempty"` + Message *string `json:"message,omitempty"` + LastSyncedRevision *types.UID `json:"lastSyncedRevision,omitempty"` + AccessMode *v1.BackupStorageLocationAccessMode `json:"accessMode,omitempty"` +} + +// BackupStorageLocationStatusApplyConfiguration constructs an declarative configuration of the BackupStorageLocationStatus type for use with +// apply. +func BackupStorageLocationStatus() *BackupStorageLocationStatusApplyConfiguration { + return &BackupStorageLocationStatusApplyConfiguration{} +} + +// WithPhase sets the Phase field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Phase field is set to the value of the last call. +func (b *BackupStorageLocationStatusApplyConfiguration) WithPhase(value v1.BackupStorageLocationPhase) *BackupStorageLocationStatusApplyConfiguration { + b.Phase = &value + return b +} + +// WithLastSyncedTime sets the LastSyncedTime field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LastSyncedTime field is set to the value of the last call. +func (b *BackupStorageLocationStatusApplyConfiguration) WithLastSyncedTime(value metav1.Time) *BackupStorageLocationStatusApplyConfiguration { + b.LastSyncedTime = &value + return b +} + +// WithLastValidationTime sets the LastValidationTime field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LastValidationTime field is set to the value of the last call. +func (b *BackupStorageLocationStatusApplyConfiguration) WithLastValidationTime(value metav1.Time) *BackupStorageLocationStatusApplyConfiguration { + b.LastValidationTime = &value + return b +} + +// WithMessage sets the Message field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Message field is set to the value of the last call. +func (b *BackupStorageLocationStatusApplyConfiguration) WithMessage(value string) *BackupStorageLocationStatusApplyConfiguration { + b.Message = &value + return b +} + +// WithLastSyncedRevision sets the LastSyncedRevision field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LastSyncedRevision field is set to the value of the last call. +func (b *BackupStorageLocationStatusApplyConfiguration) WithLastSyncedRevision(value types.UID) *BackupStorageLocationStatusApplyConfiguration { + b.LastSyncedRevision = &value + return b +} + +// WithAccessMode sets the AccessMode field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the AccessMode field is set to the value of the last call. +func (b *BackupStorageLocationStatusApplyConfiguration) WithAccessMode(value v1.BackupStorageLocationAccessMode) *BackupStorageLocationStatusApplyConfiguration { + b.AccessMode = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/deletebackuprequest.go b/pkg/generated/applyconfiguration/velero/v1/deletebackuprequest.go new file mode 100644 index 0000000000..5be007f4fd --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/deletebackuprequest.go @@ -0,0 +1,219 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// DeleteBackupRequestApplyConfiguration represents an declarative configuration of the DeleteBackupRequest type for use +// with apply. +type DeleteBackupRequestApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *DeleteBackupRequestSpecApplyConfiguration `json:"spec,omitempty"` + Status *DeleteBackupRequestStatusApplyConfiguration `json:"status,omitempty"` +} + +// DeleteBackupRequest constructs an declarative configuration of the DeleteBackupRequest type for use with +// apply. +func DeleteBackupRequest(name, namespace string) *DeleteBackupRequestApplyConfiguration { + b := &DeleteBackupRequestApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("DeleteBackupRequest") + b.WithAPIVersion("velero.io/v1") + return b +} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *DeleteBackupRequestApplyConfiguration) WithKind(value string) *DeleteBackupRequestApplyConfiguration { + b.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *DeleteBackupRequestApplyConfiguration) WithAPIVersion(value string) *DeleteBackupRequestApplyConfiguration { + b.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *DeleteBackupRequestApplyConfiguration) WithName(value string) *DeleteBackupRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *DeleteBackupRequestApplyConfiguration) WithGenerateName(value string) *DeleteBackupRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *DeleteBackupRequestApplyConfiguration) WithNamespace(value string) *DeleteBackupRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *DeleteBackupRequestApplyConfiguration) WithUID(value types.UID) *DeleteBackupRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *DeleteBackupRequestApplyConfiguration) WithResourceVersion(value string) *DeleteBackupRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *DeleteBackupRequestApplyConfiguration) WithGeneration(value int64) *DeleteBackupRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *DeleteBackupRequestApplyConfiguration) WithCreationTimestamp(value metav1.Time) *DeleteBackupRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *DeleteBackupRequestApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *DeleteBackupRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *DeleteBackupRequestApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *DeleteBackupRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *DeleteBackupRequestApplyConfiguration) WithLabels(entries map[string]string) *DeleteBackupRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Labels == nil && len(entries) > 0 { + b.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *DeleteBackupRequestApplyConfiguration) WithAnnotations(entries map[string]string) *DeleteBackupRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Annotations == nil && len(entries) > 0 { + b.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *DeleteBackupRequestApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *DeleteBackupRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.OwnerReferences = append(b.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *DeleteBackupRequestApplyConfiguration) WithFinalizers(values ...string) *DeleteBackupRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.Finalizers = append(b.Finalizers, values[i]) + } + return b +} + +func (b *DeleteBackupRequestApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *DeleteBackupRequestApplyConfiguration) WithSpec(value *DeleteBackupRequestSpecApplyConfiguration) *DeleteBackupRequestApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *DeleteBackupRequestApplyConfiguration) WithStatus(value *DeleteBackupRequestStatusApplyConfiguration) *DeleteBackupRequestApplyConfiguration { + b.Status = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/deletebackuprequestspec.go b/pkg/generated/applyconfiguration/velero/v1/deletebackuprequestspec.go new file mode 100644 index 0000000000..3476b0b177 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/deletebackuprequestspec.go @@ -0,0 +1,39 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +// DeleteBackupRequestSpecApplyConfiguration represents an declarative configuration of the DeleteBackupRequestSpec type for use +// with apply. +type DeleteBackupRequestSpecApplyConfiguration struct { + BackupName *string `json:"backupName,omitempty"` +} + +// DeleteBackupRequestSpecApplyConfiguration constructs an declarative configuration of the DeleteBackupRequestSpec type for use with +// apply. +func DeleteBackupRequestSpec() *DeleteBackupRequestSpecApplyConfiguration { + return &DeleteBackupRequestSpecApplyConfiguration{} +} + +// WithBackupName sets the BackupName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BackupName field is set to the value of the last call. +func (b *DeleteBackupRequestSpecApplyConfiguration) WithBackupName(value string) *DeleteBackupRequestSpecApplyConfiguration { + b.BackupName = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/deletebackuprequeststatus.go b/pkg/generated/applyconfiguration/velero/v1/deletebackuprequeststatus.go new file mode 100644 index 0000000000..dba0b5ee17 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/deletebackuprequeststatus.go @@ -0,0 +1,54 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" +) + +// DeleteBackupRequestStatusApplyConfiguration represents an declarative configuration of the DeleteBackupRequestStatus type for use +// with apply. +type DeleteBackupRequestStatusApplyConfiguration struct { + Phase *v1.DeleteBackupRequestPhase `json:"phase,omitempty"` + Errors []string `json:"errors,omitempty"` +} + +// DeleteBackupRequestStatusApplyConfiguration constructs an declarative configuration of the DeleteBackupRequestStatus type for use with +// apply. +func DeleteBackupRequestStatus() *DeleteBackupRequestStatusApplyConfiguration { + return &DeleteBackupRequestStatusApplyConfiguration{} +} + +// WithPhase sets the Phase field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Phase field is set to the value of the last call. +func (b *DeleteBackupRequestStatusApplyConfiguration) WithPhase(value v1.DeleteBackupRequestPhase) *DeleteBackupRequestStatusApplyConfiguration { + b.Phase = &value + return b +} + +// WithErrors adds the given value to the Errors field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Errors field. +func (b *DeleteBackupRequestStatusApplyConfiguration) WithErrors(values ...string) *DeleteBackupRequestStatusApplyConfiguration { + for i := range values { + b.Errors = append(b.Errors, values[i]) + } + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/downloadrequest.go b/pkg/generated/applyconfiguration/velero/v1/downloadrequest.go new file mode 100644 index 0000000000..18b9867e11 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/downloadrequest.go @@ -0,0 +1,219 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// DownloadRequestApplyConfiguration represents an declarative configuration of the DownloadRequest type for use +// with apply. +type DownloadRequestApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *DownloadRequestSpecApplyConfiguration `json:"spec,omitempty"` + Status *DownloadRequestStatusApplyConfiguration `json:"status,omitempty"` +} + +// DownloadRequest constructs an declarative configuration of the DownloadRequest type for use with +// apply. +func DownloadRequest(name, namespace string) *DownloadRequestApplyConfiguration { + b := &DownloadRequestApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("DownloadRequest") + b.WithAPIVersion("velero.io/v1") + return b +} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *DownloadRequestApplyConfiguration) WithKind(value string) *DownloadRequestApplyConfiguration { + b.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *DownloadRequestApplyConfiguration) WithAPIVersion(value string) *DownloadRequestApplyConfiguration { + b.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *DownloadRequestApplyConfiguration) WithName(value string) *DownloadRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *DownloadRequestApplyConfiguration) WithGenerateName(value string) *DownloadRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *DownloadRequestApplyConfiguration) WithNamespace(value string) *DownloadRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *DownloadRequestApplyConfiguration) WithUID(value types.UID) *DownloadRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *DownloadRequestApplyConfiguration) WithResourceVersion(value string) *DownloadRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *DownloadRequestApplyConfiguration) WithGeneration(value int64) *DownloadRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *DownloadRequestApplyConfiguration) WithCreationTimestamp(value metav1.Time) *DownloadRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *DownloadRequestApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *DownloadRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *DownloadRequestApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *DownloadRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *DownloadRequestApplyConfiguration) WithLabels(entries map[string]string) *DownloadRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Labels == nil && len(entries) > 0 { + b.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *DownloadRequestApplyConfiguration) WithAnnotations(entries map[string]string) *DownloadRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Annotations == nil && len(entries) > 0 { + b.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *DownloadRequestApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *DownloadRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.OwnerReferences = append(b.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *DownloadRequestApplyConfiguration) WithFinalizers(values ...string) *DownloadRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.Finalizers = append(b.Finalizers, values[i]) + } + return b +} + +func (b *DownloadRequestApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *DownloadRequestApplyConfiguration) WithSpec(value *DownloadRequestSpecApplyConfiguration) *DownloadRequestApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *DownloadRequestApplyConfiguration) WithStatus(value *DownloadRequestStatusApplyConfiguration) *DownloadRequestApplyConfiguration { + b.Status = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/downloadrequestspec.go b/pkg/generated/applyconfiguration/velero/v1/downloadrequestspec.go new file mode 100644 index 0000000000..2fc28493ff --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/downloadrequestspec.go @@ -0,0 +1,39 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +// DownloadRequestSpecApplyConfiguration represents an declarative configuration of the DownloadRequestSpec type for use +// with apply. +type DownloadRequestSpecApplyConfiguration struct { + Target *DownloadTargetApplyConfiguration `json:"target,omitempty"` +} + +// DownloadRequestSpecApplyConfiguration constructs an declarative configuration of the DownloadRequestSpec type for use with +// apply. +func DownloadRequestSpec() *DownloadRequestSpecApplyConfiguration { + return &DownloadRequestSpecApplyConfiguration{} +} + +// WithTarget sets the Target field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Target field is set to the value of the last call. +func (b *DownloadRequestSpecApplyConfiguration) WithTarget(value *DownloadTargetApplyConfiguration) *DownloadRequestSpecApplyConfiguration { + b.Target = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/downloadrequeststatus.go b/pkg/generated/applyconfiguration/velero/v1/downloadrequeststatus.go new file mode 100644 index 0000000000..100a25c51c --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/downloadrequeststatus.go @@ -0,0 +1,62 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// DownloadRequestStatusApplyConfiguration represents an declarative configuration of the DownloadRequestStatus type for use +// with apply. +type DownloadRequestStatusApplyConfiguration struct { + Phase *v1.DownloadRequestPhase `json:"phase,omitempty"` + DownloadURL *string `json:"downloadURL,omitempty"` + Expiration *metav1.Time `json:"expiration,omitempty"` +} + +// DownloadRequestStatusApplyConfiguration constructs an declarative configuration of the DownloadRequestStatus type for use with +// apply. +func DownloadRequestStatus() *DownloadRequestStatusApplyConfiguration { + return &DownloadRequestStatusApplyConfiguration{} +} + +// WithPhase sets the Phase field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Phase field is set to the value of the last call. +func (b *DownloadRequestStatusApplyConfiguration) WithPhase(value v1.DownloadRequestPhase) *DownloadRequestStatusApplyConfiguration { + b.Phase = &value + return b +} + +// WithDownloadURL sets the DownloadURL field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DownloadURL field is set to the value of the last call. +func (b *DownloadRequestStatusApplyConfiguration) WithDownloadURL(value string) *DownloadRequestStatusApplyConfiguration { + b.DownloadURL = &value + return b +} + +// WithExpiration sets the Expiration field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Expiration field is set to the value of the last call. +func (b *DownloadRequestStatusApplyConfiguration) WithExpiration(value metav1.Time) *DownloadRequestStatusApplyConfiguration { + b.Expiration = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/downloadtarget.go b/pkg/generated/applyconfiguration/velero/v1/downloadtarget.go new file mode 100644 index 0000000000..4c5efb08bf --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/downloadtarget.go @@ -0,0 +1,52 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" +) + +// DownloadTargetApplyConfiguration represents an declarative configuration of the DownloadTarget type for use +// with apply. +type DownloadTargetApplyConfiguration struct { + Kind *v1.DownloadTargetKind `json:"kind,omitempty"` + Name *string `json:"name,omitempty"` +} + +// DownloadTargetApplyConfiguration constructs an declarative configuration of the DownloadTarget type for use with +// apply. +func DownloadTarget() *DownloadTargetApplyConfiguration { + return &DownloadTargetApplyConfiguration{} +} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *DownloadTargetApplyConfiguration) WithKind(value v1.DownloadTargetKind) *DownloadTargetApplyConfiguration { + b.Kind = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *DownloadTargetApplyConfiguration) WithName(value string) *DownloadTargetApplyConfiguration { + b.Name = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/exechook.go b/pkg/generated/applyconfiguration/velero/v1/exechook.go new file mode 100644 index 0000000000..f959f1636a --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/exechook.go @@ -0,0 +1,73 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// ExecHookApplyConfiguration represents an declarative configuration of the ExecHook type for use +// with apply. +type ExecHookApplyConfiguration struct { + Container *string `json:"container,omitempty"` + Command []string `json:"command,omitempty"` + OnError *v1.HookErrorMode `json:"onError,omitempty"` + Timeout *metav1.Duration `json:"timeout,omitempty"` +} + +// ExecHookApplyConfiguration constructs an declarative configuration of the ExecHook type for use with +// apply. +func ExecHook() *ExecHookApplyConfiguration { + return &ExecHookApplyConfiguration{} +} + +// WithContainer sets the Container field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Container field is set to the value of the last call. +func (b *ExecHookApplyConfiguration) WithContainer(value string) *ExecHookApplyConfiguration { + b.Container = &value + return b +} + +// WithCommand adds the given value to the Command field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Command field. +func (b *ExecHookApplyConfiguration) WithCommand(values ...string) *ExecHookApplyConfiguration { + for i := range values { + b.Command = append(b.Command, values[i]) + } + return b +} + +// WithOnError sets the OnError field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the OnError field is set to the value of the last call. +func (b *ExecHookApplyConfiguration) WithOnError(value v1.HookErrorMode) *ExecHookApplyConfiguration { + b.OnError = &value + return b +} + +// WithTimeout sets the Timeout field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Timeout field is set to the value of the last call. +func (b *ExecHookApplyConfiguration) WithTimeout(value metav1.Duration) *ExecHookApplyConfiguration { + b.Timeout = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/execrestorehook.go b/pkg/generated/applyconfiguration/velero/v1/execrestorehook.go new file mode 100644 index 0000000000..32afd0d4ec --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/execrestorehook.go @@ -0,0 +1,91 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// ExecRestoreHookApplyConfiguration represents an declarative configuration of the ExecRestoreHook type for use +// with apply. +type ExecRestoreHookApplyConfiguration struct { + Container *string `json:"container,omitempty"` + Command []string `json:"command,omitempty"` + OnError *v1.HookErrorMode `json:"onError,omitempty"` + ExecTimeout *metav1.Duration `json:"execTimeout,omitempty"` + WaitTimeout *metav1.Duration `json:"waitTimeout,omitempty"` + WaitForReady *bool `json:"waitForReady,omitempty"` +} + +// ExecRestoreHookApplyConfiguration constructs an declarative configuration of the ExecRestoreHook type for use with +// apply. +func ExecRestoreHook() *ExecRestoreHookApplyConfiguration { + return &ExecRestoreHookApplyConfiguration{} +} + +// WithContainer sets the Container field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Container field is set to the value of the last call. +func (b *ExecRestoreHookApplyConfiguration) WithContainer(value string) *ExecRestoreHookApplyConfiguration { + b.Container = &value + return b +} + +// WithCommand adds the given value to the Command field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Command field. +func (b *ExecRestoreHookApplyConfiguration) WithCommand(values ...string) *ExecRestoreHookApplyConfiguration { + for i := range values { + b.Command = append(b.Command, values[i]) + } + return b +} + +// WithOnError sets the OnError field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the OnError field is set to the value of the last call. +func (b *ExecRestoreHookApplyConfiguration) WithOnError(value v1.HookErrorMode) *ExecRestoreHookApplyConfiguration { + b.OnError = &value + return b +} + +// WithExecTimeout sets the ExecTimeout field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ExecTimeout field is set to the value of the last call. +func (b *ExecRestoreHookApplyConfiguration) WithExecTimeout(value metav1.Duration) *ExecRestoreHookApplyConfiguration { + b.ExecTimeout = &value + return b +} + +// WithWaitTimeout sets the WaitTimeout field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WaitTimeout field is set to the value of the last call. +func (b *ExecRestoreHookApplyConfiguration) WithWaitTimeout(value metav1.Duration) *ExecRestoreHookApplyConfiguration { + b.WaitTimeout = &value + return b +} + +// WithWaitForReady sets the WaitForReady field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WaitForReady field is set to the value of the last call. +func (b *ExecRestoreHookApplyConfiguration) WithWaitForReady(value bool) *ExecRestoreHookApplyConfiguration { + b.WaitForReady = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/hookstatus.go b/pkg/generated/applyconfiguration/velero/v1/hookstatus.go new file mode 100644 index 0000000000..b6e3bc7080 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/hookstatus.go @@ -0,0 +1,48 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +// HookStatusApplyConfiguration represents an declarative configuration of the HookStatus type for use +// with apply. +type HookStatusApplyConfiguration struct { + HooksAttempted *int `json:"hooksAttempted,omitempty"` + HooksFailed *int `json:"hooksFailed,omitempty"` +} + +// HookStatusApplyConfiguration constructs an declarative configuration of the HookStatus type for use with +// apply. +func HookStatus() *HookStatusApplyConfiguration { + return &HookStatusApplyConfiguration{} +} + +// WithHooksAttempted sets the HooksAttempted field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the HooksAttempted field is set to the value of the last call. +func (b *HookStatusApplyConfiguration) WithHooksAttempted(value int) *HookStatusApplyConfiguration { + b.HooksAttempted = &value + return b +} + +// WithHooksFailed sets the HooksFailed field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the HooksFailed field is set to the value of the last call. +func (b *HookStatusApplyConfiguration) WithHooksFailed(value int) *HookStatusApplyConfiguration { + b.HooksFailed = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/initrestorehook.go b/pkg/generated/applyconfiguration/velero/v1/initrestorehook.go new file mode 100644 index 0000000000..9d704b5493 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/initrestorehook.go @@ -0,0 +1,55 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// InitRestoreHookApplyConfiguration represents an declarative configuration of the InitRestoreHook type for use +// with apply. +type InitRestoreHookApplyConfiguration struct { + InitContainers []runtime.RawExtension `json:"initContainers,omitempty"` + Timeout *v1.Duration `json:"timeout,omitempty"` +} + +// InitRestoreHookApplyConfiguration constructs an declarative configuration of the InitRestoreHook type for use with +// apply. +func InitRestoreHook() *InitRestoreHookApplyConfiguration { + return &InitRestoreHookApplyConfiguration{} +} + +// WithInitContainers adds the given value to the InitContainers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the InitContainers field. +func (b *InitRestoreHookApplyConfiguration) WithInitContainers(values ...runtime.RawExtension) *InitRestoreHookApplyConfiguration { + for i := range values { + b.InitContainers = append(b.InitContainers, values[i]) + } + return b +} + +// WithTimeout sets the Timeout field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Timeout field is set to the value of the last call. +func (b *InitRestoreHookApplyConfiguration) WithTimeout(value v1.Duration) *InitRestoreHookApplyConfiguration { + b.Timeout = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/metadata.go b/pkg/generated/applyconfiguration/velero/v1/metadata.go new file mode 100644 index 0000000000..ef0b25ba4b --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/metadata.go @@ -0,0 +1,45 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +// MetadataApplyConfiguration represents an declarative configuration of the Metadata type for use +// with apply. +type MetadataApplyConfiguration struct { + Labels map[string]string `json:"labels,omitempty"` +} + +// MetadataApplyConfiguration constructs an declarative configuration of the Metadata type for use with +// apply. +func Metadata() *MetadataApplyConfiguration { + return &MetadataApplyConfiguration{} +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *MetadataApplyConfiguration) WithLabels(entries map[string]string) *MetadataApplyConfiguration { + if b.Labels == nil && len(entries) > 0 { + b.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Labels[k] = v + } + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/objectstoragelocation.go b/pkg/generated/applyconfiguration/velero/v1/objectstoragelocation.go new file mode 100644 index 0000000000..65791d3ba3 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/objectstoragelocation.go @@ -0,0 +1,59 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +// ObjectStorageLocationApplyConfiguration represents an declarative configuration of the ObjectStorageLocation type for use +// with apply. +type ObjectStorageLocationApplyConfiguration struct { + Bucket *string `json:"bucket,omitempty"` + Prefix *string `json:"prefix,omitempty"` + CACert []byte `json:"caCert,omitempty"` +} + +// ObjectStorageLocationApplyConfiguration constructs an declarative configuration of the ObjectStorageLocation type for use with +// apply. +func ObjectStorageLocation() *ObjectStorageLocationApplyConfiguration { + return &ObjectStorageLocationApplyConfiguration{} +} + +// WithBucket sets the Bucket field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Bucket field is set to the value of the last call. +func (b *ObjectStorageLocationApplyConfiguration) WithBucket(value string) *ObjectStorageLocationApplyConfiguration { + b.Bucket = &value + return b +} + +// WithPrefix sets the Prefix field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Prefix field is set to the value of the last call. +func (b *ObjectStorageLocationApplyConfiguration) WithPrefix(value string) *ObjectStorageLocationApplyConfiguration { + b.Prefix = &value + return b +} + +// WithCACert adds the given value to the CACert field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the CACert field. +func (b *ObjectStorageLocationApplyConfiguration) WithCACert(values ...byte) *ObjectStorageLocationApplyConfiguration { + for i := range values { + b.CACert = append(b.CACert, values[i]) + } + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/plugininfo.go b/pkg/generated/applyconfiguration/velero/v1/plugininfo.go new file mode 100644 index 0000000000..aa00738ea5 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/plugininfo.go @@ -0,0 +1,48 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +// PluginInfoApplyConfiguration represents an declarative configuration of the PluginInfo type for use +// with apply. +type PluginInfoApplyConfiguration struct { + Name *string `json:"name,omitempty"` + Kind *string `json:"kind,omitempty"` +} + +// PluginInfoApplyConfiguration constructs an declarative configuration of the PluginInfo type for use with +// apply. +func PluginInfo() *PluginInfoApplyConfiguration { + return &PluginInfoApplyConfiguration{} +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *PluginInfoApplyConfiguration) WithName(value string) *PluginInfoApplyConfiguration { + b.Name = &value + return b +} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *PluginInfoApplyConfiguration) WithKind(value string) *PluginInfoApplyConfiguration { + b.Kind = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/podvolumebackup.go b/pkg/generated/applyconfiguration/velero/v1/podvolumebackup.go new file mode 100644 index 0000000000..f08e8bbf36 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/podvolumebackup.go @@ -0,0 +1,219 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// PodVolumeBackupApplyConfiguration represents an declarative configuration of the PodVolumeBackup type for use +// with apply. +type PodVolumeBackupApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *PodVolumeBackupSpecApplyConfiguration `json:"spec,omitempty"` + Status *PodVolumeBackupStatusApplyConfiguration `json:"status,omitempty"` +} + +// PodVolumeBackup constructs an declarative configuration of the PodVolumeBackup type for use with +// apply. +func PodVolumeBackup(name, namespace string) *PodVolumeBackupApplyConfiguration { + b := &PodVolumeBackupApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("PodVolumeBackup") + b.WithAPIVersion("velero.io/v1") + return b +} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *PodVolumeBackupApplyConfiguration) WithKind(value string) *PodVolumeBackupApplyConfiguration { + b.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *PodVolumeBackupApplyConfiguration) WithAPIVersion(value string) *PodVolumeBackupApplyConfiguration { + b.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *PodVolumeBackupApplyConfiguration) WithName(value string) *PodVolumeBackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *PodVolumeBackupApplyConfiguration) WithGenerateName(value string) *PodVolumeBackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *PodVolumeBackupApplyConfiguration) WithNamespace(value string) *PodVolumeBackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *PodVolumeBackupApplyConfiguration) WithUID(value types.UID) *PodVolumeBackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *PodVolumeBackupApplyConfiguration) WithResourceVersion(value string) *PodVolumeBackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *PodVolumeBackupApplyConfiguration) WithGeneration(value int64) *PodVolumeBackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *PodVolumeBackupApplyConfiguration) WithCreationTimestamp(value metav1.Time) *PodVolumeBackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *PodVolumeBackupApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *PodVolumeBackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *PodVolumeBackupApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *PodVolumeBackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *PodVolumeBackupApplyConfiguration) WithLabels(entries map[string]string) *PodVolumeBackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Labels == nil && len(entries) > 0 { + b.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *PodVolumeBackupApplyConfiguration) WithAnnotations(entries map[string]string) *PodVolumeBackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Annotations == nil && len(entries) > 0 { + b.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *PodVolumeBackupApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *PodVolumeBackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.OwnerReferences = append(b.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *PodVolumeBackupApplyConfiguration) WithFinalizers(values ...string) *PodVolumeBackupApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.Finalizers = append(b.Finalizers, values[i]) + } + return b +} + +func (b *PodVolumeBackupApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *PodVolumeBackupApplyConfiguration) WithSpec(value *PodVolumeBackupSpecApplyConfiguration) *PodVolumeBackupApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *PodVolumeBackupApplyConfiguration) WithStatus(value *PodVolumeBackupStatusApplyConfiguration) *PodVolumeBackupApplyConfiguration { + b.Status = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/podvolumebackupspec.go b/pkg/generated/applyconfiguration/velero/v1/podvolumebackupspec.go new file mode 100644 index 0000000000..99471b6fb9 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/podvolumebackupspec.go @@ -0,0 +1,118 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "k8s.io/api/core/v1" +) + +// PodVolumeBackupSpecApplyConfiguration represents an declarative configuration of the PodVolumeBackupSpec type for use +// with apply. +type PodVolumeBackupSpecApplyConfiguration struct { + Node *string `json:"node,omitempty"` + Pod *v1.ObjectReference `json:"pod,omitempty"` + Volume *string `json:"volume,omitempty"` + BackupStorageLocation *string `json:"backupStorageLocation,omitempty"` + RepoIdentifier *string `json:"repoIdentifier,omitempty"` + UploaderType *string `json:"uploaderType,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + UploaderSettings map[string]string `json:"uploaderSettings,omitempty"` +} + +// PodVolumeBackupSpecApplyConfiguration constructs an declarative configuration of the PodVolumeBackupSpec type for use with +// apply. +func PodVolumeBackupSpec() *PodVolumeBackupSpecApplyConfiguration { + return &PodVolumeBackupSpecApplyConfiguration{} +} + +// WithNode sets the Node field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Node field is set to the value of the last call. +func (b *PodVolumeBackupSpecApplyConfiguration) WithNode(value string) *PodVolumeBackupSpecApplyConfiguration { + b.Node = &value + return b +} + +// WithPod sets the Pod field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Pod field is set to the value of the last call. +func (b *PodVolumeBackupSpecApplyConfiguration) WithPod(value v1.ObjectReference) *PodVolumeBackupSpecApplyConfiguration { + b.Pod = &value + return b +} + +// WithVolume sets the Volume field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Volume field is set to the value of the last call. +func (b *PodVolumeBackupSpecApplyConfiguration) WithVolume(value string) *PodVolumeBackupSpecApplyConfiguration { + b.Volume = &value + return b +} + +// WithBackupStorageLocation sets the BackupStorageLocation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BackupStorageLocation field is set to the value of the last call. +func (b *PodVolumeBackupSpecApplyConfiguration) WithBackupStorageLocation(value string) *PodVolumeBackupSpecApplyConfiguration { + b.BackupStorageLocation = &value + return b +} + +// WithRepoIdentifier sets the RepoIdentifier field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RepoIdentifier field is set to the value of the last call. +func (b *PodVolumeBackupSpecApplyConfiguration) WithRepoIdentifier(value string) *PodVolumeBackupSpecApplyConfiguration { + b.RepoIdentifier = &value + return b +} + +// WithUploaderType sets the UploaderType field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UploaderType field is set to the value of the last call. +func (b *PodVolumeBackupSpecApplyConfiguration) WithUploaderType(value string) *PodVolumeBackupSpecApplyConfiguration { + b.UploaderType = &value + return b +} + +// WithTags puts the entries into the Tags field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Tags field, +// overwriting an existing map entries in Tags field with the same key. +func (b *PodVolumeBackupSpecApplyConfiguration) WithTags(entries map[string]string) *PodVolumeBackupSpecApplyConfiguration { + if b.Tags == nil && len(entries) > 0 { + b.Tags = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Tags[k] = v + } + return b +} + +// WithUploaderSettings puts the entries into the UploaderSettings field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the UploaderSettings field, +// overwriting an existing map entries in UploaderSettings field with the same key. +func (b *PodVolumeBackupSpecApplyConfiguration) WithUploaderSettings(entries map[string]string) *PodVolumeBackupSpecApplyConfiguration { + if b.UploaderSettings == nil && len(entries) > 0 { + b.UploaderSettings = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.UploaderSettings[k] = v + } + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/podvolumebackupstatus.go b/pkg/generated/applyconfiguration/velero/v1/podvolumebackupstatus.go new file mode 100644 index 0000000000..6b1bd67b41 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/podvolumebackupstatus.go @@ -0,0 +1,99 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + shared "github.com/vmware-tanzu/velero/pkg/apis/velero/shared" + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// PodVolumeBackupStatusApplyConfiguration represents an declarative configuration of the PodVolumeBackupStatus type for use +// with apply. +type PodVolumeBackupStatusApplyConfiguration struct { + Phase *v1.PodVolumeBackupPhase `json:"phase,omitempty"` + Path *string `json:"path,omitempty"` + SnapshotID *string `json:"snapshotID,omitempty"` + Message *string `json:"message,omitempty"` + StartTimestamp *metav1.Time `json:"startTimestamp,omitempty"` + CompletionTimestamp *metav1.Time `json:"completionTimestamp,omitempty"` + Progress *shared.DataMoveOperationProgress `json:"progress,omitempty"` +} + +// PodVolumeBackupStatusApplyConfiguration constructs an declarative configuration of the PodVolumeBackupStatus type for use with +// apply. +func PodVolumeBackupStatus() *PodVolumeBackupStatusApplyConfiguration { + return &PodVolumeBackupStatusApplyConfiguration{} +} + +// WithPhase sets the Phase field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Phase field is set to the value of the last call. +func (b *PodVolumeBackupStatusApplyConfiguration) WithPhase(value v1.PodVolumeBackupPhase) *PodVolumeBackupStatusApplyConfiguration { + b.Phase = &value + return b +} + +// WithPath sets the Path field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Path field is set to the value of the last call. +func (b *PodVolumeBackupStatusApplyConfiguration) WithPath(value string) *PodVolumeBackupStatusApplyConfiguration { + b.Path = &value + return b +} + +// WithSnapshotID sets the SnapshotID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SnapshotID field is set to the value of the last call. +func (b *PodVolumeBackupStatusApplyConfiguration) WithSnapshotID(value string) *PodVolumeBackupStatusApplyConfiguration { + b.SnapshotID = &value + return b +} + +// WithMessage sets the Message field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Message field is set to the value of the last call. +func (b *PodVolumeBackupStatusApplyConfiguration) WithMessage(value string) *PodVolumeBackupStatusApplyConfiguration { + b.Message = &value + return b +} + +// WithStartTimestamp sets the StartTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the StartTimestamp field is set to the value of the last call. +func (b *PodVolumeBackupStatusApplyConfiguration) WithStartTimestamp(value metav1.Time) *PodVolumeBackupStatusApplyConfiguration { + b.StartTimestamp = &value + return b +} + +// WithCompletionTimestamp sets the CompletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CompletionTimestamp field is set to the value of the last call. +func (b *PodVolumeBackupStatusApplyConfiguration) WithCompletionTimestamp(value metav1.Time) *PodVolumeBackupStatusApplyConfiguration { + b.CompletionTimestamp = &value + return b +} + +// WithProgress sets the Progress field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Progress field is set to the value of the last call. +func (b *PodVolumeBackupStatusApplyConfiguration) WithProgress(value shared.DataMoveOperationProgress) *PodVolumeBackupStatusApplyConfiguration { + b.Progress = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/podvolumerestore.go b/pkg/generated/applyconfiguration/velero/v1/podvolumerestore.go new file mode 100644 index 0000000000..caa58fb5d0 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/podvolumerestore.go @@ -0,0 +1,219 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// PodVolumeRestoreApplyConfiguration represents an declarative configuration of the PodVolumeRestore type for use +// with apply. +type PodVolumeRestoreApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *PodVolumeRestoreSpecApplyConfiguration `json:"spec,omitempty"` + Status *PodVolumeRestoreStatusApplyConfiguration `json:"status,omitempty"` +} + +// PodVolumeRestore constructs an declarative configuration of the PodVolumeRestore type for use with +// apply. +func PodVolumeRestore(name, namespace string) *PodVolumeRestoreApplyConfiguration { + b := &PodVolumeRestoreApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("PodVolumeRestore") + b.WithAPIVersion("velero.io/v1") + return b +} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *PodVolumeRestoreApplyConfiguration) WithKind(value string) *PodVolumeRestoreApplyConfiguration { + b.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *PodVolumeRestoreApplyConfiguration) WithAPIVersion(value string) *PodVolumeRestoreApplyConfiguration { + b.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *PodVolumeRestoreApplyConfiguration) WithName(value string) *PodVolumeRestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *PodVolumeRestoreApplyConfiguration) WithGenerateName(value string) *PodVolumeRestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *PodVolumeRestoreApplyConfiguration) WithNamespace(value string) *PodVolumeRestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *PodVolumeRestoreApplyConfiguration) WithUID(value types.UID) *PodVolumeRestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *PodVolumeRestoreApplyConfiguration) WithResourceVersion(value string) *PodVolumeRestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *PodVolumeRestoreApplyConfiguration) WithGeneration(value int64) *PodVolumeRestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *PodVolumeRestoreApplyConfiguration) WithCreationTimestamp(value metav1.Time) *PodVolumeRestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *PodVolumeRestoreApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *PodVolumeRestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *PodVolumeRestoreApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *PodVolumeRestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *PodVolumeRestoreApplyConfiguration) WithLabels(entries map[string]string) *PodVolumeRestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Labels == nil && len(entries) > 0 { + b.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *PodVolumeRestoreApplyConfiguration) WithAnnotations(entries map[string]string) *PodVolumeRestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Annotations == nil && len(entries) > 0 { + b.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *PodVolumeRestoreApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *PodVolumeRestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.OwnerReferences = append(b.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *PodVolumeRestoreApplyConfiguration) WithFinalizers(values ...string) *PodVolumeRestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.Finalizers = append(b.Finalizers, values[i]) + } + return b +} + +func (b *PodVolumeRestoreApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *PodVolumeRestoreApplyConfiguration) WithSpec(value *PodVolumeRestoreSpecApplyConfiguration) *PodVolumeRestoreApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *PodVolumeRestoreApplyConfiguration) WithStatus(value *PodVolumeRestoreStatusApplyConfiguration) *PodVolumeRestoreApplyConfiguration { + b.Status = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/podvolumerestorespec.go b/pkg/generated/applyconfiguration/velero/v1/podvolumerestorespec.go new file mode 100644 index 0000000000..6e394516d2 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/podvolumerestorespec.go @@ -0,0 +1,112 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "k8s.io/api/core/v1" +) + +// PodVolumeRestoreSpecApplyConfiguration represents an declarative configuration of the PodVolumeRestoreSpec type for use +// with apply. +type PodVolumeRestoreSpecApplyConfiguration struct { + Pod *v1.ObjectReference `json:"pod,omitempty"` + Volume *string `json:"volume,omitempty"` + BackupStorageLocation *string `json:"backupStorageLocation,omitempty"` + RepoIdentifier *string `json:"repoIdentifier,omitempty"` + UploaderType *string `json:"uploaderType,omitempty"` + SnapshotID *string `json:"snapshotID,omitempty"` + SourceNamespace *string `json:"sourceNamespace,omitempty"` + UploaderSettings map[string]string `json:"uploaderSettings,omitempty"` +} + +// PodVolumeRestoreSpecApplyConfiguration constructs an declarative configuration of the PodVolumeRestoreSpec type for use with +// apply. +func PodVolumeRestoreSpec() *PodVolumeRestoreSpecApplyConfiguration { + return &PodVolumeRestoreSpecApplyConfiguration{} +} + +// WithPod sets the Pod field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Pod field is set to the value of the last call. +func (b *PodVolumeRestoreSpecApplyConfiguration) WithPod(value v1.ObjectReference) *PodVolumeRestoreSpecApplyConfiguration { + b.Pod = &value + return b +} + +// WithVolume sets the Volume field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Volume field is set to the value of the last call. +func (b *PodVolumeRestoreSpecApplyConfiguration) WithVolume(value string) *PodVolumeRestoreSpecApplyConfiguration { + b.Volume = &value + return b +} + +// WithBackupStorageLocation sets the BackupStorageLocation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BackupStorageLocation field is set to the value of the last call. +func (b *PodVolumeRestoreSpecApplyConfiguration) WithBackupStorageLocation(value string) *PodVolumeRestoreSpecApplyConfiguration { + b.BackupStorageLocation = &value + return b +} + +// WithRepoIdentifier sets the RepoIdentifier field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RepoIdentifier field is set to the value of the last call. +func (b *PodVolumeRestoreSpecApplyConfiguration) WithRepoIdentifier(value string) *PodVolumeRestoreSpecApplyConfiguration { + b.RepoIdentifier = &value + return b +} + +// WithUploaderType sets the UploaderType field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UploaderType field is set to the value of the last call. +func (b *PodVolumeRestoreSpecApplyConfiguration) WithUploaderType(value string) *PodVolumeRestoreSpecApplyConfiguration { + b.UploaderType = &value + return b +} + +// WithSnapshotID sets the SnapshotID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SnapshotID field is set to the value of the last call. +func (b *PodVolumeRestoreSpecApplyConfiguration) WithSnapshotID(value string) *PodVolumeRestoreSpecApplyConfiguration { + b.SnapshotID = &value + return b +} + +// WithSourceNamespace sets the SourceNamespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SourceNamespace field is set to the value of the last call. +func (b *PodVolumeRestoreSpecApplyConfiguration) WithSourceNamespace(value string) *PodVolumeRestoreSpecApplyConfiguration { + b.SourceNamespace = &value + return b +} + +// WithUploaderSettings puts the entries into the UploaderSettings field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the UploaderSettings field, +// overwriting an existing map entries in UploaderSettings field with the same key. +func (b *PodVolumeRestoreSpecApplyConfiguration) WithUploaderSettings(entries map[string]string) *PodVolumeRestoreSpecApplyConfiguration { + if b.UploaderSettings == nil && len(entries) > 0 { + b.UploaderSettings = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.UploaderSettings[k] = v + } + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/podvolumerestorestatus.go b/pkg/generated/applyconfiguration/velero/v1/podvolumerestorestatus.go new file mode 100644 index 0000000000..5f3d1f9d4c --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/podvolumerestorestatus.go @@ -0,0 +1,81 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + shared "github.com/vmware-tanzu/velero/pkg/apis/velero/shared" + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// PodVolumeRestoreStatusApplyConfiguration represents an declarative configuration of the PodVolumeRestoreStatus type for use +// with apply. +type PodVolumeRestoreStatusApplyConfiguration struct { + Phase *v1.PodVolumeRestorePhase `json:"phase,omitempty"` + Message *string `json:"message,omitempty"` + StartTimestamp *metav1.Time `json:"startTimestamp,omitempty"` + CompletionTimestamp *metav1.Time `json:"completionTimestamp,omitempty"` + Progress *shared.DataMoveOperationProgress `json:"progress,omitempty"` +} + +// PodVolumeRestoreStatusApplyConfiguration constructs an declarative configuration of the PodVolumeRestoreStatus type for use with +// apply. +func PodVolumeRestoreStatus() *PodVolumeRestoreStatusApplyConfiguration { + return &PodVolumeRestoreStatusApplyConfiguration{} +} + +// WithPhase sets the Phase field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Phase field is set to the value of the last call. +func (b *PodVolumeRestoreStatusApplyConfiguration) WithPhase(value v1.PodVolumeRestorePhase) *PodVolumeRestoreStatusApplyConfiguration { + b.Phase = &value + return b +} + +// WithMessage sets the Message field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Message field is set to the value of the last call. +func (b *PodVolumeRestoreStatusApplyConfiguration) WithMessage(value string) *PodVolumeRestoreStatusApplyConfiguration { + b.Message = &value + return b +} + +// WithStartTimestamp sets the StartTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the StartTimestamp field is set to the value of the last call. +func (b *PodVolumeRestoreStatusApplyConfiguration) WithStartTimestamp(value metav1.Time) *PodVolumeRestoreStatusApplyConfiguration { + b.StartTimestamp = &value + return b +} + +// WithCompletionTimestamp sets the CompletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CompletionTimestamp field is set to the value of the last call. +func (b *PodVolumeRestoreStatusApplyConfiguration) WithCompletionTimestamp(value metav1.Time) *PodVolumeRestoreStatusApplyConfiguration { + b.CompletionTimestamp = &value + return b +} + +// WithProgress sets the Progress field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Progress field is set to the value of the last call. +func (b *PodVolumeRestoreStatusApplyConfiguration) WithProgress(value shared.DataMoveOperationProgress) *PodVolumeRestoreStatusApplyConfiguration { + b.Progress = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/restore.go b/pkg/generated/applyconfiguration/velero/v1/restore.go new file mode 100644 index 0000000000..ff634c76fe --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/restore.go @@ -0,0 +1,219 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// RestoreApplyConfiguration represents an declarative configuration of the Restore type for use +// with apply. +type RestoreApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *RestoreSpecApplyConfiguration `json:"spec,omitempty"` + Status *RestoreStatusApplyConfiguration `json:"status,omitempty"` +} + +// Restore constructs an declarative configuration of the Restore type for use with +// apply. +func Restore(name, namespace string) *RestoreApplyConfiguration { + b := &RestoreApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("Restore") + b.WithAPIVersion("velero.io/v1") + return b +} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *RestoreApplyConfiguration) WithKind(value string) *RestoreApplyConfiguration { + b.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *RestoreApplyConfiguration) WithAPIVersion(value string) *RestoreApplyConfiguration { + b.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *RestoreApplyConfiguration) WithName(value string) *RestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *RestoreApplyConfiguration) WithGenerateName(value string) *RestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *RestoreApplyConfiguration) WithNamespace(value string) *RestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *RestoreApplyConfiguration) WithUID(value types.UID) *RestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *RestoreApplyConfiguration) WithResourceVersion(value string) *RestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *RestoreApplyConfiguration) WithGeneration(value int64) *RestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *RestoreApplyConfiguration) WithCreationTimestamp(value metav1.Time) *RestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *RestoreApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *RestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *RestoreApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *RestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *RestoreApplyConfiguration) WithLabels(entries map[string]string) *RestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Labels == nil && len(entries) > 0 { + b.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *RestoreApplyConfiguration) WithAnnotations(entries map[string]string) *RestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Annotations == nil && len(entries) > 0 { + b.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *RestoreApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *RestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.OwnerReferences = append(b.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *RestoreApplyConfiguration) WithFinalizers(values ...string) *RestoreApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.Finalizers = append(b.Finalizers, values[i]) + } + return b +} + +func (b *RestoreApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *RestoreApplyConfiguration) WithSpec(value *RestoreSpecApplyConfiguration) *RestoreApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *RestoreApplyConfiguration) WithStatus(value *RestoreStatusApplyConfiguration) *RestoreApplyConfiguration { + b.Status = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/restorehooks.go b/pkg/generated/applyconfiguration/velero/v1/restorehooks.go new file mode 100644 index 0000000000..47931d6631 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/restorehooks.go @@ -0,0 +1,44 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +// RestoreHooksApplyConfiguration represents an declarative configuration of the RestoreHooks type for use +// with apply. +type RestoreHooksApplyConfiguration struct { + Resources []RestoreResourceHookSpecApplyConfiguration `json:"resources,omitempty"` +} + +// RestoreHooksApplyConfiguration constructs an declarative configuration of the RestoreHooks type for use with +// apply. +func RestoreHooks() *RestoreHooksApplyConfiguration { + return &RestoreHooksApplyConfiguration{} +} + +// WithResources adds the given value to the Resources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Resources field. +func (b *RestoreHooksApplyConfiguration) WithResources(values ...*RestoreResourceHookSpecApplyConfiguration) *RestoreHooksApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithResources") + } + b.Resources = append(b.Resources, *values[i]) + } + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/restoreprogress.go b/pkg/generated/applyconfiguration/velero/v1/restoreprogress.go new file mode 100644 index 0000000000..e961016d95 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/restoreprogress.go @@ -0,0 +1,48 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +// RestoreProgressApplyConfiguration represents an declarative configuration of the RestoreProgress type for use +// with apply. +type RestoreProgressApplyConfiguration struct { + TotalItems *int `json:"totalItems,omitempty"` + ItemsRestored *int `json:"itemsRestored,omitempty"` +} + +// RestoreProgressApplyConfiguration constructs an declarative configuration of the RestoreProgress type for use with +// apply. +func RestoreProgress() *RestoreProgressApplyConfiguration { + return &RestoreProgressApplyConfiguration{} +} + +// WithTotalItems sets the TotalItems field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the TotalItems field is set to the value of the last call. +func (b *RestoreProgressApplyConfiguration) WithTotalItems(value int) *RestoreProgressApplyConfiguration { + b.TotalItems = &value + return b +} + +// WithItemsRestored sets the ItemsRestored field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ItemsRestored field is set to the value of the last call. +func (b *RestoreProgressApplyConfiguration) WithItemsRestored(value int) *RestoreProgressApplyConfiguration { + b.ItemsRestored = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/restoreresourcehook.go b/pkg/generated/applyconfiguration/velero/v1/restoreresourcehook.go new file mode 100644 index 0000000000..d0f8a22ce3 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/restoreresourcehook.go @@ -0,0 +1,48 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +// RestoreResourceHookApplyConfiguration represents an declarative configuration of the RestoreResourceHook type for use +// with apply. +type RestoreResourceHookApplyConfiguration struct { + Exec *ExecRestoreHookApplyConfiguration `json:"exec,omitempty"` + Init *InitRestoreHookApplyConfiguration `json:"init,omitempty"` +} + +// RestoreResourceHookApplyConfiguration constructs an declarative configuration of the RestoreResourceHook type for use with +// apply. +func RestoreResourceHook() *RestoreResourceHookApplyConfiguration { + return &RestoreResourceHookApplyConfiguration{} +} + +// WithExec sets the Exec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Exec field is set to the value of the last call. +func (b *RestoreResourceHookApplyConfiguration) WithExec(value *ExecRestoreHookApplyConfiguration) *RestoreResourceHookApplyConfiguration { + b.Exec = value + return b +} + +// WithInit sets the Init field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Init field is set to the value of the last call. +func (b *RestoreResourceHookApplyConfiguration) WithInit(value *InitRestoreHookApplyConfiguration) *RestoreResourceHookApplyConfiguration { + b.Init = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/restoreresourcehookspec.go b/pkg/generated/applyconfiguration/velero/v1/restoreresourcehookspec.go new file mode 100644 index 0000000000..cebbabbc23 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/restoreresourcehookspec.go @@ -0,0 +1,110 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// RestoreResourceHookSpecApplyConfiguration represents an declarative configuration of the RestoreResourceHookSpec type for use +// with apply. +type RestoreResourceHookSpecApplyConfiguration struct { + Name *string `json:"name,omitempty"` + IncludedNamespaces []string `json:"includedNamespaces,omitempty"` + ExcludedNamespaces []string `json:"excludedNamespaces,omitempty"` + IncludedResources []string `json:"includedResources,omitempty"` + ExcludedResources []string `json:"excludedResources,omitempty"` + LabelSelector *v1.LabelSelector `json:"labelSelector,omitempty"` + PostHooks []RestoreResourceHookApplyConfiguration `json:"postHooks,omitempty"` +} + +// RestoreResourceHookSpecApplyConfiguration constructs an declarative configuration of the RestoreResourceHookSpec type for use with +// apply. +func RestoreResourceHookSpec() *RestoreResourceHookSpecApplyConfiguration { + return &RestoreResourceHookSpecApplyConfiguration{} +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *RestoreResourceHookSpecApplyConfiguration) WithName(value string) *RestoreResourceHookSpecApplyConfiguration { + b.Name = &value + return b +} + +// WithIncludedNamespaces adds the given value to the IncludedNamespaces field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the IncludedNamespaces field. +func (b *RestoreResourceHookSpecApplyConfiguration) WithIncludedNamespaces(values ...string) *RestoreResourceHookSpecApplyConfiguration { + for i := range values { + b.IncludedNamespaces = append(b.IncludedNamespaces, values[i]) + } + return b +} + +// WithExcludedNamespaces adds the given value to the ExcludedNamespaces field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ExcludedNamespaces field. +func (b *RestoreResourceHookSpecApplyConfiguration) WithExcludedNamespaces(values ...string) *RestoreResourceHookSpecApplyConfiguration { + for i := range values { + b.ExcludedNamespaces = append(b.ExcludedNamespaces, values[i]) + } + return b +} + +// WithIncludedResources adds the given value to the IncludedResources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the IncludedResources field. +func (b *RestoreResourceHookSpecApplyConfiguration) WithIncludedResources(values ...string) *RestoreResourceHookSpecApplyConfiguration { + for i := range values { + b.IncludedResources = append(b.IncludedResources, values[i]) + } + return b +} + +// WithExcludedResources adds the given value to the ExcludedResources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ExcludedResources field. +func (b *RestoreResourceHookSpecApplyConfiguration) WithExcludedResources(values ...string) *RestoreResourceHookSpecApplyConfiguration { + for i := range values { + b.ExcludedResources = append(b.ExcludedResources, values[i]) + } + return b +} + +// WithLabelSelector sets the LabelSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LabelSelector field is set to the value of the last call. +func (b *RestoreResourceHookSpecApplyConfiguration) WithLabelSelector(value v1.LabelSelector) *RestoreResourceHookSpecApplyConfiguration { + b.LabelSelector = &value + return b +} + +// WithPostHooks adds the given value to the PostHooks field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the PostHooks field. +func (b *RestoreResourceHookSpecApplyConfiguration) WithPostHooks(values ...*RestoreResourceHookApplyConfiguration) *RestoreResourceHookSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithPostHooks") + } + b.PostHooks = append(b.PostHooks, *values[i]) + } + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/restorespec.go b/pkg/generated/applyconfiguration/velero/v1/restorespec.go new file mode 100644 index 0000000000..18103f5a79 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/restorespec.go @@ -0,0 +1,217 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + apisvelerov1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + corev1 "k8s.io/api/core/v1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// RestoreSpecApplyConfiguration represents an declarative configuration of the RestoreSpec type for use +// with apply. +type RestoreSpecApplyConfiguration struct { + BackupName *string `json:"backupName,omitempty"` + ScheduleName *string `json:"scheduleName,omitempty"` + IncludedNamespaces []string `json:"includedNamespaces,omitempty"` + ExcludedNamespaces []string `json:"excludedNamespaces,omitempty"` + IncludedResources []string `json:"includedResources,omitempty"` + ExcludedResources []string `json:"excludedResources,omitempty"` + NamespaceMapping map[string]string `json:"namespaceMapping,omitempty"` + LabelSelector *v1.LabelSelector `json:"labelSelector,omitempty"` + OrLabelSelectors []*v1.LabelSelector `json:"orLabelSelectors,omitempty"` + RestorePVs *bool `json:"restorePVs,omitempty"` + RestoreStatus *RestoreStatusSpecApplyConfiguration `json:"restoreStatus,omitempty"` + PreserveNodePorts *bool `json:"preserveNodePorts,omitempty"` + IncludeClusterResources *bool `json:"includeClusterResources,omitempty"` + Hooks *RestoreHooksApplyConfiguration `json:"hooks,omitempty"` + ExistingResourcePolicy *apisvelerov1.PolicyType `json:"existingResourcePolicy,omitempty"` + ItemOperationTimeout *v1.Duration `json:"itemOperationTimeout,omitempty"` + ResourceModifier *corev1.TypedLocalObjectReference `json:"resourceModifier,omitempty"` + UploaderConfig *UploaderConfigForRestoreApplyConfiguration `json:"uploaderConfig,omitempty"` +} + +// RestoreSpecApplyConfiguration constructs an declarative configuration of the RestoreSpec type for use with +// apply. +func RestoreSpec() *RestoreSpecApplyConfiguration { + return &RestoreSpecApplyConfiguration{} +} + +// WithBackupName sets the BackupName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BackupName field is set to the value of the last call. +func (b *RestoreSpecApplyConfiguration) WithBackupName(value string) *RestoreSpecApplyConfiguration { + b.BackupName = &value + return b +} + +// WithScheduleName sets the ScheduleName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ScheduleName field is set to the value of the last call. +func (b *RestoreSpecApplyConfiguration) WithScheduleName(value string) *RestoreSpecApplyConfiguration { + b.ScheduleName = &value + return b +} + +// WithIncludedNamespaces adds the given value to the IncludedNamespaces field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the IncludedNamespaces field. +func (b *RestoreSpecApplyConfiguration) WithIncludedNamespaces(values ...string) *RestoreSpecApplyConfiguration { + for i := range values { + b.IncludedNamespaces = append(b.IncludedNamespaces, values[i]) + } + return b +} + +// WithExcludedNamespaces adds the given value to the ExcludedNamespaces field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ExcludedNamespaces field. +func (b *RestoreSpecApplyConfiguration) WithExcludedNamespaces(values ...string) *RestoreSpecApplyConfiguration { + for i := range values { + b.ExcludedNamespaces = append(b.ExcludedNamespaces, values[i]) + } + return b +} + +// WithIncludedResources adds the given value to the IncludedResources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the IncludedResources field. +func (b *RestoreSpecApplyConfiguration) WithIncludedResources(values ...string) *RestoreSpecApplyConfiguration { + for i := range values { + b.IncludedResources = append(b.IncludedResources, values[i]) + } + return b +} + +// WithExcludedResources adds the given value to the ExcludedResources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ExcludedResources field. +func (b *RestoreSpecApplyConfiguration) WithExcludedResources(values ...string) *RestoreSpecApplyConfiguration { + for i := range values { + b.ExcludedResources = append(b.ExcludedResources, values[i]) + } + return b +} + +// WithNamespaceMapping puts the entries into the NamespaceMapping field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the NamespaceMapping field, +// overwriting an existing map entries in NamespaceMapping field with the same key. +func (b *RestoreSpecApplyConfiguration) WithNamespaceMapping(entries map[string]string) *RestoreSpecApplyConfiguration { + if b.NamespaceMapping == nil && len(entries) > 0 { + b.NamespaceMapping = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.NamespaceMapping[k] = v + } + return b +} + +// WithLabelSelector sets the LabelSelector field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LabelSelector field is set to the value of the last call. +func (b *RestoreSpecApplyConfiguration) WithLabelSelector(value v1.LabelSelector) *RestoreSpecApplyConfiguration { + b.LabelSelector = &value + return b +} + +// WithOrLabelSelectors adds the given value to the OrLabelSelectors field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OrLabelSelectors field. +func (b *RestoreSpecApplyConfiguration) WithOrLabelSelectors(values ...*v1.LabelSelector) *RestoreSpecApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOrLabelSelectors") + } + b.OrLabelSelectors = append(b.OrLabelSelectors, *values[i]) + } + return b +} + +// WithRestorePVs sets the RestorePVs field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RestorePVs field is set to the value of the last call. +func (b *RestoreSpecApplyConfiguration) WithRestorePVs(value bool) *RestoreSpecApplyConfiguration { + b.RestorePVs = &value + return b +} + +// WithRestoreStatus sets the RestoreStatus field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RestoreStatus field is set to the value of the last call. +func (b *RestoreSpecApplyConfiguration) WithRestoreStatus(value *RestoreStatusSpecApplyConfiguration) *RestoreSpecApplyConfiguration { + b.RestoreStatus = value + return b +} + +// WithPreserveNodePorts sets the PreserveNodePorts field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PreserveNodePorts field is set to the value of the last call. +func (b *RestoreSpecApplyConfiguration) WithPreserveNodePorts(value bool) *RestoreSpecApplyConfiguration { + b.PreserveNodePorts = &value + return b +} + +// WithIncludeClusterResources sets the IncludeClusterResources field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the IncludeClusterResources field is set to the value of the last call. +func (b *RestoreSpecApplyConfiguration) WithIncludeClusterResources(value bool) *RestoreSpecApplyConfiguration { + b.IncludeClusterResources = &value + return b +} + +// WithHooks sets the Hooks field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Hooks field is set to the value of the last call. +func (b *RestoreSpecApplyConfiguration) WithHooks(value *RestoreHooksApplyConfiguration) *RestoreSpecApplyConfiguration { + b.Hooks = value + return b +} + +// WithExistingResourcePolicy sets the ExistingResourcePolicy field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ExistingResourcePolicy field is set to the value of the last call. +func (b *RestoreSpecApplyConfiguration) WithExistingResourcePolicy(value apisvelerov1.PolicyType) *RestoreSpecApplyConfiguration { + b.ExistingResourcePolicy = &value + return b +} + +// WithItemOperationTimeout sets the ItemOperationTimeout field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ItemOperationTimeout field is set to the value of the last call. +func (b *RestoreSpecApplyConfiguration) WithItemOperationTimeout(value v1.Duration) *RestoreSpecApplyConfiguration { + b.ItemOperationTimeout = &value + return b +} + +// WithResourceModifier sets the ResourceModifier field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceModifier field is set to the value of the last call. +func (b *RestoreSpecApplyConfiguration) WithResourceModifier(value corev1.TypedLocalObjectReference) *RestoreSpecApplyConfiguration { + b.ResourceModifier = &value + return b +} + +// WithUploaderConfig sets the UploaderConfig field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UploaderConfig field is set to the value of the last call. +func (b *RestoreSpecApplyConfiguration) WithUploaderConfig(value *UploaderConfigForRestoreApplyConfiguration) *RestoreSpecApplyConfiguration { + b.UploaderConfig = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/restorestatus.go b/pkg/generated/applyconfiguration/velero/v1/restorestatus.go new file mode 100644 index 0000000000..5791ed570d --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/restorestatus.go @@ -0,0 +1,145 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// RestoreStatusApplyConfiguration represents an declarative configuration of the RestoreStatus type for use +// with apply. +type RestoreStatusApplyConfiguration struct { + Phase *v1.RestorePhase `json:"phase,omitempty"` + ValidationErrors []string `json:"validationErrors,omitempty"` + Warnings *int `json:"warnings,omitempty"` + Errors *int `json:"errors,omitempty"` + FailureReason *string `json:"failureReason,omitempty"` + StartTimestamp *metav1.Time `json:"startTimestamp,omitempty"` + CompletionTimestamp *metav1.Time `json:"completionTimestamp,omitempty"` + Progress *RestoreProgressApplyConfiguration `json:"progress,omitempty"` + RestoreItemOperationsAttempted *int `json:"restoreItemOperationsAttempted,omitempty"` + RestoreItemOperationsCompleted *int `json:"restoreItemOperationsCompleted,omitempty"` + RestoreItemOperationsFailed *int `json:"restoreItemOperationsFailed,omitempty"` + HookStatus *HookStatusApplyConfiguration `json:"hookStatus,omitempty"` +} + +// RestoreStatusApplyConfiguration constructs an declarative configuration of the RestoreStatus type for use with +// apply. +func RestoreStatus() *RestoreStatusApplyConfiguration { + return &RestoreStatusApplyConfiguration{} +} + +// WithPhase sets the Phase field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Phase field is set to the value of the last call. +func (b *RestoreStatusApplyConfiguration) WithPhase(value v1.RestorePhase) *RestoreStatusApplyConfiguration { + b.Phase = &value + return b +} + +// WithValidationErrors adds the given value to the ValidationErrors field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ValidationErrors field. +func (b *RestoreStatusApplyConfiguration) WithValidationErrors(values ...string) *RestoreStatusApplyConfiguration { + for i := range values { + b.ValidationErrors = append(b.ValidationErrors, values[i]) + } + return b +} + +// WithWarnings sets the Warnings field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Warnings field is set to the value of the last call. +func (b *RestoreStatusApplyConfiguration) WithWarnings(value int) *RestoreStatusApplyConfiguration { + b.Warnings = &value + return b +} + +// WithErrors sets the Errors field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Errors field is set to the value of the last call. +func (b *RestoreStatusApplyConfiguration) WithErrors(value int) *RestoreStatusApplyConfiguration { + b.Errors = &value + return b +} + +// WithFailureReason sets the FailureReason field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the FailureReason field is set to the value of the last call. +func (b *RestoreStatusApplyConfiguration) WithFailureReason(value string) *RestoreStatusApplyConfiguration { + b.FailureReason = &value + return b +} + +// WithStartTimestamp sets the StartTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the StartTimestamp field is set to the value of the last call. +func (b *RestoreStatusApplyConfiguration) WithStartTimestamp(value metav1.Time) *RestoreStatusApplyConfiguration { + b.StartTimestamp = &value + return b +} + +// WithCompletionTimestamp sets the CompletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CompletionTimestamp field is set to the value of the last call. +func (b *RestoreStatusApplyConfiguration) WithCompletionTimestamp(value metav1.Time) *RestoreStatusApplyConfiguration { + b.CompletionTimestamp = &value + return b +} + +// WithProgress sets the Progress field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Progress field is set to the value of the last call. +func (b *RestoreStatusApplyConfiguration) WithProgress(value *RestoreProgressApplyConfiguration) *RestoreStatusApplyConfiguration { + b.Progress = value + return b +} + +// WithRestoreItemOperationsAttempted sets the RestoreItemOperationsAttempted field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RestoreItemOperationsAttempted field is set to the value of the last call. +func (b *RestoreStatusApplyConfiguration) WithRestoreItemOperationsAttempted(value int) *RestoreStatusApplyConfiguration { + b.RestoreItemOperationsAttempted = &value + return b +} + +// WithRestoreItemOperationsCompleted sets the RestoreItemOperationsCompleted field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RestoreItemOperationsCompleted field is set to the value of the last call. +func (b *RestoreStatusApplyConfiguration) WithRestoreItemOperationsCompleted(value int) *RestoreStatusApplyConfiguration { + b.RestoreItemOperationsCompleted = &value + return b +} + +// WithRestoreItemOperationsFailed sets the RestoreItemOperationsFailed field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the RestoreItemOperationsFailed field is set to the value of the last call. +func (b *RestoreStatusApplyConfiguration) WithRestoreItemOperationsFailed(value int) *RestoreStatusApplyConfiguration { + b.RestoreItemOperationsFailed = &value + return b +} + +// WithHookStatus sets the HookStatus field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the HookStatus field is set to the value of the last call. +func (b *RestoreStatusApplyConfiguration) WithHookStatus(value *HookStatusApplyConfiguration) *RestoreStatusApplyConfiguration { + b.HookStatus = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/restorestatusspec.go b/pkg/generated/applyconfiguration/velero/v1/restorestatusspec.go new file mode 100644 index 0000000000..e4f2f0d946 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/restorestatusspec.go @@ -0,0 +1,52 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +// RestoreStatusSpecApplyConfiguration represents an declarative configuration of the RestoreStatusSpec type for use +// with apply. +type RestoreStatusSpecApplyConfiguration struct { + IncludedResources []string `json:"includedResources,omitempty"` + ExcludedResources []string `json:"excludedResources,omitempty"` +} + +// RestoreStatusSpecApplyConfiguration constructs an declarative configuration of the RestoreStatusSpec type for use with +// apply. +func RestoreStatusSpec() *RestoreStatusSpecApplyConfiguration { + return &RestoreStatusSpecApplyConfiguration{} +} + +// WithIncludedResources adds the given value to the IncludedResources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the IncludedResources field. +func (b *RestoreStatusSpecApplyConfiguration) WithIncludedResources(values ...string) *RestoreStatusSpecApplyConfiguration { + for i := range values { + b.IncludedResources = append(b.IncludedResources, values[i]) + } + return b +} + +// WithExcludedResources adds the given value to the ExcludedResources field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ExcludedResources field. +func (b *RestoreStatusSpecApplyConfiguration) WithExcludedResources(values ...string) *RestoreStatusSpecApplyConfiguration { + for i := range values { + b.ExcludedResources = append(b.ExcludedResources, values[i]) + } + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/schedule.go b/pkg/generated/applyconfiguration/velero/v1/schedule.go new file mode 100644 index 0000000000..eecb565e86 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/schedule.go @@ -0,0 +1,219 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// ScheduleApplyConfiguration represents an declarative configuration of the Schedule type for use +// with apply. +type ScheduleApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *ScheduleSpecApplyConfiguration `json:"spec,omitempty"` + Status *ScheduleStatusApplyConfiguration `json:"status,omitempty"` +} + +// Schedule constructs an declarative configuration of the Schedule type for use with +// apply. +func Schedule(name, namespace string) *ScheduleApplyConfiguration { + b := &ScheduleApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("Schedule") + b.WithAPIVersion("velero.io/v1") + return b +} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *ScheduleApplyConfiguration) WithKind(value string) *ScheduleApplyConfiguration { + b.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *ScheduleApplyConfiguration) WithAPIVersion(value string) *ScheduleApplyConfiguration { + b.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *ScheduleApplyConfiguration) WithName(value string) *ScheduleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *ScheduleApplyConfiguration) WithGenerateName(value string) *ScheduleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *ScheduleApplyConfiguration) WithNamespace(value string) *ScheduleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *ScheduleApplyConfiguration) WithUID(value types.UID) *ScheduleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *ScheduleApplyConfiguration) WithResourceVersion(value string) *ScheduleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *ScheduleApplyConfiguration) WithGeneration(value int64) *ScheduleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *ScheduleApplyConfiguration) WithCreationTimestamp(value metav1.Time) *ScheduleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *ScheduleApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *ScheduleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *ScheduleApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *ScheduleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *ScheduleApplyConfiguration) WithLabels(entries map[string]string) *ScheduleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Labels == nil && len(entries) > 0 { + b.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *ScheduleApplyConfiguration) WithAnnotations(entries map[string]string) *ScheduleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Annotations == nil && len(entries) > 0 { + b.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *ScheduleApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *ScheduleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.OwnerReferences = append(b.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *ScheduleApplyConfiguration) WithFinalizers(values ...string) *ScheduleApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.Finalizers = append(b.Finalizers, values[i]) + } + return b +} + +func (b *ScheduleApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *ScheduleApplyConfiguration) WithSpec(value *ScheduleSpecApplyConfiguration) *ScheduleApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *ScheduleApplyConfiguration) WithStatus(value *ScheduleStatusApplyConfiguration) *ScheduleApplyConfiguration { + b.Status = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/schedulespec.go b/pkg/generated/applyconfiguration/velero/v1/schedulespec.go new file mode 100644 index 0000000000..c8521b2b3e --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/schedulespec.go @@ -0,0 +1,75 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +// ScheduleSpecApplyConfiguration represents an declarative configuration of the ScheduleSpec type for use +// with apply. +type ScheduleSpecApplyConfiguration struct { + Template *BackupSpecApplyConfiguration `json:"template,omitempty"` + Schedule *string `json:"schedule,omitempty"` + UseOwnerReferencesInBackup *bool `json:"useOwnerReferencesInBackup,omitempty"` + Paused *bool `json:"paused,omitempty"` + SkipImmediately *bool `json:"skipImmediately,omitempty"` +} + +// ScheduleSpecApplyConfiguration constructs an declarative configuration of the ScheduleSpec type for use with +// apply. +func ScheduleSpec() *ScheduleSpecApplyConfiguration { + return &ScheduleSpecApplyConfiguration{} +} + +// WithTemplate sets the Template field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Template field is set to the value of the last call. +func (b *ScheduleSpecApplyConfiguration) WithTemplate(value *BackupSpecApplyConfiguration) *ScheduleSpecApplyConfiguration { + b.Template = value + return b +} + +// WithSchedule sets the Schedule field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Schedule field is set to the value of the last call. +func (b *ScheduleSpecApplyConfiguration) WithSchedule(value string) *ScheduleSpecApplyConfiguration { + b.Schedule = &value + return b +} + +// WithUseOwnerReferencesInBackup sets the UseOwnerReferencesInBackup field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UseOwnerReferencesInBackup field is set to the value of the last call. +func (b *ScheduleSpecApplyConfiguration) WithUseOwnerReferencesInBackup(value bool) *ScheduleSpecApplyConfiguration { + b.UseOwnerReferencesInBackup = &value + return b +} + +// WithPaused sets the Paused field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Paused field is set to the value of the last call. +func (b *ScheduleSpecApplyConfiguration) WithPaused(value bool) *ScheduleSpecApplyConfiguration { + b.Paused = &value + return b +} + +// WithSkipImmediately sets the SkipImmediately field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SkipImmediately field is set to the value of the last call. +func (b *ScheduleSpecApplyConfiguration) WithSkipImmediately(value bool) *ScheduleSpecApplyConfiguration { + b.SkipImmediately = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/schedulestatus.go b/pkg/generated/applyconfiguration/velero/v1/schedulestatus.go new file mode 100644 index 0000000000..804c477caa --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/schedulestatus.go @@ -0,0 +1,73 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// ScheduleStatusApplyConfiguration represents an declarative configuration of the ScheduleStatus type for use +// with apply. +type ScheduleStatusApplyConfiguration struct { + Phase *v1.SchedulePhase `json:"phase,omitempty"` + LastBackup *metav1.Time `json:"lastBackup,omitempty"` + LastSkipped *metav1.Time `json:"lastSkipped,omitempty"` + ValidationErrors []string `json:"validationErrors,omitempty"` +} + +// ScheduleStatusApplyConfiguration constructs an declarative configuration of the ScheduleStatus type for use with +// apply. +func ScheduleStatus() *ScheduleStatusApplyConfiguration { + return &ScheduleStatusApplyConfiguration{} +} + +// WithPhase sets the Phase field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Phase field is set to the value of the last call. +func (b *ScheduleStatusApplyConfiguration) WithPhase(value v1.SchedulePhase) *ScheduleStatusApplyConfiguration { + b.Phase = &value + return b +} + +// WithLastBackup sets the LastBackup field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LastBackup field is set to the value of the last call. +func (b *ScheduleStatusApplyConfiguration) WithLastBackup(value metav1.Time) *ScheduleStatusApplyConfiguration { + b.LastBackup = &value + return b +} + +// WithLastSkipped sets the LastSkipped field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the LastSkipped field is set to the value of the last call. +func (b *ScheduleStatusApplyConfiguration) WithLastSkipped(value metav1.Time) *ScheduleStatusApplyConfiguration { + b.LastSkipped = &value + return b +} + +// WithValidationErrors adds the given value to the ValidationErrors field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the ValidationErrors field. +func (b *ScheduleStatusApplyConfiguration) WithValidationErrors(values ...string) *ScheduleStatusApplyConfiguration { + for i := range values { + b.ValidationErrors = append(b.ValidationErrors, values[i]) + } + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/serverstatusrequest.go b/pkg/generated/applyconfiguration/velero/v1/serverstatusrequest.go new file mode 100644 index 0000000000..dcf376af26 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/serverstatusrequest.go @@ -0,0 +1,220 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + velerov1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// ServerStatusRequestApplyConfiguration represents an declarative configuration of the ServerStatusRequest type for use +// with apply. +type ServerStatusRequestApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *velerov1.ServerStatusRequestSpec `json:"spec,omitempty"` + Status *ServerStatusRequestStatusApplyConfiguration `json:"status,omitempty"` +} + +// ServerStatusRequest constructs an declarative configuration of the ServerStatusRequest type for use with +// apply. +func ServerStatusRequest(name, namespace string) *ServerStatusRequestApplyConfiguration { + b := &ServerStatusRequestApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("ServerStatusRequest") + b.WithAPIVersion("velero.io/v1") + return b +} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *ServerStatusRequestApplyConfiguration) WithKind(value string) *ServerStatusRequestApplyConfiguration { + b.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *ServerStatusRequestApplyConfiguration) WithAPIVersion(value string) *ServerStatusRequestApplyConfiguration { + b.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *ServerStatusRequestApplyConfiguration) WithName(value string) *ServerStatusRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *ServerStatusRequestApplyConfiguration) WithGenerateName(value string) *ServerStatusRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *ServerStatusRequestApplyConfiguration) WithNamespace(value string) *ServerStatusRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *ServerStatusRequestApplyConfiguration) WithUID(value types.UID) *ServerStatusRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *ServerStatusRequestApplyConfiguration) WithResourceVersion(value string) *ServerStatusRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *ServerStatusRequestApplyConfiguration) WithGeneration(value int64) *ServerStatusRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *ServerStatusRequestApplyConfiguration) WithCreationTimestamp(value metav1.Time) *ServerStatusRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *ServerStatusRequestApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *ServerStatusRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *ServerStatusRequestApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *ServerStatusRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *ServerStatusRequestApplyConfiguration) WithLabels(entries map[string]string) *ServerStatusRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Labels == nil && len(entries) > 0 { + b.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *ServerStatusRequestApplyConfiguration) WithAnnotations(entries map[string]string) *ServerStatusRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Annotations == nil && len(entries) > 0 { + b.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *ServerStatusRequestApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *ServerStatusRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.OwnerReferences = append(b.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *ServerStatusRequestApplyConfiguration) WithFinalizers(values ...string) *ServerStatusRequestApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.Finalizers = append(b.Finalizers, values[i]) + } + return b +} + +func (b *ServerStatusRequestApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *ServerStatusRequestApplyConfiguration) WithSpec(value velerov1.ServerStatusRequestSpec) *ServerStatusRequestApplyConfiguration { + b.Spec = &value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *ServerStatusRequestApplyConfiguration) WithStatus(value *ServerStatusRequestStatusApplyConfiguration) *ServerStatusRequestApplyConfiguration { + b.Status = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/serverstatusrequeststatus.go b/pkg/generated/applyconfiguration/velero/v1/serverstatusrequeststatus.go new file mode 100644 index 0000000000..00297da5e0 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/serverstatusrequeststatus.go @@ -0,0 +1,76 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// ServerStatusRequestStatusApplyConfiguration represents an declarative configuration of the ServerStatusRequestStatus type for use +// with apply. +type ServerStatusRequestStatusApplyConfiguration struct { + Phase *v1.ServerStatusRequestPhase `json:"phase,omitempty"` + ProcessedTimestamp *metav1.Time `json:"processedTimestamp,omitempty"` + ServerVersion *string `json:"serverVersion,omitempty"` + Plugins []PluginInfoApplyConfiguration `json:"plugins,omitempty"` +} + +// ServerStatusRequestStatusApplyConfiguration constructs an declarative configuration of the ServerStatusRequestStatus type for use with +// apply. +func ServerStatusRequestStatus() *ServerStatusRequestStatusApplyConfiguration { + return &ServerStatusRequestStatusApplyConfiguration{} +} + +// WithPhase sets the Phase field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Phase field is set to the value of the last call. +func (b *ServerStatusRequestStatusApplyConfiguration) WithPhase(value v1.ServerStatusRequestPhase) *ServerStatusRequestStatusApplyConfiguration { + b.Phase = &value + return b +} + +// WithProcessedTimestamp sets the ProcessedTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ProcessedTimestamp field is set to the value of the last call. +func (b *ServerStatusRequestStatusApplyConfiguration) WithProcessedTimestamp(value metav1.Time) *ServerStatusRequestStatusApplyConfiguration { + b.ProcessedTimestamp = &value + return b +} + +// WithServerVersion sets the ServerVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ServerVersion field is set to the value of the last call. +func (b *ServerStatusRequestStatusApplyConfiguration) WithServerVersion(value string) *ServerStatusRequestStatusApplyConfiguration { + b.ServerVersion = &value + return b +} + +// WithPlugins adds the given value to the Plugins field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Plugins field. +func (b *ServerStatusRequestStatusApplyConfiguration) WithPlugins(values ...*PluginInfoApplyConfiguration) *ServerStatusRequestStatusApplyConfiguration { + for i := range values { + if values[i] == nil { + panic("nil value passed to WithPlugins") + } + b.Plugins = append(b.Plugins, *values[i]) + } + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/storagetype.go b/pkg/generated/applyconfiguration/velero/v1/storagetype.go new file mode 100644 index 0000000000..4fd1f8d381 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/storagetype.go @@ -0,0 +1,39 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +// StorageTypeApplyConfiguration represents an declarative configuration of the StorageType type for use +// with apply. +type StorageTypeApplyConfiguration struct { + ObjectStorage *ObjectStorageLocationApplyConfiguration `json:"objectStorage,omitempty"` +} + +// StorageTypeApplyConfiguration constructs an declarative configuration of the StorageType type for use with +// apply. +func StorageType() *StorageTypeApplyConfiguration { + return &StorageTypeApplyConfiguration{} +} + +// WithObjectStorage sets the ObjectStorage field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ObjectStorage field is set to the value of the last call. +func (b *StorageTypeApplyConfiguration) WithObjectStorage(value *ObjectStorageLocationApplyConfiguration) *StorageTypeApplyConfiguration { + b.ObjectStorage = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/uploaderconfigforbackup.go b/pkg/generated/applyconfiguration/velero/v1/uploaderconfigforbackup.go new file mode 100644 index 0000000000..9b5d639d5b --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/uploaderconfigforbackup.go @@ -0,0 +1,39 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +// UploaderConfigForBackupApplyConfiguration represents an declarative configuration of the UploaderConfigForBackup type for use +// with apply. +type UploaderConfigForBackupApplyConfiguration struct { + ParallelFilesUpload *int `json:"parallelFilesUpload,omitempty"` +} + +// UploaderConfigForBackupApplyConfiguration constructs an declarative configuration of the UploaderConfigForBackup type for use with +// apply. +func UploaderConfigForBackup() *UploaderConfigForBackupApplyConfiguration { + return &UploaderConfigForBackupApplyConfiguration{} +} + +// WithParallelFilesUpload sets the ParallelFilesUpload field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ParallelFilesUpload field is set to the value of the last call. +func (b *UploaderConfigForBackupApplyConfiguration) WithParallelFilesUpload(value int) *UploaderConfigForBackupApplyConfiguration { + b.ParallelFilesUpload = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/uploaderconfigforrestore.go b/pkg/generated/applyconfiguration/velero/v1/uploaderconfigforrestore.go new file mode 100644 index 0000000000..a76b1a51ca --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/uploaderconfigforrestore.go @@ -0,0 +1,48 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +// UploaderConfigForRestoreApplyConfiguration represents an declarative configuration of the UploaderConfigForRestore type for use +// with apply. +type UploaderConfigForRestoreApplyConfiguration struct { + WriteSparseFiles *bool `json:"writeSparseFiles,omitempty"` + ParallelFilesDownload *int `json:"parallelFilesDownload,omitempty"` +} + +// UploaderConfigForRestoreApplyConfiguration constructs an declarative configuration of the UploaderConfigForRestore type for use with +// apply. +func UploaderConfigForRestore() *UploaderConfigForRestoreApplyConfiguration { + return &UploaderConfigForRestoreApplyConfiguration{} +} + +// WithWriteSparseFiles sets the WriteSparseFiles field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the WriteSparseFiles field is set to the value of the last call. +func (b *UploaderConfigForRestoreApplyConfiguration) WithWriteSparseFiles(value bool) *UploaderConfigForRestoreApplyConfiguration { + b.WriteSparseFiles = &value + return b +} + +// WithParallelFilesDownload sets the ParallelFilesDownload field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ParallelFilesDownload field is set to the value of the last call. +func (b *UploaderConfigForRestoreApplyConfiguration) WithParallelFilesDownload(value int) *UploaderConfigForRestoreApplyConfiguration { + b.ParallelFilesDownload = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/volumesnapshotlocation.go b/pkg/generated/applyconfiguration/velero/v1/volumesnapshotlocation.go new file mode 100644 index 0000000000..3970cc144d --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/volumesnapshotlocation.go @@ -0,0 +1,219 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// VolumeSnapshotLocationApplyConfiguration represents an declarative configuration of the VolumeSnapshotLocation type for use +// with apply. +type VolumeSnapshotLocationApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *VolumeSnapshotLocationSpecApplyConfiguration `json:"spec,omitempty"` + Status *VolumeSnapshotLocationStatusApplyConfiguration `json:"status,omitempty"` +} + +// VolumeSnapshotLocation constructs an declarative configuration of the VolumeSnapshotLocation type for use with +// apply. +func VolumeSnapshotLocation(name, namespace string) *VolumeSnapshotLocationApplyConfiguration { + b := &VolumeSnapshotLocationApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("VolumeSnapshotLocation") + b.WithAPIVersion("velero.io/v1") + return b +} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *VolumeSnapshotLocationApplyConfiguration) WithKind(value string) *VolumeSnapshotLocationApplyConfiguration { + b.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *VolumeSnapshotLocationApplyConfiguration) WithAPIVersion(value string) *VolumeSnapshotLocationApplyConfiguration { + b.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *VolumeSnapshotLocationApplyConfiguration) WithName(value string) *VolumeSnapshotLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *VolumeSnapshotLocationApplyConfiguration) WithGenerateName(value string) *VolumeSnapshotLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *VolumeSnapshotLocationApplyConfiguration) WithNamespace(value string) *VolumeSnapshotLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *VolumeSnapshotLocationApplyConfiguration) WithUID(value types.UID) *VolumeSnapshotLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *VolumeSnapshotLocationApplyConfiguration) WithResourceVersion(value string) *VolumeSnapshotLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *VolumeSnapshotLocationApplyConfiguration) WithGeneration(value int64) *VolumeSnapshotLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *VolumeSnapshotLocationApplyConfiguration) WithCreationTimestamp(value metav1.Time) *VolumeSnapshotLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *VolumeSnapshotLocationApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *VolumeSnapshotLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *VolumeSnapshotLocationApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *VolumeSnapshotLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *VolumeSnapshotLocationApplyConfiguration) WithLabels(entries map[string]string) *VolumeSnapshotLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Labels == nil && len(entries) > 0 { + b.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *VolumeSnapshotLocationApplyConfiguration) WithAnnotations(entries map[string]string) *VolumeSnapshotLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Annotations == nil && len(entries) > 0 { + b.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *VolumeSnapshotLocationApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *VolumeSnapshotLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.OwnerReferences = append(b.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *VolumeSnapshotLocationApplyConfiguration) WithFinalizers(values ...string) *VolumeSnapshotLocationApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.Finalizers = append(b.Finalizers, values[i]) + } + return b +} + +func (b *VolumeSnapshotLocationApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *VolumeSnapshotLocationApplyConfiguration) WithSpec(value *VolumeSnapshotLocationSpecApplyConfiguration) *VolumeSnapshotLocationApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *VolumeSnapshotLocationApplyConfiguration) WithStatus(value *VolumeSnapshotLocationStatusApplyConfiguration) *VolumeSnapshotLocationApplyConfiguration { + b.Status = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/volumesnapshotlocationspec.go b/pkg/generated/applyconfiguration/velero/v1/volumesnapshotlocationspec.go new file mode 100644 index 0000000000..c5111fcffb --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/volumesnapshotlocationspec.go @@ -0,0 +1,67 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "k8s.io/api/core/v1" +) + +// VolumeSnapshotLocationSpecApplyConfiguration represents an declarative configuration of the VolumeSnapshotLocationSpec type for use +// with apply. +type VolumeSnapshotLocationSpecApplyConfiguration struct { + Provider *string `json:"provider,omitempty"` + Config map[string]string `json:"config,omitempty"` + Credential *v1.SecretKeySelector `json:"credential,omitempty"` +} + +// VolumeSnapshotLocationSpecApplyConfiguration constructs an declarative configuration of the VolumeSnapshotLocationSpec type for use with +// apply. +func VolumeSnapshotLocationSpec() *VolumeSnapshotLocationSpecApplyConfiguration { + return &VolumeSnapshotLocationSpecApplyConfiguration{} +} + +// WithProvider sets the Provider field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Provider field is set to the value of the last call. +func (b *VolumeSnapshotLocationSpecApplyConfiguration) WithProvider(value string) *VolumeSnapshotLocationSpecApplyConfiguration { + b.Provider = &value + return b +} + +// WithConfig puts the entries into the Config field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Config field, +// overwriting an existing map entries in Config field with the same key. +func (b *VolumeSnapshotLocationSpecApplyConfiguration) WithConfig(entries map[string]string) *VolumeSnapshotLocationSpecApplyConfiguration { + if b.Config == nil && len(entries) > 0 { + b.Config = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Config[k] = v + } + return b +} + +// WithCredential sets the Credential field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Credential field is set to the value of the last call. +func (b *VolumeSnapshotLocationSpecApplyConfiguration) WithCredential(value v1.SecretKeySelector) *VolumeSnapshotLocationSpecApplyConfiguration { + b.Credential = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v1/volumesnapshotlocationstatus.go b/pkg/generated/applyconfiguration/velero/v1/volumesnapshotlocationstatus.go new file mode 100644 index 0000000000..6c8b059306 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v1/volumesnapshotlocationstatus.go @@ -0,0 +1,43 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v1 + +import ( + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" +) + +// VolumeSnapshotLocationStatusApplyConfiguration represents an declarative configuration of the VolumeSnapshotLocationStatus type for use +// with apply. +type VolumeSnapshotLocationStatusApplyConfiguration struct { + Phase *v1.VolumeSnapshotLocationPhase `json:"phase,omitempty"` +} + +// VolumeSnapshotLocationStatusApplyConfiguration constructs an declarative configuration of the VolumeSnapshotLocationStatus type for use with +// apply. +func VolumeSnapshotLocationStatus() *VolumeSnapshotLocationStatusApplyConfiguration { + return &VolumeSnapshotLocationStatusApplyConfiguration{} +} + +// WithPhase sets the Phase field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Phase field is set to the value of the last call. +func (b *VolumeSnapshotLocationStatusApplyConfiguration) WithPhase(value v1.VolumeSnapshotLocationPhase) *VolumeSnapshotLocationStatusApplyConfiguration { + b.Phase = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v2alpha1/csisnapshotspec.go b/pkg/generated/applyconfiguration/velero/v2alpha1/csisnapshotspec.go new file mode 100644 index 0000000000..765c321db1 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v2alpha1/csisnapshotspec.go @@ -0,0 +1,57 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v2alpha1 + +// CSISnapshotSpecApplyConfiguration represents an declarative configuration of the CSISnapshotSpec type for use +// with apply. +type CSISnapshotSpecApplyConfiguration struct { + VolumeSnapshot *string `json:"volumeSnapshot,omitempty"` + StorageClass *string `json:"storageClass,omitempty"` + SnapshotClass *string `json:"snapshotClass,omitempty"` +} + +// CSISnapshotSpecApplyConfiguration constructs an declarative configuration of the CSISnapshotSpec type for use with +// apply. +func CSISnapshotSpec() *CSISnapshotSpecApplyConfiguration { + return &CSISnapshotSpecApplyConfiguration{} +} + +// WithVolumeSnapshot sets the VolumeSnapshot field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the VolumeSnapshot field is set to the value of the last call. +func (b *CSISnapshotSpecApplyConfiguration) WithVolumeSnapshot(value string) *CSISnapshotSpecApplyConfiguration { + b.VolumeSnapshot = &value + return b +} + +// WithStorageClass sets the StorageClass field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the StorageClass field is set to the value of the last call. +func (b *CSISnapshotSpecApplyConfiguration) WithStorageClass(value string) *CSISnapshotSpecApplyConfiguration { + b.StorageClass = &value + return b +} + +// WithSnapshotClass sets the SnapshotClass field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SnapshotClass field is set to the value of the last call. +func (b *CSISnapshotSpecApplyConfiguration) WithSnapshotClass(value string) *CSISnapshotSpecApplyConfiguration { + b.SnapshotClass = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v2alpha1/datadownload.go b/pkg/generated/applyconfiguration/velero/v2alpha1/datadownload.go new file mode 100644 index 0000000000..f627819d3f --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v2alpha1/datadownload.go @@ -0,0 +1,219 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v2alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// DataDownloadApplyConfiguration represents an declarative configuration of the DataDownload type for use +// with apply. +type DataDownloadApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *DataDownloadSpecApplyConfiguration `json:"spec,omitempty"` + Status *DataDownloadStatusApplyConfiguration `json:"status,omitempty"` +} + +// DataDownload constructs an declarative configuration of the DataDownload type for use with +// apply. +func DataDownload(name, namespace string) *DataDownloadApplyConfiguration { + b := &DataDownloadApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("DataDownload") + b.WithAPIVersion("velero.io/v2alpha1") + return b +} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *DataDownloadApplyConfiguration) WithKind(value string) *DataDownloadApplyConfiguration { + b.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *DataDownloadApplyConfiguration) WithAPIVersion(value string) *DataDownloadApplyConfiguration { + b.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *DataDownloadApplyConfiguration) WithName(value string) *DataDownloadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *DataDownloadApplyConfiguration) WithGenerateName(value string) *DataDownloadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *DataDownloadApplyConfiguration) WithNamespace(value string) *DataDownloadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *DataDownloadApplyConfiguration) WithUID(value types.UID) *DataDownloadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *DataDownloadApplyConfiguration) WithResourceVersion(value string) *DataDownloadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *DataDownloadApplyConfiguration) WithGeneration(value int64) *DataDownloadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *DataDownloadApplyConfiguration) WithCreationTimestamp(value metav1.Time) *DataDownloadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *DataDownloadApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *DataDownloadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *DataDownloadApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *DataDownloadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *DataDownloadApplyConfiguration) WithLabels(entries map[string]string) *DataDownloadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Labels == nil && len(entries) > 0 { + b.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *DataDownloadApplyConfiguration) WithAnnotations(entries map[string]string) *DataDownloadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Annotations == nil && len(entries) > 0 { + b.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *DataDownloadApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *DataDownloadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.OwnerReferences = append(b.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *DataDownloadApplyConfiguration) WithFinalizers(values ...string) *DataDownloadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.Finalizers = append(b.Finalizers, values[i]) + } + return b +} + +func (b *DataDownloadApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *DataDownloadApplyConfiguration) WithSpec(value *DataDownloadSpecApplyConfiguration) *DataDownloadApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *DataDownloadApplyConfiguration) WithStatus(value *DataDownloadStatusApplyConfiguration) *DataDownloadApplyConfiguration { + b.Status = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v2alpha1/datadownloadspec.go b/pkg/generated/applyconfiguration/velero/v2alpha1/datadownloadspec.go new file mode 100644 index 0000000000..493b1961cb --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v2alpha1/datadownloadspec.go @@ -0,0 +1,112 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v2alpha1 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// DataDownloadSpecApplyConfiguration represents an declarative configuration of the DataDownloadSpec type for use +// with apply. +type DataDownloadSpecApplyConfiguration struct { + TargetVolume *TargetVolumeSpecApplyConfiguration `json:"targetVolume,omitempty"` + BackupStorageLocation *string `json:"backupStorageLocation,omitempty"` + DataMover *string `json:"datamover,omitempty"` + SnapshotID *string `json:"snapshotID,omitempty"` + SourceNamespace *string `json:"sourceNamespace,omitempty"` + DataMoverConfig map[string]string `json:"dataMoverConfig,omitempty"` + Cancel *bool `json:"cancel,omitempty"` + OperationTimeout *v1.Duration `json:"operationTimeout,omitempty"` +} + +// DataDownloadSpecApplyConfiguration constructs an declarative configuration of the DataDownloadSpec type for use with +// apply. +func DataDownloadSpec() *DataDownloadSpecApplyConfiguration { + return &DataDownloadSpecApplyConfiguration{} +} + +// WithTargetVolume sets the TargetVolume field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the TargetVolume field is set to the value of the last call. +func (b *DataDownloadSpecApplyConfiguration) WithTargetVolume(value *TargetVolumeSpecApplyConfiguration) *DataDownloadSpecApplyConfiguration { + b.TargetVolume = value + return b +} + +// WithBackupStorageLocation sets the BackupStorageLocation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BackupStorageLocation field is set to the value of the last call. +func (b *DataDownloadSpecApplyConfiguration) WithBackupStorageLocation(value string) *DataDownloadSpecApplyConfiguration { + b.BackupStorageLocation = &value + return b +} + +// WithDataMover sets the DataMover field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DataMover field is set to the value of the last call. +func (b *DataDownloadSpecApplyConfiguration) WithDataMover(value string) *DataDownloadSpecApplyConfiguration { + b.DataMover = &value + return b +} + +// WithSnapshotID sets the SnapshotID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SnapshotID field is set to the value of the last call. +func (b *DataDownloadSpecApplyConfiguration) WithSnapshotID(value string) *DataDownloadSpecApplyConfiguration { + b.SnapshotID = &value + return b +} + +// WithSourceNamespace sets the SourceNamespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SourceNamespace field is set to the value of the last call. +func (b *DataDownloadSpecApplyConfiguration) WithSourceNamespace(value string) *DataDownloadSpecApplyConfiguration { + b.SourceNamespace = &value + return b +} + +// WithDataMoverConfig puts the entries into the DataMoverConfig field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the DataMoverConfig field, +// overwriting an existing map entries in DataMoverConfig field with the same key. +func (b *DataDownloadSpecApplyConfiguration) WithDataMoverConfig(entries map[string]string) *DataDownloadSpecApplyConfiguration { + if b.DataMoverConfig == nil && len(entries) > 0 { + b.DataMoverConfig = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.DataMoverConfig[k] = v + } + return b +} + +// WithCancel sets the Cancel field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Cancel field is set to the value of the last call. +func (b *DataDownloadSpecApplyConfiguration) WithCancel(value bool) *DataDownloadSpecApplyConfiguration { + b.Cancel = &value + return b +} + +// WithOperationTimeout sets the OperationTimeout field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the OperationTimeout field is set to the value of the last call. +func (b *DataDownloadSpecApplyConfiguration) WithOperationTimeout(value v1.Duration) *DataDownloadSpecApplyConfiguration { + b.OperationTimeout = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v2alpha1/datadownloadstatus.go b/pkg/generated/applyconfiguration/velero/v2alpha1/datadownloadstatus.go new file mode 100644 index 0000000000..42317c4f9b --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v2alpha1/datadownloadstatus.go @@ -0,0 +1,90 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v2alpha1 + +import ( + shared "github.com/vmware-tanzu/velero/pkg/apis/velero/shared" + v2alpha1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v2alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// DataDownloadStatusApplyConfiguration represents an declarative configuration of the DataDownloadStatus type for use +// with apply. +type DataDownloadStatusApplyConfiguration struct { + Phase *v2alpha1.DataDownloadPhase `json:"phase,omitempty"` + Message *string `json:"message,omitempty"` + StartTimestamp *v1.Time `json:"startTimestamp,omitempty"` + CompletionTimestamp *v1.Time `json:"completionTimestamp,omitempty"` + Progress *shared.DataMoveOperationProgress `json:"progress,omitempty"` + Node *string `json:"node,omitempty"` +} + +// DataDownloadStatusApplyConfiguration constructs an declarative configuration of the DataDownloadStatus type for use with +// apply. +func DataDownloadStatus() *DataDownloadStatusApplyConfiguration { + return &DataDownloadStatusApplyConfiguration{} +} + +// WithPhase sets the Phase field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Phase field is set to the value of the last call. +func (b *DataDownloadStatusApplyConfiguration) WithPhase(value v2alpha1.DataDownloadPhase) *DataDownloadStatusApplyConfiguration { + b.Phase = &value + return b +} + +// WithMessage sets the Message field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Message field is set to the value of the last call. +func (b *DataDownloadStatusApplyConfiguration) WithMessage(value string) *DataDownloadStatusApplyConfiguration { + b.Message = &value + return b +} + +// WithStartTimestamp sets the StartTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the StartTimestamp field is set to the value of the last call. +func (b *DataDownloadStatusApplyConfiguration) WithStartTimestamp(value v1.Time) *DataDownloadStatusApplyConfiguration { + b.StartTimestamp = &value + return b +} + +// WithCompletionTimestamp sets the CompletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CompletionTimestamp field is set to the value of the last call. +func (b *DataDownloadStatusApplyConfiguration) WithCompletionTimestamp(value v1.Time) *DataDownloadStatusApplyConfiguration { + b.CompletionTimestamp = &value + return b +} + +// WithProgress sets the Progress field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Progress field is set to the value of the last call. +func (b *DataDownloadStatusApplyConfiguration) WithProgress(value shared.DataMoveOperationProgress) *DataDownloadStatusApplyConfiguration { + b.Progress = &value + return b +} + +// WithNode sets the Node field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Node field is set to the value of the last call. +func (b *DataDownloadStatusApplyConfiguration) WithNode(value string) *DataDownloadStatusApplyConfiguration { + b.Node = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v2alpha1/dataupload.go b/pkg/generated/applyconfiguration/velero/v2alpha1/dataupload.go new file mode 100644 index 0000000000..fe01daf808 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v2alpha1/dataupload.go @@ -0,0 +1,219 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v2alpha1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + types "k8s.io/apimachinery/pkg/types" + v1 "k8s.io/client-go/applyconfigurations/meta/v1" +) + +// DataUploadApplyConfiguration represents an declarative configuration of the DataUpload type for use +// with apply. +type DataUploadApplyConfiguration struct { + v1.TypeMetaApplyConfiguration `json:",inline"` + *v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` + Spec *DataUploadSpecApplyConfiguration `json:"spec,omitempty"` + Status *DataUploadStatusApplyConfiguration `json:"status,omitempty"` +} + +// DataUpload constructs an declarative configuration of the DataUpload type for use with +// apply. +func DataUpload(name, namespace string) *DataUploadApplyConfiguration { + b := &DataUploadApplyConfiguration{} + b.WithName(name) + b.WithNamespace(namespace) + b.WithKind("DataUpload") + b.WithAPIVersion("velero.io/v2alpha1") + return b +} + +// WithKind sets the Kind field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Kind field is set to the value of the last call. +func (b *DataUploadApplyConfiguration) WithKind(value string) *DataUploadApplyConfiguration { + b.Kind = &value + return b +} + +// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the APIVersion field is set to the value of the last call. +func (b *DataUploadApplyConfiguration) WithAPIVersion(value string) *DataUploadApplyConfiguration { + b.APIVersion = &value + return b +} + +// WithName sets the Name field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Name field is set to the value of the last call. +func (b *DataUploadApplyConfiguration) WithName(value string) *DataUploadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Name = &value + return b +} + +// WithGenerateName sets the GenerateName field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the GenerateName field is set to the value of the last call. +func (b *DataUploadApplyConfiguration) WithGenerateName(value string) *DataUploadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.GenerateName = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *DataUploadApplyConfiguration) WithNamespace(value string) *DataUploadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Namespace = &value + return b +} + +// WithUID sets the UID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the UID field is set to the value of the last call. +func (b *DataUploadApplyConfiguration) WithUID(value types.UID) *DataUploadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.UID = &value + return b +} + +// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the ResourceVersion field is set to the value of the last call. +func (b *DataUploadApplyConfiguration) WithResourceVersion(value string) *DataUploadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.ResourceVersion = &value + return b +} + +// WithGeneration sets the Generation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Generation field is set to the value of the last call. +func (b *DataUploadApplyConfiguration) WithGeneration(value int64) *DataUploadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.Generation = &value + return b +} + +// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CreationTimestamp field is set to the value of the last call. +func (b *DataUploadApplyConfiguration) WithCreationTimestamp(value metav1.Time) *DataUploadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.CreationTimestamp = &value + return b +} + +// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionTimestamp field is set to the value of the last call. +func (b *DataUploadApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *DataUploadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionTimestamp = &value + return b +} + +// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. +func (b *DataUploadApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *DataUploadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + b.DeletionGracePeriodSeconds = &value + return b +} + +// WithLabels puts the entries into the Labels field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Labels field, +// overwriting an existing map entries in Labels field with the same key. +func (b *DataUploadApplyConfiguration) WithLabels(entries map[string]string) *DataUploadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Labels == nil && len(entries) > 0 { + b.Labels = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Labels[k] = v + } + return b +} + +// WithAnnotations puts the entries into the Annotations field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the Annotations field, +// overwriting an existing map entries in Annotations field with the same key. +func (b *DataUploadApplyConfiguration) WithAnnotations(entries map[string]string) *DataUploadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + if b.Annotations == nil && len(entries) > 0 { + b.Annotations = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.Annotations[k] = v + } + return b +} + +// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the OwnerReferences field. +func (b *DataUploadApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *DataUploadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + if values[i] == nil { + panic("nil value passed to WithOwnerReferences") + } + b.OwnerReferences = append(b.OwnerReferences, *values[i]) + } + return b +} + +// WithFinalizers adds the given value to the Finalizers field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, values provided by each call will be appended to the Finalizers field. +func (b *DataUploadApplyConfiguration) WithFinalizers(values ...string) *DataUploadApplyConfiguration { + b.ensureObjectMetaApplyConfigurationExists() + for i := range values { + b.Finalizers = append(b.Finalizers, values[i]) + } + return b +} + +func (b *DataUploadApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { + if b.ObjectMetaApplyConfiguration == nil { + b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} + } +} + +// WithSpec sets the Spec field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Spec field is set to the value of the last call. +func (b *DataUploadApplyConfiguration) WithSpec(value *DataUploadSpecApplyConfiguration) *DataUploadApplyConfiguration { + b.Spec = value + return b +} + +// WithStatus sets the Status field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Status field is set to the value of the last call. +func (b *DataUploadApplyConfiguration) WithStatus(value *DataUploadStatusApplyConfiguration) *DataUploadApplyConfiguration { + b.Status = value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v2alpha1/datauploadspec.go b/pkg/generated/applyconfiguration/velero/v2alpha1/datauploadspec.go new file mode 100644 index 0000000000..72083ff3f4 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v2alpha1/datauploadspec.go @@ -0,0 +1,122 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v2alpha1 + +import ( + v2alpha1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v2alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// DataUploadSpecApplyConfiguration represents an declarative configuration of the DataUploadSpec type for use +// with apply. +type DataUploadSpecApplyConfiguration struct { + SnapshotType *v2alpha1.SnapshotType `json:"snapshotType,omitempty"` + CSISnapshot *CSISnapshotSpecApplyConfiguration `json:"csiSnapshot,omitempty"` + SourcePVC *string `json:"sourcePVC,omitempty"` + DataMover *string `json:"datamover,omitempty"` + BackupStorageLocation *string `json:"backupStorageLocation,omitempty"` + SourceNamespace *string `json:"sourceNamespace,omitempty"` + DataMoverConfig map[string]string `json:"dataMoverConfig,omitempty"` + Cancel *bool `json:"cancel,omitempty"` + OperationTimeout *v1.Duration `json:"operationTimeout,omitempty"` +} + +// DataUploadSpecApplyConfiguration constructs an declarative configuration of the DataUploadSpec type for use with +// apply. +func DataUploadSpec() *DataUploadSpecApplyConfiguration { + return &DataUploadSpecApplyConfiguration{} +} + +// WithSnapshotType sets the SnapshotType field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SnapshotType field is set to the value of the last call. +func (b *DataUploadSpecApplyConfiguration) WithSnapshotType(value v2alpha1.SnapshotType) *DataUploadSpecApplyConfiguration { + b.SnapshotType = &value + return b +} + +// WithCSISnapshot sets the CSISnapshot field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CSISnapshot field is set to the value of the last call. +func (b *DataUploadSpecApplyConfiguration) WithCSISnapshot(value *CSISnapshotSpecApplyConfiguration) *DataUploadSpecApplyConfiguration { + b.CSISnapshot = value + return b +} + +// WithSourcePVC sets the SourcePVC field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SourcePVC field is set to the value of the last call. +func (b *DataUploadSpecApplyConfiguration) WithSourcePVC(value string) *DataUploadSpecApplyConfiguration { + b.SourcePVC = &value + return b +} + +// WithDataMover sets the DataMover field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DataMover field is set to the value of the last call. +func (b *DataUploadSpecApplyConfiguration) WithDataMover(value string) *DataUploadSpecApplyConfiguration { + b.DataMover = &value + return b +} + +// WithBackupStorageLocation sets the BackupStorageLocation field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the BackupStorageLocation field is set to the value of the last call. +func (b *DataUploadSpecApplyConfiguration) WithBackupStorageLocation(value string) *DataUploadSpecApplyConfiguration { + b.BackupStorageLocation = &value + return b +} + +// WithSourceNamespace sets the SourceNamespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SourceNamespace field is set to the value of the last call. +func (b *DataUploadSpecApplyConfiguration) WithSourceNamespace(value string) *DataUploadSpecApplyConfiguration { + b.SourceNamespace = &value + return b +} + +// WithDataMoverConfig puts the entries into the DataMoverConfig field in the declarative configuration +// and returns the receiver, so that objects can be build by chaining "With" function invocations. +// If called multiple times, the entries provided by each call will be put on the DataMoverConfig field, +// overwriting an existing map entries in DataMoverConfig field with the same key. +func (b *DataUploadSpecApplyConfiguration) WithDataMoverConfig(entries map[string]string) *DataUploadSpecApplyConfiguration { + if b.DataMoverConfig == nil && len(entries) > 0 { + b.DataMoverConfig = make(map[string]string, len(entries)) + } + for k, v := range entries { + b.DataMoverConfig[k] = v + } + return b +} + +// WithCancel sets the Cancel field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Cancel field is set to the value of the last call. +func (b *DataUploadSpecApplyConfiguration) WithCancel(value bool) *DataUploadSpecApplyConfiguration { + b.Cancel = &value + return b +} + +// WithOperationTimeout sets the OperationTimeout field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the OperationTimeout field is set to the value of the last call. +func (b *DataUploadSpecApplyConfiguration) WithOperationTimeout(value v1.Duration) *DataUploadSpecApplyConfiguration { + b.OperationTimeout = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v2alpha1/datauploadstatus.go b/pkg/generated/applyconfiguration/velero/v2alpha1/datauploadstatus.go new file mode 100644 index 0000000000..8f0b1c5943 --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v2alpha1/datauploadstatus.go @@ -0,0 +1,117 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v2alpha1 + +import ( + shared "github.com/vmware-tanzu/velero/pkg/apis/velero/shared" + v2alpha1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v2alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +// DataUploadStatusApplyConfiguration represents an declarative configuration of the DataUploadStatus type for use +// with apply. +type DataUploadStatusApplyConfiguration struct { + Phase *v2alpha1.DataUploadPhase `json:"phase,omitempty"` + Path *string `json:"path,omitempty"` + SnapshotID *string `json:"snapshotID,omitempty"` + DataMoverResult *map[string]string `json:"dataMoverResult,omitempty"` + Message *string `json:"message,omitempty"` + StartTimestamp *v1.Time `json:"startTimestamp,omitempty"` + CompletionTimestamp *v1.Time `json:"completionTimestamp,omitempty"` + Progress *shared.DataMoveOperationProgress `json:"progress,omitempty"` + Node *string `json:"node,omitempty"` +} + +// DataUploadStatusApplyConfiguration constructs an declarative configuration of the DataUploadStatus type for use with +// apply. +func DataUploadStatus() *DataUploadStatusApplyConfiguration { + return &DataUploadStatusApplyConfiguration{} +} + +// WithPhase sets the Phase field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Phase field is set to the value of the last call. +func (b *DataUploadStatusApplyConfiguration) WithPhase(value v2alpha1.DataUploadPhase) *DataUploadStatusApplyConfiguration { + b.Phase = &value + return b +} + +// WithPath sets the Path field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Path field is set to the value of the last call. +func (b *DataUploadStatusApplyConfiguration) WithPath(value string) *DataUploadStatusApplyConfiguration { + b.Path = &value + return b +} + +// WithSnapshotID sets the SnapshotID field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the SnapshotID field is set to the value of the last call. +func (b *DataUploadStatusApplyConfiguration) WithSnapshotID(value string) *DataUploadStatusApplyConfiguration { + b.SnapshotID = &value + return b +} + +// WithDataMoverResult sets the DataMoverResult field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the DataMoverResult field is set to the value of the last call. +func (b *DataUploadStatusApplyConfiguration) WithDataMoverResult(value map[string]string) *DataUploadStatusApplyConfiguration { + b.DataMoverResult = &value + return b +} + +// WithMessage sets the Message field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Message field is set to the value of the last call. +func (b *DataUploadStatusApplyConfiguration) WithMessage(value string) *DataUploadStatusApplyConfiguration { + b.Message = &value + return b +} + +// WithStartTimestamp sets the StartTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the StartTimestamp field is set to the value of the last call. +func (b *DataUploadStatusApplyConfiguration) WithStartTimestamp(value v1.Time) *DataUploadStatusApplyConfiguration { + b.StartTimestamp = &value + return b +} + +// WithCompletionTimestamp sets the CompletionTimestamp field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the CompletionTimestamp field is set to the value of the last call. +func (b *DataUploadStatusApplyConfiguration) WithCompletionTimestamp(value v1.Time) *DataUploadStatusApplyConfiguration { + b.CompletionTimestamp = &value + return b +} + +// WithProgress sets the Progress field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Progress field is set to the value of the last call. +func (b *DataUploadStatusApplyConfiguration) WithProgress(value shared.DataMoveOperationProgress) *DataUploadStatusApplyConfiguration { + b.Progress = &value + return b +} + +// WithNode sets the Node field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Node field is set to the value of the last call. +func (b *DataUploadStatusApplyConfiguration) WithNode(value string) *DataUploadStatusApplyConfiguration { + b.Node = &value + return b +} diff --git a/pkg/generated/applyconfiguration/velero/v2alpha1/targetvolumespec.go b/pkg/generated/applyconfiguration/velero/v2alpha1/targetvolumespec.go new file mode 100644 index 0000000000..b61cd8128f --- /dev/null +++ b/pkg/generated/applyconfiguration/velero/v2alpha1/targetvolumespec.go @@ -0,0 +1,57 @@ +/* +Copyright the Velero contributors. + +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 applyconfiguration-gen. DO NOT EDIT. + +package v2alpha1 + +// TargetVolumeSpecApplyConfiguration represents an declarative configuration of the TargetVolumeSpec type for use +// with apply. +type TargetVolumeSpecApplyConfiguration struct { + PVC *string `json:"pvc,omitempty"` + PV *string `json:"pv,omitempty"` + Namespace *string `json:"namespace,omitempty"` +} + +// TargetVolumeSpecApplyConfiguration constructs an declarative configuration of the TargetVolumeSpec type for use with +// apply. +func TargetVolumeSpec() *TargetVolumeSpecApplyConfiguration { + return &TargetVolumeSpecApplyConfiguration{} +} + +// WithPVC sets the PVC field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PVC field is set to the value of the last call. +func (b *TargetVolumeSpecApplyConfiguration) WithPVC(value string) *TargetVolumeSpecApplyConfiguration { + b.PVC = &value + return b +} + +// WithPV sets the PV field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the PV field is set to the value of the last call. +func (b *TargetVolumeSpecApplyConfiguration) WithPV(value string) *TargetVolumeSpecApplyConfiguration { + b.PV = &value + return b +} + +// WithNamespace sets the Namespace field in the declarative configuration to the given value +// and returns the receiver, so that objects can be built by chaining "With" function invocations. +// If called multiple times, the Namespace field is set to the value of the last call. +func (b *TargetVolumeSpecApplyConfiguration) WithNamespace(value string) *TargetVolumeSpecApplyConfiguration { + b.Namespace = &value + return b +} diff --git a/pkg/generated/clientset/versioned/clientset.go b/pkg/generated/clientset/versioned/clientset.go index 881dee9942..28cdd9bf47 100644 --- a/pkg/generated/clientset/versioned/clientset.go +++ b/pkg/generated/clientset/versioned/clientset.go @@ -20,6 +20,7 @@ package versioned import ( "fmt" + "net/http" velerov1 "github.com/vmware-tanzu/velero/pkg/generated/clientset/versioned/typed/velero/v1" velerov2alpha1 "github.com/vmware-tanzu/velero/pkg/generated/clientset/versioned/typed/velero/v2alpha1" @@ -34,8 +35,7 @@ type Interface interface { VeleroV2alpha1() velerov2alpha1.VeleroV2alpha1Interface } -// Clientset contains the clients for groups. Each group has exactly one -// version included in a Clientset. +// Clientset contains the clients for groups. type Clientset struct { *discovery.DiscoveryClient veleroV1 *velerov1.VeleroV1Client @@ -63,26 +63,49 @@ func (c *Clientset) Discovery() discovery.DiscoveryInterface { // NewForConfig creates a new Clientset for the given config. // If config's RateLimiter is not set and QPS and Burst are acceptable, // NewForConfig will generate a rate-limiter in configShallowCopy. +// NewForConfig is equivalent to NewForConfigAndClient(c, httpClient), +// where httpClient was generated with rest.HTTPClientFor(c). func NewForConfig(c *rest.Config) (*Clientset, error) { configShallowCopy := *c + + if configShallowCopy.UserAgent == "" { + configShallowCopy.UserAgent = rest.DefaultKubernetesUserAgent() + } + + // share the transport between all clients + httpClient, err := rest.HTTPClientFor(&configShallowCopy) + if err != nil { + return nil, err + } + + return NewForConfigAndClient(&configShallowCopy, httpClient) +} + +// NewForConfigAndClient creates a new Clientset for the given config and http client. +// Note the http client provided takes precedence over the configured transport values. +// If config's RateLimiter is not set and QPS and Burst are acceptable, +// NewForConfigAndClient will generate a rate-limiter in configShallowCopy. +func NewForConfigAndClient(c *rest.Config, httpClient *http.Client) (*Clientset, error) { + configShallowCopy := *c if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 { if configShallowCopy.Burst <= 0 { return nil, fmt.Errorf("burst is required to be greater than 0 when RateLimiter is not set and QPS is set to greater than 0") } configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst) } + var cs Clientset var err error - cs.veleroV1, err = velerov1.NewForConfig(&configShallowCopy) + cs.veleroV1, err = velerov1.NewForConfigAndClient(&configShallowCopy, httpClient) if err != nil { return nil, err } - cs.veleroV2alpha1, err = velerov2alpha1.NewForConfig(&configShallowCopy) + cs.veleroV2alpha1, err = velerov2alpha1.NewForConfigAndClient(&configShallowCopy, httpClient) if err != nil { return nil, err } - cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfig(&configShallowCopy) + cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfigAndClient(&configShallowCopy, httpClient) if err != nil { return nil, err } @@ -92,12 +115,11 @@ func NewForConfig(c *rest.Config) (*Clientset, error) { // NewForConfigOrDie creates a new Clientset for the given config and // panics if there is an error in the config. func NewForConfigOrDie(c *rest.Config) *Clientset { - var cs Clientset - cs.veleroV1 = velerov1.NewForConfigOrDie(c) - cs.veleroV2alpha1 = velerov2alpha1.NewForConfigOrDie(c) - - cs.DiscoveryClient = discovery.NewDiscoveryClientForConfigOrDie(c) - return &cs + cs, err := NewForConfig(c) + if err != nil { + panic(err) + } + return cs } // New creates a new Clientset for the given RESTClient. diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/backup.go b/pkg/generated/clientset/versioned/typed/velero/v1/backup.go index 420bfc5c95..17ed243271 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/backup.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/backup.go @@ -20,9 +20,12 @@ package v1 import ( "context" + json "encoding/json" + "fmt" "time" v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" scheme "github.com/vmware-tanzu/velero/pkg/generated/clientset/versioned/scheme" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -47,6 +50,8 @@ type BackupInterface interface { List(ctx context.Context, opts metav1.ListOptions) (*v1.BackupList, error) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.Backup, err error) + Apply(ctx context.Context, backup *velerov1.BackupApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Backup, err error) + ApplyStatus(ctx context.Context, backup *velerov1.BackupApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Backup, err error) BackupExpansion } @@ -193,3 +198,59 @@ func (c *backups) Patch(ctx context.Context, name string, pt types.PatchType, da Into(result) return } + +// Apply takes the given apply declarative configuration, applies it and returns the applied backup. +func (c *backups) Apply(ctx context.Context, backup *velerov1.BackupApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Backup, err error) { + if backup == nil { + return nil, fmt.Errorf("backup provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(backup) + if err != nil { + return nil, err + } + name := backup.Name + if name == nil { + return nil, fmt.Errorf("backup.Name must be provided to Apply") + } + result = &v1.Backup{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("backups"). + Name(*name). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *backups) ApplyStatus(ctx context.Context, backup *velerov1.BackupApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Backup, err error) { + if backup == nil { + return nil, fmt.Errorf("backup provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(backup) + if err != nil { + return nil, err + } + + name := backup.Name + if name == nil { + return nil, fmt.Errorf("backup.Name must be provided to Apply") + } + + result = &v1.Backup{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("backups"). + Name(*name). + SubResource("status"). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/backuprepository.go b/pkg/generated/clientset/versioned/typed/velero/v1/backuprepository.go index 7ecef6dcf6..3283895907 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/backuprepository.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/backuprepository.go @@ -20,9 +20,12 @@ package v1 import ( "context" + json "encoding/json" + "fmt" "time" v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" scheme "github.com/vmware-tanzu/velero/pkg/generated/clientset/versioned/scheme" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -47,6 +50,8 @@ type BackupRepositoryInterface interface { List(ctx context.Context, opts metav1.ListOptions) (*v1.BackupRepositoryList, error) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.BackupRepository, err error) + Apply(ctx context.Context, backupRepository *velerov1.BackupRepositoryApplyConfiguration, opts metav1.ApplyOptions) (result *v1.BackupRepository, err error) + ApplyStatus(ctx context.Context, backupRepository *velerov1.BackupRepositoryApplyConfiguration, opts metav1.ApplyOptions) (result *v1.BackupRepository, err error) BackupRepositoryExpansion } @@ -193,3 +198,59 @@ func (c *backupRepositories) Patch(ctx context.Context, name string, pt types.Pa Into(result) return } + +// Apply takes the given apply declarative configuration, applies it and returns the applied backupRepository. +func (c *backupRepositories) Apply(ctx context.Context, backupRepository *velerov1.BackupRepositoryApplyConfiguration, opts metav1.ApplyOptions) (result *v1.BackupRepository, err error) { + if backupRepository == nil { + return nil, fmt.Errorf("backupRepository provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(backupRepository) + if err != nil { + return nil, err + } + name := backupRepository.Name + if name == nil { + return nil, fmt.Errorf("backupRepository.Name must be provided to Apply") + } + result = &v1.BackupRepository{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("backuprepositories"). + Name(*name). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *backupRepositories) ApplyStatus(ctx context.Context, backupRepository *velerov1.BackupRepositoryApplyConfiguration, opts metav1.ApplyOptions) (result *v1.BackupRepository, err error) { + if backupRepository == nil { + return nil, fmt.Errorf("backupRepository provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(backupRepository) + if err != nil { + return nil, err + } + + name := backupRepository.Name + if name == nil { + return nil, fmt.Errorf("backupRepository.Name must be provided to Apply") + } + + result = &v1.BackupRepository{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("backuprepositories"). + Name(*name). + SubResource("status"). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/backupstoragelocation.go b/pkg/generated/clientset/versioned/typed/velero/v1/backupstoragelocation.go index 352c08ad2f..992a77f0bd 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/backupstoragelocation.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/backupstoragelocation.go @@ -20,9 +20,12 @@ package v1 import ( "context" + json "encoding/json" + "fmt" "time" v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" scheme "github.com/vmware-tanzu/velero/pkg/generated/clientset/versioned/scheme" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -47,6 +50,8 @@ type BackupStorageLocationInterface interface { List(ctx context.Context, opts metav1.ListOptions) (*v1.BackupStorageLocationList, error) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.BackupStorageLocation, err error) + Apply(ctx context.Context, backupStorageLocation *velerov1.BackupStorageLocationApplyConfiguration, opts metav1.ApplyOptions) (result *v1.BackupStorageLocation, err error) + ApplyStatus(ctx context.Context, backupStorageLocation *velerov1.BackupStorageLocationApplyConfiguration, opts metav1.ApplyOptions) (result *v1.BackupStorageLocation, err error) BackupStorageLocationExpansion } @@ -193,3 +198,59 @@ func (c *backupStorageLocations) Patch(ctx context.Context, name string, pt type Into(result) return } + +// Apply takes the given apply declarative configuration, applies it and returns the applied backupStorageLocation. +func (c *backupStorageLocations) Apply(ctx context.Context, backupStorageLocation *velerov1.BackupStorageLocationApplyConfiguration, opts metav1.ApplyOptions) (result *v1.BackupStorageLocation, err error) { + if backupStorageLocation == nil { + return nil, fmt.Errorf("backupStorageLocation provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(backupStorageLocation) + if err != nil { + return nil, err + } + name := backupStorageLocation.Name + if name == nil { + return nil, fmt.Errorf("backupStorageLocation.Name must be provided to Apply") + } + result = &v1.BackupStorageLocation{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("backupstoragelocations"). + Name(*name). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *backupStorageLocations) ApplyStatus(ctx context.Context, backupStorageLocation *velerov1.BackupStorageLocationApplyConfiguration, opts metav1.ApplyOptions) (result *v1.BackupStorageLocation, err error) { + if backupStorageLocation == nil { + return nil, fmt.Errorf("backupStorageLocation provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(backupStorageLocation) + if err != nil { + return nil, err + } + + name := backupStorageLocation.Name + if name == nil { + return nil, fmt.Errorf("backupStorageLocation.Name must be provided to Apply") + } + + result = &v1.BackupStorageLocation{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("backupstoragelocations"). + Name(*name). + SubResource("status"). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/deletebackuprequest.go b/pkg/generated/clientset/versioned/typed/velero/v1/deletebackuprequest.go index e713e4df9c..2a9fea0174 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/deletebackuprequest.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/deletebackuprequest.go @@ -20,9 +20,12 @@ package v1 import ( "context" + json "encoding/json" + "fmt" "time" v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" scheme "github.com/vmware-tanzu/velero/pkg/generated/clientset/versioned/scheme" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -47,6 +50,8 @@ type DeleteBackupRequestInterface interface { List(ctx context.Context, opts metav1.ListOptions) (*v1.DeleteBackupRequestList, error) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.DeleteBackupRequest, err error) + Apply(ctx context.Context, deleteBackupRequest *velerov1.DeleteBackupRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.DeleteBackupRequest, err error) + ApplyStatus(ctx context.Context, deleteBackupRequest *velerov1.DeleteBackupRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.DeleteBackupRequest, err error) DeleteBackupRequestExpansion } @@ -193,3 +198,59 @@ func (c *deleteBackupRequests) Patch(ctx context.Context, name string, pt types. Into(result) return } + +// Apply takes the given apply declarative configuration, applies it and returns the applied deleteBackupRequest. +func (c *deleteBackupRequests) Apply(ctx context.Context, deleteBackupRequest *velerov1.DeleteBackupRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.DeleteBackupRequest, err error) { + if deleteBackupRequest == nil { + return nil, fmt.Errorf("deleteBackupRequest provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(deleteBackupRequest) + if err != nil { + return nil, err + } + name := deleteBackupRequest.Name + if name == nil { + return nil, fmt.Errorf("deleteBackupRequest.Name must be provided to Apply") + } + result = &v1.DeleteBackupRequest{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("deletebackuprequests"). + Name(*name). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *deleteBackupRequests) ApplyStatus(ctx context.Context, deleteBackupRequest *velerov1.DeleteBackupRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.DeleteBackupRequest, err error) { + if deleteBackupRequest == nil { + return nil, fmt.Errorf("deleteBackupRequest provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(deleteBackupRequest) + if err != nil { + return nil, err + } + + name := deleteBackupRequest.Name + if name == nil { + return nil, fmt.Errorf("deleteBackupRequest.Name must be provided to Apply") + } + + result = &v1.DeleteBackupRequest{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("deletebackuprequests"). + Name(*name). + SubResource("status"). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/downloadrequest.go b/pkg/generated/clientset/versioned/typed/velero/v1/downloadrequest.go index 68e5011f74..395a2624e2 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/downloadrequest.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/downloadrequest.go @@ -20,9 +20,12 @@ package v1 import ( "context" + json "encoding/json" + "fmt" "time" v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" scheme "github.com/vmware-tanzu/velero/pkg/generated/clientset/versioned/scheme" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -47,6 +50,8 @@ type DownloadRequestInterface interface { List(ctx context.Context, opts metav1.ListOptions) (*v1.DownloadRequestList, error) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.DownloadRequest, err error) + Apply(ctx context.Context, downloadRequest *velerov1.DownloadRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.DownloadRequest, err error) + ApplyStatus(ctx context.Context, downloadRequest *velerov1.DownloadRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.DownloadRequest, err error) DownloadRequestExpansion } @@ -193,3 +198,59 @@ func (c *downloadRequests) Patch(ctx context.Context, name string, pt types.Patc Into(result) return } + +// Apply takes the given apply declarative configuration, applies it and returns the applied downloadRequest. +func (c *downloadRequests) Apply(ctx context.Context, downloadRequest *velerov1.DownloadRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.DownloadRequest, err error) { + if downloadRequest == nil { + return nil, fmt.Errorf("downloadRequest provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(downloadRequest) + if err != nil { + return nil, err + } + name := downloadRequest.Name + if name == nil { + return nil, fmt.Errorf("downloadRequest.Name must be provided to Apply") + } + result = &v1.DownloadRequest{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("downloadrequests"). + Name(*name). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *downloadRequests) ApplyStatus(ctx context.Context, downloadRequest *velerov1.DownloadRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.DownloadRequest, err error) { + if downloadRequest == nil { + return nil, fmt.Errorf("downloadRequest provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(downloadRequest) + if err != nil { + return nil, err + } + + name := downloadRequest.Name + if name == nil { + return nil, fmt.Errorf("downloadRequest.Name must be provided to Apply") + } + + result = &v1.DownloadRequest{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("downloadrequests"). + Name(*name). + SubResource("status"). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_backup.go b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_backup.go index 4045f4bb58..729678193a 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_backup.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_backup.go @@ -20,11 +20,13 @@ package fake import ( "context" + json "encoding/json" + "fmt" - velerov1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" - schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" testing "k8s.io/client-go/testing" @@ -36,25 +38,25 @@ type FakeBackups struct { ns string } -var backupsResource = schema.GroupVersionResource{Group: "velero.io", Version: "v1", Resource: "backups"} +var backupsResource = v1.SchemeGroupVersion.WithResource("backups") -var backupsKind = schema.GroupVersionKind{Group: "velero.io", Version: "v1", Kind: "Backup"} +var backupsKind = v1.SchemeGroupVersion.WithKind("Backup") // Get takes name of the backup, and returns the corresponding backup object, and an error if there is any. -func (c *FakeBackups) Get(ctx context.Context, name string, options v1.GetOptions) (result *velerov1.Backup, err error) { +func (c *FakeBackups) Get(ctx context.Context, name string, options metav1.GetOptions) (result *v1.Backup, err error) { obj, err := c.Fake. - Invokes(testing.NewGetAction(backupsResource, c.ns, name), &velerov1.Backup{}) + Invokes(testing.NewGetAction(backupsResource, c.ns, name), &v1.Backup{}) if obj == nil { return nil, err } - return obj.(*velerov1.Backup), err + return obj.(*v1.Backup), err } // List takes label and field selectors, and returns the list of Backups that match those selectors. -func (c *FakeBackups) List(ctx context.Context, opts v1.ListOptions) (result *velerov1.BackupList, err error) { +func (c *FakeBackups) List(ctx context.Context, opts metav1.ListOptions) (result *v1.BackupList, err error) { obj, err := c.Fake. - Invokes(testing.NewListAction(backupsResource, backupsKind, c.ns, opts), &velerov1.BackupList{}) + Invokes(testing.NewListAction(backupsResource, backupsKind, c.ns, opts), &v1.BackupList{}) if obj == nil { return nil, err @@ -64,8 +66,8 @@ func (c *FakeBackups) List(ctx context.Context, opts v1.ListOptions) (result *ve if label == nil { label = labels.Everything() } - list := &velerov1.BackupList{ListMeta: obj.(*velerov1.BackupList).ListMeta} - for _, item := range obj.(*velerov1.BackupList).Items { + list := &v1.BackupList{ListMeta: obj.(*v1.BackupList).ListMeta} + for _, item := range obj.(*v1.BackupList).Items { if label.Matches(labels.Set(item.Labels)) { list.Items = append(list.Items, item) } @@ -74,69 +76,114 @@ func (c *FakeBackups) List(ctx context.Context, opts v1.ListOptions) (result *ve } // Watch returns a watch.Interface that watches the requested backups. -func (c *FakeBackups) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { +func (c *FakeBackups) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(backupsResource, c.ns, opts)) } // Create takes the representation of a backup and creates it. Returns the server's representation of the backup, and an error, if there is any. -func (c *FakeBackups) Create(ctx context.Context, backup *velerov1.Backup, opts v1.CreateOptions) (result *velerov1.Backup, err error) { +func (c *FakeBackups) Create(ctx context.Context, backup *v1.Backup, opts metav1.CreateOptions) (result *v1.Backup, err error) { obj, err := c.Fake. - Invokes(testing.NewCreateAction(backupsResource, c.ns, backup), &velerov1.Backup{}) + Invokes(testing.NewCreateAction(backupsResource, c.ns, backup), &v1.Backup{}) if obj == nil { return nil, err } - return obj.(*velerov1.Backup), err + return obj.(*v1.Backup), err } // Update takes the representation of a backup and updates it. Returns the server's representation of the backup, and an error, if there is any. -func (c *FakeBackups) Update(ctx context.Context, backup *velerov1.Backup, opts v1.UpdateOptions) (result *velerov1.Backup, err error) { +func (c *FakeBackups) Update(ctx context.Context, backup *v1.Backup, opts metav1.UpdateOptions) (result *v1.Backup, err error) { obj, err := c.Fake. - Invokes(testing.NewUpdateAction(backupsResource, c.ns, backup), &velerov1.Backup{}) + Invokes(testing.NewUpdateAction(backupsResource, c.ns, backup), &v1.Backup{}) if obj == nil { return nil, err } - return obj.(*velerov1.Backup), err + return obj.(*v1.Backup), err } // UpdateStatus was generated because the type contains a Status member. // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeBackups) UpdateStatus(ctx context.Context, backup *velerov1.Backup, opts v1.UpdateOptions) (*velerov1.Backup, error) { +func (c *FakeBackups) UpdateStatus(ctx context.Context, backup *v1.Backup, opts metav1.UpdateOptions) (*v1.Backup, error) { obj, err := c.Fake. - Invokes(testing.NewUpdateSubresourceAction(backupsResource, "status", c.ns, backup), &velerov1.Backup{}) + Invokes(testing.NewUpdateSubresourceAction(backupsResource, "status", c.ns, backup), &v1.Backup{}) if obj == nil { return nil, err } - return obj.(*velerov1.Backup), err + return obj.(*v1.Backup), err } // Delete takes name of the backup and deletes it. Returns an error if one occurs. -func (c *FakeBackups) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { +func (c *FakeBackups) Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(backupsResource, c.ns, name), &velerov1.Backup{}) + Invokes(testing.NewDeleteActionWithOptions(backupsResource, c.ns, name, opts), &v1.Backup{}) return err } // DeleteCollection deletes a collection of objects. -func (c *FakeBackups) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { +func (c *FakeBackups) DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error { action := testing.NewDeleteCollectionAction(backupsResource, c.ns, listOpts) - _, err := c.Fake.Invokes(action, &velerov1.BackupList{}) + _, err := c.Fake.Invokes(action, &v1.BackupList{}) return err } // Patch applies the patch and returns the patched backup. -func (c *FakeBackups) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *velerov1.Backup, err error) { +func (c *FakeBackups) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.Backup, err error) { obj, err := c.Fake. - Invokes(testing.NewPatchSubresourceAction(backupsResource, c.ns, name, pt, data, subresources...), &velerov1.Backup{}) + Invokes(testing.NewPatchSubresourceAction(backupsResource, c.ns, name, pt, data, subresources...), &v1.Backup{}) if obj == nil { return nil, err } - return obj.(*velerov1.Backup), err + return obj.(*v1.Backup), err +} + +// Apply takes the given apply declarative configuration, applies it and returns the applied backup. +func (c *FakeBackups) Apply(ctx context.Context, backup *velerov1.BackupApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Backup, err error) { + if backup == nil { + return nil, fmt.Errorf("backup provided to Apply must not be nil") + } + data, err := json.Marshal(backup) + if err != nil { + return nil, err + } + name := backup.Name + if name == nil { + return nil, fmt.Errorf("backup.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(backupsResource, c.ns, *name, types.ApplyPatchType, data), &v1.Backup{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.Backup), err +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *FakeBackups) ApplyStatus(ctx context.Context, backup *velerov1.BackupApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Backup, err error) { + if backup == nil { + return nil, fmt.Errorf("backup provided to Apply must not be nil") + } + data, err := json.Marshal(backup) + if err != nil { + return nil, err + } + name := backup.Name + if name == nil { + return nil, fmt.Errorf("backup.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(backupsResource, c.ns, *name, types.ApplyPatchType, data, "status"), &v1.Backup{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.Backup), err } diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_backuprepository.go b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_backuprepository.go index ef9d6b41c8..91e66ad6cf 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_backuprepository.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_backuprepository.go @@ -20,11 +20,13 @@ package fake import ( "context" + json "encoding/json" + "fmt" - velerov1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" - schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" testing "k8s.io/client-go/testing" @@ -36,25 +38,25 @@ type FakeBackupRepositories struct { ns string } -var backuprepositoriesResource = schema.GroupVersionResource{Group: "velero.io", Version: "v1", Resource: "backuprepositories"} +var backuprepositoriesResource = v1.SchemeGroupVersion.WithResource("backuprepositories") -var backuprepositoriesKind = schema.GroupVersionKind{Group: "velero.io", Version: "v1", Kind: "BackupRepository"} +var backuprepositoriesKind = v1.SchemeGroupVersion.WithKind("BackupRepository") // Get takes name of the backupRepository, and returns the corresponding backupRepository object, and an error if there is any. -func (c *FakeBackupRepositories) Get(ctx context.Context, name string, options v1.GetOptions) (result *velerov1.BackupRepository, err error) { +func (c *FakeBackupRepositories) Get(ctx context.Context, name string, options metav1.GetOptions) (result *v1.BackupRepository, err error) { obj, err := c.Fake. - Invokes(testing.NewGetAction(backuprepositoriesResource, c.ns, name), &velerov1.BackupRepository{}) + Invokes(testing.NewGetAction(backuprepositoriesResource, c.ns, name), &v1.BackupRepository{}) if obj == nil { return nil, err } - return obj.(*velerov1.BackupRepository), err + return obj.(*v1.BackupRepository), err } // List takes label and field selectors, and returns the list of BackupRepositories that match those selectors. -func (c *FakeBackupRepositories) List(ctx context.Context, opts v1.ListOptions) (result *velerov1.BackupRepositoryList, err error) { +func (c *FakeBackupRepositories) List(ctx context.Context, opts metav1.ListOptions) (result *v1.BackupRepositoryList, err error) { obj, err := c.Fake. - Invokes(testing.NewListAction(backuprepositoriesResource, backuprepositoriesKind, c.ns, opts), &velerov1.BackupRepositoryList{}) + Invokes(testing.NewListAction(backuprepositoriesResource, backuprepositoriesKind, c.ns, opts), &v1.BackupRepositoryList{}) if obj == nil { return nil, err @@ -64,8 +66,8 @@ func (c *FakeBackupRepositories) List(ctx context.Context, opts v1.ListOptions) if label == nil { label = labels.Everything() } - list := &velerov1.BackupRepositoryList{ListMeta: obj.(*velerov1.BackupRepositoryList).ListMeta} - for _, item := range obj.(*velerov1.BackupRepositoryList).Items { + list := &v1.BackupRepositoryList{ListMeta: obj.(*v1.BackupRepositoryList).ListMeta} + for _, item := range obj.(*v1.BackupRepositoryList).Items { if label.Matches(labels.Set(item.Labels)) { list.Items = append(list.Items, item) } @@ -74,69 +76,114 @@ func (c *FakeBackupRepositories) List(ctx context.Context, opts v1.ListOptions) } // Watch returns a watch.Interface that watches the requested backupRepositories. -func (c *FakeBackupRepositories) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { +func (c *FakeBackupRepositories) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(backuprepositoriesResource, c.ns, opts)) } // Create takes the representation of a backupRepository and creates it. Returns the server's representation of the backupRepository, and an error, if there is any. -func (c *FakeBackupRepositories) Create(ctx context.Context, backupRepository *velerov1.BackupRepository, opts v1.CreateOptions) (result *velerov1.BackupRepository, err error) { +func (c *FakeBackupRepositories) Create(ctx context.Context, backupRepository *v1.BackupRepository, opts metav1.CreateOptions) (result *v1.BackupRepository, err error) { obj, err := c.Fake. - Invokes(testing.NewCreateAction(backuprepositoriesResource, c.ns, backupRepository), &velerov1.BackupRepository{}) + Invokes(testing.NewCreateAction(backuprepositoriesResource, c.ns, backupRepository), &v1.BackupRepository{}) if obj == nil { return nil, err } - return obj.(*velerov1.BackupRepository), err + return obj.(*v1.BackupRepository), err } // Update takes the representation of a backupRepository and updates it. Returns the server's representation of the backupRepository, and an error, if there is any. -func (c *FakeBackupRepositories) Update(ctx context.Context, backupRepository *velerov1.BackupRepository, opts v1.UpdateOptions) (result *velerov1.BackupRepository, err error) { +func (c *FakeBackupRepositories) Update(ctx context.Context, backupRepository *v1.BackupRepository, opts metav1.UpdateOptions) (result *v1.BackupRepository, err error) { obj, err := c.Fake. - Invokes(testing.NewUpdateAction(backuprepositoriesResource, c.ns, backupRepository), &velerov1.BackupRepository{}) + Invokes(testing.NewUpdateAction(backuprepositoriesResource, c.ns, backupRepository), &v1.BackupRepository{}) if obj == nil { return nil, err } - return obj.(*velerov1.BackupRepository), err + return obj.(*v1.BackupRepository), err } // UpdateStatus was generated because the type contains a Status member. // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeBackupRepositories) UpdateStatus(ctx context.Context, backupRepository *velerov1.BackupRepository, opts v1.UpdateOptions) (*velerov1.BackupRepository, error) { +func (c *FakeBackupRepositories) UpdateStatus(ctx context.Context, backupRepository *v1.BackupRepository, opts metav1.UpdateOptions) (*v1.BackupRepository, error) { obj, err := c.Fake. - Invokes(testing.NewUpdateSubresourceAction(backuprepositoriesResource, "status", c.ns, backupRepository), &velerov1.BackupRepository{}) + Invokes(testing.NewUpdateSubresourceAction(backuprepositoriesResource, "status", c.ns, backupRepository), &v1.BackupRepository{}) if obj == nil { return nil, err } - return obj.(*velerov1.BackupRepository), err + return obj.(*v1.BackupRepository), err } // Delete takes name of the backupRepository and deletes it. Returns an error if one occurs. -func (c *FakeBackupRepositories) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { +func (c *FakeBackupRepositories) Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(backuprepositoriesResource, c.ns, name), &velerov1.BackupRepository{}) + Invokes(testing.NewDeleteActionWithOptions(backuprepositoriesResource, c.ns, name, opts), &v1.BackupRepository{}) return err } // DeleteCollection deletes a collection of objects. -func (c *FakeBackupRepositories) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { +func (c *FakeBackupRepositories) DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error { action := testing.NewDeleteCollectionAction(backuprepositoriesResource, c.ns, listOpts) - _, err := c.Fake.Invokes(action, &velerov1.BackupRepositoryList{}) + _, err := c.Fake.Invokes(action, &v1.BackupRepositoryList{}) return err } // Patch applies the patch and returns the patched backupRepository. -func (c *FakeBackupRepositories) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *velerov1.BackupRepository, err error) { +func (c *FakeBackupRepositories) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.BackupRepository, err error) { obj, err := c.Fake. - Invokes(testing.NewPatchSubresourceAction(backuprepositoriesResource, c.ns, name, pt, data, subresources...), &velerov1.BackupRepository{}) + Invokes(testing.NewPatchSubresourceAction(backuprepositoriesResource, c.ns, name, pt, data, subresources...), &v1.BackupRepository{}) if obj == nil { return nil, err } - return obj.(*velerov1.BackupRepository), err + return obj.(*v1.BackupRepository), err +} + +// Apply takes the given apply declarative configuration, applies it and returns the applied backupRepository. +func (c *FakeBackupRepositories) Apply(ctx context.Context, backupRepository *velerov1.BackupRepositoryApplyConfiguration, opts metav1.ApplyOptions) (result *v1.BackupRepository, err error) { + if backupRepository == nil { + return nil, fmt.Errorf("backupRepository provided to Apply must not be nil") + } + data, err := json.Marshal(backupRepository) + if err != nil { + return nil, err + } + name := backupRepository.Name + if name == nil { + return nil, fmt.Errorf("backupRepository.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(backuprepositoriesResource, c.ns, *name, types.ApplyPatchType, data), &v1.BackupRepository{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.BackupRepository), err +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *FakeBackupRepositories) ApplyStatus(ctx context.Context, backupRepository *velerov1.BackupRepositoryApplyConfiguration, opts metav1.ApplyOptions) (result *v1.BackupRepository, err error) { + if backupRepository == nil { + return nil, fmt.Errorf("backupRepository provided to Apply must not be nil") + } + data, err := json.Marshal(backupRepository) + if err != nil { + return nil, err + } + name := backupRepository.Name + if name == nil { + return nil, fmt.Errorf("backupRepository.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(backuprepositoriesResource, c.ns, *name, types.ApplyPatchType, data, "status"), &v1.BackupRepository{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.BackupRepository), err } diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_backupstoragelocation.go b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_backupstoragelocation.go index 4ad942d058..fb39e9341f 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_backupstoragelocation.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_backupstoragelocation.go @@ -20,11 +20,13 @@ package fake import ( "context" + json "encoding/json" + "fmt" - velerov1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" - schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" testing "k8s.io/client-go/testing" @@ -36,25 +38,25 @@ type FakeBackupStorageLocations struct { ns string } -var backupstoragelocationsResource = schema.GroupVersionResource{Group: "velero.io", Version: "v1", Resource: "backupstoragelocations"} +var backupstoragelocationsResource = v1.SchemeGroupVersion.WithResource("backupstoragelocations") -var backupstoragelocationsKind = schema.GroupVersionKind{Group: "velero.io", Version: "v1", Kind: "BackupStorageLocation"} +var backupstoragelocationsKind = v1.SchemeGroupVersion.WithKind("BackupStorageLocation") // Get takes name of the backupStorageLocation, and returns the corresponding backupStorageLocation object, and an error if there is any. -func (c *FakeBackupStorageLocations) Get(ctx context.Context, name string, options v1.GetOptions) (result *velerov1.BackupStorageLocation, err error) { +func (c *FakeBackupStorageLocations) Get(ctx context.Context, name string, options metav1.GetOptions) (result *v1.BackupStorageLocation, err error) { obj, err := c.Fake. - Invokes(testing.NewGetAction(backupstoragelocationsResource, c.ns, name), &velerov1.BackupStorageLocation{}) + Invokes(testing.NewGetAction(backupstoragelocationsResource, c.ns, name), &v1.BackupStorageLocation{}) if obj == nil { return nil, err } - return obj.(*velerov1.BackupStorageLocation), err + return obj.(*v1.BackupStorageLocation), err } // List takes label and field selectors, and returns the list of BackupStorageLocations that match those selectors. -func (c *FakeBackupStorageLocations) List(ctx context.Context, opts v1.ListOptions) (result *velerov1.BackupStorageLocationList, err error) { +func (c *FakeBackupStorageLocations) List(ctx context.Context, opts metav1.ListOptions) (result *v1.BackupStorageLocationList, err error) { obj, err := c.Fake. - Invokes(testing.NewListAction(backupstoragelocationsResource, backupstoragelocationsKind, c.ns, opts), &velerov1.BackupStorageLocationList{}) + Invokes(testing.NewListAction(backupstoragelocationsResource, backupstoragelocationsKind, c.ns, opts), &v1.BackupStorageLocationList{}) if obj == nil { return nil, err @@ -64,8 +66,8 @@ func (c *FakeBackupStorageLocations) List(ctx context.Context, opts v1.ListOptio if label == nil { label = labels.Everything() } - list := &velerov1.BackupStorageLocationList{ListMeta: obj.(*velerov1.BackupStorageLocationList).ListMeta} - for _, item := range obj.(*velerov1.BackupStorageLocationList).Items { + list := &v1.BackupStorageLocationList{ListMeta: obj.(*v1.BackupStorageLocationList).ListMeta} + for _, item := range obj.(*v1.BackupStorageLocationList).Items { if label.Matches(labels.Set(item.Labels)) { list.Items = append(list.Items, item) } @@ -74,69 +76,114 @@ func (c *FakeBackupStorageLocations) List(ctx context.Context, opts v1.ListOptio } // Watch returns a watch.Interface that watches the requested backupStorageLocations. -func (c *FakeBackupStorageLocations) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { +func (c *FakeBackupStorageLocations) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(backupstoragelocationsResource, c.ns, opts)) } // Create takes the representation of a backupStorageLocation and creates it. Returns the server's representation of the backupStorageLocation, and an error, if there is any. -func (c *FakeBackupStorageLocations) Create(ctx context.Context, backupStorageLocation *velerov1.BackupStorageLocation, opts v1.CreateOptions) (result *velerov1.BackupStorageLocation, err error) { +func (c *FakeBackupStorageLocations) Create(ctx context.Context, backupStorageLocation *v1.BackupStorageLocation, opts metav1.CreateOptions) (result *v1.BackupStorageLocation, err error) { obj, err := c.Fake. - Invokes(testing.NewCreateAction(backupstoragelocationsResource, c.ns, backupStorageLocation), &velerov1.BackupStorageLocation{}) + Invokes(testing.NewCreateAction(backupstoragelocationsResource, c.ns, backupStorageLocation), &v1.BackupStorageLocation{}) if obj == nil { return nil, err } - return obj.(*velerov1.BackupStorageLocation), err + return obj.(*v1.BackupStorageLocation), err } // Update takes the representation of a backupStorageLocation and updates it. Returns the server's representation of the backupStorageLocation, and an error, if there is any. -func (c *FakeBackupStorageLocations) Update(ctx context.Context, backupStorageLocation *velerov1.BackupStorageLocation, opts v1.UpdateOptions) (result *velerov1.BackupStorageLocation, err error) { +func (c *FakeBackupStorageLocations) Update(ctx context.Context, backupStorageLocation *v1.BackupStorageLocation, opts metav1.UpdateOptions) (result *v1.BackupStorageLocation, err error) { obj, err := c.Fake. - Invokes(testing.NewUpdateAction(backupstoragelocationsResource, c.ns, backupStorageLocation), &velerov1.BackupStorageLocation{}) + Invokes(testing.NewUpdateAction(backupstoragelocationsResource, c.ns, backupStorageLocation), &v1.BackupStorageLocation{}) if obj == nil { return nil, err } - return obj.(*velerov1.BackupStorageLocation), err + return obj.(*v1.BackupStorageLocation), err } // UpdateStatus was generated because the type contains a Status member. // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeBackupStorageLocations) UpdateStatus(ctx context.Context, backupStorageLocation *velerov1.BackupStorageLocation, opts v1.UpdateOptions) (*velerov1.BackupStorageLocation, error) { +func (c *FakeBackupStorageLocations) UpdateStatus(ctx context.Context, backupStorageLocation *v1.BackupStorageLocation, opts metav1.UpdateOptions) (*v1.BackupStorageLocation, error) { obj, err := c.Fake. - Invokes(testing.NewUpdateSubresourceAction(backupstoragelocationsResource, "status", c.ns, backupStorageLocation), &velerov1.BackupStorageLocation{}) + Invokes(testing.NewUpdateSubresourceAction(backupstoragelocationsResource, "status", c.ns, backupStorageLocation), &v1.BackupStorageLocation{}) if obj == nil { return nil, err } - return obj.(*velerov1.BackupStorageLocation), err + return obj.(*v1.BackupStorageLocation), err } // Delete takes name of the backupStorageLocation and deletes it. Returns an error if one occurs. -func (c *FakeBackupStorageLocations) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { +func (c *FakeBackupStorageLocations) Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(backupstoragelocationsResource, c.ns, name), &velerov1.BackupStorageLocation{}) + Invokes(testing.NewDeleteActionWithOptions(backupstoragelocationsResource, c.ns, name, opts), &v1.BackupStorageLocation{}) return err } // DeleteCollection deletes a collection of objects. -func (c *FakeBackupStorageLocations) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { +func (c *FakeBackupStorageLocations) DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error { action := testing.NewDeleteCollectionAction(backupstoragelocationsResource, c.ns, listOpts) - _, err := c.Fake.Invokes(action, &velerov1.BackupStorageLocationList{}) + _, err := c.Fake.Invokes(action, &v1.BackupStorageLocationList{}) return err } // Patch applies the patch and returns the patched backupStorageLocation. -func (c *FakeBackupStorageLocations) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *velerov1.BackupStorageLocation, err error) { +func (c *FakeBackupStorageLocations) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.BackupStorageLocation, err error) { obj, err := c.Fake. - Invokes(testing.NewPatchSubresourceAction(backupstoragelocationsResource, c.ns, name, pt, data, subresources...), &velerov1.BackupStorageLocation{}) + Invokes(testing.NewPatchSubresourceAction(backupstoragelocationsResource, c.ns, name, pt, data, subresources...), &v1.BackupStorageLocation{}) if obj == nil { return nil, err } - return obj.(*velerov1.BackupStorageLocation), err + return obj.(*v1.BackupStorageLocation), err +} + +// Apply takes the given apply declarative configuration, applies it and returns the applied backupStorageLocation. +func (c *FakeBackupStorageLocations) Apply(ctx context.Context, backupStorageLocation *velerov1.BackupStorageLocationApplyConfiguration, opts metav1.ApplyOptions) (result *v1.BackupStorageLocation, err error) { + if backupStorageLocation == nil { + return nil, fmt.Errorf("backupStorageLocation provided to Apply must not be nil") + } + data, err := json.Marshal(backupStorageLocation) + if err != nil { + return nil, err + } + name := backupStorageLocation.Name + if name == nil { + return nil, fmt.Errorf("backupStorageLocation.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(backupstoragelocationsResource, c.ns, *name, types.ApplyPatchType, data), &v1.BackupStorageLocation{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.BackupStorageLocation), err +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *FakeBackupStorageLocations) ApplyStatus(ctx context.Context, backupStorageLocation *velerov1.BackupStorageLocationApplyConfiguration, opts metav1.ApplyOptions) (result *v1.BackupStorageLocation, err error) { + if backupStorageLocation == nil { + return nil, fmt.Errorf("backupStorageLocation provided to Apply must not be nil") + } + data, err := json.Marshal(backupStorageLocation) + if err != nil { + return nil, err + } + name := backupStorageLocation.Name + if name == nil { + return nil, fmt.Errorf("backupStorageLocation.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(backupstoragelocationsResource, c.ns, *name, types.ApplyPatchType, data, "status"), &v1.BackupStorageLocation{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.BackupStorageLocation), err } diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_deletebackuprequest.go b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_deletebackuprequest.go index 50a8a466d5..9ffd20389a 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_deletebackuprequest.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_deletebackuprequest.go @@ -20,11 +20,13 @@ package fake import ( "context" + json "encoding/json" + "fmt" - velerov1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" - schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" testing "k8s.io/client-go/testing" @@ -36,25 +38,25 @@ type FakeDeleteBackupRequests struct { ns string } -var deletebackuprequestsResource = schema.GroupVersionResource{Group: "velero.io", Version: "v1", Resource: "deletebackuprequests"} +var deletebackuprequestsResource = v1.SchemeGroupVersion.WithResource("deletebackuprequests") -var deletebackuprequestsKind = schema.GroupVersionKind{Group: "velero.io", Version: "v1", Kind: "DeleteBackupRequest"} +var deletebackuprequestsKind = v1.SchemeGroupVersion.WithKind("DeleteBackupRequest") // Get takes name of the deleteBackupRequest, and returns the corresponding deleteBackupRequest object, and an error if there is any. -func (c *FakeDeleteBackupRequests) Get(ctx context.Context, name string, options v1.GetOptions) (result *velerov1.DeleteBackupRequest, err error) { +func (c *FakeDeleteBackupRequests) Get(ctx context.Context, name string, options metav1.GetOptions) (result *v1.DeleteBackupRequest, err error) { obj, err := c.Fake. - Invokes(testing.NewGetAction(deletebackuprequestsResource, c.ns, name), &velerov1.DeleteBackupRequest{}) + Invokes(testing.NewGetAction(deletebackuprequestsResource, c.ns, name), &v1.DeleteBackupRequest{}) if obj == nil { return nil, err } - return obj.(*velerov1.DeleteBackupRequest), err + return obj.(*v1.DeleteBackupRequest), err } // List takes label and field selectors, and returns the list of DeleteBackupRequests that match those selectors. -func (c *FakeDeleteBackupRequests) List(ctx context.Context, opts v1.ListOptions) (result *velerov1.DeleteBackupRequestList, err error) { +func (c *FakeDeleteBackupRequests) List(ctx context.Context, opts metav1.ListOptions) (result *v1.DeleteBackupRequestList, err error) { obj, err := c.Fake. - Invokes(testing.NewListAction(deletebackuprequestsResource, deletebackuprequestsKind, c.ns, opts), &velerov1.DeleteBackupRequestList{}) + Invokes(testing.NewListAction(deletebackuprequestsResource, deletebackuprequestsKind, c.ns, opts), &v1.DeleteBackupRequestList{}) if obj == nil { return nil, err @@ -64,8 +66,8 @@ func (c *FakeDeleteBackupRequests) List(ctx context.Context, opts v1.ListOptions if label == nil { label = labels.Everything() } - list := &velerov1.DeleteBackupRequestList{ListMeta: obj.(*velerov1.DeleteBackupRequestList).ListMeta} - for _, item := range obj.(*velerov1.DeleteBackupRequestList).Items { + list := &v1.DeleteBackupRequestList{ListMeta: obj.(*v1.DeleteBackupRequestList).ListMeta} + for _, item := range obj.(*v1.DeleteBackupRequestList).Items { if label.Matches(labels.Set(item.Labels)) { list.Items = append(list.Items, item) } @@ -74,69 +76,114 @@ func (c *FakeDeleteBackupRequests) List(ctx context.Context, opts v1.ListOptions } // Watch returns a watch.Interface that watches the requested deleteBackupRequests. -func (c *FakeDeleteBackupRequests) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { +func (c *FakeDeleteBackupRequests) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(deletebackuprequestsResource, c.ns, opts)) } // Create takes the representation of a deleteBackupRequest and creates it. Returns the server's representation of the deleteBackupRequest, and an error, if there is any. -func (c *FakeDeleteBackupRequests) Create(ctx context.Context, deleteBackupRequest *velerov1.DeleteBackupRequest, opts v1.CreateOptions) (result *velerov1.DeleteBackupRequest, err error) { +func (c *FakeDeleteBackupRequests) Create(ctx context.Context, deleteBackupRequest *v1.DeleteBackupRequest, opts metav1.CreateOptions) (result *v1.DeleteBackupRequest, err error) { obj, err := c.Fake. - Invokes(testing.NewCreateAction(deletebackuprequestsResource, c.ns, deleteBackupRequest), &velerov1.DeleteBackupRequest{}) + Invokes(testing.NewCreateAction(deletebackuprequestsResource, c.ns, deleteBackupRequest), &v1.DeleteBackupRequest{}) if obj == nil { return nil, err } - return obj.(*velerov1.DeleteBackupRequest), err + return obj.(*v1.DeleteBackupRequest), err } // Update takes the representation of a deleteBackupRequest and updates it. Returns the server's representation of the deleteBackupRequest, and an error, if there is any. -func (c *FakeDeleteBackupRequests) Update(ctx context.Context, deleteBackupRequest *velerov1.DeleteBackupRequest, opts v1.UpdateOptions) (result *velerov1.DeleteBackupRequest, err error) { +func (c *FakeDeleteBackupRequests) Update(ctx context.Context, deleteBackupRequest *v1.DeleteBackupRequest, opts metav1.UpdateOptions) (result *v1.DeleteBackupRequest, err error) { obj, err := c.Fake. - Invokes(testing.NewUpdateAction(deletebackuprequestsResource, c.ns, deleteBackupRequest), &velerov1.DeleteBackupRequest{}) + Invokes(testing.NewUpdateAction(deletebackuprequestsResource, c.ns, deleteBackupRequest), &v1.DeleteBackupRequest{}) if obj == nil { return nil, err } - return obj.(*velerov1.DeleteBackupRequest), err + return obj.(*v1.DeleteBackupRequest), err } // UpdateStatus was generated because the type contains a Status member. // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeDeleteBackupRequests) UpdateStatus(ctx context.Context, deleteBackupRequest *velerov1.DeleteBackupRequest, opts v1.UpdateOptions) (*velerov1.DeleteBackupRequest, error) { +func (c *FakeDeleteBackupRequests) UpdateStatus(ctx context.Context, deleteBackupRequest *v1.DeleteBackupRequest, opts metav1.UpdateOptions) (*v1.DeleteBackupRequest, error) { obj, err := c.Fake. - Invokes(testing.NewUpdateSubresourceAction(deletebackuprequestsResource, "status", c.ns, deleteBackupRequest), &velerov1.DeleteBackupRequest{}) + Invokes(testing.NewUpdateSubresourceAction(deletebackuprequestsResource, "status", c.ns, deleteBackupRequest), &v1.DeleteBackupRequest{}) if obj == nil { return nil, err } - return obj.(*velerov1.DeleteBackupRequest), err + return obj.(*v1.DeleteBackupRequest), err } // Delete takes name of the deleteBackupRequest and deletes it. Returns an error if one occurs. -func (c *FakeDeleteBackupRequests) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { +func (c *FakeDeleteBackupRequests) Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(deletebackuprequestsResource, c.ns, name), &velerov1.DeleteBackupRequest{}) + Invokes(testing.NewDeleteActionWithOptions(deletebackuprequestsResource, c.ns, name, opts), &v1.DeleteBackupRequest{}) return err } // DeleteCollection deletes a collection of objects. -func (c *FakeDeleteBackupRequests) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { +func (c *FakeDeleteBackupRequests) DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error { action := testing.NewDeleteCollectionAction(deletebackuprequestsResource, c.ns, listOpts) - _, err := c.Fake.Invokes(action, &velerov1.DeleteBackupRequestList{}) + _, err := c.Fake.Invokes(action, &v1.DeleteBackupRequestList{}) return err } // Patch applies the patch and returns the patched deleteBackupRequest. -func (c *FakeDeleteBackupRequests) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *velerov1.DeleteBackupRequest, err error) { +func (c *FakeDeleteBackupRequests) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.DeleteBackupRequest, err error) { obj, err := c.Fake. - Invokes(testing.NewPatchSubresourceAction(deletebackuprequestsResource, c.ns, name, pt, data, subresources...), &velerov1.DeleteBackupRequest{}) + Invokes(testing.NewPatchSubresourceAction(deletebackuprequestsResource, c.ns, name, pt, data, subresources...), &v1.DeleteBackupRequest{}) if obj == nil { return nil, err } - return obj.(*velerov1.DeleteBackupRequest), err + return obj.(*v1.DeleteBackupRequest), err +} + +// Apply takes the given apply declarative configuration, applies it and returns the applied deleteBackupRequest. +func (c *FakeDeleteBackupRequests) Apply(ctx context.Context, deleteBackupRequest *velerov1.DeleteBackupRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.DeleteBackupRequest, err error) { + if deleteBackupRequest == nil { + return nil, fmt.Errorf("deleteBackupRequest provided to Apply must not be nil") + } + data, err := json.Marshal(deleteBackupRequest) + if err != nil { + return nil, err + } + name := deleteBackupRequest.Name + if name == nil { + return nil, fmt.Errorf("deleteBackupRequest.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(deletebackuprequestsResource, c.ns, *name, types.ApplyPatchType, data), &v1.DeleteBackupRequest{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.DeleteBackupRequest), err +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *FakeDeleteBackupRequests) ApplyStatus(ctx context.Context, deleteBackupRequest *velerov1.DeleteBackupRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.DeleteBackupRequest, err error) { + if deleteBackupRequest == nil { + return nil, fmt.Errorf("deleteBackupRequest provided to Apply must not be nil") + } + data, err := json.Marshal(deleteBackupRequest) + if err != nil { + return nil, err + } + name := deleteBackupRequest.Name + if name == nil { + return nil, fmt.Errorf("deleteBackupRequest.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(deletebackuprequestsResource, c.ns, *name, types.ApplyPatchType, data, "status"), &v1.DeleteBackupRequest{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.DeleteBackupRequest), err } diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_downloadrequest.go b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_downloadrequest.go index 04e7f0e6e4..116557a61d 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_downloadrequest.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_downloadrequest.go @@ -20,11 +20,13 @@ package fake import ( "context" + json "encoding/json" + "fmt" - velerov1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" - schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" testing "k8s.io/client-go/testing" @@ -36,25 +38,25 @@ type FakeDownloadRequests struct { ns string } -var downloadrequestsResource = schema.GroupVersionResource{Group: "velero.io", Version: "v1", Resource: "downloadrequests"} +var downloadrequestsResource = v1.SchemeGroupVersion.WithResource("downloadrequests") -var downloadrequestsKind = schema.GroupVersionKind{Group: "velero.io", Version: "v1", Kind: "DownloadRequest"} +var downloadrequestsKind = v1.SchemeGroupVersion.WithKind("DownloadRequest") // Get takes name of the downloadRequest, and returns the corresponding downloadRequest object, and an error if there is any. -func (c *FakeDownloadRequests) Get(ctx context.Context, name string, options v1.GetOptions) (result *velerov1.DownloadRequest, err error) { +func (c *FakeDownloadRequests) Get(ctx context.Context, name string, options metav1.GetOptions) (result *v1.DownloadRequest, err error) { obj, err := c.Fake. - Invokes(testing.NewGetAction(downloadrequestsResource, c.ns, name), &velerov1.DownloadRequest{}) + Invokes(testing.NewGetAction(downloadrequestsResource, c.ns, name), &v1.DownloadRequest{}) if obj == nil { return nil, err } - return obj.(*velerov1.DownloadRequest), err + return obj.(*v1.DownloadRequest), err } // List takes label and field selectors, and returns the list of DownloadRequests that match those selectors. -func (c *FakeDownloadRequests) List(ctx context.Context, opts v1.ListOptions) (result *velerov1.DownloadRequestList, err error) { +func (c *FakeDownloadRequests) List(ctx context.Context, opts metav1.ListOptions) (result *v1.DownloadRequestList, err error) { obj, err := c.Fake. - Invokes(testing.NewListAction(downloadrequestsResource, downloadrequestsKind, c.ns, opts), &velerov1.DownloadRequestList{}) + Invokes(testing.NewListAction(downloadrequestsResource, downloadrequestsKind, c.ns, opts), &v1.DownloadRequestList{}) if obj == nil { return nil, err @@ -64,8 +66,8 @@ func (c *FakeDownloadRequests) List(ctx context.Context, opts v1.ListOptions) (r if label == nil { label = labels.Everything() } - list := &velerov1.DownloadRequestList{ListMeta: obj.(*velerov1.DownloadRequestList).ListMeta} - for _, item := range obj.(*velerov1.DownloadRequestList).Items { + list := &v1.DownloadRequestList{ListMeta: obj.(*v1.DownloadRequestList).ListMeta} + for _, item := range obj.(*v1.DownloadRequestList).Items { if label.Matches(labels.Set(item.Labels)) { list.Items = append(list.Items, item) } @@ -74,69 +76,114 @@ func (c *FakeDownloadRequests) List(ctx context.Context, opts v1.ListOptions) (r } // Watch returns a watch.Interface that watches the requested downloadRequests. -func (c *FakeDownloadRequests) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { +func (c *FakeDownloadRequests) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(downloadrequestsResource, c.ns, opts)) } // Create takes the representation of a downloadRequest and creates it. Returns the server's representation of the downloadRequest, and an error, if there is any. -func (c *FakeDownloadRequests) Create(ctx context.Context, downloadRequest *velerov1.DownloadRequest, opts v1.CreateOptions) (result *velerov1.DownloadRequest, err error) { +func (c *FakeDownloadRequests) Create(ctx context.Context, downloadRequest *v1.DownloadRequest, opts metav1.CreateOptions) (result *v1.DownloadRequest, err error) { obj, err := c.Fake. - Invokes(testing.NewCreateAction(downloadrequestsResource, c.ns, downloadRequest), &velerov1.DownloadRequest{}) + Invokes(testing.NewCreateAction(downloadrequestsResource, c.ns, downloadRequest), &v1.DownloadRequest{}) if obj == nil { return nil, err } - return obj.(*velerov1.DownloadRequest), err + return obj.(*v1.DownloadRequest), err } // Update takes the representation of a downloadRequest and updates it. Returns the server's representation of the downloadRequest, and an error, if there is any. -func (c *FakeDownloadRequests) Update(ctx context.Context, downloadRequest *velerov1.DownloadRequest, opts v1.UpdateOptions) (result *velerov1.DownloadRequest, err error) { +func (c *FakeDownloadRequests) Update(ctx context.Context, downloadRequest *v1.DownloadRequest, opts metav1.UpdateOptions) (result *v1.DownloadRequest, err error) { obj, err := c.Fake. - Invokes(testing.NewUpdateAction(downloadrequestsResource, c.ns, downloadRequest), &velerov1.DownloadRequest{}) + Invokes(testing.NewUpdateAction(downloadrequestsResource, c.ns, downloadRequest), &v1.DownloadRequest{}) if obj == nil { return nil, err } - return obj.(*velerov1.DownloadRequest), err + return obj.(*v1.DownloadRequest), err } // UpdateStatus was generated because the type contains a Status member. // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeDownloadRequests) UpdateStatus(ctx context.Context, downloadRequest *velerov1.DownloadRequest, opts v1.UpdateOptions) (*velerov1.DownloadRequest, error) { +func (c *FakeDownloadRequests) UpdateStatus(ctx context.Context, downloadRequest *v1.DownloadRequest, opts metav1.UpdateOptions) (*v1.DownloadRequest, error) { obj, err := c.Fake. - Invokes(testing.NewUpdateSubresourceAction(downloadrequestsResource, "status", c.ns, downloadRequest), &velerov1.DownloadRequest{}) + Invokes(testing.NewUpdateSubresourceAction(downloadrequestsResource, "status", c.ns, downloadRequest), &v1.DownloadRequest{}) if obj == nil { return nil, err } - return obj.(*velerov1.DownloadRequest), err + return obj.(*v1.DownloadRequest), err } // Delete takes name of the downloadRequest and deletes it. Returns an error if one occurs. -func (c *FakeDownloadRequests) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { +func (c *FakeDownloadRequests) Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(downloadrequestsResource, c.ns, name), &velerov1.DownloadRequest{}) + Invokes(testing.NewDeleteActionWithOptions(downloadrequestsResource, c.ns, name, opts), &v1.DownloadRequest{}) return err } // DeleteCollection deletes a collection of objects. -func (c *FakeDownloadRequests) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { +func (c *FakeDownloadRequests) DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error { action := testing.NewDeleteCollectionAction(downloadrequestsResource, c.ns, listOpts) - _, err := c.Fake.Invokes(action, &velerov1.DownloadRequestList{}) + _, err := c.Fake.Invokes(action, &v1.DownloadRequestList{}) return err } // Patch applies the patch and returns the patched downloadRequest. -func (c *FakeDownloadRequests) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *velerov1.DownloadRequest, err error) { +func (c *FakeDownloadRequests) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.DownloadRequest, err error) { obj, err := c.Fake. - Invokes(testing.NewPatchSubresourceAction(downloadrequestsResource, c.ns, name, pt, data, subresources...), &velerov1.DownloadRequest{}) + Invokes(testing.NewPatchSubresourceAction(downloadrequestsResource, c.ns, name, pt, data, subresources...), &v1.DownloadRequest{}) if obj == nil { return nil, err } - return obj.(*velerov1.DownloadRequest), err + return obj.(*v1.DownloadRequest), err +} + +// Apply takes the given apply declarative configuration, applies it and returns the applied downloadRequest. +func (c *FakeDownloadRequests) Apply(ctx context.Context, downloadRequest *velerov1.DownloadRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.DownloadRequest, err error) { + if downloadRequest == nil { + return nil, fmt.Errorf("downloadRequest provided to Apply must not be nil") + } + data, err := json.Marshal(downloadRequest) + if err != nil { + return nil, err + } + name := downloadRequest.Name + if name == nil { + return nil, fmt.Errorf("downloadRequest.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(downloadrequestsResource, c.ns, *name, types.ApplyPatchType, data), &v1.DownloadRequest{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.DownloadRequest), err +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *FakeDownloadRequests) ApplyStatus(ctx context.Context, downloadRequest *velerov1.DownloadRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.DownloadRequest, err error) { + if downloadRequest == nil { + return nil, fmt.Errorf("downloadRequest provided to Apply must not be nil") + } + data, err := json.Marshal(downloadRequest) + if err != nil { + return nil, err + } + name := downloadRequest.Name + if name == nil { + return nil, fmt.Errorf("downloadRequest.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(downloadrequestsResource, c.ns, *name, types.ApplyPatchType, data, "status"), &v1.DownloadRequest{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.DownloadRequest), err } diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_podvolumebackup.go b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_podvolumebackup.go index 00c76f9356..ec47da0a39 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_podvolumebackup.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_podvolumebackup.go @@ -20,11 +20,13 @@ package fake import ( "context" + json "encoding/json" + "fmt" - velerov1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" - schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" testing "k8s.io/client-go/testing" @@ -36,25 +38,25 @@ type FakePodVolumeBackups struct { ns string } -var podvolumebackupsResource = schema.GroupVersionResource{Group: "velero.io", Version: "v1", Resource: "podvolumebackups"} +var podvolumebackupsResource = v1.SchemeGroupVersion.WithResource("podvolumebackups") -var podvolumebackupsKind = schema.GroupVersionKind{Group: "velero.io", Version: "v1", Kind: "PodVolumeBackup"} +var podvolumebackupsKind = v1.SchemeGroupVersion.WithKind("PodVolumeBackup") // Get takes name of the podVolumeBackup, and returns the corresponding podVolumeBackup object, and an error if there is any. -func (c *FakePodVolumeBackups) Get(ctx context.Context, name string, options v1.GetOptions) (result *velerov1.PodVolumeBackup, err error) { +func (c *FakePodVolumeBackups) Get(ctx context.Context, name string, options metav1.GetOptions) (result *v1.PodVolumeBackup, err error) { obj, err := c.Fake. - Invokes(testing.NewGetAction(podvolumebackupsResource, c.ns, name), &velerov1.PodVolumeBackup{}) + Invokes(testing.NewGetAction(podvolumebackupsResource, c.ns, name), &v1.PodVolumeBackup{}) if obj == nil { return nil, err } - return obj.(*velerov1.PodVolumeBackup), err + return obj.(*v1.PodVolumeBackup), err } // List takes label and field selectors, and returns the list of PodVolumeBackups that match those selectors. -func (c *FakePodVolumeBackups) List(ctx context.Context, opts v1.ListOptions) (result *velerov1.PodVolumeBackupList, err error) { +func (c *FakePodVolumeBackups) List(ctx context.Context, opts metav1.ListOptions) (result *v1.PodVolumeBackupList, err error) { obj, err := c.Fake. - Invokes(testing.NewListAction(podvolumebackupsResource, podvolumebackupsKind, c.ns, opts), &velerov1.PodVolumeBackupList{}) + Invokes(testing.NewListAction(podvolumebackupsResource, podvolumebackupsKind, c.ns, opts), &v1.PodVolumeBackupList{}) if obj == nil { return nil, err @@ -64,8 +66,8 @@ func (c *FakePodVolumeBackups) List(ctx context.Context, opts v1.ListOptions) (r if label == nil { label = labels.Everything() } - list := &velerov1.PodVolumeBackupList{ListMeta: obj.(*velerov1.PodVolumeBackupList).ListMeta} - for _, item := range obj.(*velerov1.PodVolumeBackupList).Items { + list := &v1.PodVolumeBackupList{ListMeta: obj.(*v1.PodVolumeBackupList).ListMeta} + for _, item := range obj.(*v1.PodVolumeBackupList).Items { if label.Matches(labels.Set(item.Labels)) { list.Items = append(list.Items, item) } @@ -74,69 +76,114 @@ func (c *FakePodVolumeBackups) List(ctx context.Context, opts v1.ListOptions) (r } // Watch returns a watch.Interface that watches the requested podVolumeBackups. -func (c *FakePodVolumeBackups) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { +func (c *FakePodVolumeBackups) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(podvolumebackupsResource, c.ns, opts)) } // Create takes the representation of a podVolumeBackup and creates it. Returns the server's representation of the podVolumeBackup, and an error, if there is any. -func (c *FakePodVolumeBackups) Create(ctx context.Context, podVolumeBackup *velerov1.PodVolumeBackup, opts v1.CreateOptions) (result *velerov1.PodVolumeBackup, err error) { +func (c *FakePodVolumeBackups) Create(ctx context.Context, podVolumeBackup *v1.PodVolumeBackup, opts metav1.CreateOptions) (result *v1.PodVolumeBackup, err error) { obj, err := c.Fake. - Invokes(testing.NewCreateAction(podvolumebackupsResource, c.ns, podVolumeBackup), &velerov1.PodVolumeBackup{}) + Invokes(testing.NewCreateAction(podvolumebackupsResource, c.ns, podVolumeBackup), &v1.PodVolumeBackup{}) if obj == nil { return nil, err } - return obj.(*velerov1.PodVolumeBackup), err + return obj.(*v1.PodVolumeBackup), err } // Update takes the representation of a podVolumeBackup and updates it. Returns the server's representation of the podVolumeBackup, and an error, if there is any. -func (c *FakePodVolumeBackups) Update(ctx context.Context, podVolumeBackup *velerov1.PodVolumeBackup, opts v1.UpdateOptions) (result *velerov1.PodVolumeBackup, err error) { +func (c *FakePodVolumeBackups) Update(ctx context.Context, podVolumeBackup *v1.PodVolumeBackup, opts metav1.UpdateOptions) (result *v1.PodVolumeBackup, err error) { obj, err := c.Fake. - Invokes(testing.NewUpdateAction(podvolumebackupsResource, c.ns, podVolumeBackup), &velerov1.PodVolumeBackup{}) + Invokes(testing.NewUpdateAction(podvolumebackupsResource, c.ns, podVolumeBackup), &v1.PodVolumeBackup{}) if obj == nil { return nil, err } - return obj.(*velerov1.PodVolumeBackup), err + return obj.(*v1.PodVolumeBackup), err } // UpdateStatus was generated because the type contains a Status member. // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakePodVolumeBackups) UpdateStatus(ctx context.Context, podVolumeBackup *velerov1.PodVolumeBackup, opts v1.UpdateOptions) (*velerov1.PodVolumeBackup, error) { +func (c *FakePodVolumeBackups) UpdateStatus(ctx context.Context, podVolumeBackup *v1.PodVolumeBackup, opts metav1.UpdateOptions) (*v1.PodVolumeBackup, error) { obj, err := c.Fake. - Invokes(testing.NewUpdateSubresourceAction(podvolumebackupsResource, "status", c.ns, podVolumeBackup), &velerov1.PodVolumeBackup{}) + Invokes(testing.NewUpdateSubresourceAction(podvolumebackupsResource, "status", c.ns, podVolumeBackup), &v1.PodVolumeBackup{}) if obj == nil { return nil, err } - return obj.(*velerov1.PodVolumeBackup), err + return obj.(*v1.PodVolumeBackup), err } // Delete takes name of the podVolumeBackup and deletes it. Returns an error if one occurs. -func (c *FakePodVolumeBackups) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { +func (c *FakePodVolumeBackups) Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(podvolumebackupsResource, c.ns, name), &velerov1.PodVolumeBackup{}) + Invokes(testing.NewDeleteActionWithOptions(podvolumebackupsResource, c.ns, name, opts), &v1.PodVolumeBackup{}) return err } // DeleteCollection deletes a collection of objects. -func (c *FakePodVolumeBackups) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { +func (c *FakePodVolumeBackups) DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error { action := testing.NewDeleteCollectionAction(podvolumebackupsResource, c.ns, listOpts) - _, err := c.Fake.Invokes(action, &velerov1.PodVolumeBackupList{}) + _, err := c.Fake.Invokes(action, &v1.PodVolumeBackupList{}) return err } // Patch applies the patch and returns the patched podVolumeBackup. -func (c *FakePodVolumeBackups) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *velerov1.PodVolumeBackup, err error) { +func (c *FakePodVolumeBackups) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.PodVolumeBackup, err error) { obj, err := c.Fake. - Invokes(testing.NewPatchSubresourceAction(podvolumebackupsResource, c.ns, name, pt, data, subresources...), &velerov1.PodVolumeBackup{}) + Invokes(testing.NewPatchSubresourceAction(podvolumebackupsResource, c.ns, name, pt, data, subresources...), &v1.PodVolumeBackup{}) if obj == nil { return nil, err } - return obj.(*velerov1.PodVolumeBackup), err + return obj.(*v1.PodVolumeBackup), err +} + +// Apply takes the given apply declarative configuration, applies it and returns the applied podVolumeBackup. +func (c *FakePodVolumeBackups) Apply(ctx context.Context, podVolumeBackup *velerov1.PodVolumeBackupApplyConfiguration, opts metav1.ApplyOptions) (result *v1.PodVolumeBackup, err error) { + if podVolumeBackup == nil { + return nil, fmt.Errorf("podVolumeBackup provided to Apply must not be nil") + } + data, err := json.Marshal(podVolumeBackup) + if err != nil { + return nil, err + } + name := podVolumeBackup.Name + if name == nil { + return nil, fmt.Errorf("podVolumeBackup.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(podvolumebackupsResource, c.ns, *name, types.ApplyPatchType, data), &v1.PodVolumeBackup{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.PodVolumeBackup), err +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *FakePodVolumeBackups) ApplyStatus(ctx context.Context, podVolumeBackup *velerov1.PodVolumeBackupApplyConfiguration, opts metav1.ApplyOptions) (result *v1.PodVolumeBackup, err error) { + if podVolumeBackup == nil { + return nil, fmt.Errorf("podVolumeBackup provided to Apply must not be nil") + } + data, err := json.Marshal(podVolumeBackup) + if err != nil { + return nil, err + } + name := podVolumeBackup.Name + if name == nil { + return nil, fmt.Errorf("podVolumeBackup.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(podvolumebackupsResource, c.ns, *name, types.ApplyPatchType, data, "status"), &v1.PodVolumeBackup{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.PodVolumeBackup), err } diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_podvolumerestore.go b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_podvolumerestore.go index da12387973..a4ab63899d 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_podvolumerestore.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_podvolumerestore.go @@ -20,11 +20,13 @@ package fake import ( "context" + json "encoding/json" + "fmt" - velerov1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" - schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" testing "k8s.io/client-go/testing" @@ -36,25 +38,25 @@ type FakePodVolumeRestores struct { ns string } -var podvolumerestoresResource = schema.GroupVersionResource{Group: "velero.io", Version: "v1", Resource: "podvolumerestores"} +var podvolumerestoresResource = v1.SchemeGroupVersion.WithResource("podvolumerestores") -var podvolumerestoresKind = schema.GroupVersionKind{Group: "velero.io", Version: "v1", Kind: "PodVolumeRestore"} +var podvolumerestoresKind = v1.SchemeGroupVersion.WithKind("PodVolumeRestore") // Get takes name of the podVolumeRestore, and returns the corresponding podVolumeRestore object, and an error if there is any. -func (c *FakePodVolumeRestores) Get(ctx context.Context, name string, options v1.GetOptions) (result *velerov1.PodVolumeRestore, err error) { +func (c *FakePodVolumeRestores) Get(ctx context.Context, name string, options metav1.GetOptions) (result *v1.PodVolumeRestore, err error) { obj, err := c.Fake. - Invokes(testing.NewGetAction(podvolumerestoresResource, c.ns, name), &velerov1.PodVolumeRestore{}) + Invokes(testing.NewGetAction(podvolumerestoresResource, c.ns, name), &v1.PodVolumeRestore{}) if obj == nil { return nil, err } - return obj.(*velerov1.PodVolumeRestore), err + return obj.(*v1.PodVolumeRestore), err } // List takes label and field selectors, and returns the list of PodVolumeRestores that match those selectors. -func (c *FakePodVolumeRestores) List(ctx context.Context, opts v1.ListOptions) (result *velerov1.PodVolumeRestoreList, err error) { +func (c *FakePodVolumeRestores) List(ctx context.Context, opts metav1.ListOptions) (result *v1.PodVolumeRestoreList, err error) { obj, err := c.Fake. - Invokes(testing.NewListAction(podvolumerestoresResource, podvolumerestoresKind, c.ns, opts), &velerov1.PodVolumeRestoreList{}) + Invokes(testing.NewListAction(podvolumerestoresResource, podvolumerestoresKind, c.ns, opts), &v1.PodVolumeRestoreList{}) if obj == nil { return nil, err @@ -64,8 +66,8 @@ func (c *FakePodVolumeRestores) List(ctx context.Context, opts v1.ListOptions) ( if label == nil { label = labels.Everything() } - list := &velerov1.PodVolumeRestoreList{ListMeta: obj.(*velerov1.PodVolumeRestoreList).ListMeta} - for _, item := range obj.(*velerov1.PodVolumeRestoreList).Items { + list := &v1.PodVolumeRestoreList{ListMeta: obj.(*v1.PodVolumeRestoreList).ListMeta} + for _, item := range obj.(*v1.PodVolumeRestoreList).Items { if label.Matches(labels.Set(item.Labels)) { list.Items = append(list.Items, item) } @@ -74,69 +76,114 @@ func (c *FakePodVolumeRestores) List(ctx context.Context, opts v1.ListOptions) ( } // Watch returns a watch.Interface that watches the requested podVolumeRestores. -func (c *FakePodVolumeRestores) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { +func (c *FakePodVolumeRestores) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(podvolumerestoresResource, c.ns, opts)) } // Create takes the representation of a podVolumeRestore and creates it. Returns the server's representation of the podVolumeRestore, and an error, if there is any. -func (c *FakePodVolumeRestores) Create(ctx context.Context, podVolumeRestore *velerov1.PodVolumeRestore, opts v1.CreateOptions) (result *velerov1.PodVolumeRestore, err error) { +func (c *FakePodVolumeRestores) Create(ctx context.Context, podVolumeRestore *v1.PodVolumeRestore, opts metav1.CreateOptions) (result *v1.PodVolumeRestore, err error) { obj, err := c.Fake. - Invokes(testing.NewCreateAction(podvolumerestoresResource, c.ns, podVolumeRestore), &velerov1.PodVolumeRestore{}) + Invokes(testing.NewCreateAction(podvolumerestoresResource, c.ns, podVolumeRestore), &v1.PodVolumeRestore{}) if obj == nil { return nil, err } - return obj.(*velerov1.PodVolumeRestore), err + return obj.(*v1.PodVolumeRestore), err } // Update takes the representation of a podVolumeRestore and updates it. Returns the server's representation of the podVolumeRestore, and an error, if there is any. -func (c *FakePodVolumeRestores) Update(ctx context.Context, podVolumeRestore *velerov1.PodVolumeRestore, opts v1.UpdateOptions) (result *velerov1.PodVolumeRestore, err error) { +func (c *FakePodVolumeRestores) Update(ctx context.Context, podVolumeRestore *v1.PodVolumeRestore, opts metav1.UpdateOptions) (result *v1.PodVolumeRestore, err error) { obj, err := c.Fake. - Invokes(testing.NewUpdateAction(podvolumerestoresResource, c.ns, podVolumeRestore), &velerov1.PodVolumeRestore{}) + Invokes(testing.NewUpdateAction(podvolumerestoresResource, c.ns, podVolumeRestore), &v1.PodVolumeRestore{}) if obj == nil { return nil, err } - return obj.(*velerov1.PodVolumeRestore), err + return obj.(*v1.PodVolumeRestore), err } // UpdateStatus was generated because the type contains a Status member. // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakePodVolumeRestores) UpdateStatus(ctx context.Context, podVolumeRestore *velerov1.PodVolumeRestore, opts v1.UpdateOptions) (*velerov1.PodVolumeRestore, error) { +func (c *FakePodVolumeRestores) UpdateStatus(ctx context.Context, podVolumeRestore *v1.PodVolumeRestore, opts metav1.UpdateOptions) (*v1.PodVolumeRestore, error) { obj, err := c.Fake. - Invokes(testing.NewUpdateSubresourceAction(podvolumerestoresResource, "status", c.ns, podVolumeRestore), &velerov1.PodVolumeRestore{}) + Invokes(testing.NewUpdateSubresourceAction(podvolumerestoresResource, "status", c.ns, podVolumeRestore), &v1.PodVolumeRestore{}) if obj == nil { return nil, err } - return obj.(*velerov1.PodVolumeRestore), err + return obj.(*v1.PodVolumeRestore), err } // Delete takes name of the podVolumeRestore and deletes it. Returns an error if one occurs. -func (c *FakePodVolumeRestores) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { +func (c *FakePodVolumeRestores) Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(podvolumerestoresResource, c.ns, name), &velerov1.PodVolumeRestore{}) + Invokes(testing.NewDeleteActionWithOptions(podvolumerestoresResource, c.ns, name, opts), &v1.PodVolumeRestore{}) return err } // DeleteCollection deletes a collection of objects. -func (c *FakePodVolumeRestores) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { +func (c *FakePodVolumeRestores) DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error { action := testing.NewDeleteCollectionAction(podvolumerestoresResource, c.ns, listOpts) - _, err := c.Fake.Invokes(action, &velerov1.PodVolumeRestoreList{}) + _, err := c.Fake.Invokes(action, &v1.PodVolumeRestoreList{}) return err } // Patch applies the patch and returns the patched podVolumeRestore. -func (c *FakePodVolumeRestores) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *velerov1.PodVolumeRestore, err error) { +func (c *FakePodVolumeRestores) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.PodVolumeRestore, err error) { obj, err := c.Fake. - Invokes(testing.NewPatchSubresourceAction(podvolumerestoresResource, c.ns, name, pt, data, subresources...), &velerov1.PodVolumeRestore{}) + Invokes(testing.NewPatchSubresourceAction(podvolumerestoresResource, c.ns, name, pt, data, subresources...), &v1.PodVolumeRestore{}) if obj == nil { return nil, err } - return obj.(*velerov1.PodVolumeRestore), err + return obj.(*v1.PodVolumeRestore), err +} + +// Apply takes the given apply declarative configuration, applies it and returns the applied podVolumeRestore. +func (c *FakePodVolumeRestores) Apply(ctx context.Context, podVolumeRestore *velerov1.PodVolumeRestoreApplyConfiguration, opts metav1.ApplyOptions) (result *v1.PodVolumeRestore, err error) { + if podVolumeRestore == nil { + return nil, fmt.Errorf("podVolumeRestore provided to Apply must not be nil") + } + data, err := json.Marshal(podVolumeRestore) + if err != nil { + return nil, err + } + name := podVolumeRestore.Name + if name == nil { + return nil, fmt.Errorf("podVolumeRestore.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(podvolumerestoresResource, c.ns, *name, types.ApplyPatchType, data), &v1.PodVolumeRestore{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.PodVolumeRestore), err +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *FakePodVolumeRestores) ApplyStatus(ctx context.Context, podVolumeRestore *velerov1.PodVolumeRestoreApplyConfiguration, opts metav1.ApplyOptions) (result *v1.PodVolumeRestore, err error) { + if podVolumeRestore == nil { + return nil, fmt.Errorf("podVolumeRestore provided to Apply must not be nil") + } + data, err := json.Marshal(podVolumeRestore) + if err != nil { + return nil, err + } + name := podVolumeRestore.Name + if name == nil { + return nil, fmt.Errorf("podVolumeRestore.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(podvolumerestoresResource, c.ns, *name, types.ApplyPatchType, data, "status"), &v1.PodVolumeRestore{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.PodVolumeRestore), err } diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_restore.go b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_restore.go index 73e00128a2..db7e7e2f99 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_restore.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_restore.go @@ -20,11 +20,13 @@ package fake import ( "context" + json "encoding/json" + "fmt" - velerov1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" - schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" testing "k8s.io/client-go/testing" @@ -36,25 +38,25 @@ type FakeRestores struct { ns string } -var restoresResource = schema.GroupVersionResource{Group: "velero.io", Version: "v1", Resource: "restores"} +var restoresResource = v1.SchemeGroupVersion.WithResource("restores") -var restoresKind = schema.GroupVersionKind{Group: "velero.io", Version: "v1", Kind: "Restore"} +var restoresKind = v1.SchemeGroupVersion.WithKind("Restore") // Get takes name of the restore, and returns the corresponding restore object, and an error if there is any. -func (c *FakeRestores) Get(ctx context.Context, name string, options v1.GetOptions) (result *velerov1.Restore, err error) { +func (c *FakeRestores) Get(ctx context.Context, name string, options metav1.GetOptions) (result *v1.Restore, err error) { obj, err := c.Fake. - Invokes(testing.NewGetAction(restoresResource, c.ns, name), &velerov1.Restore{}) + Invokes(testing.NewGetAction(restoresResource, c.ns, name), &v1.Restore{}) if obj == nil { return nil, err } - return obj.(*velerov1.Restore), err + return obj.(*v1.Restore), err } // List takes label and field selectors, and returns the list of Restores that match those selectors. -func (c *FakeRestores) List(ctx context.Context, opts v1.ListOptions) (result *velerov1.RestoreList, err error) { +func (c *FakeRestores) List(ctx context.Context, opts metav1.ListOptions) (result *v1.RestoreList, err error) { obj, err := c.Fake. - Invokes(testing.NewListAction(restoresResource, restoresKind, c.ns, opts), &velerov1.RestoreList{}) + Invokes(testing.NewListAction(restoresResource, restoresKind, c.ns, opts), &v1.RestoreList{}) if obj == nil { return nil, err @@ -64,8 +66,8 @@ func (c *FakeRestores) List(ctx context.Context, opts v1.ListOptions) (result *v if label == nil { label = labels.Everything() } - list := &velerov1.RestoreList{ListMeta: obj.(*velerov1.RestoreList).ListMeta} - for _, item := range obj.(*velerov1.RestoreList).Items { + list := &v1.RestoreList{ListMeta: obj.(*v1.RestoreList).ListMeta} + for _, item := range obj.(*v1.RestoreList).Items { if label.Matches(labels.Set(item.Labels)) { list.Items = append(list.Items, item) } @@ -74,69 +76,114 @@ func (c *FakeRestores) List(ctx context.Context, opts v1.ListOptions) (result *v } // Watch returns a watch.Interface that watches the requested restores. -func (c *FakeRestores) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { +func (c *FakeRestores) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(restoresResource, c.ns, opts)) } // Create takes the representation of a restore and creates it. Returns the server's representation of the restore, and an error, if there is any. -func (c *FakeRestores) Create(ctx context.Context, restore *velerov1.Restore, opts v1.CreateOptions) (result *velerov1.Restore, err error) { +func (c *FakeRestores) Create(ctx context.Context, restore *v1.Restore, opts metav1.CreateOptions) (result *v1.Restore, err error) { obj, err := c.Fake. - Invokes(testing.NewCreateAction(restoresResource, c.ns, restore), &velerov1.Restore{}) + Invokes(testing.NewCreateAction(restoresResource, c.ns, restore), &v1.Restore{}) if obj == nil { return nil, err } - return obj.(*velerov1.Restore), err + return obj.(*v1.Restore), err } // Update takes the representation of a restore and updates it. Returns the server's representation of the restore, and an error, if there is any. -func (c *FakeRestores) Update(ctx context.Context, restore *velerov1.Restore, opts v1.UpdateOptions) (result *velerov1.Restore, err error) { +func (c *FakeRestores) Update(ctx context.Context, restore *v1.Restore, opts metav1.UpdateOptions) (result *v1.Restore, err error) { obj, err := c.Fake. - Invokes(testing.NewUpdateAction(restoresResource, c.ns, restore), &velerov1.Restore{}) + Invokes(testing.NewUpdateAction(restoresResource, c.ns, restore), &v1.Restore{}) if obj == nil { return nil, err } - return obj.(*velerov1.Restore), err + return obj.(*v1.Restore), err } // UpdateStatus was generated because the type contains a Status member. // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeRestores) UpdateStatus(ctx context.Context, restore *velerov1.Restore, opts v1.UpdateOptions) (*velerov1.Restore, error) { +func (c *FakeRestores) UpdateStatus(ctx context.Context, restore *v1.Restore, opts metav1.UpdateOptions) (*v1.Restore, error) { obj, err := c.Fake. - Invokes(testing.NewUpdateSubresourceAction(restoresResource, "status", c.ns, restore), &velerov1.Restore{}) + Invokes(testing.NewUpdateSubresourceAction(restoresResource, "status", c.ns, restore), &v1.Restore{}) if obj == nil { return nil, err } - return obj.(*velerov1.Restore), err + return obj.(*v1.Restore), err } // Delete takes name of the restore and deletes it. Returns an error if one occurs. -func (c *FakeRestores) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { +func (c *FakeRestores) Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(restoresResource, c.ns, name), &velerov1.Restore{}) + Invokes(testing.NewDeleteActionWithOptions(restoresResource, c.ns, name, opts), &v1.Restore{}) return err } // DeleteCollection deletes a collection of objects. -func (c *FakeRestores) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { +func (c *FakeRestores) DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error { action := testing.NewDeleteCollectionAction(restoresResource, c.ns, listOpts) - _, err := c.Fake.Invokes(action, &velerov1.RestoreList{}) + _, err := c.Fake.Invokes(action, &v1.RestoreList{}) return err } // Patch applies the patch and returns the patched restore. -func (c *FakeRestores) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *velerov1.Restore, err error) { +func (c *FakeRestores) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.Restore, err error) { obj, err := c.Fake. - Invokes(testing.NewPatchSubresourceAction(restoresResource, c.ns, name, pt, data, subresources...), &velerov1.Restore{}) + Invokes(testing.NewPatchSubresourceAction(restoresResource, c.ns, name, pt, data, subresources...), &v1.Restore{}) if obj == nil { return nil, err } - return obj.(*velerov1.Restore), err + return obj.(*v1.Restore), err +} + +// Apply takes the given apply declarative configuration, applies it and returns the applied restore. +func (c *FakeRestores) Apply(ctx context.Context, restore *velerov1.RestoreApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Restore, err error) { + if restore == nil { + return nil, fmt.Errorf("restore provided to Apply must not be nil") + } + data, err := json.Marshal(restore) + if err != nil { + return nil, err + } + name := restore.Name + if name == nil { + return nil, fmt.Errorf("restore.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(restoresResource, c.ns, *name, types.ApplyPatchType, data), &v1.Restore{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.Restore), err +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *FakeRestores) ApplyStatus(ctx context.Context, restore *velerov1.RestoreApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Restore, err error) { + if restore == nil { + return nil, fmt.Errorf("restore provided to Apply must not be nil") + } + data, err := json.Marshal(restore) + if err != nil { + return nil, err + } + name := restore.Name + if name == nil { + return nil, fmt.Errorf("restore.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(restoresResource, c.ns, *name, types.ApplyPatchType, data, "status"), &v1.Restore{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.Restore), err } diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_schedule.go b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_schedule.go index 5789e7e9e3..14dfeac440 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_schedule.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_schedule.go @@ -20,11 +20,13 @@ package fake import ( "context" + json "encoding/json" + "fmt" - velerov1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" - schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" testing "k8s.io/client-go/testing" @@ -36,25 +38,25 @@ type FakeSchedules struct { ns string } -var schedulesResource = schema.GroupVersionResource{Group: "velero.io", Version: "v1", Resource: "schedules"} +var schedulesResource = v1.SchemeGroupVersion.WithResource("schedules") -var schedulesKind = schema.GroupVersionKind{Group: "velero.io", Version: "v1", Kind: "Schedule"} +var schedulesKind = v1.SchemeGroupVersion.WithKind("Schedule") // Get takes name of the schedule, and returns the corresponding schedule object, and an error if there is any. -func (c *FakeSchedules) Get(ctx context.Context, name string, options v1.GetOptions) (result *velerov1.Schedule, err error) { +func (c *FakeSchedules) Get(ctx context.Context, name string, options metav1.GetOptions) (result *v1.Schedule, err error) { obj, err := c.Fake. - Invokes(testing.NewGetAction(schedulesResource, c.ns, name), &velerov1.Schedule{}) + Invokes(testing.NewGetAction(schedulesResource, c.ns, name), &v1.Schedule{}) if obj == nil { return nil, err } - return obj.(*velerov1.Schedule), err + return obj.(*v1.Schedule), err } // List takes label and field selectors, and returns the list of Schedules that match those selectors. -func (c *FakeSchedules) List(ctx context.Context, opts v1.ListOptions) (result *velerov1.ScheduleList, err error) { +func (c *FakeSchedules) List(ctx context.Context, opts metav1.ListOptions) (result *v1.ScheduleList, err error) { obj, err := c.Fake. - Invokes(testing.NewListAction(schedulesResource, schedulesKind, c.ns, opts), &velerov1.ScheduleList{}) + Invokes(testing.NewListAction(schedulesResource, schedulesKind, c.ns, opts), &v1.ScheduleList{}) if obj == nil { return nil, err @@ -64,8 +66,8 @@ func (c *FakeSchedules) List(ctx context.Context, opts v1.ListOptions) (result * if label == nil { label = labels.Everything() } - list := &velerov1.ScheduleList{ListMeta: obj.(*velerov1.ScheduleList).ListMeta} - for _, item := range obj.(*velerov1.ScheduleList).Items { + list := &v1.ScheduleList{ListMeta: obj.(*v1.ScheduleList).ListMeta} + for _, item := range obj.(*v1.ScheduleList).Items { if label.Matches(labels.Set(item.Labels)) { list.Items = append(list.Items, item) } @@ -74,69 +76,114 @@ func (c *FakeSchedules) List(ctx context.Context, opts v1.ListOptions) (result * } // Watch returns a watch.Interface that watches the requested schedules. -func (c *FakeSchedules) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { +func (c *FakeSchedules) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(schedulesResource, c.ns, opts)) } // Create takes the representation of a schedule and creates it. Returns the server's representation of the schedule, and an error, if there is any. -func (c *FakeSchedules) Create(ctx context.Context, schedule *velerov1.Schedule, opts v1.CreateOptions) (result *velerov1.Schedule, err error) { +func (c *FakeSchedules) Create(ctx context.Context, schedule *v1.Schedule, opts metav1.CreateOptions) (result *v1.Schedule, err error) { obj, err := c.Fake. - Invokes(testing.NewCreateAction(schedulesResource, c.ns, schedule), &velerov1.Schedule{}) + Invokes(testing.NewCreateAction(schedulesResource, c.ns, schedule), &v1.Schedule{}) if obj == nil { return nil, err } - return obj.(*velerov1.Schedule), err + return obj.(*v1.Schedule), err } // Update takes the representation of a schedule and updates it. Returns the server's representation of the schedule, and an error, if there is any. -func (c *FakeSchedules) Update(ctx context.Context, schedule *velerov1.Schedule, opts v1.UpdateOptions) (result *velerov1.Schedule, err error) { +func (c *FakeSchedules) Update(ctx context.Context, schedule *v1.Schedule, opts metav1.UpdateOptions) (result *v1.Schedule, err error) { obj, err := c.Fake. - Invokes(testing.NewUpdateAction(schedulesResource, c.ns, schedule), &velerov1.Schedule{}) + Invokes(testing.NewUpdateAction(schedulesResource, c.ns, schedule), &v1.Schedule{}) if obj == nil { return nil, err } - return obj.(*velerov1.Schedule), err + return obj.(*v1.Schedule), err } // UpdateStatus was generated because the type contains a Status member. // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeSchedules) UpdateStatus(ctx context.Context, schedule *velerov1.Schedule, opts v1.UpdateOptions) (*velerov1.Schedule, error) { +func (c *FakeSchedules) UpdateStatus(ctx context.Context, schedule *v1.Schedule, opts metav1.UpdateOptions) (*v1.Schedule, error) { obj, err := c.Fake. - Invokes(testing.NewUpdateSubresourceAction(schedulesResource, "status", c.ns, schedule), &velerov1.Schedule{}) + Invokes(testing.NewUpdateSubresourceAction(schedulesResource, "status", c.ns, schedule), &v1.Schedule{}) if obj == nil { return nil, err } - return obj.(*velerov1.Schedule), err + return obj.(*v1.Schedule), err } // Delete takes name of the schedule and deletes it. Returns an error if one occurs. -func (c *FakeSchedules) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { +func (c *FakeSchedules) Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(schedulesResource, c.ns, name), &velerov1.Schedule{}) + Invokes(testing.NewDeleteActionWithOptions(schedulesResource, c.ns, name, opts), &v1.Schedule{}) return err } // DeleteCollection deletes a collection of objects. -func (c *FakeSchedules) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { +func (c *FakeSchedules) DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error { action := testing.NewDeleteCollectionAction(schedulesResource, c.ns, listOpts) - _, err := c.Fake.Invokes(action, &velerov1.ScheduleList{}) + _, err := c.Fake.Invokes(action, &v1.ScheduleList{}) return err } // Patch applies the patch and returns the patched schedule. -func (c *FakeSchedules) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *velerov1.Schedule, err error) { +func (c *FakeSchedules) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.Schedule, err error) { obj, err := c.Fake. - Invokes(testing.NewPatchSubresourceAction(schedulesResource, c.ns, name, pt, data, subresources...), &velerov1.Schedule{}) + Invokes(testing.NewPatchSubresourceAction(schedulesResource, c.ns, name, pt, data, subresources...), &v1.Schedule{}) if obj == nil { return nil, err } - return obj.(*velerov1.Schedule), err + return obj.(*v1.Schedule), err +} + +// Apply takes the given apply declarative configuration, applies it and returns the applied schedule. +func (c *FakeSchedules) Apply(ctx context.Context, schedule *velerov1.ScheduleApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Schedule, err error) { + if schedule == nil { + return nil, fmt.Errorf("schedule provided to Apply must not be nil") + } + data, err := json.Marshal(schedule) + if err != nil { + return nil, err + } + name := schedule.Name + if name == nil { + return nil, fmt.Errorf("schedule.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(schedulesResource, c.ns, *name, types.ApplyPatchType, data), &v1.Schedule{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.Schedule), err +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *FakeSchedules) ApplyStatus(ctx context.Context, schedule *velerov1.ScheduleApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Schedule, err error) { + if schedule == nil { + return nil, fmt.Errorf("schedule provided to Apply must not be nil") + } + data, err := json.Marshal(schedule) + if err != nil { + return nil, err + } + name := schedule.Name + if name == nil { + return nil, fmt.Errorf("schedule.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(schedulesResource, c.ns, *name, types.ApplyPatchType, data, "status"), &v1.Schedule{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.Schedule), err } diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_serverstatusrequest.go b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_serverstatusrequest.go index dc0c9e4ee1..f095b8303d 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_serverstatusrequest.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_serverstatusrequest.go @@ -20,11 +20,13 @@ package fake import ( "context" + json "encoding/json" + "fmt" - velerov1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" - schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" testing "k8s.io/client-go/testing" @@ -36,25 +38,25 @@ type FakeServerStatusRequests struct { ns string } -var serverstatusrequestsResource = schema.GroupVersionResource{Group: "velero.io", Version: "v1", Resource: "serverstatusrequests"} +var serverstatusrequestsResource = v1.SchemeGroupVersion.WithResource("serverstatusrequests") -var serverstatusrequestsKind = schema.GroupVersionKind{Group: "velero.io", Version: "v1", Kind: "ServerStatusRequest"} +var serverstatusrequestsKind = v1.SchemeGroupVersion.WithKind("ServerStatusRequest") // Get takes name of the serverStatusRequest, and returns the corresponding serverStatusRequest object, and an error if there is any. -func (c *FakeServerStatusRequests) Get(ctx context.Context, name string, options v1.GetOptions) (result *velerov1.ServerStatusRequest, err error) { +func (c *FakeServerStatusRequests) Get(ctx context.Context, name string, options metav1.GetOptions) (result *v1.ServerStatusRequest, err error) { obj, err := c.Fake. - Invokes(testing.NewGetAction(serverstatusrequestsResource, c.ns, name), &velerov1.ServerStatusRequest{}) + Invokes(testing.NewGetAction(serverstatusrequestsResource, c.ns, name), &v1.ServerStatusRequest{}) if obj == nil { return nil, err } - return obj.(*velerov1.ServerStatusRequest), err + return obj.(*v1.ServerStatusRequest), err } // List takes label and field selectors, and returns the list of ServerStatusRequests that match those selectors. -func (c *FakeServerStatusRequests) List(ctx context.Context, opts v1.ListOptions) (result *velerov1.ServerStatusRequestList, err error) { +func (c *FakeServerStatusRequests) List(ctx context.Context, opts metav1.ListOptions) (result *v1.ServerStatusRequestList, err error) { obj, err := c.Fake. - Invokes(testing.NewListAction(serverstatusrequestsResource, serverstatusrequestsKind, c.ns, opts), &velerov1.ServerStatusRequestList{}) + Invokes(testing.NewListAction(serverstatusrequestsResource, serverstatusrequestsKind, c.ns, opts), &v1.ServerStatusRequestList{}) if obj == nil { return nil, err @@ -64,8 +66,8 @@ func (c *FakeServerStatusRequests) List(ctx context.Context, opts v1.ListOptions if label == nil { label = labels.Everything() } - list := &velerov1.ServerStatusRequestList{ListMeta: obj.(*velerov1.ServerStatusRequestList).ListMeta} - for _, item := range obj.(*velerov1.ServerStatusRequestList).Items { + list := &v1.ServerStatusRequestList{ListMeta: obj.(*v1.ServerStatusRequestList).ListMeta} + for _, item := range obj.(*v1.ServerStatusRequestList).Items { if label.Matches(labels.Set(item.Labels)) { list.Items = append(list.Items, item) } @@ -74,69 +76,114 @@ func (c *FakeServerStatusRequests) List(ctx context.Context, opts v1.ListOptions } // Watch returns a watch.Interface that watches the requested serverStatusRequests. -func (c *FakeServerStatusRequests) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { +func (c *FakeServerStatusRequests) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(serverstatusrequestsResource, c.ns, opts)) } // Create takes the representation of a serverStatusRequest and creates it. Returns the server's representation of the serverStatusRequest, and an error, if there is any. -func (c *FakeServerStatusRequests) Create(ctx context.Context, serverStatusRequest *velerov1.ServerStatusRequest, opts v1.CreateOptions) (result *velerov1.ServerStatusRequest, err error) { +func (c *FakeServerStatusRequests) Create(ctx context.Context, serverStatusRequest *v1.ServerStatusRequest, opts metav1.CreateOptions) (result *v1.ServerStatusRequest, err error) { obj, err := c.Fake. - Invokes(testing.NewCreateAction(serverstatusrequestsResource, c.ns, serverStatusRequest), &velerov1.ServerStatusRequest{}) + Invokes(testing.NewCreateAction(serverstatusrequestsResource, c.ns, serverStatusRequest), &v1.ServerStatusRequest{}) if obj == nil { return nil, err } - return obj.(*velerov1.ServerStatusRequest), err + return obj.(*v1.ServerStatusRequest), err } // Update takes the representation of a serverStatusRequest and updates it. Returns the server's representation of the serverStatusRequest, and an error, if there is any. -func (c *FakeServerStatusRequests) Update(ctx context.Context, serverStatusRequest *velerov1.ServerStatusRequest, opts v1.UpdateOptions) (result *velerov1.ServerStatusRequest, err error) { +func (c *FakeServerStatusRequests) Update(ctx context.Context, serverStatusRequest *v1.ServerStatusRequest, opts metav1.UpdateOptions) (result *v1.ServerStatusRequest, err error) { obj, err := c.Fake. - Invokes(testing.NewUpdateAction(serverstatusrequestsResource, c.ns, serverStatusRequest), &velerov1.ServerStatusRequest{}) + Invokes(testing.NewUpdateAction(serverstatusrequestsResource, c.ns, serverStatusRequest), &v1.ServerStatusRequest{}) if obj == nil { return nil, err } - return obj.(*velerov1.ServerStatusRequest), err + return obj.(*v1.ServerStatusRequest), err } // UpdateStatus was generated because the type contains a Status member. // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeServerStatusRequests) UpdateStatus(ctx context.Context, serverStatusRequest *velerov1.ServerStatusRequest, opts v1.UpdateOptions) (*velerov1.ServerStatusRequest, error) { +func (c *FakeServerStatusRequests) UpdateStatus(ctx context.Context, serverStatusRequest *v1.ServerStatusRequest, opts metav1.UpdateOptions) (*v1.ServerStatusRequest, error) { obj, err := c.Fake. - Invokes(testing.NewUpdateSubresourceAction(serverstatusrequestsResource, "status", c.ns, serverStatusRequest), &velerov1.ServerStatusRequest{}) + Invokes(testing.NewUpdateSubresourceAction(serverstatusrequestsResource, "status", c.ns, serverStatusRequest), &v1.ServerStatusRequest{}) if obj == nil { return nil, err } - return obj.(*velerov1.ServerStatusRequest), err + return obj.(*v1.ServerStatusRequest), err } // Delete takes name of the serverStatusRequest and deletes it. Returns an error if one occurs. -func (c *FakeServerStatusRequests) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { +func (c *FakeServerStatusRequests) Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(serverstatusrequestsResource, c.ns, name), &velerov1.ServerStatusRequest{}) + Invokes(testing.NewDeleteActionWithOptions(serverstatusrequestsResource, c.ns, name, opts), &v1.ServerStatusRequest{}) return err } // DeleteCollection deletes a collection of objects. -func (c *FakeServerStatusRequests) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { +func (c *FakeServerStatusRequests) DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error { action := testing.NewDeleteCollectionAction(serverstatusrequestsResource, c.ns, listOpts) - _, err := c.Fake.Invokes(action, &velerov1.ServerStatusRequestList{}) + _, err := c.Fake.Invokes(action, &v1.ServerStatusRequestList{}) return err } // Patch applies the patch and returns the patched serverStatusRequest. -func (c *FakeServerStatusRequests) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *velerov1.ServerStatusRequest, err error) { +func (c *FakeServerStatusRequests) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.ServerStatusRequest, err error) { obj, err := c.Fake. - Invokes(testing.NewPatchSubresourceAction(serverstatusrequestsResource, c.ns, name, pt, data, subresources...), &velerov1.ServerStatusRequest{}) + Invokes(testing.NewPatchSubresourceAction(serverstatusrequestsResource, c.ns, name, pt, data, subresources...), &v1.ServerStatusRequest{}) if obj == nil { return nil, err } - return obj.(*velerov1.ServerStatusRequest), err + return obj.(*v1.ServerStatusRequest), err +} + +// Apply takes the given apply declarative configuration, applies it and returns the applied serverStatusRequest. +func (c *FakeServerStatusRequests) Apply(ctx context.Context, serverStatusRequest *velerov1.ServerStatusRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.ServerStatusRequest, err error) { + if serverStatusRequest == nil { + return nil, fmt.Errorf("serverStatusRequest provided to Apply must not be nil") + } + data, err := json.Marshal(serverStatusRequest) + if err != nil { + return nil, err + } + name := serverStatusRequest.Name + if name == nil { + return nil, fmt.Errorf("serverStatusRequest.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(serverstatusrequestsResource, c.ns, *name, types.ApplyPatchType, data), &v1.ServerStatusRequest{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.ServerStatusRequest), err +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *FakeServerStatusRequests) ApplyStatus(ctx context.Context, serverStatusRequest *velerov1.ServerStatusRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.ServerStatusRequest, err error) { + if serverStatusRequest == nil { + return nil, fmt.Errorf("serverStatusRequest provided to Apply must not be nil") + } + data, err := json.Marshal(serverStatusRequest) + if err != nil { + return nil, err + } + name := serverStatusRequest.Name + if name == nil { + return nil, fmt.Errorf("serverStatusRequest.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(serverstatusrequestsResource, c.ns, *name, types.ApplyPatchType, data, "status"), &v1.ServerStatusRequest{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.ServerStatusRequest), err } diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_volumesnapshotlocation.go b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_volumesnapshotlocation.go index c5a7b4fb2e..efee23dd18 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_volumesnapshotlocation.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/fake/fake_volumesnapshotlocation.go @@ -20,11 +20,13 @@ package fake import ( "context" + json "encoding/json" + "fmt" - velerov1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" - schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" testing "k8s.io/client-go/testing" @@ -36,25 +38,25 @@ type FakeVolumeSnapshotLocations struct { ns string } -var volumesnapshotlocationsResource = schema.GroupVersionResource{Group: "velero.io", Version: "v1", Resource: "volumesnapshotlocations"} +var volumesnapshotlocationsResource = v1.SchemeGroupVersion.WithResource("volumesnapshotlocations") -var volumesnapshotlocationsKind = schema.GroupVersionKind{Group: "velero.io", Version: "v1", Kind: "VolumeSnapshotLocation"} +var volumesnapshotlocationsKind = v1.SchemeGroupVersion.WithKind("VolumeSnapshotLocation") // Get takes name of the volumeSnapshotLocation, and returns the corresponding volumeSnapshotLocation object, and an error if there is any. -func (c *FakeVolumeSnapshotLocations) Get(ctx context.Context, name string, options v1.GetOptions) (result *velerov1.VolumeSnapshotLocation, err error) { +func (c *FakeVolumeSnapshotLocations) Get(ctx context.Context, name string, options metav1.GetOptions) (result *v1.VolumeSnapshotLocation, err error) { obj, err := c.Fake. - Invokes(testing.NewGetAction(volumesnapshotlocationsResource, c.ns, name), &velerov1.VolumeSnapshotLocation{}) + Invokes(testing.NewGetAction(volumesnapshotlocationsResource, c.ns, name), &v1.VolumeSnapshotLocation{}) if obj == nil { return nil, err } - return obj.(*velerov1.VolumeSnapshotLocation), err + return obj.(*v1.VolumeSnapshotLocation), err } // List takes label and field selectors, and returns the list of VolumeSnapshotLocations that match those selectors. -func (c *FakeVolumeSnapshotLocations) List(ctx context.Context, opts v1.ListOptions) (result *velerov1.VolumeSnapshotLocationList, err error) { +func (c *FakeVolumeSnapshotLocations) List(ctx context.Context, opts metav1.ListOptions) (result *v1.VolumeSnapshotLocationList, err error) { obj, err := c.Fake. - Invokes(testing.NewListAction(volumesnapshotlocationsResource, volumesnapshotlocationsKind, c.ns, opts), &velerov1.VolumeSnapshotLocationList{}) + Invokes(testing.NewListAction(volumesnapshotlocationsResource, volumesnapshotlocationsKind, c.ns, opts), &v1.VolumeSnapshotLocationList{}) if obj == nil { return nil, err @@ -64,8 +66,8 @@ func (c *FakeVolumeSnapshotLocations) List(ctx context.Context, opts v1.ListOpti if label == nil { label = labels.Everything() } - list := &velerov1.VolumeSnapshotLocationList{ListMeta: obj.(*velerov1.VolumeSnapshotLocationList).ListMeta} - for _, item := range obj.(*velerov1.VolumeSnapshotLocationList).Items { + list := &v1.VolumeSnapshotLocationList{ListMeta: obj.(*v1.VolumeSnapshotLocationList).ListMeta} + for _, item := range obj.(*v1.VolumeSnapshotLocationList).Items { if label.Matches(labels.Set(item.Labels)) { list.Items = append(list.Items, item) } @@ -74,69 +76,114 @@ func (c *FakeVolumeSnapshotLocations) List(ctx context.Context, opts v1.ListOpti } // Watch returns a watch.Interface that watches the requested volumeSnapshotLocations. -func (c *FakeVolumeSnapshotLocations) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { +func (c *FakeVolumeSnapshotLocations) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) { return c.Fake. InvokesWatch(testing.NewWatchAction(volumesnapshotlocationsResource, c.ns, opts)) } // Create takes the representation of a volumeSnapshotLocation and creates it. Returns the server's representation of the volumeSnapshotLocation, and an error, if there is any. -func (c *FakeVolumeSnapshotLocations) Create(ctx context.Context, volumeSnapshotLocation *velerov1.VolumeSnapshotLocation, opts v1.CreateOptions) (result *velerov1.VolumeSnapshotLocation, err error) { +func (c *FakeVolumeSnapshotLocations) Create(ctx context.Context, volumeSnapshotLocation *v1.VolumeSnapshotLocation, opts metav1.CreateOptions) (result *v1.VolumeSnapshotLocation, err error) { obj, err := c.Fake. - Invokes(testing.NewCreateAction(volumesnapshotlocationsResource, c.ns, volumeSnapshotLocation), &velerov1.VolumeSnapshotLocation{}) + Invokes(testing.NewCreateAction(volumesnapshotlocationsResource, c.ns, volumeSnapshotLocation), &v1.VolumeSnapshotLocation{}) if obj == nil { return nil, err } - return obj.(*velerov1.VolumeSnapshotLocation), err + return obj.(*v1.VolumeSnapshotLocation), err } // Update takes the representation of a volumeSnapshotLocation and updates it. Returns the server's representation of the volumeSnapshotLocation, and an error, if there is any. -func (c *FakeVolumeSnapshotLocations) Update(ctx context.Context, volumeSnapshotLocation *velerov1.VolumeSnapshotLocation, opts v1.UpdateOptions) (result *velerov1.VolumeSnapshotLocation, err error) { +func (c *FakeVolumeSnapshotLocations) Update(ctx context.Context, volumeSnapshotLocation *v1.VolumeSnapshotLocation, opts metav1.UpdateOptions) (result *v1.VolumeSnapshotLocation, err error) { obj, err := c.Fake. - Invokes(testing.NewUpdateAction(volumesnapshotlocationsResource, c.ns, volumeSnapshotLocation), &velerov1.VolumeSnapshotLocation{}) + Invokes(testing.NewUpdateAction(volumesnapshotlocationsResource, c.ns, volumeSnapshotLocation), &v1.VolumeSnapshotLocation{}) if obj == nil { return nil, err } - return obj.(*velerov1.VolumeSnapshotLocation), err + return obj.(*v1.VolumeSnapshotLocation), err } // UpdateStatus was generated because the type contains a Status member. // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). -func (c *FakeVolumeSnapshotLocations) UpdateStatus(ctx context.Context, volumeSnapshotLocation *velerov1.VolumeSnapshotLocation, opts v1.UpdateOptions) (*velerov1.VolumeSnapshotLocation, error) { +func (c *FakeVolumeSnapshotLocations) UpdateStatus(ctx context.Context, volumeSnapshotLocation *v1.VolumeSnapshotLocation, opts metav1.UpdateOptions) (*v1.VolumeSnapshotLocation, error) { obj, err := c.Fake. - Invokes(testing.NewUpdateSubresourceAction(volumesnapshotlocationsResource, "status", c.ns, volumeSnapshotLocation), &velerov1.VolumeSnapshotLocation{}) + Invokes(testing.NewUpdateSubresourceAction(volumesnapshotlocationsResource, "status", c.ns, volumeSnapshotLocation), &v1.VolumeSnapshotLocation{}) if obj == nil { return nil, err } - return obj.(*velerov1.VolumeSnapshotLocation), err + return obj.(*v1.VolumeSnapshotLocation), err } // Delete takes name of the volumeSnapshotLocation and deletes it. Returns an error if one occurs. -func (c *FakeVolumeSnapshotLocations) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { +func (c *FakeVolumeSnapshotLocations) Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(volumesnapshotlocationsResource, c.ns, name), &velerov1.VolumeSnapshotLocation{}) + Invokes(testing.NewDeleteActionWithOptions(volumesnapshotlocationsResource, c.ns, name, opts), &v1.VolumeSnapshotLocation{}) return err } // DeleteCollection deletes a collection of objects. -func (c *FakeVolumeSnapshotLocations) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error { +func (c *FakeVolumeSnapshotLocations) DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error { action := testing.NewDeleteCollectionAction(volumesnapshotlocationsResource, c.ns, listOpts) - _, err := c.Fake.Invokes(action, &velerov1.VolumeSnapshotLocationList{}) + _, err := c.Fake.Invokes(action, &v1.VolumeSnapshotLocationList{}) return err } // Patch applies the patch and returns the patched volumeSnapshotLocation. -func (c *FakeVolumeSnapshotLocations) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *velerov1.VolumeSnapshotLocation, err error) { +func (c *FakeVolumeSnapshotLocations) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.VolumeSnapshotLocation, err error) { obj, err := c.Fake. - Invokes(testing.NewPatchSubresourceAction(volumesnapshotlocationsResource, c.ns, name, pt, data, subresources...), &velerov1.VolumeSnapshotLocation{}) + Invokes(testing.NewPatchSubresourceAction(volumesnapshotlocationsResource, c.ns, name, pt, data, subresources...), &v1.VolumeSnapshotLocation{}) if obj == nil { return nil, err } - return obj.(*velerov1.VolumeSnapshotLocation), err + return obj.(*v1.VolumeSnapshotLocation), err +} + +// Apply takes the given apply declarative configuration, applies it and returns the applied volumeSnapshotLocation. +func (c *FakeVolumeSnapshotLocations) Apply(ctx context.Context, volumeSnapshotLocation *velerov1.VolumeSnapshotLocationApplyConfiguration, opts metav1.ApplyOptions) (result *v1.VolumeSnapshotLocation, err error) { + if volumeSnapshotLocation == nil { + return nil, fmt.Errorf("volumeSnapshotLocation provided to Apply must not be nil") + } + data, err := json.Marshal(volumeSnapshotLocation) + if err != nil { + return nil, err + } + name := volumeSnapshotLocation.Name + if name == nil { + return nil, fmt.Errorf("volumeSnapshotLocation.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(volumesnapshotlocationsResource, c.ns, *name, types.ApplyPatchType, data), &v1.VolumeSnapshotLocation{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.VolumeSnapshotLocation), err +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *FakeVolumeSnapshotLocations) ApplyStatus(ctx context.Context, volumeSnapshotLocation *velerov1.VolumeSnapshotLocationApplyConfiguration, opts metav1.ApplyOptions) (result *v1.VolumeSnapshotLocation, err error) { + if volumeSnapshotLocation == nil { + return nil, fmt.Errorf("volumeSnapshotLocation provided to Apply must not be nil") + } + data, err := json.Marshal(volumeSnapshotLocation) + if err != nil { + return nil, err + } + name := volumeSnapshotLocation.Name + if name == nil { + return nil, fmt.Errorf("volumeSnapshotLocation.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(volumesnapshotlocationsResource, c.ns, *name, types.ApplyPatchType, data, "status"), &v1.VolumeSnapshotLocation{}) + + if obj == nil { + return nil, err + } + return obj.(*v1.VolumeSnapshotLocation), err } diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/podvolumebackup.go b/pkg/generated/clientset/versioned/typed/velero/v1/podvolumebackup.go index 836d78b582..b44ea0b1b3 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/podvolumebackup.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/podvolumebackup.go @@ -20,9 +20,12 @@ package v1 import ( "context" + json "encoding/json" + "fmt" "time" v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" scheme "github.com/vmware-tanzu/velero/pkg/generated/clientset/versioned/scheme" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -47,6 +50,8 @@ type PodVolumeBackupInterface interface { List(ctx context.Context, opts metav1.ListOptions) (*v1.PodVolumeBackupList, error) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.PodVolumeBackup, err error) + Apply(ctx context.Context, podVolumeBackup *velerov1.PodVolumeBackupApplyConfiguration, opts metav1.ApplyOptions) (result *v1.PodVolumeBackup, err error) + ApplyStatus(ctx context.Context, podVolumeBackup *velerov1.PodVolumeBackupApplyConfiguration, opts metav1.ApplyOptions) (result *v1.PodVolumeBackup, err error) PodVolumeBackupExpansion } @@ -193,3 +198,59 @@ func (c *podVolumeBackups) Patch(ctx context.Context, name string, pt types.Patc Into(result) return } + +// Apply takes the given apply declarative configuration, applies it and returns the applied podVolumeBackup. +func (c *podVolumeBackups) Apply(ctx context.Context, podVolumeBackup *velerov1.PodVolumeBackupApplyConfiguration, opts metav1.ApplyOptions) (result *v1.PodVolumeBackup, err error) { + if podVolumeBackup == nil { + return nil, fmt.Errorf("podVolumeBackup provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(podVolumeBackup) + if err != nil { + return nil, err + } + name := podVolumeBackup.Name + if name == nil { + return nil, fmt.Errorf("podVolumeBackup.Name must be provided to Apply") + } + result = &v1.PodVolumeBackup{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("podvolumebackups"). + Name(*name). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *podVolumeBackups) ApplyStatus(ctx context.Context, podVolumeBackup *velerov1.PodVolumeBackupApplyConfiguration, opts metav1.ApplyOptions) (result *v1.PodVolumeBackup, err error) { + if podVolumeBackup == nil { + return nil, fmt.Errorf("podVolumeBackup provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(podVolumeBackup) + if err != nil { + return nil, err + } + + name := podVolumeBackup.Name + if name == nil { + return nil, fmt.Errorf("podVolumeBackup.Name must be provided to Apply") + } + + result = &v1.PodVolumeBackup{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("podvolumebackups"). + Name(*name). + SubResource("status"). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/podvolumerestore.go b/pkg/generated/clientset/versioned/typed/velero/v1/podvolumerestore.go index dffd51b1b7..49b2944403 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/podvolumerestore.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/podvolumerestore.go @@ -20,9 +20,12 @@ package v1 import ( "context" + json "encoding/json" + "fmt" "time" v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" scheme "github.com/vmware-tanzu/velero/pkg/generated/clientset/versioned/scheme" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -47,6 +50,8 @@ type PodVolumeRestoreInterface interface { List(ctx context.Context, opts metav1.ListOptions) (*v1.PodVolumeRestoreList, error) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.PodVolumeRestore, err error) + Apply(ctx context.Context, podVolumeRestore *velerov1.PodVolumeRestoreApplyConfiguration, opts metav1.ApplyOptions) (result *v1.PodVolumeRestore, err error) + ApplyStatus(ctx context.Context, podVolumeRestore *velerov1.PodVolumeRestoreApplyConfiguration, opts metav1.ApplyOptions) (result *v1.PodVolumeRestore, err error) PodVolumeRestoreExpansion } @@ -193,3 +198,59 @@ func (c *podVolumeRestores) Patch(ctx context.Context, name string, pt types.Pat Into(result) return } + +// Apply takes the given apply declarative configuration, applies it and returns the applied podVolumeRestore. +func (c *podVolumeRestores) Apply(ctx context.Context, podVolumeRestore *velerov1.PodVolumeRestoreApplyConfiguration, opts metav1.ApplyOptions) (result *v1.PodVolumeRestore, err error) { + if podVolumeRestore == nil { + return nil, fmt.Errorf("podVolumeRestore provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(podVolumeRestore) + if err != nil { + return nil, err + } + name := podVolumeRestore.Name + if name == nil { + return nil, fmt.Errorf("podVolumeRestore.Name must be provided to Apply") + } + result = &v1.PodVolumeRestore{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("podvolumerestores"). + Name(*name). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *podVolumeRestores) ApplyStatus(ctx context.Context, podVolumeRestore *velerov1.PodVolumeRestoreApplyConfiguration, opts metav1.ApplyOptions) (result *v1.PodVolumeRestore, err error) { + if podVolumeRestore == nil { + return nil, fmt.Errorf("podVolumeRestore provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(podVolumeRestore) + if err != nil { + return nil, err + } + + name := podVolumeRestore.Name + if name == nil { + return nil, fmt.Errorf("podVolumeRestore.Name must be provided to Apply") + } + + result = &v1.PodVolumeRestore{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("podvolumerestores"). + Name(*name). + SubResource("status"). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/restore.go b/pkg/generated/clientset/versioned/typed/velero/v1/restore.go index a43b823a66..ffebef09be 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/restore.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/restore.go @@ -20,9 +20,12 @@ package v1 import ( "context" + json "encoding/json" + "fmt" "time" v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" scheme "github.com/vmware-tanzu/velero/pkg/generated/clientset/versioned/scheme" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -47,6 +50,8 @@ type RestoreInterface interface { List(ctx context.Context, opts metav1.ListOptions) (*v1.RestoreList, error) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.Restore, err error) + Apply(ctx context.Context, restore *velerov1.RestoreApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Restore, err error) + ApplyStatus(ctx context.Context, restore *velerov1.RestoreApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Restore, err error) RestoreExpansion } @@ -193,3 +198,59 @@ func (c *restores) Patch(ctx context.Context, name string, pt types.PatchType, d Into(result) return } + +// Apply takes the given apply declarative configuration, applies it and returns the applied restore. +func (c *restores) Apply(ctx context.Context, restore *velerov1.RestoreApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Restore, err error) { + if restore == nil { + return nil, fmt.Errorf("restore provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(restore) + if err != nil { + return nil, err + } + name := restore.Name + if name == nil { + return nil, fmt.Errorf("restore.Name must be provided to Apply") + } + result = &v1.Restore{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("restores"). + Name(*name). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *restores) ApplyStatus(ctx context.Context, restore *velerov1.RestoreApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Restore, err error) { + if restore == nil { + return nil, fmt.Errorf("restore provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(restore) + if err != nil { + return nil, err + } + + name := restore.Name + if name == nil { + return nil, fmt.Errorf("restore.Name must be provided to Apply") + } + + result = &v1.Restore{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("restores"). + Name(*name). + SubResource("status"). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/schedule.go b/pkg/generated/clientset/versioned/typed/velero/v1/schedule.go index 8a003b008c..ec0c6c680c 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/schedule.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/schedule.go @@ -20,9 +20,12 @@ package v1 import ( "context" + json "encoding/json" + "fmt" "time" v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" scheme "github.com/vmware-tanzu/velero/pkg/generated/clientset/versioned/scheme" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -47,6 +50,8 @@ type ScheduleInterface interface { List(ctx context.Context, opts metav1.ListOptions) (*v1.ScheduleList, error) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.Schedule, err error) + Apply(ctx context.Context, schedule *velerov1.ScheduleApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Schedule, err error) + ApplyStatus(ctx context.Context, schedule *velerov1.ScheduleApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Schedule, err error) ScheduleExpansion } @@ -193,3 +198,59 @@ func (c *schedules) Patch(ctx context.Context, name string, pt types.PatchType, Into(result) return } + +// Apply takes the given apply declarative configuration, applies it and returns the applied schedule. +func (c *schedules) Apply(ctx context.Context, schedule *velerov1.ScheduleApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Schedule, err error) { + if schedule == nil { + return nil, fmt.Errorf("schedule provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(schedule) + if err != nil { + return nil, err + } + name := schedule.Name + if name == nil { + return nil, fmt.Errorf("schedule.Name must be provided to Apply") + } + result = &v1.Schedule{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("schedules"). + Name(*name). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *schedules) ApplyStatus(ctx context.Context, schedule *velerov1.ScheduleApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Schedule, err error) { + if schedule == nil { + return nil, fmt.Errorf("schedule provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(schedule) + if err != nil { + return nil, err + } + + name := schedule.Name + if name == nil { + return nil, fmt.Errorf("schedule.Name must be provided to Apply") + } + + result = &v1.Schedule{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("schedules"). + Name(*name). + SubResource("status"). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/serverstatusrequest.go b/pkg/generated/clientset/versioned/typed/velero/v1/serverstatusrequest.go index c8a16d80fe..349a6a47f3 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/serverstatusrequest.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/serverstatusrequest.go @@ -20,9 +20,12 @@ package v1 import ( "context" + json "encoding/json" + "fmt" "time" v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" scheme "github.com/vmware-tanzu/velero/pkg/generated/clientset/versioned/scheme" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -47,6 +50,8 @@ type ServerStatusRequestInterface interface { List(ctx context.Context, opts metav1.ListOptions) (*v1.ServerStatusRequestList, error) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.ServerStatusRequest, err error) + Apply(ctx context.Context, serverStatusRequest *velerov1.ServerStatusRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.ServerStatusRequest, err error) + ApplyStatus(ctx context.Context, serverStatusRequest *velerov1.ServerStatusRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.ServerStatusRequest, err error) ServerStatusRequestExpansion } @@ -193,3 +198,59 @@ func (c *serverStatusRequests) Patch(ctx context.Context, name string, pt types. Into(result) return } + +// Apply takes the given apply declarative configuration, applies it and returns the applied serverStatusRequest. +func (c *serverStatusRequests) Apply(ctx context.Context, serverStatusRequest *velerov1.ServerStatusRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.ServerStatusRequest, err error) { + if serverStatusRequest == nil { + return nil, fmt.Errorf("serverStatusRequest provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(serverStatusRequest) + if err != nil { + return nil, err + } + name := serverStatusRequest.Name + if name == nil { + return nil, fmt.Errorf("serverStatusRequest.Name must be provided to Apply") + } + result = &v1.ServerStatusRequest{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("serverstatusrequests"). + Name(*name). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *serverStatusRequests) ApplyStatus(ctx context.Context, serverStatusRequest *velerov1.ServerStatusRequestApplyConfiguration, opts metav1.ApplyOptions) (result *v1.ServerStatusRequest, err error) { + if serverStatusRequest == nil { + return nil, fmt.Errorf("serverStatusRequest provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(serverStatusRequest) + if err != nil { + return nil, err + } + + name := serverStatusRequest.Name + if name == nil { + return nil, fmt.Errorf("serverStatusRequest.Name must be provided to Apply") + } + + result = &v1.ServerStatusRequest{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("serverstatusrequests"). + Name(*name). + SubResource("status"). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/velero_client.go b/pkg/generated/clientset/versioned/typed/velero/v1/velero_client.go index 39f85628c2..253accc40b 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/velero_client.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/velero_client.go @@ -19,6 +19,8 @@ limitations under the License. package v1 import ( + "net/http" + v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" "github.com/vmware-tanzu/velero/pkg/generated/clientset/versioned/scheme" rest "k8s.io/client-go/rest" @@ -89,12 +91,28 @@ func (c *VeleroV1Client) VolumeSnapshotLocations(namespace string) VolumeSnapsho } // NewForConfig creates a new VeleroV1Client for the given config. +// NewForConfig is equivalent to NewForConfigAndClient(c, httpClient), +// where httpClient was generated with rest.HTTPClientFor(c). func NewForConfig(c *rest.Config) (*VeleroV1Client, error) { config := *c if err := setConfigDefaults(&config); err != nil { return nil, err } - client, err := rest.RESTClientFor(&config) + httpClient, err := rest.HTTPClientFor(&config) + if err != nil { + return nil, err + } + return NewForConfigAndClient(&config, httpClient) +} + +// NewForConfigAndClient creates a new VeleroV1Client for the given config and http client. +// Note the http client provided takes precedence over the configured transport values. +func NewForConfigAndClient(c *rest.Config, h *http.Client) (*VeleroV1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientForConfigAndClient(&config, h) if err != nil { return nil, err } diff --git a/pkg/generated/clientset/versioned/typed/velero/v1/volumesnapshotlocation.go b/pkg/generated/clientset/versioned/typed/velero/v1/volumesnapshotlocation.go index a4c11e93a4..e8a475b934 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v1/volumesnapshotlocation.go +++ b/pkg/generated/clientset/versioned/typed/velero/v1/volumesnapshotlocation.go @@ -20,9 +20,12 @@ package v1 import ( "context" + json "encoding/json" + "fmt" "time" v1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v1" + velerov1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v1" scheme "github.com/vmware-tanzu/velero/pkg/generated/clientset/versioned/scheme" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -47,6 +50,8 @@ type VolumeSnapshotLocationInterface interface { List(ctx context.Context, opts metav1.ListOptions) (*v1.VolumeSnapshotLocationList, error) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.VolumeSnapshotLocation, err error) + Apply(ctx context.Context, volumeSnapshotLocation *velerov1.VolumeSnapshotLocationApplyConfiguration, opts metav1.ApplyOptions) (result *v1.VolumeSnapshotLocation, err error) + ApplyStatus(ctx context.Context, volumeSnapshotLocation *velerov1.VolumeSnapshotLocationApplyConfiguration, opts metav1.ApplyOptions) (result *v1.VolumeSnapshotLocation, err error) VolumeSnapshotLocationExpansion } @@ -193,3 +198,59 @@ func (c *volumeSnapshotLocations) Patch(ctx context.Context, name string, pt typ Into(result) return } + +// Apply takes the given apply declarative configuration, applies it and returns the applied volumeSnapshotLocation. +func (c *volumeSnapshotLocations) Apply(ctx context.Context, volumeSnapshotLocation *velerov1.VolumeSnapshotLocationApplyConfiguration, opts metav1.ApplyOptions) (result *v1.VolumeSnapshotLocation, err error) { + if volumeSnapshotLocation == nil { + return nil, fmt.Errorf("volumeSnapshotLocation provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(volumeSnapshotLocation) + if err != nil { + return nil, err + } + name := volumeSnapshotLocation.Name + if name == nil { + return nil, fmt.Errorf("volumeSnapshotLocation.Name must be provided to Apply") + } + result = &v1.VolumeSnapshotLocation{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("volumesnapshotlocations"). + Name(*name). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *volumeSnapshotLocations) ApplyStatus(ctx context.Context, volumeSnapshotLocation *velerov1.VolumeSnapshotLocationApplyConfiguration, opts metav1.ApplyOptions) (result *v1.VolumeSnapshotLocation, err error) { + if volumeSnapshotLocation == nil { + return nil, fmt.Errorf("volumeSnapshotLocation provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(volumeSnapshotLocation) + if err != nil { + return nil, err + } + + name := volumeSnapshotLocation.Name + if name == nil { + return nil, fmt.Errorf("volumeSnapshotLocation.Name must be provided to Apply") + } + + result = &v1.VolumeSnapshotLocation{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("volumesnapshotlocations"). + Name(*name). + SubResource("status"). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/generated/clientset/versioned/typed/velero/v2alpha1/datadownload.go b/pkg/generated/clientset/versioned/typed/velero/v2alpha1/datadownload.go index 511677675b..79e7b0abc2 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v2alpha1/datadownload.go +++ b/pkg/generated/clientset/versioned/typed/velero/v2alpha1/datadownload.go @@ -20,9 +20,12 @@ package v2alpha1 import ( "context" + json "encoding/json" + "fmt" "time" v2alpha1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v2alpha1" + velerov2alpha1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v2alpha1" scheme "github.com/vmware-tanzu/velero/pkg/generated/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -47,6 +50,8 @@ type DataDownloadInterface interface { List(ctx context.Context, opts v1.ListOptions) (*v2alpha1.DataDownloadList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v2alpha1.DataDownload, err error) + Apply(ctx context.Context, dataDownload *velerov2alpha1.DataDownloadApplyConfiguration, opts v1.ApplyOptions) (result *v2alpha1.DataDownload, err error) + ApplyStatus(ctx context.Context, dataDownload *velerov2alpha1.DataDownloadApplyConfiguration, opts v1.ApplyOptions) (result *v2alpha1.DataDownload, err error) DataDownloadExpansion } @@ -193,3 +198,59 @@ func (c *dataDownloads) Patch(ctx context.Context, name string, pt types.PatchTy Into(result) return } + +// Apply takes the given apply declarative configuration, applies it and returns the applied dataDownload. +func (c *dataDownloads) Apply(ctx context.Context, dataDownload *velerov2alpha1.DataDownloadApplyConfiguration, opts v1.ApplyOptions) (result *v2alpha1.DataDownload, err error) { + if dataDownload == nil { + return nil, fmt.Errorf("dataDownload provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(dataDownload) + if err != nil { + return nil, err + } + name := dataDownload.Name + if name == nil { + return nil, fmt.Errorf("dataDownload.Name must be provided to Apply") + } + result = &v2alpha1.DataDownload{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("datadownloads"). + Name(*name). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *dataDownloads) ApplyStatus(ctx context.Context, dataDownload *velerov2alpha1.DataDownloadApplyConfiguration, opts v1.ApplyOptions) (result *v2alpha1.DataDownload, err error) { + if dataDownload == nil { + return nil, fmt.Errorf("dataDownload provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(dataDownload) + if err != nil { + return nil, err + } + + name := dataDownload.Name + if name == nil { + return nil, fmt.Errorf("dataDownload.Name must be provided to Apply") + } + + result = &v2alpha1.DataDownload{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("datadownloads"). + Name(*name). + SubResource("status"). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/generated/clientset/versioned/typed/velero/v2alpha1/dataupload.go b/pkg/generated/clientset/versioned/typed/velero/v2alpha1/dataupload.go index 4da27d527b..c64151e920 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v2alpha1/dataupload.go +++ b/pkg/generated/clientset/versioned/typed/velero/v2alpha1/dataupload.go @@ -20,9 +20,12 @@ package v2alpha1 import ( "context" + json "encoding/json" + "fmt" "time" v2alpha1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v2alpha1" + velerov2alpha1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v2alpha1" scheme "github.com/vmware-tanzu/velero/pkg/generated/clientset/versioned/scheme" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" types "k8s.io/apimachinery/pkg/types" @@ -47,6 +50,8 @@ type DataUploadInterface interface { List(ctx context.Context, opts v1.ListOptions) (*v2alpha1.DataUploadList, error) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v2alpha1.DataUpload, err error) + Apply(ctx context.Context, dataUpload *velerov2alpha1.DataUploadApplyConfiguration, opts v1.ApplyOptions) (result *v2alpha1.DataUpload, err error) + ApplyStatus(ctx context.Context, dataUpload *velerov2alpha1.DataUploadApplyConfiguration, opts v1.ApplyOptions) (result *v2alpha1.DataUpload, err error) DataUploadExpansion } @@ -193,3 +198,59 @@ func (c *dataUploads) Patch(ctx context.Context, name string, pt types.PatchType Into(result) return } + +// Apply takes the given apply declarative configuration, applies it and returns the applied dataUpload. +func (c *dataUploads) Apply(ctx context.Context, dataUpload *velerov2alpha1.DataUploadApplyConfiguration, opts v1.ApplyOptions) (result *v2alpha1.DataUpload, err error) { + if dataUpload == nil { + return nil, fmt.Errorf("dataUpload provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(dataUpload) + if err != nil { + return nil, err + } + name := dataUpload.Name + if name == nil { + return nil, fmt.Errorf("dataUpload.Name must be provided to Apply") + } + result = &v2alpha1.DataUpload{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("datauploads"). + Name(*name). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *dataUploads) ApplyStatus(ctx context.Context, dataUpload *velerov2alpha1.DataUploadApplyConfiguration, opts v1.ApplyOptions) (result *v2alpha1.DataUpload, err error) { + if dataUpload == nil { + return nil, fmt.Errorf("dataUpload provided to Apply must not be nil") + } + patchOpts := opts.ToPatchOptions() + data, err := json.Marshal(dataUpload) + if err != nil { + return nil, err + } + + name := dataUpload.Name + if name == nil { + return nil, fmt.Errorf("dataUpload.Name must be provided to Apply") + } + + result = &v2alpha1.DataUpload{} + err = c.client.Patch(types.ApplyPatchType). + Namespace(c.ns). + Resource("datauploads"). + Name(*name). + SubResource("status"). + VersionedParams(&patchOpts, scheme.ParameterCodec). + Body(data). + Do(ctx). + Into(result) + return +} diff --git a/pkg/generated/clientset/versioned/typed/velero/v2alpha1/fake/fake_datadownload.go b/pkg/generated/clientset/versioned/typed/velero/v2alpha1/fake/fake_datadownload.go index 40db6018b0..a2da68d20c 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v2alpha1/fake/fake_datadownload.go +++ b/pkg/generated/clientset/versioned/typed/velero/v2alpha1/fake/fake_datadownload.go @@ -20,11 +20,13 @@ package fake import ( "context" + json "encoding/json" + "fmt" v2alpha1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v2alpha1" + velerov2alpha1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v2alpha1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" - schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" testing "k8s.io/client-go/testing" @@ -36,9 +38,9 @@ type FakeDataDownloads struct { ns string } -var datadownloadsResource = schema.GroupVersionResource{Group: "velero.io", Version: "v2alpha1", Resource: "datadownloads"} +var datadownloadsResource = v2alpha1.SchemeGroupVersion.WithResource("datadownloads") -var datadownloadsKind = schema.GroupVersionKind{Group: "velero.io", Version: "v2alpha1", Kind: "DataDownload"} +var datadownloadsKind = v2alpha1.SchemeGroupVersion.WithKind("DataDownload") // Get takes name of the dataDownload, and returns the corresponding dataDownload object, and an error if there is any. func (c *FakeDataDownloads) Get(ctx context.Context, name string, options v1.GetOptions) (result *v2alpha1.DataDownload, err error) { @@ -117,7 +119,7 @@ func (c *FakeDataDownloads) UpdateStatus(ctx context.Context, dataDownload *v2al // Delete takes name of the dataDownload and deletes it. Returns an error if one occurs. func (c *FakeDataDownloads) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(datadownloadsResource, c.ns, name), &v2alpha1.DataDownload{}) + Invokes(testing.NewDeleteActionWithOptions(datadownloadsResource, c.ns, name, opts), &v2alpha1.DataDownload{}) return err } @@ -140,3 +142,48 @@ func (c *FakeDataDownloads) Patch(ctx context.Context, name string, pt types.Pat } return obj.(*v2alpha1.DataDownload), err } + +// Apply takes the given apply declarative configuration, applies it and returns the applied dataDownload. +func (c *FakeDataDownloads) Apply(ctx context.Context, dataDownload *velerov2alpha1.DataDownloadApplyConfiguration, opts v1.ApplyOptions) (result *v2alpha1.DataDownload, err error) { + if dataDownload == nil { + return nil, fmt.Errorf("dataDownload provided to Apply must not be nil") + } + data, err := json.Marshal(dataDownload) + if err != nil { + return nil, err + } + name := dataDownload.Name + if name == nil { + return nil, fmt.Errorf("dataDownload.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(datadownloadsResource, c.ns, *name, types.ApplyPatchType, data), &v2alpha1.DataDownload{}) + + if obj == nil { + return nil, err + } + return obj.(*v2alpha1.DataDownload), err +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *FakeDataDownloads) ApplyStatus(ctx context.Context, dataDownload *velerov2alpha1.DataDownloadApplyConfiguration, opts v1.ApplyOptions) (result *v2alpha1.DataDownload, err error) { + if dataDownload == nil { + return nil, fmt.Errorf("dataDownload provided to Apply must not be nil") + } + data, err := json.Marshal(dataDownload) + if err != nil { + return nil, err + } + name := dataDownload.Name + if name == nil { + return nil, fmt.Errorf("dataDownload.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(datadownloadsResource, c.ns, *name, types.ApplyPatchType, data, "status"), &v2alpha1.DataDownload{}) + + if obj == nil { + return nil, err + } + return obj.(*v2alpha1.DataDownload), err +} diff --git a/pkg/generated/clientset/versioned/typed/velero/v2alpha1/fake/fake_dataupload.go b/pkg/generated/clientset/versioned/typed/velero/v2alpha1/fake/fake_dataupload.go index d40b508748..a45472dea2 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v2alpha1/fake/fake_dataupload.go +++ b/pkg/generated/clientset/versioned/typed/velero/v2alpha1/fake/fake_dataupload.go @@ -20,11 +20,13 @@ package fake import ( "context" + json "encoding/json" + "fmt" v2alpha1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v2alpha1" + velerov2alpha1 "github.com/vmware-tanzu/velero/pkg/generated/applyconfiguration/velero/v2alpha1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" labels "k8s.io/apimachinery/pkg/labels" - schema "k8s.io/apimachinery/pkg/runtime/schema" types "k8s.io/apimachinery/pkg/types" watch "k8s.io/apimachinery/pkg/watch" testing "k8s.io/client-go/testing" @@ -36,9 +38,9 @@ type FakeDataUploads struct { ns string } -var datauploadsResource = schema.GroupVersionResource{Group: "velero.io", Version: "v2alpha1", Resource: "datauploads"} +var datauploadsResource = v2alpha1.SchemeGroupVersion.WithResource("datauploads") -var datauploadsKind = schema.GroupVersionKind{Group: "velero.io", Version: "v2alpha1", Kind: "DataUpload"} +var datauploadsKind = v2alpha1.SchemeGroupVersion.WithKind("DataUpload") // Get takes name of the dataUpload, and returns the corresponding dataUpload object, and an error if there is any. func (c *FakeDataUploads) Get(ctx context.Context, name string, options v1.GetOptions) (result *v2alpha1.DataUpload, err error) { @@ -117,7 +119,7 @@ func (c *FakeDataUploads) UpdateStatus(ctx context.Context, dataUpload *v2alpha1 // Delete takes name of the dataUpload and deletes it. Returns an error if one occurs. func (c *FakeDataUploads) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error { _, err := c.Fake. - Invokes(testing.NewDeleteAction(datauploadsResource, c.ns, name), &v2alpha1.DataUpload{}) + Invokes(testing.NewDeleteActionWithOptions(datauploadsResource, c.ns, name, opts), &v2alpha1.DataUpload{}) return err } @@ -140,3 +142,48 @@ func (c *FakeDataUploads) Patch(ctx context.Context, name string, pt types.Patch } return obj.(*v2alpha1.DataUpload), err } + +// Apply takes the given apply declarative configuration, applies it and returns the applied dataUpload. +func (c *FakeDataUploads) Apply(ctx context.Context, dataUpload *velerov2alpha1.DataUploadApplyConfiguration, opts v1.ApplyOptions) (result *v2alpha1.DataUpload, err error) { + if dataUpload == nil { + return nil, fmt.Errorf("dataUpload provided to Apply must not be nil") + } + data, err := json.Marshal(dataUpload) + if err != nil { + return nil, err + } + name := dataUpload.Name + if name == nil { + return nil, fmt.Errorf("dataUpload.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(datauploadsResource, c.ns, *name, types.ApplyPatchType, data), &v2alpha1.DataUpload{}) + + if obj == nil { + return nil, err + } + return obj.(*v2alpha1.DataUpload), err +} + +// ApplyStatus was generated because the type contains a Status member. +// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). +func (c *FakeDataUploads) ApplyStatus(ctx context.Context, dataUpload *velerov2alpha1.DataUploadApplyConfiguration, opts v1.ApplyOptions) (result *v2alpha1.DataUpload, err error) { + if dataUpload == nil { + return nil, fmt.Errorf("dataUpload provided to Apply must not be nil") + } + data, err := json.Marshal(dataUpload) + if err != nil { + return nil, err + } + name := dataUpload.Name + if name == nil { + return nil, fmt.Errorf("dataUpload.Name must be provided to Apply") + } + obj, err := c.Fake. + Invokes(testing.NewPatchSubresourceAction(datauploadsResource, c.ns, *name, types.ApplyPatchType, data, "status"), &v2alpha1.DataUpload{}) + + if obj == nil { + return nil, err + } + return obj.(*v2alpha1.DataUpload), err +} diff --git a/pkg/generated/clientset/versioned/typed/velero/v2alpha1/velero_client.go b/pkg/generated/clientset/versioned/typed/velero/v2alpha1/velero_client.go index 6b2ea09801..a1c707a5b1 100644 --- a/pkg/generated/clientset/versioned/typed/velero/v2alpha1/velero_client.go +++ b/pkg/generated/clientset/versioned/typed/velero/v2alpha1/velero_client.go @@ -19,6 +19,8 @@ limitations under the License. package v2alpha1 import ( + "net/http" + v2alpha1 "github.com/vmware-tanzu/velero/pkg/apis/velero/v2alpha1" "github.com/vmware-tanzu/velero/pkg/generated/clientset/versioned/scheme" rest "k8s.io/client-go/rest" @@ -44,12 +46,28 @@ func (c *VeleroV2alpha1Client) DataUploads(namespace string) DataUploadInterface } // NewForConfig creates a new VeleroV2alpha1Client for the given config. +// NewForConfig is equivalent to NewForConfigAndClient(c, httpClient), +// where httpClient was generated with rest.HTTPClientFor(c). func NewForConfig(c *rest.Config) (*VeleroV2alpha1Client, error) { config := *c if err := setConfigDefaults(&config); err != nil { return nil, err } - client, err := rest.RESTClientFor(&config) + httpClient, err := rest.HTTPClientFor(&config) + if err != nil { + return nil, err + } + return NewForConfigAndClient(&config, httpClient) +} + +// NewForConfigAndClient creates a new VeleroV2alpha1Client for the given config and http client. +// Note the http client provided takes precedence over the configured transport values. +func NewForConfigAndClient(c *rest.Config, h *http.Client) (*VeleroV2alpha1Client, error) { + config := *c + if err := setConfigDefaults(&config); err != nil { + return nil, err + } + client, err := rest.RESTClientForConfigAndClient(&config, h) if err != nil { return nil, err } diff --git a/pkg/generated/informers/externalversions/factory.go b/pkg/generated/informers/externalversions/factory.go index d90132add6..aba2304d7c 100644 --- a/pkg/generated/informers/externalversions/factory.go +++ b/pkg/generated/informers/externalversions/factory.go @@ -47,6 +47,11 @@ type sharedInformerFactory struct { // startedInformers is used for tracking which informers have been started. // This allows Start() to be called multiple times safely. startedInformers map[reflect.Type]bool + // wg tracks how many goroutines were started. + wg sync.WaitGroup + // shuttingDown is true when Shutdown has been called. It may still be running + // because it needs to wait for goroutines. + shuttingDown bool } // WithCustomResyncConfig sets a custom resync period for the specified informer types. @@ -107,20 +112,39 @@ func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResy return factory } -// Start initializes all requested informers. func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) { f.lock.Lock() defer f.lock.Unlock() + if f.shuttingDown { + return + } + for informerType, informer := range f.informers { if !f.startedInformers[informerType] { - go informer.Run(stopCh) + f.wg.Add(1) + // We need a new variable in each loop iteration, + // otherwise the goroutine would use the loop variable + // and that keeps changing. + informer := informer + go func() { + defer f.wg.Done() + informer.Run(stopCh) + }() f.startedInformers[informerType] = true } } } -// WaitForCacheSync waits for all started informers' cache were synced. +func (f *sharedInformerFactory) Shutdown() { + f.lock.Lock() + f.shuttingDown = true + f.lock.Unlock() + + // Will return immediately if there is nothing to wait for. + f.wg.Wait() +} + func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool { informers := func() map[reflect.Type]cache.SharedIndexInformer { f.lock.Lock() @@ -142,7 +166,7 @@ func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[ref return res } -// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// InformerFor returns the SharedIndexInformer for obj using an internal // client. func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { f.lock.Lock() @@ -167,11 +191,58 @@ func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internal // SharedInformerFactory provides shared informers for resources in all known // API group versions. +// +// It is typically used like this: +// +// ctx, cancel := context.Background() +// defer cancel() +// factory := NewSharedInformerFactory(client, resyncPeriod) +// defer factory.WaitForStop() // Returns immediately if nothing was started. +// genericInformer := factory.ForResource(resource) +// typedInformer := factory.SomeAPIGroup().V1().SomeType() +// factory.Start(ctx.Done()) // Start processing these informers. +// synced := factory.WaitForCacheSync(ctx.Done()) +// for v, ok := range synced { +// if !ok { +// fmt.Fprintf(os.Stderr, "caches failed to sync: %v", v) +// return +// } +// } +// +// // Creating informers can also be created after Start, but then +// // Start must be called again: +// anotherGenericInformer := factory.ForResource(resource) +// factory.Start(ctx.Done()) type SharedInformerFactory interface { internalinterfaces.SharedInformerFactory - ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + + // Start initializes all requested informers. They are handled in goroutines + // which run until the stop channel gets closed. + Start(stopCh <-chan struct{}) + + // Shutdown marks a factory as shutting down. At that point no new + // informers can be started anymore and Start will return without + // doing anything. + // + // In addition, Shutdown blocks until all goroutines have terminated. For that + // to happen, the close channel(s) that they were started with must be closed, + // either before Shutdown gets called or while it is waiting. + // + // Shutdown may be called multiple times, even concurrently. All such calls will + // block until all goroutines have terminated. + Shutdown() + + // WaitForCacheSync blocks until all started informers' caches were synced + // or the stop channel gets closed. WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool + // ForResource gives generic access to a shared informer of the matching type. + ForResource(resource schema.GroupVersionResource) (GenericInformer, error) + + // InformerFor returns the SharedIndexInformer for obj using an internal + // client. + InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer + Velero() velero.Interface } diff --git a/pkg/plugin/generated/BackupItemAction.pb.go b/pkg/plugin/generated/BackupItemAction.pb.go index 5b216cc6f0..351f911085 100644 --- a/pkg/plugin/generated/BackupItemAction.pb.go +++ b/pkg/plugin/generated/BackupItemAction.pb.go @@ -1,17 +1,12 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.23.0 -// protoc v3.14.0 +// protoc-gen-go v1.32.0 +// protoc v4.25.2 // source: BackupItemAction.proto package generated import ( - context "context" - proto "github.com/golang/protobuf/proto" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -25,10 +20,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 - type ExecuteRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -398,119 +389,3 @@ func file_BackupItemAction_proto_init() { file_BackupItemAction_proto_goTypes = nil file_BackupItemAction_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// BackupItemActionClient is the client API for BackupItemAction service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type BackupItemActionClient interface { - AppliesTo(ctx context.Context, in *BackupItemActionAppliesToRequest, opts ...grpc.CallOption) (*BackupItemActionAppliesToResponse, error) - Execute(ctx context.Context, in *ExecuteRequest, opts ...grpc.CallOption) (*ExecuteResponse, error) -} - -type backupItemActionClient struct { - cc grpc.ClientConnInterface -} - -func NewBackupItemActionClient(cc grpc.ClientConnInterface) BackupItemActionClient { - return &backupItemActionClient{cc} -} - -func (c *backupItemActionClient) AppliesTo(ctx context.Context, in *BackupItemActionAppliesToRequest, opts ...grpc.CallOption) (*BackupItemActionAppliesToResponse, error) { - out := new(BackupItemActionAppliesToResponse) - err := c.cc.Invoke(ctx, "/generated.BackupItemAction/AppliesTo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *backupItemActionClient) Execute(ctx context.Context, in *ExecuteRequest, opts ...grpc.CallOption) (*ExecuteResponse, error) { - out := new(ExecuteResponse) - err := c.cc.Invoke(ctx, "/generated.BackupItemAction/Execute", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// BackupItemActionServer is the server API for BackupItemAction service. -type BackupItemActionServer interface { - AppliesTo(context.Context, *BackupItemActionAppliesToRequest) (*BackupItemActionAppliesToResponse, error) - Execute(context.Context, *ExecuteRequest) (*ExecuteResponse, error) -} - -// UnimplementedBackupItemActionServer can be embedded to have forward compatible implementations. -type UnimplementedBackupItemActionServer struct { -} - -func (*UnimplementedBackupItemActionServer) AppliesTo(context.Context, *BackupItemActionAppliesToRequest) (*BackupItemActionAppliesToResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AppliesTo not implemented") -} -func (*UnimplementedBackupItemActionServer) Execute(context.Context, *ExecuteRequest) (*ExecuteResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Execute not implemented") -} - -func RegisterBackupItemActionServer(s *grpc.Server, srv BackupItemActionServer) { - s.RegisterService(&_BackupItemAction_serviceDesc, srv) -} - -func _BackupItemAction_AppliesTo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(BackupItemActionAppliesToRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BackupItemActionServer).AppliesTo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.BackupItemAction/AppliesTo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BackupItemActionServer).AppliesTo(ctx, req.(*BackupItemActionAppliesToRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BackupItemAction_Execute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ExecuteRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BackupItemActionServer).Execute(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.BackupItemAction/Execute", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BackupItemActionServer).Execute(ctx, req.(*ExecuteRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _BackupItemAction_serviceDesc = grpc.ServiceDesc{ - ServiceName: "generated.BackupItemAction", - HandlerType: (*BackupItemActionServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "AppliesTo", - Handler: _BackupItemAction_AppliesTo_Handler, - }, - { - MethodName: "Execute", - Handler: _BackupItemAction_Execute_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "BackupItemAction.proto", -} diff --git a/pkg/plugin/generated/BackupItemAction_grpc.pb.go b/pkg/plugin/generated/BackupItemAction_grpc.pb.go new file mode 100644 index 0000000000..6174108860 --- /dev/null +++ b/pkg/plugin/generated/BackupItemAction_grpc.pb.go @@ -0,0 +1,146 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.25.2 +// source: BackupItemAction.proto + +package generated + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + BackupItemAction_AppliesTo_FullMethodName = "/generated.BackupItemAction/AppliesTo" + BackupItemAction_Execute_FullMethodName = "/generated.BackupItemAction/Execute" +) + +// BackupItemActionClient is the client API for BackupItemAction service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type BackupItemActionClient interface { + AppliesTo(ctx context.Context, in *BackupItemActionAppliesToRequest, opts ...grpc.CallOption) (*BackupItemActionAppliesToResponse, error) + Execute(ctx context.Context, in *ExecuteRequest, opts ...grpc.CallOption) (*ExecuteResponse, error) +} + +type backupItemActionClient struct { + cc grpc.ClientConnInterface +} + +func NewBackupItemActionClient(cc grpc.ClientConnInterface) BackupItemActionClient { + return &backupItemActionClient{cc} +} + +func (c *backupItemActionClient) AppliesTo(ctx context.Context, in *BackupItemActionAppliesToRequest, opts ...grpc.CallOption) (*BackupItemActionAppliesToResponse, error) { + out := new(BackupItemActionAppliesToResponse) + err := c.cc.Invoke(ctx, BackupItemAction_AppliesTo_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *backupItemActionClient) Execute(ctx context.Context, in *ExecuteRequest, opts ...grpc.CallOption) (*ExecuteResponse, error) { + out := new(ExecuteResponse) + err := c.cc.Invoke(ctx, BackupItemAction_Execute_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// BackupItemActionServer is the server API for BackupItemAction service. +// All implementations must embed UnimplementedBackupItemActionServer +// for forward compatibility +type BackupItemActionServer interface { + AppliesTo(context.Context, *BackupItemActionAppliesToRequest) (*BackupItemActionAppliesToResponse, error) + Execute(context.Context, *ExecuteRequest) (*ExecuteResponse, error) + mustEmbedUnimplementedBackupItemActionServer() +} + +// UnimplementedBackupItemActionServer must be embedded to have forward compatible implementations. +type UnimplementedBackupItemActionServer struct { +} + +func (UnimplementedBackupItemActionServer) AppliesTo(context.Context, *BackupItemActionAppliesToRequest) (*BackupItemActionAppliesToResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AppliesTo not implemented") +} +func (UnimplementedBackupItemActionServer) Execute(context.Context, *ExecuteRequest) (*ExecuteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Execute not implemented") +} +func (UnimplementedBackupItemActionServer) mustEmbedUnimplementedBackupItemActionServer() {} + +// UnsafeBackupItemActionServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to BackupItemActionServer will +// result in compilation errors. +type UnsafeBackupItemActionServer interface { + mustEmbedUnimplementedBackupItemActionServer() +} + +func RegisterBackupItemActionServer(s grpc.ServiceRegistrar, srv BackupItemActionServer) { + s.RegisterService(&BackupItemAction_ServiceDesc, srv) +} + +func _BackupItemAction_AppliesTo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BackupItemActionAppliesToRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackupItemActionServer).AppliesTo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BackupItemAction_AppliesTo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackupItemActionServer).AppliesTo(ctx, req.(*BackupItemActionAppliesToRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BackupItemAction_Execute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExecuteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackupItemActionServer).Execute(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BackupItemAction_Execute_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackupItemActionServer).Execute(ctx, req.(*ExecuteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// BackupItemAction_ServiceDesc is the grpc.ServiceDesc for BackupItemAction service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var BackupItemAction_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "generated.BackupItemAction", + HandlerType: (*BackupItemActionServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "AppliesTo", + Handler: _BackupItemAction_AppliesTo_Handler, + }, + { + MethodName: "Execute", + Handler: _BackupItemAction_Execute_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "BackupItemAction.proto", +} diff --git a/pkg/plugin/generated/DeleteItemAction.pb.go b/pkg/plugin/generated/DeleteItemAction.pb.go index be5759f381..dbbf3d30eb 100644 --- a/pkg/plugin/generated/DeleteItemAction.pb.go +++ b/pkg/plugin/generated/DeleteItemAction.pb.go @@ -1,17 +1,12 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.23.0 -// protoc v3.14.0 +// protoc-gen-go v1.32.0 +// protoc v4.25.2 // source: DeleteItemAction.proto package generated import ( - context "context" - proto "github.com/golang/protobuf/proto" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -25,10 +20,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 - type DeleteItemActionExecuteRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -324,119 +315,3 @@ func file_DeleteItemAction_proto_init() { file_DeleteItemAction_proto_goTypes = nil file_DeleteItemAction_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// DeleteItemActionClient is the client API for DeleteItemAction service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type DeleteItemActionClient interface { - AppliesTo(ctx context.Context, in *DeleteItemActionAppliesToRequest, opts ...grpc.CallOption) (*DeleteItemActionAppliesToResponse, error) - Execute(ctx context.Context, in *DeleteItemActionExecuteRequest, opts ...grpc.CallOption) (*Empty, error) -} - -type deleteItemActionClient struct { - cc grpc.ClientConnInterface -} - -func NewDeleteItemActionClient(cc grpc.ClientConnInterface) DeleteItemActionClient { - return &deleteItemActionClient{cc} -} - -func (c *deleteItemActionClient) AppliesTo(ctx context.Context, in *DeleteItemActionAppliesToRequest, opts ...grpc.CallOption) (*DeleteItemActionAppliesToResponse, error) { - out := new(DeleteItemActionAppliesToResponse) - err := c.cc.Invoke(ctx, "/generated.DeleteItemAction/AppliesTo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *deleteItemActionClient) Execute(ctx context.Context, in *DeleteItemActionExecuteRequest, opts ...grpc.CallOption) (*Empty, error) { - out := new(Empty) - err := c.cc.Invoke(ctx, "/generated.DeleteItemAction/Execute", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// DeleteItemActionServer is the server API for DeleteItemAction service. -type DeleteItemActionServer interface { - AppliesTo(context.Context, *DeleteItemActionAppliesToRequest) (*DeleteItemActionAppliesToResponse, error) - Execute(context.Context, *DeleteItemActionExecuteRequest) (*Empty, error) -} - -// UnimplementedDeleteItemActionServer can be embedded to have forward compatible implementations. -type UnimplementedDeleteItemActionServer struct { -} - -func (*UnimplementedDeleteItemActionServer) AppliesTo(context.Context, *DeleteItemActionAppliesToRequest) (*DeleteItemActionAppliesToResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AppliesTo not implemented") -} -func (*UnimplementedDeleteItemActionServer) Execute(context.Context, *DeleteItemActionExecuteRequest) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method Execute not implemented") -} - -func RegisterDeleteItemActionServer(s *grpc.Server, srv DeleteItemActionServer) { - s.RegisterService(&_DeleteItemAction_serviceDesc, srv) -} - -func _DeleteItemAction_AppliesTo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteItemActionAppliesToRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(DeleteItemActionServer).AppliesTo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.DeleteItemAction/AppliesTo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DeleteItemActionServer).AppliesTo(ctx, req.(*DeleteItemActionAppliesToRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _DeleteItemAction_Execute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteItemActionExecuteRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(DeleteItemActionServer).Execute(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.DeleteItemAction/Execute", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DeleteItemActionServer).Execute(ctx, req.(*DeleteItemActionExecuteRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _DeleteItemAction_serviceDesc = grpc.ServiceDesc{ - ServiceName: "generated.DeleteItemAction", - HandlerType: (*DeleteItemActionServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "AppliesTo", - Handler: _DeleteItemAction_AppliesTo_Handler, - }, - { - MethodName: "Execute", - Handler: _DeleteItemAction_Execute_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "DeleteItemAction.proto", -} diff --git a/pkg/plugin/generated/DeleteItemAction_grpc.pb.go b/pkg/plugin/generated/DeleteItemAction_grpc.pb.go new file mode 100644 index 0000000000..91ecaaf012 --- /dev/null +++ b/pkg/plugin/generated/DeleteItemAction_grpc.pb.go @@ -0,0 +1,146 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.25.2 +// source: DeleteItemAction.proto + +package generated + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + DeleteItemAction_AppliesTo_FullMethodName = "/generated.DeleteItemAction/AppliesTo" + DeleteItemAction_Execute_FullMethodName = "/generated.DeleteItemAction/Execute" +) + +// DeleteItemActionClient is the client API for DeleteItemAction service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type DeleteItemActionClient interface { + AppliesTo(ctx context.Context, in *DeleteItemActionAppliesToRequest, opts ...grpc.CallOption) (*DeleteItemActionAppliesToResponse, error) + Execute(ctx context.Context, in *DeleteItemActionExecuteRequest, opts ...grpc.CallOption) (*Empty, error) +} + +type deleteItemActionClient struct { + cc grpc.ClientConnInterface +} + +func NewDeleteItemActionClient(cc grpc.ClientConnInterface) DeleteItemActionClient { + return &deleteItemActionClient{cc} +} + +func (c *deleteItemActionClient) AppliesTo(ctx context.Context, in *DeleteItemActionAppliesToRequest, opts ...grpc.CallOption) (*DeleteItemActionAppliesToResponse, error) { + out := new(DeleteItemActionAppliesToResponse) + err := c.cc.Invoke(ctx, DeleteItemAction_AppliesTo_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *deleteItemActionClient) Execute(ctx context.Context, in *DeleteItemActionExecuteRequest, opts ...grpc.CallOption) (*Empty, error) { + out := new(Empty) + err := c.cc.Invoke(ctx, DeleteItemAction_Execute_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// DeleteItemActionServer is the server API for DeleteItemAction service. +// All implementations must embed UnimplementedDeleteItemActionServer +// for forward compatibility +type DeleteItemActionServer interface { + AppliesTo(context.Context, *DeleteItemActionAppliesToRequest) (*DeleteItemActionAppliesToResponse, error) + Execute(context.Context, *DeleteItemActionExecuteRequest) (*Empty, error) + mustEmbedUnimplementedDeleteItemActionServer() +} + +// UnimplementedDeleteItemActionServer must be embedded to have forward compatible implementations. +type UnimplementedDeleteItemActionServer struct { +} + +func (UnimplementedDeleteItemActionServer) AppliesTo(context.Context, *DeleteItemActionAppliesToRequest) (*DeleteItemActionAppliesToResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AppliesTo not implemented") +} +func (UnimplementedDeleteItemActionServer) Execute(context.Context, *DeleteItemActionExecuteRequest) (*Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Execute not implemented") +} +func (UnimplementedDeleteItemActionServer) mustEmbedUnimplementedDeleteItemActionServer() {} + +// UnsafeDeleteItemActionServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to DeleteItemActionServer will +// result in compilation errors. +type UnsafeDeleteItemActionServer interface { + mustEmbedUnimplementedDeleteItemActionServer() +} + +func RegisterDeleteItemActionServer(s grpc.ServiceRegistrar, srv DeleteItemActionServer) { + s.RegisterService(&DeleteItemAction_ServiceDesc, srv) +} + +func _DeleteItemAction_AppliesTo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteItemActionAppliesToRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DeleteItemActionServer).AppliesTo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: DeleteItemAction_AppliesTo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DeleteItemActionServer).AppliesTo(ctx, req.(*DeleteItemActionAppliesToRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DeleteItemAction_Execute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteItemActionExecuteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DeleteItemActionServer).Execute(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: DeleteItemAction_Execute_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DeleteItemActionServer).Execute(ctx, req.(*DeleteItemActionExecuteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// DeleteItemAction_ServiceDesc is the grpc.ServiceDesc for DeleteItemAction service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var DeleteItemAction_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "generated.DeleteItemAction", + HandlerType: (*DeleteItemActionServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "AppliesTo", + Handler: _DeleteItemAction_AppliesTo_Handler, + }, + { + MethodName: "Execute", + Handler: _DeleteItemAction_Execute_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "DeleteItemAction.proto", +} diff --git a/pkg/plugin/generated/ObjectStore.pb.go b/pkg/plugin/generated/ObjectStore.pb.go index 837f65b33e..61b9d2eb64 100644 --- a/pkg/plugin/generated/ObjectStore.pb.go +++ b/pkg/plugin/generated/ObjectStore.pb.go @@ -1,17 +1,12 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.23.0 -// protoc v3.14.0 +// protoc-gen-go v1.32.0 +// protoc v4.25.2 // source: ObjectStore.proto package generated import ( - context "context" - proto "github.com/golang/protobuf/proto" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -25,10 +20,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 - type PutObjectRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1142,397 +1133,3 @@ func file_ObjectStore_proto_init() { file_ObjectStore_proto_goTypes = nil file_ObjectStore_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// ObjectStoreClient is the client API for ObjectStore service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type ObjectStoreClient interface { - Init(ctx context.Context, in *ObjectStoreInitRequest, opts ...grpc.CallOption) (*Empty, error) - PutObject(ctx context.Context, opts ...grpc.CallOption) (ObjectStore_PutObjectClient, error) - ObjectExists(ctx context.Context, in *ObjectExistsRequest, opts ...grpc.CallOption) (*ObjectExistsResponse, error) - GetObject(ctx context.Context, in *GetObjectRequest, opts ...grpc.CallOption) (ObjectStore_GetObjectClient, error) - ListCommonPrefixes(ctx context.Context, in *ListCommonPrefixesRequest, opts ...grpc.CallOption) (*ListCommonPrefixesResponse, error) - ListObjects(ctx context.Context, in *ListObjectsRequest, opts ...grpc.CallOption) (*ListObjectsResponse, error) - DeleteObject(ctx context.Context, in *DeleteObjectRequest, opts ...grpc.CallOption) (*Empty, error) - CreateSignedURL(ctx context.Context, in *CreateSignedURLRequest, opts ...grpc.CallOption) (*CreateSignedURLResponse, error) -} - -type objectStoreClient struct { - cc grpc.ClientConnInterface -} - -func NewObjectStoreClient(cc grpc.ClientConnInterface) ObjectStoreClient { - return &objectStoreClient{cc} -} - -func (c *objectStoreClient) Init(ctx context.Context, in *ObjectStoreInitRequest, opts ...grpc.CallOption) (*Empty, error) { - out := new(Empty) - err := c.cc.Invoke(ctx, "/generated.ObjectStore/Init", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *objectStoreClient) PutObject(ctx context.Context, opts ...grpc.CallOption) (ObjectStore_PutObjectClient, error) { - stream, err := c.cc.NewStream(ctx, &_ObjectStore_serviceDesc.Streams[0], "/generated.ObjectStore/PutObject", opts...) - if err != nil { - return nil, err - } - x := &objectStorePutObjectClient{stream} - return x, nil -} - -type ObjectStore_PutObjectClient interface { - Send(*PutObjectRequest) error - CloseAndRecv() (*Empty, error) - grpc.ClientStream -} - -type objectStorePutObjectClient struct { - grpc.ClientStream -} - -func (x *objectStorePutObjectClient) Send(m *PutObjectRequest) error { - return x.ClientStream.SendMsg(m) -} - -func (x *objectStorePutObjectClient) CloseAndRecv() (*Empty, error) { - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - m := new(Empty) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *objectStoreClient) ObjectExists(ctx context.Context, in *ObjectExistsRequest, opts ...grpc.CallOption) (*ObjectExistsResponse, error) { - out := new(ObjectExistsResponse) - err := c.cc.Invoke(ctx, "/generated.ObjectStore/ObjectExists", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *objectStoreClient) GetObject(ctx context.Context, in *GetObjectRequest, opts ...grpc.CallOption) (ObjectStore_GetObjectClient, error) { - stream, err := c.cc.NewStream(ctx, &_ObjectStore_serviceDesc.Streams[1], "/generated.ObjectStore/GetObject", opts...) - if err != nil { - return nil, err - } - x := &objectStoreGetObjectClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type ObjectStore_GetObjectClient interface { - Recv() (*Bytes, error) - grpc.ClientStream -} - -type objectStoreGetObjectClient struct { - grpc.ClientStream -} - -func (x *objectStoreGetObjectClient) Recv() (*Bytes, error) { - m := new(Bytes) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *objectStoreClient) ListCommonPrefixes(ctx context.Context, in *ListCommonPrefixesRequest, opts ...grpc.CallOption) (*ListCommonPrefixesResponse, error) { - out := new(ListCommonPrefixesResponse) - err := c.cc.Invoke(ctx, "/generated.ObjectStore/ListCommonPrefixes", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *objectStoreClient) ListObjects(ctx context.Context, in *ListObjectsRequest, opts ...grpc.CallOption) (*ListObjectsResponse, error) { - out := new(ListObjectsResponse) - err := c.cc.Invoke(ctx, "/generated.ObjectStore/ListObjects", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *objectStoreClient) DeleteObject(ctx context.Context, in *DeleteObjectRequest, opts ...grpc.CallOption) (*Empty, error) { - out := new(Empty) - err := c.cc.Invoke(ctx, "/generated.ObjectStore/DeleteObject", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *objectStoreClient) CreateSignedURL(ctx context.Context, in *CreateSignedURLRequest, opts ...grpc.CallOption) (*CreateSignedURLResponse, error) { - out := new(CreateSignedURLResponse) - err := c.cc.Invoke(ctx, "/generated.ObjectStore/CreateSignedURL", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// ObjectStoreServer is the server API for ObjectStore service. -type ObjectStoreServer interface { - Init(context.Context, *ObjectStoreInitRequest) (*Empty, error) - PutObject(ObjectStore_PutObjectServer) error - ObjectExists(context.Context, *ObjectExistsRequest) (*ObjectExistsResponse, error) - GetObject(*GetObjectRequest, ObjectStore_GetObjectServer) error - ListCommonPrefixes(context.Context, *ListCommonPrefixesRequest) (*ListCommonPrefixesResponse, error) - ListObjects(context.Context, *ListObjectsRequest) (*ListObjectsResponse, error) - DeleteObject(context.Context, *DeleteObjectRequest) (*Empty, error) - CreateSignedURL(context.Context, *CreateSignedURLRequest) (*CreateSignedURLResponse, error) -} - -// UnimplementedObjectStoreServer can be embedded to have forward compatible implementations. -type UnimplementedObjectStoreServer struct { -} - -func (*UnimplementedObjectStoreServer) Init(context.Context, *ObjectStoreInitRequest) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method Init not implemented") -} -func (*UnimplementedObjectStoreServer) PutObject(ObjectStore_PutObjectServer) error { - return status.Errorf(codes.Unimplemented, "method PutObject not implemented") -} -func (*UnimplementedObjectStoreServer) ObjectExists(context.Context, *ObjectExistsRequest) (*ObjectExistsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ObjectExists not implemented") -} -func (*UnimplementedObjectStoreServer) GetObject(*GetObjectRequest, ObjectStore_GetObjectServer) error { - return status.Errorf(codes.Unimplemented, "method GetObject not implemented") -} -func (*UnimplementedObjectStoreServer) ListCommonPrefixes(context.Context, *ListCommonPrefixesRequest) (*ListCommonPrefixesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListCommonPrefixes not implemented") -} -func (*UnimplementedObjectStoreServer) ListObjects(context.Context, *ListObjectsRequest) (*ListObjectsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListObjects not implemented") -} -func (*UnimplementedObjectStoreServer) DeleteObject(context.Context, *DeleteObjectRequest) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteObject not implemented") -} -func (*UnimplementedObjectStoreServer) CreateSignedURL(context.Context, *CreateSignedURLRequest) (*CreateSignedURLResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateSignedURL not implemented") -} - -func RegisterObjectStoreServer(s *grpc.Server, srv ObjectStoreServer) { - s.RegisterService(&_ObjectStore_serviceDesc, srv) -} - -func _ObjectStore_Init_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ObjectStoreInitRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ObjectStoreServer).Init(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.ObjectStore/Init", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ObjectStoreServer).Init(ctx, req.(*ObjectStoreInitRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ObjectStore_PutObject_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(ObjectStoreServer).PutObject(&objectStorePutObjectServer{stream}) -} - -type ObjectStore_PutObjectServer interface { - SendAndClose(*Empty) error - Recv() (*PutObjectRequest, error) - grpc.ServerStream -} - -type objectStorePutObjectServer struct { - grpc.ServerStream -} - -func (x *objectStorePutObjectServer) SendAndClose(m *Empty) error { - return x.ServerStream.SendMsg(m) -} - -func (x *objectStorePutObjectServer) Recv() (*PutObjectRequest, error) { - m := new(PutObjectRequest) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func _ObjectStore_ObjectExists_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ObjectExistsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ObjectStoreServer).ObjectExists(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.ObjectStore/ObjectExists", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ObjectStoreServer).ObjectExists(ctx, req.(*ObjectExistsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ObjectStore_GetObject_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(GetObjectRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(ObjectStoreServer).GetObject(m, &objectStoreGetObjectServer{stream}) -} - -type ObjectStore_GetObjectServer interface { - Send(*Bytes) error - grpc.ServerStream -} - -type objectStoreGetObjectServer struct { - grpc.ServerStream -} - -func (x *objectStoreGetObjectServer) Send(m *Bytes) error { - return x.ServerStream.SendMsg(m) -} - -func _ObjectStore_ListCommonPrefixes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListCommonPrefixesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ObjectStoreServer).ListCommonPrefixes(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.ObjectStore/ListCommonPrefixes", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ObjectStoreServer).ListCommonPrefixes(ctx, req.(*ListCommonPrefixesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ObjectStore_ListObjects_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListObjectsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ObjectStoreServer).ListObjects(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.ObjectStore/ListObjects", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ObjectStoreServer).ListObjects(ctx, req.(*ListObjectsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ObjectStore_DeleteObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteObjectRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ObjectStoreServer).DeleteObject(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.ObjectStore/DeleteObject", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ObjectStoreServer).DeleteObject(ctx, req.(*DeleteObjectRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ObjectStore_CreateSignedURL_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateSignedURLRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ObjectStoreServer).CreateSignedURL(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.ObjectStore/CreateSignedURL", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ObjectStoreServer).CreateSignedURL(ctx, req.(*CreateSignedURLRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _ObjectStore_serviceDesc = grpc.ServiceDesc{ - ServiceName: "generated.ObjectStore", - HandlerType: (*ObjectStoreServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Init", - Handler: _ObjectStore_Init_Handler, - }, - { - MethodName: "ObjectExists", - Handler: _ObjectStore_ObjectExists_Handler, - }, - { - MethodName: "ListCommonPrefixes", - Handler: _ObjectStore_ListCommonPrefixes_Handler, - }, - { - MethodName: "ListObjects", - Handler: _ObjectStore_ListObjects_Handler, - }, - { - MethodName: "DeleteObject", - Handler: _ObjectStore_DeleteObject_Handler, - }, - { - MethodName: "CreateSignedURL", - Handler: _ObjectStore_CreateSignedURL_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "PutObject", - Handler: _ObjectStore_PutObject_Handler, - ClientStreams: true, - }, - { - StreamName: "GetObject", - Handler: _ObjectStore_GetObject_Handler, - ServerStreams: true, - }, - }, - Metadata: "ObjectStore.proto", -} diff --git a/pkg/plugin/generated/ObjectStore_grpc.pb.go b/pkg/plugin/generated/ObjectStore_grpc.pb.go new file mode 100644 index 0000000000..fdef9a42e5 --- /dev/null +++ b/pkg/plugin/generated/ObjectStore_grpc.pb.go @@ -0,0 +1,430 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.25.2 +// source: ObjectStore.proto + +package generated + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + ObjectStore_Init_FullMethodName = "/generated.ObjectStore/Init" + ObjectStore_PutObject_FullMethodName = "/generated.ObjectStore/PutObject" + ObjectStore_ObjectExists_FullMethodName = "/generated.ObjectStore/ObjectExists" + ObjectStore_GetObject_FullMethodName = "/generated.ObjectStore/GetObject" + ObjectStore_ListCommonPrefixes_FullMethodName = "/generated.ObjectStore/ListCommonPrefixes" + ObjectStore_ListObjects_FullMethodName = "/generated.ObjectStore/ListObjects" + ObjectStore_DeleteObject_FullMethodName = "/generated.ObjectStore/DeleteObject" + ObjectStore_CreateSignedURL_FullMethodName = "/generated.ObjectStore/CreateSignedURL" +) + +// ObjectStoreClient is the client API for ObjectStore service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ObjectStoreClient interface { + Init(ctx context.Context, in *ObjectStoreInitRequest, opts ...grpc.CallOption) (*Empty, error) + PutObject(ctx context.Context, opts ...grpc.CallOption) (ObjectStore_PutObjectClient, error) + ObjectExists(ctx context.Context, in *ObjectExistsRequest, opts ...grpc.CallOption) (*ObjectExistsResponse, error) + GetObject(ctx context.Context, in *GetObjectRequest, opts ...grpc.CallOption) (ObjectStore_GetObjectClient, error) + ListCommonPrefixes(ctx context.Context, in *ListCommonPrefixesRequest, opts ...grpc.CallOption) (*ListCommonPrefixesResponse, error) + ListObjects(ctx context.Context, in *ListObjectsRequest, opts ...grpc.CallOption) (*ListObjectsResponse, error) + DeleteObject(ctx context.Context, in *DeleteObjectRequest, opts ...grpc.CallOption) (*Empty, error) + CreateSignedURL(ctx context.Context, in *CreateSignedURLRequest, opts ...grpc.CallOption) (*CreateSignedURLResponse, error) +} + +type objectStoreClient struct { + cc grpc.ClientConnInterface +} + +func NewObjectStoreClient(cc grpc.ClientConnInterface) ObjectStoreClient { + return &objectStoreClient{cc} +} + +func (c *objectStoreClient) Init(ctx context.Context, in *ObjectStoreInitRequest, opts ...grpc.CallOption) (*Empty, error) { + out := new(Empty) + err := c.cc.Invoke(ctx, ObjectStore_Init_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *objectStoreClient) PutObject(ctx context.Context, opts ...grpc.CallOption) (ObjectStore_PutObjectClient, error) { + stream, err := c.cc.NewStream(ctx, &ObjectStore_ServiceDesc.Streams[0], ObjectStore_PutObject_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &objectStorePutObjectClient{stream} + return x, nil +} + +type ObjectStore_PutObjectClient interface { + Send(*PutObjectRequest) error + CloseAndRecv() (*Empty, error) + grpc.ClientStream +} + +type objectStorePutObjectClient struct { + grpc.ClientStream +} + +func (x *objectStorePutObjectClient) Send(m *PutObjectRequest) error { + return x.ClientStream.SendMsg(m) +} + +func (x *objectStorePutObjectClient) CloseAndRecv() (*Empty, error) { + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + m := new(Empty) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *objectStoreClient) ObjectExists(ctx context.Context, in *ObjectExistsRequest, opts ...grpc.CallOption) (*ObjectExistsResponse, error) { + out := new(ObjectExistsResponse) + err := c.cc.Invoke(ctx, ObjectStore_ObjectExists_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *objectStoreClient) GetObject(ctx context.Context, in *GetObjectRequest, opts ...grpc.CallOption) (ObjectStore_GetObjectClient, error) { + stream, err := c.cc.NewStream(ctx, &ObjectStore_ServiceDesc.Streams[1], ObjectStore_GetObject_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &objectStoreGetObjectClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type ObjectStore_GetObjectClient interface { + Recv() (*Bytes, error) + grpc.ClientStream +} + +type objectStoreGetObjectClient struct { + grpc.ClientStream +} + +func (x *objectStoreGetObjectClient) Recv() (*Bytes, error) { + m := new(Bytes) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *objectStoreClient) ListCommonPrefixes(ctx context.Context, in *ListCommonPrefixesRequest, opts ...grpc.CallOption) (*ListCommonPrefixesResponse, error) { + out := new(ListCommonPrefixesResponse) + err := c.cc.Invoke(ctx, ObjectStore_ListCommonPrefixes_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *objectStoreClient) ListObjects(ctx context.Context, in *ListObjectsRequest, opts ...grpc.CallOption) (*ListObjectsResponse, error) { + out := new(ListObjectsResponse) + err := c.cc.Invoke(ctx, ObjectStore_ListObjects_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *objectStoreClient) DeleteObject(ctx context.Context, in *DeleteObjectRequest, opts ...grpc.CallOption) (*Empty, error) { + out := new(Empty) + err := c.cc.Invoke(ctx, ObjectStore_DeleteObject_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *objectStoreClient) CreateSignedURL(ctx context.Context, in *CreateSignedURLRequest, opts ...grpc.CallOption) (*CreateSignedURLResponse, error) { + out := new(CreateSignedURLResponse) + err := c.cc.Invoke(ctx, ObjectStore_CreateSignedURL_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ObjectStoreServer is the server API for ObjectStore service. +// All implementations must embed UnimplementedObjectStoreServer +// for forward compatibility +type ObjectStoreServer interface { + Init(context.Context, *ObjectStoreInitRequest) (*Empty, error) + PutObject(ObjectStore_PutObjectServer) error + ObjectExists(context.Context, *ObjectExistsRequest) (*ObjectExistsResponse, error) + GetObject(*GetObjectRequest, ObjectStore_GetObjectServer) error + ListCommonPrefixes(context.Context, *ListCommonPrefixesRequest) (*ListCommonPrefixesResponse, error) + ListObjects(context.Context, *ListObjectsRequest) (*ListObjectsResponse, error) + DeleteObject(context.Context, *DeleteObjectRequest) (*Empty, error) + CreateSignedURL(context.Context, *CreateSignedURLRequest) (*CreateSignedURLResponse, error) + mustEmbedUnimplementedObjectStoreServer() +} + +// UnimplementedObjectStoreServer must be embedded to have forward compatible implementations. +type UnimplementedObjectStoreServer struct { +} + +func (UnimplementedObjectStoreServer) Init(context.Context, *ObjectStoreInitRequest) (*Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Init not implemented") +} +func (UnimplementedObjectStoreServer) PutObject(ObjectStore_PutObjectServer) error { + return status.Errorf(codes.Unimplemented, "method PutObject not implemented") +} +func (UnimplementedObjectStoreServer) ObjectExists(context.Context, *ObjectExistsRequest) (*ObjectExistsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ObjectExists not implemented") +} +func (UnimplementedObjectStoreServer) GetObject(*GetObjectRequest, ObjectStore_GetObjectServer) error { + return status.Errorf(codes.Unimplemented, "method GetObject not implemented") +} +func (UnimplementedObjectStoreServer) ListCommonPrefixes(context.Context, *ListCommonPrefixesRequest) (*ListCommonPrefixesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListCommonPrefixes not implemented") +} +func (UnimplementedObjectStoreServer) ListObjects(context.Context, *ListObjectsRequest) (*ListObjectsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListObjects not implemented") +} +func (UnimplementedObjectStoreServer) DeleteObject(context.Context, *DeleteObjectRequest) (*Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteObject not implemented") +} +func (UnimplementedObjectStoreServer) CreateSignedURL(context.Context, *CreateSignedURLRequest) (*CreateSignedURLResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateSignedURL not implemented") +} +func (UnimplementedObjectStoreServer) mustEmbedUnimplementedObjectStoreServer() {} + +// UnsafeObjectStoreServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ObjectStoreServer will +// result in compilation errors. +type UnsafeObjectStoreServer interface { + mustEmbedUnimplementedObjectStoreServer() +} + +func RegisterObjectStoreServer(s grpc.ServiceRegistrar, srv ObjectStoreServer) { + s.RegisterService(&ObjectStore_ServiceDesc, srv) +} + +func _ObjectStore_Init_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ObjectStoreInitRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ObjectStoreServer).Init(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ObjectStore_Init_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ObjectStoreServer).Init(ctx, req.(*ObjectStoreInitRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ObjectStore_PutObject_Handler(srv interface{}, stream grpc.ServerStream) error { + return srv.(ObjectStoreServer).PutObject(&objectStorePutObjectServer{stream}) +} + +type ObjectStore_PutObjectServer interface { + SendAndClose(*Empty) error + Recv() (*PutObjectRequest, error) + grpc.ServerStream +} + +type objectStorePutObjectServer struct { + grpc.ServerStream +} + +func (x *objectStorePutObjectServer) SendAndClose(m *Empty) error { + return x.ServerStream.SendMsg(m) +} + +func (x *objectStorePutObjectServer) Recv() (*PutObjectRequest, error) { + m := new(PutObjectRequest) + if err := x.ServerStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func _ObjectStore_ObjectExists_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ObjectExistsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ObjectStoreServer).ObjectExists(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ObjectStore_ObjectExists_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ObjectStoreServer).ObjectExists(ctx, req.(*ObjectExistsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ObjectStore_GetObject_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(GetObjectRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(ObjectStoreServer).GetObject(m, &objectStoreGetObjectServer{stream}) +} + +type ObjectStore_GetObjectServer interface { + Send(*Bytes) error + grpc.ServerStream +} + +type objectStoreGetObjectServer struct { + grpc.ServerStream +} + +func (x *objectStoreGetObjectServer) Send(m *Bytes) error { + return x.ServerStream.SendMsg(m) +} + +func _ObjectStore_ListCommonPrefixes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListCommonPrefixesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ObjectStoreServer).ListCommonPrefixes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ObjectStore_ListCommonPrefixes_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ObjectStoreServer).ListCommonPrefixes(ctx, req.(*ListCommonPrefixesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ObjectStore_ListObjects_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListObjectsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ObjectStoreServer).ListObjects(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ObjectStore_ListObjects_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ObjectStoreServer).ListObjects(ctx, req.(*ListObjectsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ObjectStore_DeleteObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteObjectRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ObjectStoreServer).DeleteObject(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ObjectStore_DeleteObject_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ObjectStoreServer).DeleteObject(ctx, req.(*DeleteObjectRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ObjectStore_CreateSignedURL_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateSignedURLRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ObjectStoreServer).CreateSignedURL(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ObjectStore_CreateSignedURL_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ObjectStoreServer).CreateSignedURL(ctx, req.(*CreateSignedURLRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ObjectStore_ServiceDesc is the grpc.ServiceDesc for ObjectStore service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ObjectStore_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "generated.ObjectStore", + HandlerType: (*ObjectStoreServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Init", + Handler: _ObjectStore_Init_Handler, + }, + { + MethodName: "ObjectExists", + Handler: _ObjectStore_ObjectExists_Handler, + }, + { + MethodName: "ListCommonPrefixes", + Handler: _ObjectStore_ListCommonPrefixes_Handler, + }, + { + MethodName: "ListObjects", + Handler: _ObjectStore_ListObjects_Handler, + }, + { + MethodName: "DeleteObject", + Handler: _ObjectStore_DeleteObject_Handler, + }, + { + MethodName: "CreateSignedURL", + Handler: _ObjectStore_CreateSignedURL_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "PutObject", + Handler: _ObjectStore_PutObject_Handler, + ClientStreams: true, + }, + { + StreamName: "GetObject", + Handler: _ObjectStore_GetObject_Handler, + ServerStreams: true, + }, + }, + Metadata: "ObjectStore.proto", +} diff --git a/pkg/plugin/generated/PluginLister.pb.go b/pkg/plugin/generated/PluginLister.pb.go index 85398bc86c..963d1f310c 100644 --- a/pkg/plugin/generated/PluginLister.pb.go +++ b/pkg/plugin/generated/PluginLister.pb.go @@ -1,17 +1,12 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.23.0 -// protoc v3.14.0 +// protoc-gen-go v1.32.0 +// protoc v4.25.2 // source: PluginLister.proto package generated import ( - context "context" - proto "github.com/golang/protobuf/proto" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -25,10 +20,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 - type PluginIdentifier struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -247,83 +238,3 @@ func file_PluginLister_proto_init() { file_PluginLister_proto_goTypes = nil file_PluginLister_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// PluginListerClient is the client API for PluginLister service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type PluginListerClient interface { - ListPlugins(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ListPluginsResponse, error) -} - -type pluginListerClient struct { - cc grpc.ClientConnInterface -} - -func NewPluginListerClient(cc grpc.ClientConnInterface) PluginListerClient { - return &pluginListerClient{cc} -} - -func (c *pluginListerClient) ListPlugins(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ListPluginsResponse, error) { - out := new(ListPluginsResponse) - err := c.cc.Invoke(ctx, "/generated.PluginLister/ListPlugins", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// PluginListerServer is the server API for PluginLister service. -type PluginListerServer interface { - ListPlugins(context.Context, *Empty) (*ListPluginsResponse, error) -} - -// UnimplementedPluginListerServer can be embedded to have forward compatible implementations. -type UnimplementedPluginListerServer struct { -} - -func (*UnimplementedPluginListerServer) ListPlugins(context.Context, *Empty) (*ListPluginsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListPlugins not implemented") -} - -func RegisterPluginListerServer(s *grpc.Server, srv PluginListerServer) { - s.RegisterService(&_PluginLister_serviceDesc, srv) -} - -func _PluginLister_ListPlugins_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Empty) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PluginListerServer).ListPlugins(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.PluginLister/ListPlugins", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PluginListerServer).ListPlugins(ctx, req.(*Empty)) - } - return interceptor(ctx, in, info, handler) -} - -var _PluginLister_serviceDesc = grpc.ServiceDesc{ - ServiceName: "generated.PluginLister", - HandlerType: (*PluginListerServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "ListPlugins", - Handler: _PluginLister_ListPlugins_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "PluginLister.proto", -} diff --git a/pkg/plugin/generated/PluginLister_grpc.pb.go b/pkg/plugin/generated/PluginLister_grpc.pb.go new file mode 100644 index 0000000000..884355b2b9 --- /dev/null +++ b/pkg/plugin/generated/PluginLister_grpc.pb.go @@ -0,0 +1,109 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.25.2 +// source: PluginLister.proto + +package generated + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + PluginLister_ListPlugins_FullMethodName = "/generated.PluginLister/ListPlugins" +) + +// PluginListerClient is the client API for PluginLister service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type PluginListerClient interface { + ListPlugins(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ListPluginsResponse, error) +} + +type pluginListerClient struct { + cc grpc.ClientConnInterface +} + +func NewPluginListerClient(cc grpc.ClientConnInterface) PluginListerClient { + return &pluginListerClient{cc} +} + +func (c *pluginListerClient) ListPlugins(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ListPluginsResponse, error) { + out := new(ListPluginsResponse) + err := c.cc.Invoke(ctx, PluginLister_ListPlugins_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// PluginListerServer is the server API for PluginLister service. +// All implementations must embed UnimplementedPluginListerServer +// for forward compatibility +type PluginListerServer interface { + ListPlugins(context.Context, *Empty) (*ListPluginsResponse, error) + mustEmbedUnimplementedPluginListerServer() +} + +// UnimplementedPluginListerServer must be embedded to have forward compatible implementations. +type UnimplementedPluginListerServer struct { +} + +func (UnimplementedPluginListerServer) ListPlugins(context.Context, *Empty) (*ListPluginsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListPlugins not implemented") +} +func (UnimplementedPluginListerServer) mustEmbedUnimplementedPluginListerServer() {} + +// UnsafePluginListerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to PluginListerServer will +// result in compilation errors. +type UnsafePluginListerServer interface { + mustEmbedUnimplementedPluginListerServer() +} + +func RegisterPluginListerServer(s grpc.ServiceRegistrar, srv PluginListerServer) { + s.RegisterService(&PluginLister_ServiceDesc, srv) +} + +func _PluginLister_ListPlugins_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Empty) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PluginListerServer).ListPlugins(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: PluginLister_ListPlugins_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PluginListerServer).ListPlugins(ctx, req.(*Empty)) + } + return interceptor(ctx, in, info, handler) +} + +// PluginLister_ServiceDesc is the grpc.ServiceDesc for PluginLister service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var PluginLister_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "generated.PluginLister", + HandlerType: (*PluginListerServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ListPlugins", + Handler: _PluginLister_ListPlugins_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "PluginLister.proto", +} diff --git a/pkg/plugin/generated/RestoreItemAction.pb.go b/pkg/plugin/generated/RestoreItemAction.pb.go index fc080853a5..4a0e504a55 100644 --- a/pkg/plugin/generated/RestoreItemAction.pb.go +++ b/pkg/plugin/generated/RestoreItemAction.pb.go @@ -1,17 +1,12 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.23.0 -// protoc v3.14.0 +// protoc-gen-go v1.32.0 +// protoc v4.25.2 // source: RestoreItemAction.proto package generated import ( - context "context" - proto "github.com/golang/protobuf/proto" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -25,10 +20,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 - type RestoreItemActionExecuteRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -424,119 +415,3 @@ func file_RestoreItemAction_proto_init() { file_RestoreItemAction_proto_goTypes = nil file_RestoreItemAction_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// RestoreItemActionClient is the client API for RestoreItemAction service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type RestoreItemActionClient interface { - AppliesTo(ctx context.Context, in *RestoreItemActionAppliesToRequest, opts ...grpc.CallOption) (*RestoreItemActionAppliesToResponse, error) - Execute(ctx context.Context, in *RestoreItemActionExecuteRequest, opts ...grpc.CallOption) (*RestoreItemActionExecuteResponse, error) -} - -type restoreItemActionClient struct { - cc grpc.ClientConnInterface -} - -func NewRestoreItemActionClient(cc grpc.ClientConnInterface) RestoreItemActionClient { - return &restoreItemActionClient{cc} -} - -func (c *restoreItemActionClient) AppliesTo(ctx context.Context, in *RestoreItemActionAppliesToRequest, opts ...grpc.CallOption) (*RestoreItemActionAppliesToResponse, error) { - out := new(RestoreItemActionAppliesToResponse) - err := c.cc.Invoke(ctx, "/generated.RestoreItemAction/AppliesTo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *restoreItemActionClient) Execute(ctx context.Context, in *RestoreItemActionExecuteRequest, opts ...grpc.CallOption) (*RestoreItemActionExecuteResponse, error) { - out := new(RestoreItemActionExecuteResponse) - err := c.cc.Invoke(ctx, "/generated.RestoreItemAction/Execute", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// RestoreItemActionServer is the server API for RestoreItemAction service. -type RestoreItemActionServer interface { - AppliesTo(context.Context, *RestoreItemActionAppliesToRequest) (*RestoreItemActionAppliesToResponse, error) - Execute(context.Context, *RestoreItemActionExecuteRequest) (*RestoreItemActionExecuteResponse, error) -} - -// UnimplementedRestoreItemActionServer can be embedded to have forward compatible implementations. -type UnimplementedRestoreItemActionServer struct { -} - -func (*UnimplementedRestoreItemActionServer) AppliesTo(context.Context, *RestoreItemActionAppliesToRequest) (*RestoreItemActionAppliesToResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AppliesTo not implemented") -} -func (*UnimplementedRestoreItemActionServer) Execute(context.Context, *RestoreItemActionExecuteRequest) (*RestoreItemActionExecuteResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Execute not implemented") -} - -func RegisterRestoreItemActionServer(s *grpc.Server, srv RestoreItemActionServer) { - s.RegisterService(&_RestoreItemAction_serviceDesc, srv) -} - -func _RestoreItemAction_AppliesTo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RestoreItemActionAppliesToRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RestoreItemActionServer).AppliesTo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.RestoreItemAction/AppliesTo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RestoreItemActionServer).AppliesTo(ctx, req.(*RestoreItemActionAppliesToRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _RestoreItemAction_Execute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RestoreItemActionExecuteRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RestoreItemActionServer).Execute(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.RestoreItemAction/Execute", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RestoreItemActionServer).Execute(ctx, req.(*RestoreItemActionExecuteRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _RestoreItemAction_serviceDesc = grpc.ServiceDesc{ - ServiceName: "generated.RestoreItemAction", - HandlerType: (*RestoreItemActionServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "AppliesTo", - Handler: _RestoreItemAction_AppliesTo_Handler, - }, - { - MethodName: "Execute", - Handler: _RestoreItemAction_Execute_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "RestoreItemAction.proto", -} diff --git a/pkg/plugin/generated/RestoreItemAction_grpc.pb.go b/pkg/plugin/generated/RestoreItemAction_grpc.pb.go new file mode 100644 index 0000000000..001a3ef535 --- /dev/null +++ b/pkg/plugin/generated/RestoreItemAction_grpc.pb.go @@ -0,0 +1,146 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.25.2 +// source: RestoreItemAction.proto + +package generated + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + RestoreItemAction_AppliesTo_FullMethodName = "/generated.RestoreItemAction/AppliesTo" + RestoreItemAction_Execute_FullMethodName = "/generated.RestoreItemAction/Execute" +) + +// RestoreItemActionClient is the client API for RestoreItemAction service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type RestoreItemActionClient interface { + AppliesTo(ctx context.Context, in *RestoreItemActionAppliesToRequest, opts ...grpc.CallOption) (*RestoreItemActionAppliesToResponse, error) + Execute(ctx context.Context, in *RestoreItemActionExecuteRequest, opts ...grpc.CallOption) (*RestoreItemActionExecuteResponse, error) +} + +type restoreItemActionClient struct { + cc grpc.ClientConnInterface +} + +func NewRestoreItemActionClient(cc grpc.ClientConnInterface) RestoreItemActionClient { + return &restoreItemActionClient{cc} +} + +func (c *restoreItemActionClient) AppliesTo(ctx context.Context, in *RestoreItemActionAppliesToRequest, opts ...grpc.CallOption) (*RestoreItemActionAppliesToResponse, error) { + out := new(RestoreItemActionAppliesToResponse) + err := c.cc.Invoke(ctx, RestoreItemAction_AppliesTo_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *restoreItemActionClient) Execute(ctx context.Context, in *RestoreItemActionExecuteRequest, opts ...grpc.CallOption) (*RestoreItemActionExecuteResponse, error) { + out := new(RestoreItemActionExecuteResponse) + err := c.cc.Invoke(ctx, RestoreItemAction_Execute_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// RestoreItemActionServer is the server API for RestoreItemAction service. +// All implementations must embed UnimplementedRestoreItemActionServer +// for forward compatibility +type RestoreItemActionServer interface { + AppliesTo(context.Context, *RestoreItemActionAppliesToRequest) (*RestoreItemActionAppliesToResponse, error) + Execute(context.Context, *RestoreItemActionExecuteRequest) (*RestoreItemActionExecuteResponse, error) + mustEmbedUnimplementedRestoreItemActionServer() +} + +// UnimplementedRestoreItemActionServer must be embedded to have forward compatible implementations. +type UnimplementedRestoreItemActionServer struct { +} + +func (UnimplementedRestoreItemActionServer) AppliesTo(context.Context, *RestoreItemActionAppliesToRequest) (*RestoreItemActionAppliesToResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AppliesTo not implemented") +} +func (UnimplementedRestoreItemActionServer) Execute(context.Context, *RestoreItemActionExecuteRequest) (*RestoreItemActionExecuteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Execute not implemented") +} +func (UnimplementedRestoreItemActionServer) mustEmbedUnimplementedRestoreItemActionServer() {} + +// UnsafeRestoreItemActionServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to RestoreItemActionServer will +// result in compilation errors. +type UnsafeRestoreItemActionServer interface { + mustEmbedUnimplementedRestoreItemActionServer() +} + +func RegisterRestoreItemActionServer(s grpc.ServiceRegistrar, srv RestoreItemActionServer) { + s.RegisterService(&RestoreItemAction_ServiceDesc, srv) +} + +func _RestoreItemAction_AppliesTo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RestoreItemActionAppliesToRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RestoreItemActionServer).AppliesTo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: RestoreItemAction_AppliesTo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RestoreItemActionServer).AppliesTo(ctx, req.(*RestoreItemActionAppliesToRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RestoreItemAction_Execute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RestoreItemActionExecuteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RestoreItemActionServer).Execute(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: RestoreItemAction_Execute_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RestoreItemActionServer).Execute(ctx, req.(*RestoreItemActionExecuteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// RestoreItemAction_ServiceDesc is the grpc.ServiceDesc for RestoreItemAction service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var RestoreItemAction_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "generated.RestoreItemAction", + HandlerType: (*RestoreItemActionServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "AppliesTo", + Handler: _RestoreItemAction_AppliesTo_Handler, + }, + { + MethodName: "Execute", + Handler: _RestoreItemAction_Execute_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "RestoreItemAction.proto", +} diff --git a/pkg/plugin/generated/Shared.pb.go b/pkg/plugin/generated/Shared.pb.go index 55a8299276..c08bb7845e 100644 --- a/pkg/plugin/generated/Shared.pb.go +++ b/pkg/plugin/generated/Shared.pb.go @@ -1,13 +1,12 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.23.0 -// protoc v3.14.0 +// protoc-gen-go v1.32.0 +// protoc v4.25.2 // source: Shared.proto package generated import ( - proto "github.com/golang/protobuf/proto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" timestamppb "google.golang.org/protobuf/types/known/timestamppb" @@ -22,10 +21,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 - type Empty struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache diff --git a/pkg/plugin/generated/VolumeSnapshotter.pb.go b/pkg/plugin/generated/VolumeSnapshotter.pb.go index f6b754de78..cd80d6fcf8 100644 --- a/pkg/plugin/generated/VolumeSnapshotter.pb.go +++ b/pkg/plugin/generated/VolumeSnapshotter.pb.go @@ -1,17 +1,12 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.23.0 -// protoc v3.14.0 +// protoc-gen-go v1.32.0 +// protoc v4.25.2 // source: VolumeSnapshotter.proto package generated import ( - context "context" - proto "github.com/golang/protobuf/proto" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -25,10 +20,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 - type CreateVolumeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1067,299 +1058,3 @@ func file_VolumeSnapshotter_proto_init() { file_VolumeSnapshotter_proto_goTypes = nil file_VolumeSnapshotter_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// VolumeSnapshotterClient is the client API for VolumeSnapshotter service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type VolumeSnapshotterClient interface { - Init(ctx context.Context, in *VolumeSnapshotterInitRequest, opts ...grpc.CallOption) (*Empty, error) - CreateVolumeFromSnapshot(ctx context.Context, in *CreateVolumeRequest, opts ...grpc.CallOption) (*CreateVolumeResponse, error) - GetVolumeInfo(ctx context.Context, in *GetVolumeInfoRequest, opts ...grpc.CallOption) (*GetVolumeInfoResponse, error) - CreateSnapshot(ctx context.Context, in *CreateSnapshotRequest, opts ...grpc.CallOption) (*CreateSnapshotResponse, error) - DeleteSnapshot(ctx context.Context, in *DeleteSnapshotRequest, opts ...grpc.CallOption) (*Empty, error) - GetVolumeID(ctx context.Context, in *GetVolumeIDRequest, opts ...grpc.CallOption) (*GetVolumeIDResponse, error) - SetVolumeID(ctx context.Context, in *SetVolumeIDRequest, opts ...grpc.CallOption) (*SetVolumeIDResponse, error) -} - -type volumeSnapshotterClient struct { - cc grpc.ClientConnInterface -} - -func NewVolumeSnapshotterClient(cc grpc.ClientConnInterface) VolumeSnapshotterClient { - return &volumeSnapshotterClient{cc} -} - -func (c *volumeSnapshotterClient) Init(ctx context.Context, in *VolumeSnapshotterInitRequest, opts ...grpc.CallOption) (*Empty, error) { - out := new(Empty) - err := c.cc.Invoke(ctx, "/generated.VolumeSnapshotter/Init", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *volumeSnapshotterClient) CreateVolumeFromSnapshot(ctx context.Context, in *CreateVolumeRequest, opts ...grpc.CallOption) (*CreateVolumeResponse, error) { - out := new(CreateVolumeResponse) - err := c.cc.Invoke(ctx, "/generated.VolumeSnapshotter/CreateVolumeFromSnapshot", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *volumeSnapshotterClient) GetVolumeInfo(ctx context.Context, in *GetVolumeInfoRequest, opts ...grpc.CallOption) (*GetVolumeInfoResponse, error) { - out := new(GetVolumeInfoResponse) - err := c.cc.Invoke(ctx, "/generated.VolumeSnapshotter/GetVolumeInfo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *volumeSnapshotterClient) CreateSnapshot(ctx context.Context, in *CreateSnapshotRequest, opts ...grpc.CallOption) (*CreateSnapshotResponse, error) { - out := new(CreateSnapshotResponse) - err := c.cc.Invoke(ctx, "/generated.VolumeSnapshotter/CreateSnapshot", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *volumeSnapshotterClient) DeleteSnapshot(ctx context.Context, in *DeleteSnapshotRequest, opts ...grpc.CallOption) (*Empty, error) { - out := new(Empty) - err := c.cc.Invoke(ctx, "/generated.VolumeSnapshotter/DeleteSnapshot", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *volumeSnapshotterClient) GetVolumeID(ctx context.Context, in *GetVolumeIDRequest, opts ...grpc.CallOption) (*GetVolumeIDResponse, error) { - out := new(GetVolumeIDResponse) - err := c.cc.Invoke(ctx, "/generated.VolumeSnapshotter/GetVolumeID", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *volumeSnapshotterClient) SetVolumeID(ctx context.Context, in *SetVolumeIDRequest, opts ...grpc.CallOption) (*SetVolumeIDResponse, error) { - out := new(SetVolumeIDResponse) - err := c.cc.Invoke(ctx, "/generated.VolumeSnapshotter/SetVolumeID", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// VolumeSnapshotterServer is the server API for VolumeSnapshotter service. -type VolumeSnapshotterServer interface { - Init(context.Context, *VolumeSnapshotterInitRequest) (*Empty, error) - CreateVolumeFromSnapshot(context.Context, *CreateVolumeRequest) (*CreateVolumeResponse, error) - GetVolumeInfo(context.Context, *GetVolumeInfoRequest) (*GetVolumeInfoResponse, error) - CreateSnapshot(context.Context, *CreateSnapshotRequest) (*CreateSnapshotResponse, error) - DeleteSnapshot(context.Context, *DeleteSnapshotRequest) (*Empty, error) - GetVolumeID(context.Context, *GetVolumeIDRequest) (*GetVolumeIDResponse, error) - SetVolumeID(context.Context, *SetVolumeIDRequest) (*SetVolumeIDResponse, error) -} - -// UnimplementedVolumeSnapshotterServer can be embedded to have forward compatible implementations. -type UnimplementedVolumeSnapshotterServer struct { -} - -func (*UnimplementedVolumeSnapshotterServer) Init(context.Context, *VolumeSnapshotterInitRequest) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method Init not implemented") -} -func (*UnimplementedVolumeSnapshotterServer) CreateVolumeFromSnapshot(context.Context, *CreateVolumeRequest) (*CreateVolumeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateVolumeFromSnapshot not implemented") -} -func (*UnimplementedVolumeSnapshotterServer) GetVolumeInfo(context.Context, *GetVolumeInfoRequest) (*GetVolumeInfoResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetVolumeInfo not implemented") -} -func (*UnimplementedVolumeSnapshotterServer) CreateSnapshot(context.Context, *CreateSnapshotRequest) (*CreateSnapshotResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateSnapshot not implemented") -} -func (*UnimplementedVolumeSnapshotterServer) DeleteSnapshot(context.Context, *DeleteSnapshotRequest) (*Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteSnapshot not implemented") -} -func (*UnimplementedVolumeSnapshotterServer) GetVolumeID(context.Context, *GetVolumeIDRequest) (*GetVolumeIDResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetVolumeID not implemented") -} -func (*UnimplementedVolumeSnapshotterServer) SetVolumeID(context.Context, *SetVolumeIDRequest) (*SetVolumeIDResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetVolumeID not implemented") -} - -func RegisterVolumeSnapshotterServer(s *grpc.Server, srv VolumeSnapshotterServer) { - s.RegisterService(&_VolumeSnapshotter_serviceDesc, srv) -} - -func _VolumeSnapshotter_Init_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(VolumeSnapshotterInitRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(VolumeSnapshotterServer).Init(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.VolumeSnapshotter/Init", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VolumeSnapshotterServer).Init(ctx, req.(*VolumeSnapshotterInitRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _VolumeSnapshotter_CreateVolumeFromSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateVolumeRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(VolumeSnapshotterServer).CreateVolumeFromSnapshot(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.VolumeSnapshotter/CreateVolumeFromSnapshot", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VolumeSnapshotterServer).CreateVolumeFromSnapshot(ctx, req.(*CreateVolumeRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _VolumeSnapshotter_GetVolumeInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetVolumeInfoRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(VolumeSnapshotterServer).GetVolumeInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.VolumeSnapshotter/GetVolumeInfo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VolumeSnapshotterServer).GetVolumeInfo(ctx, req.(*GetVolumeInfoRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _VolumeSnapshotter_CreateSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateSnapshotRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(VolumeSnapshotterServer).CreateSnapshot(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.VolumeSnapshotter/CreateSnapshot", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VolumeSnapshotterServer).CreateSnapshot(ctx, req.(*CreateSnapshotRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _VolumeSnapshotter_DeleteSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteSnapshotRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(VolumeSnapshotterServer).DeleteSnapshot(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.VolumeSnapshotter/DeleteSnapshot", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VolumeSnapshotterServer).DeleteSnapshot(ctx, req.(*DeleteSnapshotRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _VolumeSnapshotter_GetVolumeID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetVolumeIDRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(VolumeSnapshotterServer).GetVolumeID(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.VolumeSnapshotter/GetVolumeID", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VolumeSnapshotterServer).GetVolumeID(ctx, req.(*GetVolumeIDRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _VolumeSnapshotter_SetVolumeID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SetVolumeIDRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(VolumeSnapshotterServer).SetVolumeID(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/generated.VolumeSnapshotter/SetVolumeID", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(VolumeSnapshotterServer).SetVolumeID(ctx, req.(*SetVolumeIDRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _VolumeSnapshotter_serviceDesc = grpc.ServiceDesc{ - ServiceName: "generated.VolumeSnapshotter", - HandlerType: (*VolumeSnapshotterServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Init", - Handler: _VolumeSnapshotter_Init_Handler, - }, - { - MethodName: "CreateVolumeFromSnapshot", - Handler: _VolumeSnapshotter_CreateVolumeFromSnapshot_Handler, - }, - { - MethodName: "GetVolumeInfo", - Handler: _VolumeSnapshotter_GetVolumeInfo_Handler, - }, - { - MethodName: "CreateSnapshot", - Handler: _VolumeSnapshotter_CreateSnapshot_Handler, - }, - { - MethodName: "DeleteSnapshot", - Handler: _VolumeSnapshotter_DeleteSnapshot_Handler, - }, - { - MethodName: "GetVolumeID", - Handler: _VolumeSnapshotter_GetVolumeID_Handler, - }, - { - MethodName: "SetVolumeID", - Handler: _VolumeSnapshotter_SetVolumeID_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "VolumeSnapshotter.proto", -} diff --git a/pkg/plugin/generated/VolumeSnapshotter_grpc.pb.go b/pkg/plugin/generated/VolumeSnapshotter_grpc.pb.go new file mode 100644 index 0000000000..301d0d46af --- /dev/null +++ b/pkg/plugin/generated/VolumeSnapshotter_grpc.pb.go @@ -0,0 +1,331 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.25.2 +// source: VolumeSnapshotter.proto + +package generated + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + VolumeSnapshotter_Init_FullMethodName = "/generated.VolumeSnapshotter/Init" + VolumeSnapshotter_CreateVolumeFromSnapshot_FullMethodName = "/generated.VolumeSnapshotter/CreateVolumeFromSnapshot" + VolumeSnapshotter_GetVolumeInfo_FullMethodName = "/generated.VolumeSnapshotter/GetVolumeInfo" + VolumeSnapshotter_CreateSnapshot_FullMethodName = "/generated.VolumeSnapshotter/CreateSnapshot" + VolumeSnapshotter_DeleteSnapshot_FullMethodName = "/generated.VolumeSnapshotter/DeleteSnapshot" + VolumeSnapshotter_GetVolumeID_FullMethodName = "/generated.VolumeSnapshotter/GetVolumeID" + VolumeSnapshotter_SetVolumeID_FullMethodName = "/generated.VolumeSnapshotter/SetVolumeID" +) + +// VolumeSnapshotterClient is the client API for VolumeSnapshotter service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type VolumeSnapshotterClient interface { + Init(ctx context.Context, in *VolumeSnapshotterInitRequest, opts ...grpc.CallOption) (*Empty, error) + CreateVolumeFromSnapshot(ctx context.Context, in *CreateVolumeRequest, opts ...grpc.CallOption) (*CreateVolumeResponse, error) + GetVolumeInfo(ctx context.Context, in *GetVolumeInfoRequest, opts ...grpc.CallOption) (*GetVolumeInfoResponse, error) + CreateSnapshot(ctx context.Context, in *CreateSnapshotRequest, opts ...grpc.CallOption) (*CreateSnapshotResponse, error) + DeleteSnapshot(ctx context.Context, in *DeleteSnapshotRequest, opts ...grpc.CallOption) (*Empty, error) + GetVolumeID(ctx context.Context, in *GetVolumeIDRequest, opts ...grpc.CallOption) (*GetVolumeIDResponse, error) + SetVolumeID(ctx context.Context, in *SetVolumeIDRequest, opts ...grpc.CallOption) (*SetVolumeIDResponse, error) +} + +type volumeSnapshotterClient struct { + cc grpc.ClientConnInterface +} + +func NewVolumeSnapshotterClient(cc grpc.ClientConnInterface) VolumeSnapshotterClient { + return &volumeSnapshotterClient{cc} +} + +func (c *volumeSnapshotterClient) Init(ctx context.Context, in *VolumeSnapshotterInitRequest, opts ...grpc.CallOption) (*Empty, error) { + out := new(Empty) + err := c.cc.Invoke(ctx, VolumeSnapshotter_Init_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *volumeSnapshotterClient) CreateVolumeFromSnapshot(ctx context.Context, in *CreateVolumeRequest, opts ...grpc.CallOption) (*CreateVolumeResponse, error) { + out := new(CreateVolumeResponse) + err := c.cc.Invoke(ctx, VolumeSnapshotter_CreateVolumeFromSnapshot_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *volumeSnapshotterClient) GetVolumeInfo(ctx context.Context, in *GetVolumeInfoRequest, opts ...grpc.CallOption) (*GetVolumeInfoResponse, error) { + out := new(GetVolumeInfoResponse) + err := c.cc.Invoke(ctx, VolumeSnapshotter_GetVolumeInfo_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *volumeSnapshotterClient) CreateSnapshot(ctx context.Context, in *CreateSnapshotRequest, opts ...grpc.CallOption) (*CreateSnapshotResponse, error) { + out := new(CreateSnapshotResponse) + err := c.cc.Invoke(ctx, VolumeSnapshotter_CreateSnapshot_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *volumeSnapshotterClient) DeleteSnapshot(ctx context.Context, in *DeleteSnapshotRequest, opts ...grpc.CallOption) (*Empty, error) { + out := new(Empty) + err := c.cc.Invoke(ctx, VolumeSnapshotter_DeleteSnapshot_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *volumeSnapshotterClient) GetVolumeID(ctx context.Context, in *GetVolumeIDRequest, opts ...grpc.CallOption) (*GetVolumeIDResponse, error) { + out := new(GetVolumeIDResponse) + err := c.cc.Invoke(ctx, VolumeSnapshotter_GetVolumeID_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *volumeSnapshotterClient) SetVolumeID(ctx context.Context, in *SetVolumeIDRequest, opts ...grpc.CallOption) (*SetVolumeIDResponse, error) { + out := new(SetVolumeIDResponse) + err := c.cc.Invoke(ctx, VolumeSnapshotter_SetVolumeID_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// VolumeSnapshotterServer is the server API for VolumeSnapshotter service. +// All implementations must embed UnimplementedVolumeSnapshotterServer +// for forward compatibility +type VolumeSnapshotterServer interface { + Init(context.Context, *VolumeSnapshotterInitRequest) (*Empty, error) + CreateVolumeFromSnapshot(context.Context, *CreateVolumeRequest) (*CreateVolumeResponse, error) + GetVolumeInfo(context.Context, *GetVolumeInfoRequest) (*GetVolumeInfoResponse, error) + CreateSnapshot(context.Context, *CreateSnapshotRequest) (*CreateSnapshotResponse, error) + DeleteSnapshot(context.Context, *DeleteSnapshotRequest) (*Empty, error) + GetVolumeID(context.Context, *GetVolumeIDRequest) (*GetVolumeIDResponse, error) + SetVolumeID(context.Context, *SetVolumeIDRequest) (*SetVolumeIDResponse, error) + mustEmbedUnimplementedVolumeSnapshotterServer() +} + +// UnimplementedVolumeSnapshotterServer must be embedded to have forward compatible implementations. +type UnimplementedVolumeSnapshotterServer struct { +} + +func (UnimplementedVolumeSnapshotterServer) Init(context.Context, *VolumeSnapshotterInitRequest) (*Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Init not implemented") +} +func (UnimplementedVolumeSnapshotterServer) CreateVolumeFromSnapshot(context.Context, *CreateVolumeRequest) (*CreateVolumeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateVolumeFromSnapshot not implemented") +} +func (UnimplementedVolumeSnapshotterServer) GetVolumeInfo(context.Context, *GetVolumeInfoRequest) (*GetVolumeInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetVolumeInfo not implemented") +} +func (UnimplementedVolumeSnapshotterServer) CreateSnapshot(context.Context, *CreateSnapshotRequest) (*CreateSnapshotResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateSnapshot not implemented") +} +func (UnimplementedVolumeSnapshotterServer) DeleteSnapshot(context.Context, *DeleteSnapshotRequest) (*Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteSnapshot not implemented") +} +func (UnimplementedVolumeSnapshotterServer) GetVolumeID(context.Context, *GetVolumeIDRequest) (*GetVolumeIDResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetVolumeID not implemented") +} +func (UnimplementedVolumeSnapshotterServer) SetVolumeID(context.Context, *SetVolumeIDRequest) (*SetVolumeIDResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetVolumeID not implemented") +} +func (UnimplementedVolumeSnapshotterServer) mustEmbedUnimplementedVolumeSnapshotterServer() {} + +// UnsafeVolumeSnapshotterServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to VolumeSnapshotterServer will +// result in compilation errors. +type UnsafeVolumeSnapshotterServer interface { + mustEmbedUnimplementedVolumeSnapshotterServer() +} + +func RegisterVolumeSnapshotterServer(s grpc.ServiceRegistrar, srv VolumeSnapshotterServer) { + s.RegisterService(&VolumeSnapshotter_ServiceDesc, srv) +} + +func _VolumeSnapshotter_Init_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(VolumeSnapshotterInitRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VolumeSnapshotterServer).Init(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: VolumeSnapshotter_Init_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VolumeSnapshotterServer).Init(ctx, req.(*VolumeSnapshotterInitRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VolumeSnapshotter_CreateVolumeFromSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateVolumeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VolumeSnapshotterServer).CreateVolumeFromSnapshot(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: VolumeSnapshotter_CreateVolumeFromSnapshot_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VolumeSnapshotterServer).CreateVolumeFromSnapshot(ctx, req.(*CreateVolumeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VolumeSnapshotter_GetVolumeInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetVolumeInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VolumeSnapshotterServer).GetVolumeInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: VolumeSnapshotter_GetVolumeInfo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VolumeSnapshotterServer).GetVolumeInfo(ctx, req.(*GetVolumeInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VolumeSnapshotter_CreateSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateSnapshotRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VolumeSnapshotterServer).CreateSnapshot(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: VolumeSnapshotter_CreateSnapshot_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VolumeSnapshotterServer).CreateSnapshot(ctx, req.(*CreateSnapshotRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VolumeSnapshotter_DeleteSnapshot_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteSnapshotRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VolumeSnapshotterServer).DeleteSnapshot(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: VolumeSnapshotter_DeleteSnapshot_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VolumeSnapshotterServer).DeleteSnapshot(ctx, req.(*DeleteSnapshotRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VolumeSnapshotter_GetVolumeID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetVolumeIDRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VolumeSnapshotterServer).GetVolumeID(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: VolumeSnapshotter_GetVolumeID_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VolumeSnapshotterServer).GetVolumeID(ctx, req.(*GetVolumeIDRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _VolumeSnapshotter_SetVolumeID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetVolumeIDRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(VolumeSnapshotterServer).SetVolumeID(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: VolumeSnapshotter_SetVolumeID_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(VolumeSnapshotterServer).SetVolumeID(ctx, req.(*SetVolumeIDRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// VolumeSnapshotter_ServiceDesc is the grpc.ServiceDesc for VolumeSnapshotter service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var VolumeSnapshotter_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "generated.VolumeSnapshotter", + HandlerType: (*VolumeSnapshotterServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Init", + Handler: _VolumeSnapshotter_Init_Handler, + }, + { + MethodName: "CreateVolumeFromSnapshot", + Handler: _VolumeSnapshotter_CreateVolumeFromSnapshot_Handler, + }, + { + MethodName: "GetVolumeInfo", + Handler: _VolumeSnapshotter_GetVolumeInfo_Handler, + }, + { + MethodName: "CreateSnapshot", + Handler: _VolumeSnapshotter_CreateSnapshot_Handler, + }, + { + MethodName: "DeleteSnapshot", + Handler: _VolumeSnapshotter_DeleteSnapshot_Handler, + }, + { + MethodName: "GetVolumeID", + Handler: _VolumeSnapshotter_GetVolumeID_Handler, + }, + { + MethodName: "SetVolumeID", + Handler: _VolumeSnapshotter_SetVolumeID_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "VolumeSnapshotter.proto", +} diff --git a/pkg/plugin/generated/backupitemaction/v2/BackupItemAction.pb.go b/pkg/plugin/generated/backupitemaction/v2/BackupItemAction.pb.go index 0bd8d3eb18..3cf0e07d29 100644 --- a/pkg/plugin/generated/backupitemaction/v2/BackupItemAction.pb.go +++ b/pkg/plugin/generated/backupitemaction/v2/BackupItemAction.pb.go @@ -1,18 +1,13 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.23.0 -// protoc v3.14.0 +// protoc-gen-go v1.32.0 +// protoc v4.25.2 // source: backupitemaction/v2/BackupItemAction.proto package v2 import ( - context "context" - proto "github.com/golang/protobuf/proto" generated "github.com/vmware-tanzu/velero/pkg/plugin/generated" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" emptypb "google.golang.org/protobuf/types/known/emptypb" @@ -27,10 +22,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 - type ExecuteRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -675,191 +666,3 @@ func file_backupitemaction_v2_BackupItemAction_proto_init() { file_backupitemaction_v2_BackupItemAction_proto_goTypes = nil file_backupitemaction_v2_BackupItemAction_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// BackupItemActionClient is the client API for BackupItemAction service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type BackupItemActionClient interface { - AppliesTo(ctx context.Context, in *BackupItemActionAppliesToRequest, opts ...grpc.CallOption) (*BackupItemActionAppliesToResponse, error) - Execute(ctx context.Context, in *ExecuteRequest, opts ...grpc.CallOption) (*ExecuteResponse, error) - Progress(ctx context.Context, in *BackupItemActionProgressRequest, opts ...grpc.CallOption) (*BackupItemActionProgressResponse, error) - Cancel(ctx context.Context, in *BackupItemActionCancelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) -} - -type backupItemActionClient struct { - cc grpc.ClientConnInterface -} - -func NewBackupItemActionClient(cc grpc.ClientConnInterface) BackupItemActionClient { - return &backupItemActionClient{cc} -} - -func (c *backupItemActionClient) AppliesTo(ctx context.Context, in *BackupItemActionAppliesToRequest, opts ...grpc.CallOption) (*BackupItemActionAppliesToResponse, error) { - out := new(BackupItemActionAppliesToResponse) - err := c.cc.Invoke(ctx, "/v2.BackupItemAction/AppliesTo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *backupItemActionClient) Execute(ctx context.Context, in *ExecuteRequest, opts ...grpc.CallOption) (*ExecuteResponse, error) { - out := new(ExecuteResponse) - err := c.cc.Invoke(ctx, "/v2.BackupItemAction/Execute", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *backupItemActionClient) Progress(ctx context.Context, in *BackupItemActionProgressRequest, opts ...grpc.CallOption) (*BackupItemActionProgressResponse, error) { - out := new(BackupItemActionProgressResponse) - err := c.cc.Invoke(ctx, "/v2.BackupItemAction/Progress", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *backupItemActionClient) Cancel(ctx context.Context, in *BackupItemActionCancelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { - out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/v2.BackupItemAction/Cancel", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// BackupItemActionServer is the server API for BackupItemAction service. -type BackupItemActionServer interface { - AppliesTo(context.Context, *BackupItemActionAppliesToRequest) (*BackupItemActionAppliesToResponse, error) - Execute(context.Context, *ExecuteRequest) (*ExecuteResponse, error) - Progress(context.Context, *BackupItemActionProgressRequest) (*BackupItemActionProgressResponse, error) - Cancel(context.Context, *BackupItemActionCancelRequest) (*emptypb.Empty, error) -} - -// UnimplementedBackupItemActionServer can be embedded to have forward compatible implementations. -type UnimplementedBackupItemActionServer struct { -} - -func (*UnimplementedBackupItemActionServer) AppliesTo(context.Context, *BackupItemActionAppliesToRequest) (*BackupItemActionAppliesToResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AppliesTo not implemented") -} -func (*UnimplementedBackupItemActionServer) Execute(context.Context, *ExecuteRequest) (*ExecuteResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Execute not implemented") -} -func (*UnimplementedBackupItemActionServer) Progress(context.Context, *BackupItemActionProgressRequest) (*BackupItemActionProgressResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Progress not implemented") -} -func (*UnimplementedBackupItemActionServer) Cancel(context.Context, *BackupItemActionCancelRequest) (*emptypb.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method Cancel not implemented") -} - -func RegisterBackupItemActionServer(s *grpc.Server, srv BackupItemActionServer) { - s.RegisterService(&_BackupItemAction_serviceDesc, srv) -} - -func _BackupItemAction_AppliesTo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(BackupItemActionAppliesToRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BackupItemActionServer).AppliesTo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/v2.BackupItemAction/AppliesTo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BackupItemActionServer).AppliesTo(ctx, req.(*BackupItemActionAppliesToRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BackupItemAction_Execute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ExecuteRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BackupItemActionServer).Execute(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/v2.BackupItemAction/Execute", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BackupItemActionServer).Execute(ctx, req.(*ExecuteRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BackupItemAction_Progress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(BackupItemActionProgressRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BackupItemActionServer).Progress(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/v2.BackupItemAction/Progress", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BackupItemActionServer).Progress(ctx, req.(*BackupItemActionProgressRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _BackupItemAction_Cancel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(BackupItemActionCancelRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(BackupItemActionServer).Cancel(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/v2.BackupItemAction/Cancel", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(BackupItemActionServer).Cancel(ctx, req.(*BackupItemActionCancelRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _BackupItemAction_serviceDesc = grpc.ServiceDesc{ - ServiceName: "v2.BackupItemAction", - HandlerType: (*BackupItemActionServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "AppliesTo", - Handler: _BackupItemAction_AppliesTo_Handler, - }, - { - MethodName: "Execute", - Handler: _BackupItemAction_Execute_Handler, - }, - { - MethodName: "Progress", - Handler: _BackupItemAction_Progress_Handler, - }, - { - MethodName: "Cancel", - Handler: _BackupItemAction_Cancel_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "backupitemaction/v2/BackupItemAction.proto", -} diff --git a/pkg/plugin/generated/backupitemaction/v2/BackupItemAction_grpc.pb.go b/pkg/plugin/generated/backupitemaction/v2/BackupItemAction_grpc.pb.go new file mode 100644 index 0000000000..7a9c6f5f82 --- /dev/null +++ b/pkg/plugin/generated/backupitemaction/v2/BackupItemAction_grpc.pb.go @@ -0,0 +1,221 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.25.2 +// source: backupitemaction/v2/BackupItemAction.proto + +package v2 + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + BackupItemAction_AppliesTo_FullMethodName = "/v2.BackupItemAction/AppliesTo" + BackupItemAction_Execute_FullMethodName = "/v2.BackupItemAction/Execute" + BackupItemAction_Progress_FullMethodName = "/v2.BackupItemAction/Progress" + BackupItemAction_Cancel_FullMethodName = "/v2.BackupItemAction/Cancel" +) + +// BackupItemActionClient is the client API for BackupItemAction service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type BackupItemActionClient interface { + AppliesTo(ctx context.Context, in *BackupItemActionAppliesToRequest, opts ...grpc.CallOption) (*BackupItemActionAppliesToResponse, error) + Execute(ctx context.Context, in *ExecuteRequest, opts ...grpc.CallOption) (*ExecuteResponse, error) + Progress(ctx context.Context, in *BackupItemActionProgressRequest, opts ...grpc.CallOption) (*BackupItemActionProgressResponse, error) + Cancel(ctx context.Context, in *BackupItemActionCancelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) +} + +type backupItemActionClient struct { + cc grpc.ClientConnInterface +} + +func NewBackupItemActionClient(cc grpc.ClientConnInterface) BackupItemActionClient { + return &backupItemActionClient{cc} +} + +func (c *backupItemActionClient) AppliesTo(ctx context.Context, in *BackupItemActionAppliesToRequest, opts ...grpc.CallOption) (*BackupItemActionAppliesToResponse, error) { + out := new(BackupItemActionAppliesToResponse) + err := c.cc.Invoke(ctx, BackupItemAction_AppliesTo_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *backupItemActionClient) Execute(ctx context.Context, in *ExecuteRequest, opts ...grpc.CallOption) (*ExecuteResponse, error) { + out := new(ExecuteResponse) + err := c.cc.Invoke(ctx, BackupItemAction_Execute_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *backupItemActionClient) Progress(ctx context.Context, in *BackupItemActionProgressRequest, opts ...grpc.CallOption) (*BackupItemActionProgressResponse, error) { + out := new(BackupItemActionProgressResponse) + err := c.cc.Invoke(ctx, BackupItemAction_Progress_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *backupItemActionClient) Cancel(ctx context.Context, in *BackupItemActionCancelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, BackupItemAction_Cancel_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// BackupItemActionServer is the server API for BackupItemAction service. +// All implementations must embed UnimplementedBackupItemActionServer +// for forward compatibility +type BackupItemActionServer interface { + AppliesTo(context.Context, *BackupItemActionAppliesToRequest) (*BackupItemActionAppliesToResponse, error) + Execute(context.Context, *ExecuteRequest) (*ExecuteResponse, error) + Progress(context.Context, *BackupItemActionProgressRequest) (*BackupItemActionProgressResponse, error) + Cancel(context.Context, *BackupItemActionCancelRequest) (*emptypb.Empty, error) + mustEmbedUnimplementedBackupItemActionServer() +} + +// UnimplementedBackupItemActionServer must be embedded to have forward compatible implementations. +type UnimplementedBackupItemActionServer struct { +} + +func (UnimplementedBackupItemActionServer) AppliesTo(context.Context, *BackupItemActionAppliesToRequest) (*BackupItemActionAppliesToResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AppliesTo not implemented") +} +func (UnimplementedBackupItemActionServer) Execute(context.Context, *ExecuteRequest) (*ExecuteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Execute not implemented") +} +func (UnimplementedBackupItemActionServer) Progress(context.Context, *BackupItemActionProgressRequest) (*BackupItemActionProgressResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Progress not implemented") +} +func (UnimplementedBackupItemActionServer) Cancel(context.Context, *BackupItemActionCancelRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Cancel not implemented") +} +func (UnimplementedBackupItemActionServer) mustEmbedUnimplementedBackupItemActionServer() {} + +// UnsafeBackupItemActionServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to BackupItemActionServer will +// result in compilation errors. +type UnsafeBackupItemActionServer interface { + mustEmbedUnimplementedBackupItemActionServer() +} + +func RegisterBackupItemActionServer(s grpc.ServiceRegistrar, srv BackupItemActionServer) { + s.RegisterService(&BackupItemAction_ServiceDesc, srv) +} + +func _BackupItemAction_AppliesTo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BackupItemActionAppliesToRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackupItemActionServer).AppliesTo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BackupItemAction_AppliesTo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackupItemActionServer).AppliesTo(ctx, req.(*BackupItemActionAppliesToRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BackupItemAction_Execute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExecuteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackupItemActionServer).Execute(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BackupItemAction_Execute_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackupItemActionServer).Execute(ctx, req.(*ExecuteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BackupItemAction_Progress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BackupItemActionProgressRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackupItemActionServer).Progress(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BackupItemAction_Progress_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackupItemActionServer).Progress(ctx, req.(*BackupItemActionProgressRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BackupItemAction_Cancel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BackupItemActionCancelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackupItemActionServer).Cancel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: BackupItemAction_Cancel_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackupItemActionServer).Cancel(ctx, req.(*BackupItemActionCancelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// BackupItemAction_ServiceDesc is the grpc.ServiceDesc for BackupItemAction service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var BackupItemAction_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "v2.BackupItemAction", + HandlerType: (*BackupItemActionServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "AppliesTo", + Handler: _BackupItemAction_AppliesTo_Handler, + }, + { + MethodName: "Execute", + Handler: _BackupItemAction_Execute_Handler, + }, + { + MethodName: "Progress", + Handler: _BackupItemAction_Progress_Handler, + }, + { + MethodName: "Cancel", + Handler: _BackupItemAction_Cancel_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "backupitemaction/v2/BackupItemAction.proto", +} diff --git a/pkg/plugin/generated/restoreitemaction/v2/RestoreItemAction.pb.go b/pkg/plugin/generated/restoreitemaction/v2/RestoreItemAction.pb.go index 0e041e51eb..9ea254c6ce 100644 --- a/pkg/plugin/generated/restoreitemaction/v2/RestoreItemAction.pb.go +++ b/pkg/plugin/generated/restoreitemaction/v2/RestoreItemAction.pb.go @@ -1,18 +1,13 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.23.0 -// protoc v3.14.0 +// protoc-gen-go v1.32.0 +// protoc v4.25.2 // source: restoreitemaction/v2/RestoreItemAction.proto package v2 import ( - context "context" - proto "github.com/golang/protobuf/proto" generated "github.com/vmware-tanzu/velero/pkg/plugin/generated" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" durationpb "google.golang.org/protobuf/types/known/durationpb" @@ -28,10 +23,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// This is a compile-time assertion that a sufficiently up-to-date version -// of the legacy proto package is being used. -const _ = proto.ProtoPackageIsVersion4 - type RestoreItemActionExecuteRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -877,227 +868,3 @@ func file_restoreitemaction_v2_RestoreItemAction_proto_init() { file_restoreitemaction_v2_RestoreItemAction_proto_goTypes = nil file_restoreitemaction_v2_RestoreItemAction_proto_depIdxs = nil } - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// RestoreItemActionClient is the client API for RestoreItemAction service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type RestoreItemActionClient interface { - AppliesTo(ctx context.Context, in *RestoreItemActionAppliesToRequest, opts ...grpc.CallOption) (*RestoreItemActionAppliesToResponse, error) - Execute(ctx context.Context, in *RestoreItemActionExecuteRequest, opts ...grpc.CallOption) (*RestoreItemActionExecuteResponse, error) - Progress(ctx context.Context, in *RestoreItemActionProgressRequest, opts ...grpc.CallOption) (*RestoreItemActionProgressResponse, error) - Cancel(ctx context.Context, in *RestoreItemActionCancelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) - AreAdditionalItemsReady(ctx context.Context, in *RestoreItemActionItemsReadyRequest, opts ...grpc.CallOption) (*RestoreItemActionItemsReadyResponse, error) -} - -type restoreItemActionClient struct { - cc grpc.ClientConnInterface -} - -func NewRestoreItemActionClient(cc grpc.ClientConnInterface) RestoreItemActionClient { - return &restoreItemActionClient{cc} -} - -func (c *restoreItemActionClient) AppliesTo(ctx context.Context, in *RestoreItemActionAppliesToRequest, opts ...grpc.CallOption) (*RestoreItemActionAppliesToResponse, error) { - out := new(RestoreItemActionAppliesToResponse) - err := c.cc.Invoke(ctx, "/v2.RestoreItemAction/AppliesTo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *restoreItemActionClient) Execute(ctx context.Context, in *RestoreItemActionExecuteRequest, opts ...grpc.CallOption) (*RestoreItemActionExecuteResponse, error) { - out := new(RestoreItemActionExecuteResponse) - err := c.cc.Invoke(ctx, "/v2.RestoreItemAction/Execute", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *restoreItemActionClient) Progress(ctx context.Context, in *RestoreItemActionProgressRequest, opts ...grpc.CallOption) (*RestoreItemActionProgressResponse, error) { - out := new(RestoreItemActionProgressResponse) - err := c.cc.Invoke(ctx, "/v2.RestoreItemAction/Progress", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *restoreItemActionClient) Cancel(ctx context.Context, in *RestoreItemActionCancelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { - out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/v2.RestoreItemAction/Cancel", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *restoreItemActionClient) AreAdditionalItemsReady(ctx context.Context, in *RestoreItemActionItemsReadyRequest, opts ...grpc.CallOption) (*RestoreItemActionItemsReadyResponse, error) { - out := new(RestoreItemActionItemsReadyResponse) - err := c.cc.Invoke(ctx, "/v2.RestoreItemAction/AreAdditionalItemsReady", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// RestoreItemActionServer is the server API for RestoreItemAction service. -type RestoreItemActionServer interface { - AppliesTo(context.Context, *RestoreItemActionAppliesToRequest) (*RestoreItemActionAppliesToResponse, error) - Execute(context.Context, *RestoreItemActionExecuteRequest) (*RestoreItemActionExecuteResponse, error) - Progress(context.Context, *RestoreItemActionProgressRequest) (*RestoreItemActionProgressResponse, error) - Cancel(context.Context, *RestoreItemActionCancelRequest) (*emptypb.Empty, error) - AreAdditionalItemsReady(context.Context, *RestoreItemActionItemsReadyRequest) (*RestoreItemActionItemsReadyResponse, error) -} - -// UnimplementedRestoreItemActionServer can be embedded to have forward compatible implementations. -type UnimplementedRestoreItemActionServer struct { -} - -func (*UnimplementedRestoreItemActionServer) AppliesTo(context.Context, *RestoreItemActionAppliesToRequest) (*RestoreItemActionAppliesToResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AppliesTo not implemented") -} -func (*UnimplementedRestoreItemActionServer) Execute(context.Context, *RestoreItemActionExecuteRequest) (*RestoreItemActionExecuteResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Execute not implemented") -} -func (*UnimplementedRestoreItemActionServer) Progress(context.Context, *RestoreItemActionProgressRequest) (*RestoreItemActionProgressResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Progress not implemented") -} -func (*UnimplementedRestoreItemActionServer) Cancel(context.Context, *RestoreItemActionCancelRequest) (*emptypb.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method Cancel not implemented") -} -func (*UnimplementedRestoreItemActionServer) AreAdditionalItemsReady(context.Context, *RestoreItemActionItemsReadyRequest) (*RestoreItemActionItemsReadyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AreAdditionalItemsReady not implemented") -} - -func RegisterRestoreItemActionServer(s *grpc.Server, srv RestoreItemActionServer) { - s.RegisterService(&_RestoreItemAction_serviceDesc, srv) -} - -func _RestoreItemAction_AppliesTo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RestoreItemActionAppliesToRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RestoreItemActionServer).AppliesTo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/v2.RestoreItemAction/AppliesTo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RestoreItemActionServer).AppliesTo(ctx, req.(*RestoreItemActionAppliesToRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _RestoreItemAction_Execute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RestoreItemActionExecuteRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RestoreItemActionServer).Execute(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/v2.RestoreItemAction/Execute", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RestoreItemActionServer).Execute(ctx, req.(*RestoreItemActionExecuteRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _RestoreItemAction_Progress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RestoreItemActionProgressRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RestoreItemActionServer).Progress(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/v2.RestoreItemAction/Progress", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RestoreItemActionServer).Progress(ctx, req.(*RestoreItemActionProgressRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _RestoreItemAction_Cancel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RestoreItemActionCancelRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RestoreItemActionServer).Cancel(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/v2.RestoreItemAction/Cancel", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RestoreItemActionServer).Cancel(ctx, req.(*RestoreItemActionCancelRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _RestoreItemAction_AreAdditionalItemsReady_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RestoreItemActionItemsReadyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RestoreItemActionServer).AreAdditionalItemsReady(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/v2.RestoreItemAction/AreAdditionalItemsReady", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RestoreItemActionServer).AreAdditionalItemsReady(ctx, req.(*RestoreItemActionItemsReadyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _RestoreItemAction_serviceDesc = grpc.ServiceDesc{ - ServiceName: "v2.RestoreItemAction", - HandlerType: (*RestoreItemActionServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "AppliesTo", - Handler: _RestoreItemAction_AppliesTo_Handler, - }, - { - MethodName: "Execute", - Handler: _RestoreItemAction_Execute_Handler, - }, - { - MethodName: "Progress", - Handler: _RestoreItemAction_Progress_Handler, - }, - { - MethodName: "Cancel", - Handler: _RestoreItemAction_Cancel_Handler, - }, - { - MethodName: "AreAdditionalItemsReady", - Handler: _RestoreItemAction_AreAdditionalItemsReady_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "restoreitemaction/v2/RestoreItemAction.proto", -} diff --git a/pkg/plugin/generated/restoreitemaction/v2/RestoreItemAction_grpc.pb.go b/pkg/plugin/generated/restoreitemaction/v2/RestoreItemAction_grpc.pb.go new file mode 100644 index 0000000000..6e7bb189d6 --- /dev/null +++ b/pkg/plugin/generated/restoreitemaction/v2/RestoreItemAction_grpc.pb.go @@ -0,0 +1,258 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.25.2 +// source: restoreitemaction/v2/RestoreItemAction.proto + +package v2 + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + emptypb "google.golang.org/protobuf/types/known/emptypb" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +const ( + RestoreItemAction_AppliesTo_FullMethodName = "/v2.RestoreItemAction/AppliesTo" + RestoreItemAction_Execute_FullMethodName = "/v2.RestoreItemAction/Execute" + RestoreItemAction_Progress_FullMethodName = "/v2.RestoreItemAction/Progress" + RestoreItemAction_Cancel_FullMethodName = "/v2.RestoreItemAction/Cancel" + RestoreItemAction_AreAdditionalItemsReady_FullMethodName = "/v2.RestoreItemAction/AreAdditionalItemsReady" +) + +// RestoreItemActionClient is the client API for RestoreItemAction service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type RestoreItemActionClient interface { + AppliesTo(ctx context.Context, in *RestoreItemActionAppliesToRequest, opts ...grpc.CallOption) (*RestoreItemActionAppliesToResponse, error) + Execute(ctx context.Context, in *RestoreItemActionExecuteRequest, opts ...grpc.CallOption) (*RestoreItemActionExecuteResponse, error) + Progress(ctx context.Context, in *RestoreItemActionProgressRequest, opts ...grpc.CallOption) (*RestoreItemActionProgressResponse, error) + Cancel(ctx context.Context, in *RestoreItemActionCancelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) + AreAdditionalItemsReady(ctx context.Context, in *RestoreItemActionItemsReadyRequest, opts ...grpc.CallOption) (*RestoreItemActionItemsReadyResponse, error) +} + +type restoreItemActionClient struct { + cc grpc.ClientConnInterface +} + +func NewRestoreItemActionClient(cc grpc.ClientConnInterface) RestoreItemActionClient { + return &restoreItemActionClient{cc} +} + +func (c *restoreItemActionClient) AppliesTo(ctx context.Context, in *RestoreItemActionAppliesToRequest, opts ...grpc.CallOption) (*RestoreItemActionAppliesToResponse, error) { + out := new(RestoreItemActionAppliesToResponse) + err := c.cc.Invoke(ctx, RestoreItemAction_AppliesTo_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *restoreItemActionClient) Execute(ctx context.Context, in *RestoreItemActionExecuteRequest, opts ...grpc.CallOption) (*RestoreItemActionExecuteResponse, error) { + out := new(RestoreItemActionExecuteResponse) + err := c.cc.Invoke(ctx, RestoreItemAction_Execute_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *restoreItemActionClient) Progress(ctx context.Context, in *RestoreItemActionProgressRequest, opts ...grpc.CallOption) (*RestoreItemActionProgressResponse, error) { + out := new(RestoreItemActionProgressResponse) + err := c.cc.Invoke(ctx, RestoreItemAction_Progress_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *restoreItemActionClient) Cancel(ctx context.Context, in *RestoreItemActionCancelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + out := new(emptypb.Empty) + err := c.cc.Invoke(ctx, RestoreItemAction_Cancel_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *restoreItemActionClient) AreAdditionalItemsReady(ctx context.Context, in *RestoreItemActionItemsReadyRequest, opts ...grpc.CallOption) (*RestoreItemActionItemsReadyResponse, error) { + out := new(RestoreItemActionItemsReadyResponse) + err := c.cc.Invoke(ctx, RestoreItemAction_AreAdditionalItemsReady_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// RestoreItemActionServer is the server API for RestoreItemAction service. +// All implementations must embed UnimplementedRestoreItemActionServer +// for forward compatibility +type RestoreItemActionServer interface { + AppliesTo(context.Context, *RestoreItemActionAppliesToRequest) (*RestoreItemActionAppliesToResponse, error) + Execute(context.Context, *RestoreItemActionExecuteRequest) (*RestoreItemActionExecuteResponse, error) + Progress(context.Context, *RestoreItemActionProgressRequest) (*RestoreItemActionProgressResponse, error) + Cancel(context.Context, *RestoreItemActionCancelRequest) (*emptypb.Empty, error) + AreAdditionalItemsReady(context.Context, *RestoreItemActionItemsReadyRequest) (*RestoreItemActionItemsReadyResponse, error) + mustEmbedUnimplementedRestoreItemActionServer() +} + +// UnimplementedRestoreItemActionServer must be embedded to have forward compatible implementations. +type UnimplementedRestoreItemActionServer struct { +} + +func (UnimplementedRestoreItemActionServer) AppliesTo(context.Context, *RestoreItemActionAppliesToRequest) (*RestoreItemActionAppliesToResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AppliesTo not implemented") +} +func (UnimplementedRestoreItemActionServer) Execute(context.Context, *RestoreItemActionExecuteRequest) (*RestoreItemActionExecuteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Execute not implemented") +} +func (UnimplementedRestoreItemActionServer) Progress(context.Context, *RestoreItemActionProgressRequest) (*RestoreItemActionProgressResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Progress not implemented") +} +func (UnimplementedRestoreItemActionServer) Cancel(context.Context, *RestoreItemActionCancelRequest) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method Cancel not implemented") +} +func (UnimplementedRestoreItemActionServer) AreAdditionalItemsReady(context.Context, *RestoreItemActionItemsReadyRequest) (*RestoreItemActionItemsReadyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AreAdditionalItemsReady not implemented") +} +func (UnimplementedRestoreItemActionServer) mustEmbedUnimplementedRestoreItemActionServer() {} + +// UnsafeRestoreItemActionServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to RestoreItemActionServer will +// result in compilation errors. +type UnsafeRestoreItemActionServer interface { + mustEmbedUnimplementedRestoreItemActionServer() +} + +func RegisterRestoreItemActionServer(s grpc.ServiceRegistrar, srv RestoreItemActionServer) { + s.RegisterService(&RestoreItemAction_ServiceDesc, srv) +} + +func _RestoreItemAction_AppliesTo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RestoreItemActionAppliesToRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RestoreItemActionServer).AppliesTo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: RestoreItemAction_AppliesTo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RestoreItemActionServer).AppliesTo(ctx, req.(*RestoreItemActionAppliesToRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RestoreItemAction_Execute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RestoreItemActionExecuteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RestoreItemActionServer).Execute(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: RestoreItemAction_Execute_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RestoreItemActionServer).Execute(ctx, req.(*RestoreItemActionExecuteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RestoreItemAction_Progress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RestoreItemActionProgressRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RestoreItemActionServer).Progress(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: RestoreItemAction_Progress_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RestoreItemActionServer).Progress(ctx, req.(*RestoreItemActionProgressRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RestoreItemAction_Cancel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RestoreItemActionCancelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RestoreItemActionServer).Cancel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: RestoreItemAction_Cancel_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RestoreItemActionServer).Cancel(ctx, req.(*RestoreItemActionCancelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RestoreItemAction_AreAdditionalItemsReady_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RestoreItemActionItemsReadyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RestoreItemActionServer).AreAdditionalItemsReady(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: RestoreItemAction_AreAdditionalItemsReady_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RestoreItemActionServer).AreAdditionalItemsReady(ctx, req.(*RestoreItemActionItemsReadyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// RestoreItemAction_ServiceDesc is the grpc.ServiceDesc for RestoreItemAction service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var RestoreItemAction_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "v2.RestoreItemAction", + HandlerType: (*RestoreItemActionServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "AppliesTo", + Handler: _RestoreItemAction_AppliesTo_Handler, + }, + { + MethodName: "Execute", + Handler: _RestoreItemAction_Execute_Handler, + }, + { + MethodName: "Progress", + Handler: _RestoreItemAction_Progress_Handler, + }, + { + MethodName: "Cancel", + Handler: _RestoreItemAction_Cancel_Handler, + }, + { + MethodName: "AreAdditionalItemsReady", + Handler: _RestoreItemAction_AreAdditionalItemsReady_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "restoreitemaction/v2/RestoreItemAction.proto", +}