Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
444 lines (421 sloc) 24.3 KB
// <auto-generated>
// Code generated by Microsoft (R) AutoRest Code Generator.
// Changes may cause incorrect behavior and will be lost if the code is
// regenerated.
// </auto-generated>
namespace k8s.Models
{
using Newtonsoft.Json;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
/// <summary>
/// ObjectMeta is metadata that all persisted resources must have, which
/// includes all objects users must create.
/// </summary>
public partial class V1ObjectMeta
{
/// <summary>
/// Initializes a new instance of the V1ObjectMeta class.
/// </summary>
public V1ObjectMeta()
{
CustomInit();
}
/// <summary>
/// Initializes a new instance of the V1ObjectMeta class.
/// </summary>
/// <param name="annotations">Annotations is an unstructured key value
/// map stored with a resource that may be set by external tools to
/// store and retrieve arbitrary metadata. They are not queryable and
/// should be preserved when modifying objects. More info:
/// http://kubernetes.io/docs/user-guide/annotations</param>
/// <param name="clusterName">The name of the cluster which the object
/// belongs to. This is used to distinguish resources with same name
/// and namespace in different clusters. This field is not set anywhere
/// right now and apiserver is going to ignore it if set in create or
/// update request.</param>
/// <param name="creationTimestamp">CreationTimestamp is a timestamp
/// representing the server time when this object was created. It is
/// not guaranteed to be set in happens-before order across separate
/// operations. Clients may not set this value. It is represented in
/// RFC3339 form and is in UTC.
///
/// Populated by the system. Read-only. Null for lists. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata</param>
/// <param name="deletionGracePeriodSeconds">Number of seconds allowed
/// for this object to gracefully terminate before it will be removed
/// from the system. Only set when deletionTimestamp is also set. May
/// only be shortened. Read-only.</param>
/// <param name="deletionTimestamp">DeletionTimestamp is RFC 3339 date
/// and time at which this resource will be deleted. This field is set
/// by the server when a graceful deletion is requested by the user,
/// and is not directly settable by a client. The resource is expected
/// to be deleted (no longer visible from resource lists, and not
/// reachable by name) after the time in this field, once the
/// finalizers list is empty. As long as the finalizers list contains
/// items, deletion is blocked. Once the deletionTimestamp is set, this
/// value may not be unset or be set further into the future, although
/// it may be shortened or the resource may be deleted prior to this
/// time. For example, a user may request that a pod is deleted in 30
/// seconds. The Kubelet will react by sending a graceful termination
/// signal to the containers in the pod. After that 30 seconds, the
/// Kubelet will send a hard termination signal (SIGKILL) to the
/// container and after cleanup, remove the pod from the API. In the
/// presence of network partitions, this object may still exist after
/// this timestamp, until an administrator or automated process can
/// determine the resource is fully terminated. If not set, graceful
/// deletion of the object has not been requested.
///
/// Populated by the system when a graceful deletion is requested.
/// Read-only. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata</param>
/// <param name="finalizers">Must be empty before the object is deleted
/// from the registry. Each entry is an identifier for the responsible
/// component that will remove the entry from the list. If the
/// deletionTimestamp of the object is non-nil, entries in this list
/// can only be removed.</param>
/// <param name="generateName">GenerateName is an optional prefix, used
/// by the server, to generate a unique name ONLY IF the Name field has
/// not been provided. If this field is used, the name returned to the
/// client will be different than the name passed. This value will also
/// be combined with a unique suffix. The provided value has the same
/// validation rules as the Name field, and may be truncated by the
/// length of the suffix required to make the value unique on the
/// server.
///
/// If this field is specified and the generated name exists, the
/// server will NOT return a 409 - instead, it will either return 201
/// Created or 500 with Reason ServerTimeout indicating a unique name
/// could not be found in the time allotted, and the client should
/// retry (optionally after the time indicated in the Retry-After
/// header).
///
/// Applied only if Name is not specified. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency</param>
/// <param name="generation">A sequence number representing a specific
/// generation of the desired state. Populated by the system.
/// Read-only.</param>
/// <param name="initializers">An initializer is a controller which
/// enforces some system invariant at object creation time. This field
/// is a list of initializers that have not yet acted on this object.
/// If nil or empty, this object has been completely initialized.
/// Otherwise, the object is considered uninitialized and is hidden (in
/// list/watch and get calls) from clients that haven't explicitly
/// asked to observe uninitialized objects.
///
/// When an object is created, the system will populate this list with
/// the current set of initializers. Only privileged users may set or
/// modify this list. Once it is empty, it may not be modified further
/// by any user.
///
/// DEPRECATED - initializers are an alpha field and will be removed in
/// v1.15.</param>
/// <param name="labels">Map of string keys and values that can be used
/// to organize and categorize (scope and select) objects. May match
/// selectors of replication controllers and services. More info:
/// http://kubernetes.io/docs/user-guide/labels</param>
/// <param name="managedFields">ManagedFields maps workflow-id and
/// version to the set of fields that are managed by that workflow.
/// This is mostly for internal housekeeping, and users typically
/// shouldn't need to set or understand this field. A workflow can be
/// the user's name, a controller's name, or the name of a specific
/// apply path like "ci-cd". The set of fields is always in the version
/// that the workflow used when modifying the object.
///
/// This field is alpha and can be changed or removed without
/// notice.</param>
/// <param name="name">Name must be unique within a namespace. Is
/// required when creating resources, although some resources may allow
/// a client to request the generation of an appropriate name
/// automatically. Name is primarily intended for creation idempotence
/// and configuration definition. Cannot be updated. More info:
/// http://kubernetes.io/docs/user-guide/identifiers#names</param>
/// <param name="namespaceProperty">Namespace defines the space within
/// each name must be unique. An empty namespace is equivalent to the
/// "default" namespace, but "default" is the canonical representation.
/// Not all objects are required to be scoped to a namespace - the
/// value of this field for those objects will be empty.
///
/// Must be a DNS_LABEL. Cannot be updated. More info:
/// http://kubernetes.io/docs/user-guide/namespaces</param>
/// <param name="ownerReferences">List of objects depended by this
/// object. If ALL objects in the list have been deleted, this object
/// will be garbage collected. If this object is managed by a
/// controller, then an entry in this list will point to this
/// controller, with the controller field set to true. There cannot be
/// more than one managing controller.</param>
/// <param name="resourceVersion">An opaque value that represents the
/// internal version of this object that can be used by clients to
/// determine when objects have changed. May be used for optimistic
/// concurrency, change detection, and the watch operation on a
/// resource or set of resources. Clients must treat these values as
/// opaque and passed unmodified back to the server. They may only be
/// valid for a particular resource or set of resources.
///
/// Populated by the system. Read-only. Value must be treated as opaque
/// by clients and . More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency</param>
/// <param name="selfLink">SelfLink is a URL representing this object.
/// Populated by the system. Read-only.</param>
/// <param name="uid">UID is the unique in time and space value for
/// this object. It is typically generated by the server on successful
/// creation of a resource and is not allowed to change on PUT
/// operations.
///
/// Populated by the system. Read-only. More info:
/// http://kubernetes.io/docs/user-guide/identifiers#uids</param>
public V1ObjectMeta(IDictionary<string, string> annotations = default(IDictionary<string, string>), string clusterName = default(string), System.DateTime? creationTimestamp = default(System.DateTime?), long? deletionGracePeriodSeconds = default(long?), System.DateTime? deletionTimestamp = default(System.DateTime?), IList<string> finalizers = default(IList<string>), string generateName = default(string), long? generation = default(long?), V1Initializers initializers = default(V1Initializers), IDictionary<string, string> labels = default(IDictionary<string, string>), IList<V1ManagedFieldsEntry> managedFields = default(IList<V1ManagedFieldsEntry>), string name = default(string), string namespaceProperty = default(string), IList<V1OwnerReference> ownerReferences = default(IList<V1OwnerReference>), string resourceVersion = default(string), string selfLink = default(string), string uid = default(string))
{
Annotations = annotations;
ClusterName = clusterName;
CreationTimestamp = creationTimestamp;
DeletionGracePeriodSeconds = deletionGracePeriodSeconds;
DeletionTimestamp = deletionTimestamp;
Finalizers = finalizers;
GenerateName = generateName;
Generation = generation;
Initializers = initializers;
Labels = labels;
ManagedFields = managedFields;
Name = name;
NamespaceProperty = namespaceProperty;
OwnerReferences = ownerReferences;
ResourceVersion = resourceVersion;
SelfLink = selfLink;
Uid = uid;
CustomInit();
}
/// <summary>
/// An initialization method that performs custom operations like setting defaults
/// </summary>
partial void CustomInit();
/// <summary>
/// Gets or sets annotations is an unstructured key value map stored
/// with a resource that may be set by external tools to store and
/// retrieve arbitrary metadata. They are not queryable and should be
/// preserved when modifying objects. More info:
/// http://kubernetes.io/docs/user-guide/annotations
/// </summary>
[JsonProperty(PropertyName = "annotations")]
public IDictionary<string, string> Annotations { get; set; }
/// <summary>
/// Gets or sets the name of the cluster which the object belongs to.
/// This is used to distinguish resources with same name and namespace
/// in different clusters. This field is not set anywhere right now and
/// apiserver is going to ignore it if set in create or update request.
/// </summary>
[JsonProperty(PropertyName = "clusterName")]
public string ClusterName { get; set; }
/// <summary>
/// Gets or sets creationTimestamp is a timestamp representing the
/// server time when this object was created. It is not guaranteed to
/// be set in happens-before order across separate operations. Clients
/// may not set this value. It is represented in RFC3339 form and is in
/// UTC.
///
/// Populated by the system. Read-only. Null for lists. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
/// </summary>
[JsonProperty(PropertyName = "creationTimestamp")]
public System.DateTime? CreationTimestamp { get; set; }
/// <summary>
/// Gets or sets number of seconds allowed for this object to
/// gracefully terminate before it will be removed from the system.
/// Only set when deletionTimestamp is also set. May only be shortened.
/// Read-only.
/// </summary>
[JsonProperty(PropertyName = "deletionGracePeriodSeconds")]
public long? DeletionGracePeriodSeconds { get; set; }
/// <summary>
/// Gets or sets deletionTimestamp is RFC 3339 date and time at which
/// this resource will be deleted. This field is set by the server when
/// a graceful deletion is requested by the user, and is not directly
/// settable by a client. The resource is expected to be deleted (no
/// longer visible from resource lists, and not reachable by name)
/// after the time in this field, once the finalizers list is empty. As
/// long as the finalizers list contains items, deletion is blocked.
/// Once the deletionTimestamp is set, this value may not be unset or
/// be set further into the future, although it may be shortened or the
/// resource may be deleted prior to this time. For example, a user may
/// request that a pod is deleted in 30 seconds. The Kubelet will react
/// by sending a graceful termination signal to the containers in the
/// pod. After that 30 seconds, the Kubelet will send a hard
/// termination signal (SIGKILL) to the container and after cleanup,
/// remove the pod from the API. In the presence of network partitions,
/// this object may still exist after this timestamp, until an
/// administrator or automated process can determine the resource is
/// fully terminated. If not set, graceful deletion of the object has
/// not been requested.
///
/// Populated by the system when a graceful deletion is requested.
/// Read-only. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
/// </summary>
[JsonProperty(PropertyName = "deletionTimestamp")]
public System.DateTime? DeletionTimestamp { get; set; }
/// <summary>
/// Gets or sets must be empty before the object is deleted from the
/// registry. Each entry is an identifier for the responsible component
/// that will remove the entry from the list. If the deletionTimestamp
/// of the object is non-nil, entries in this list can only be removed.
/// </summary>
[JsonProperty(PropertyName = "finalizers")]
public IList<string> Finalizers { get; set; }
/// <summary>
/// Gets or sets generateName is an optional prefix, used by the
/// server, to generate a unique name ONLY IF the Name field has not
/// been provided. If this field is used, the name returned to the
/// client will be different than the name passed. This value will also
/// be combined with a unique suffix. The provided value has the same
/// validation rules as the Name field, and may be truncated by the
/// length of the suffix required to make the value unique on the
/// server.
///
/// If this field is specified and the generated name exists, the
/// server will NOT return a 409 - instead, it will either return 201
/// Created or 500 with Reason ServerTimeout indicating a unique name
/// could not be found in the time allotted, and the client should
/// retry (optionally after the time indicated in the Retry-After
/// header).
///
/// Applied only if Name is not specified. More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
/// </summary>
[JsonProperty(PropertyName = "generateName")]
public string GenerateName { get; set; }
/// <summary>
/// Gets or sets a sequence number representing a specific generation
/// of the desired state. Populated by the system. Read-only.
/// </summary>
[JsonProperty(PropertyName = "generation")]
public long? Generation { get; set; }
/// <summary>
/// Gets or sets an initializer is a controller which enforces some
/// system invariant at object creation time. This field is a list of
/// initializers that have not yet acted on this object. If nil or
/// empty, this object has been completely initialized. Otherwise, the
/// object is considered uninitialized and is hidden (in list/watch and
/// get calls) from clients that haven't explicitly asked to observe
/// uninitialized objects.
///
/// When an object is created, the system will populate this list with
/// the current set of initializers. Only privileged users may set or
/// modify this list. Once it is empty, it may not be modified further
/// by any user.
///
/// DEPRECATED - initializers are an alpha field and will be removed in
/// v1.15.
/// </summary>
[JsonProperty(PropertyName = "initializers")]
public V1Initializers Initializers { get; set; }
/// <summary>
/// Gets or sets map of string keys and values that can be used to
/// organize and categorize (scope and select) objects. May match
/// selectors of replication controllers and services. More info:
/// http://kubernetes.io/docs/user-guide/labels
/// </summary>
[JsonProperty(PropertyName = "labels")]
public IDictionary<string, string> Labels { get; set; }
/// <summary>
/// Gets or sets managedFields maps workflow-id and version to the set
/// of fields that are managed by that workflow. This is mostly for
/// internal housekeeping, and users typically shouldn't need to set or
/// understand this field. A workflow can be the user's name, a
/// controller's name, or the name of a specific apply path like
/// "ci-cd". The set of fields is always in the version that the
/// workflow used when modifying the object.
///
/// This field is alpha and can be changed or removed without notice.
/// </summary>
[JsonProperty(PropertyName = "managedFields")]
public IList<V1ManagedFieldsEntry> ManagedFields { get; set; }
/// <summary>
/// Gets or sets name must be unique within a namespace. Is required
/// when creating resources, although some resources may allow a client
/// to request the generation of an appropriate name automatically.
/// Name is primarily intended for creation idempotence and
/// configuration definition. Cannot be updated. More info:
/// http://kubernetes.io/docs/user-guide/identifiers#names
/// </summary>
[JsonProperty(PropertyName = "name")]
public string Name { get; set; }
/// <summary>
/// Gets or sets namespace defines the space within each name must be
/// unique. An empty namespace is equivalent to the "default"
/// namespace, but "default" is the canonical representation. Not all
/// objects are required to be scoped to a namespace - the value of
/// this field for those objects will be empty.
///
/// Must be a DNS_LABEL. Cannot be updated. More info:
/// http://kubernetes.io/docs/user-guide/namespaces
/// </summary>
[JsonProperty(PropertyName = "namespace")]
public string NamespaceProperty { get; set; }
/// <summary>
/// Gets or sets list of objects depended by this object. If ALL
/// objects in the list have been deleted, this object will be garbage
/// collected. If this object is managed by a controller, then an entry
/// in this list will point to this controller, with the controller
/// field set to true. There cannot be more than one managing
/// controller.
/// </summary>
[JsonProperty(PropertyName = "ownerReferences")]
public IList<V1OwnerReference> OwnerReferences { get; set; }
/// <summary>
/// Gets or sets an opaque value that represents the internal version
/// of this object that can be used by clients to determine when
/// objects have changed. May be used for optimistic concurrency,
/// change detection, and the watch operation on a resource or set of
/// resources. Clients must treat these values as opaque and passed
/// unmodified back to the server. They may only be valid for a
/// particular resource or set of resources.
///
/// Populated by the system. Read-only. Value must be treated as opaque
/// by clients and . More info:
/// https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
/// </summary>
[JsonProperty(PropertyName = "resourceVersion")]
public string ResourceVersion { get; set; }
/// <summary>
/// Gets or sets selfLink is a URL representing this object. Populated
/// by the system. Read-only.
/// </summary>
[JsonProperty(PropertyName = "selfLink")]
public string SelfLink { get; set; }
/// <summary>
/// Gets or sets UID is the unique in time and space value for this
/// object. It is typically generated by the server on successful
/// creation of a resource and is not allowed to change on PUT
/// operations.
///
/// Populated by the system. Read-only. More info:
/// http://kubernetes.io/docs/user-guide/identifiers#uids
/// </summary>
[JsonProperty(PropertyName = "uid")]
public string Uid { get; set; }
/// <summary>
/// Validate the object.
/// </summary>
/// <exception cref="Microsoft.Rest.ValidationException">
/// Thrown if validation fails
/// </exception>
public virtual void Validate()
{
if (Initializers != null)
{
Initializers.Validate();
}
if (OwnerReferences != null)
{
foreach (var element in OwnerReferences)
{
if (element != null)
{
element.Validate();
}
}
}
}
}
}
You can’t perform that action at this time.