k8s.io/kube-openapi@v0.0.0-20240228011516-70dd3763d340/pkg/schemaconv/testdata/crds/openapiv3/container_v1beta1_containercluster.json (about)
1 {"openapi":"3.0.0","info":{"title":"Kubernetes CRD Swagger","version":"v0.1.0"},"components":{"schemas":{"com.google.cloud.cnrm.container.v1beta1.ContainerCluster":{"type":"object","required":["spec"],"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"kind":{"description":"Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"description":"Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata","allOf":[{"$ref":"#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"}]},"spec":{"type":"object","required":["location"],"properties":{"addonsConfig":{"description":"The configuration for addons supported by GKE.","type":"object","properties":{"cloudrunConfig":{"description":"The status of the CloudRun addon. It is disabled by default. Set disabled = false to enable.","type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean"},"loadBalancerType":{"type":"string"}}},"configConnectorConfig":{"description":"The of the Config Connector addon.","type":"object","required":["enabled"],"properties":{"enabled":{"type":"boolean"}}},"dnsCacheConfig":{"description":"The status of the NodeLocal DNSCache addon. It is disabled by default. Set enabled = true to enable.","type":"object","required":["enabled"],"properties":{"enabled":{"type":"boolean"}}},"gcePersistentDiskCsiDriverConfig":{"description":"Whether this cluster should enable the Google Compute Engine Persistent Disk Container Storage Interface (CSI) Driver. Defaults to enabled; set disabled = true to disable.","type":"object","required":["enabled"],"properties":{"enabled":{"type":"boolean"}}},"gcpFilestoreCsiDriverConfig":{"description":"The status of the Filestore CSI driver addon, which allows the usage of filestore instance as volumes. Defaults to disabled; set enabled = true to enable.","type":"object","required":["enabled"],"properties":{"enabled":{"type":"boolean"}}},"gkeBackupAgentConfig":{"description":"The status of the Backup for GKE Agent addon. It is disabled by default. Set enabled = true to enable.","type":"object","required":["enabled"],"properties":{"enabled":{"type":"boolean"}}},"horizontalPodAutoscaling":{"description":"The status of the Horizontal Pod Autoscaling addon, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. It ensures that a Heapster pod is running in the cluster, which is also used by the Cloud Monitoring service. It is enabled by default; set disabled = true to disable.","type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean"}}},"httpLoadBalancing":{"description":"The status of the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. It is enabled by default; set disabled = true to disable.","type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean"}}},"istioConfig":{"description":"The status of the Istio addon.","type":"object","required":["disabled"],"properties":{"auth":{"description":"The authentication type between services in Istio. Available options include AUTH_MUTUAL_TLS.","type":"string"},"disabled":{"description":"The status of the Istio addon, which makes it easy to set up Istio for services in a cluster. It is disabled by default. Set disabled = false to enable.","type":"boolean"}}},"kalmConfig":{"description":"Configuration for the KALM addon, which manages the lifecycle of k8s. It is disabled by default; Set enabled = true to enable.","type":"object","required":["enabled"],"properties":{"enabled":{"type":"boolean"}}},"networkPolicyConfig":{"description":"Whether we should enable the network policy addon for the master. This must be enabled in order to enable network policy for the nodes. To enable this, you must also define a network_policy block, otherwise nothing will happen. It can only be disabled if the nodes already do not have network policies enabled. Defaults to disabled; set disabled = false to enable.","type":"object","required":["disabled"],"properties":{"disabled":{"type":"boolean"}}}}},"authenticatorGroupsConfig":{"description":"Configuration for the Google Groups for GKE feature.","type":"object","required":["securityGroup"],"properties":{"securityGroup":{"description":"The name of the RBAC security group for use with Google security groups in Kubernetes RBAC. Group name must be in format gke-security-groups@yourdomain.com.","type":"string"}}},"binaryAuthorization":{"description":"Configuration options for the Binary Authorization feature.","type":"object","properties":{"enabled":{"description":"DEPRECATED. Deprecated in favor of evaluation_mode. Enable Binary Authorization for this cluster.","type":"boolean"},"evaluationMode":{"description":"Mode of operation for Binary Authorization policy evaluation.","type":"string"}}},"clusterAutoscaling":{"description":"Per-cluster configuration of Node Auto-Provisioning with Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs of the cluster's workload. See the guide to using Node Auto-Provisioning for more details.","type":"object","properties":{"autoProvisioningDefaults":{"description":"Contains defaults for a node pool created by NAP.","type":"object","properties":{"bootDiskKMSKeyRef":{"description":"Immutable. The Customer Managed Encryption Key used to encrypt the\nboot disk attached to each node in the node pool.","type":"object","oneOf":[{"required":["name"],"not":{"required":["external"]}},{"required":["external"],"not":{"anyOf":[{"required":["name"]},{"required":["namespace"]}]}}],"properties":{"external":{"description":"Allowed value: The `selfLink` field of a `KMSCryptoKey` resource.","type":"string"},"name":{"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/","type":"string"}}},"diskSize":{"description":"Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.","type":"integer"},"imageType":{"description":"The default image type used by NAP once a new node pool is being created.","type":"string"},"management":{"description":"NodeManagement configuration for this NodePool.","type":"object","properties":{"autoRepair":{"description":"Specifies whether the node auto-repair is enabled for the node pool. If enabled, the nodes in this node pool will be monitored and, if they fail health checks too many times, an automatic repair action will be triggered.","type":"boolean"},"autoUpgrade":{"description":"Specifies whether node auto-upgrade is enabled for the node pool. If enabled, node auto-upgrade helps keep the nodes in your node pool up to date with the latest release version of Kubernetes.","type":"boolean"},"upgradeOptions":{"description":"Specifies the Auto Upgrade knobs for the node pool.","type":"array","items":{"type":"object","properties":{"autoUpgradeStartTime":{"description":"This field is set when upgrades are about to commence with the approximate start time for the upgrades, in RFC3339 text format.","type":"string"},"description":{"description":"This field is set when upgrades are about to commence with the description of the upgrade.","type":"string"}}}}}},"minCpuPlatform":{"description":"Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as Intel Haswell.","type":"string"},"oauthScopes":{"description":"Scopes that are used by NAP when creating node pools.","type":"array","items":{"type":"string"}},"serviceAccountRef":{"type":"object","oneOf":[{"required":["name"],"not":{"required":["external"]}},{"required":["external"],"not":{"anyOf":[{"required":["name"]},{"required":["namespace"]}]}}],"properties":{"external":{"description":"Allowed value: The `email` field of an `IAMServiceAccount` resource.","type":"string"},"name":{"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/","type":"string"}}},"shieldedInstanceConfig":{"description":"Shielded Instance options.","type":"object","properties":{"enableIntegrityMonitoring":{"description":"Defines whether the instance has integrity monitoring enabled.","type":"boolean"},"enableSecureBoot":{"description":"Defines whether the instance has Secure Boot enabled.","type":"boolean"}}},"upgradeSettings":{"description":"Specifies the upgrade settings for NAP created node pools.","type":"object","properties":{"blueGreenSettings":{"description":"Settings for blue-green upgrade strategy.","type":"object","properties":{"nodePoolSoakDuration":{"description":"Time needed after draining entire blue pool. After this period, blue pool will be cleaned up.\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tA duration in seconds with up to nine fractional digits, ending with 's'. Example: \"3.5s\".","type":"string"},"standardRolloutPolicy":{"description":"Standard policy for the blue-green upgrade.","type":"object","properties":{"batchNodeCount":{"description":"Number of blue nodes to drain in a batch.","type":"integer"},"batchPercentage":{"description":"Percentage of the bool pool nodes to drain in a batch. The range of this field should be (0.0, 1.0].","type":"number"},"batchSoakDuration":{"description":"Soak time after each batch gets drained.\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tA duration in seconds with up to nine fractional digits, ending with 's'. Example: \"3.5s\".","type":"string"}}}}},"maxSurge":{"description":"The maximum number of nodes that can be created beyond the current size of the node pool during the upgrade process.","type":"integer"},"maxUnavailable":{"description":"The maximum number of nodes that can be simultaneously unavailable during the upgrade process.","type":"integer"},"strategy":{"description":"Update strategy of the node pool.","type":"string"}}}}},"autoscalingProfile":{"description":"Configuration options for the Autoscaling profile feature, which lets you choose whether the cluster autoscaler should optimize for resource utilization or resource availability when deciding to remove nodes from a cluster. Can be BALANCED or OPTIMIZE_UTILIZATION. Defaults to BALANCED.","type":"string"},"enabled":{"description":"Whether node auto-provisioning is enabled. Resource limits for cpu and memory must be defined to enable node auto-provisioning.","type":"boolean"},"resourceLimits":{"description":"Global constraints for machine resources in the cluster. Configuring the cpu and memory types is required if node auto-provisioning is enabled. These limits will apply to node pool autoscaling in addition to node auto-provisioning.","type":"array","items":{"type":"object","required":["resourceType"],"properties":{"maximum":{"description":"Maximum amount of the resource in the cluster.","type":"integer"},"minimum":{"description":"Minimum amount of the resource in the cluster.","type":"integer"},"resourceType":{"description":"The type of the resource. For example, cpu and memory. See the guide to using Node Auto-Provisioning for a list of types.","type":"string"}}}}}},"clusterIpv4Cidr":{"description":"Immutable. The IP address range of the Kubernetes pods in this cluster in CIDR notation (e.g. 10.96.0.0/14). Leave blank to have one automatically chosen or specify a /14 block in 10.0.0.0/8. This field will only work for routes-based clusters, where ip_allocation_policy is not defined.","type":"string"},"clusterTelemetry":{"description":"Telemetry integration for the cluster.","type":"object","required":["type"],"properties":{"type":{"description":"Type of the integration.","type":"string"}}},"confidentialNodes":{"description":"Immutable. Configuration for the confidential nodes feature, which makes nodes run on confidential VMs. Warning: This configuration can't be changed (or added/removed) after cluster creation without deleting and recreating the entire cluster.","type":"object","required":["enabled"],"properties":{"enabled":{"description":"Immutable. Whether Confidential Nodes feature is enabled for all nodes in this cluster.","type":"boolean"}}},"costManagementConfig":{"description":"Cost management configuration for the cluster.","type":"object","required":["enabled"],"properties":{"enabled":{"description":"Whether to enable GKE cost allocation. When you enable GKE cost allocation, the cluster name and namespace of your GKE workloads appear in the labels field of the billing export to BigQuery. Defaults to false.","type":"boolean"}}},"databaseEncryption":{"description":"Application-layer Secrets Encryption settings. The object format is {state = string, key_name = string}. Valid values of state are: \"ENCRYPTED\"; \"DECRYPTED\". key_name is the name of a CloudKMS key.","type":"object","required":["state"],"properties":{"keyName":{"description":"The key to use to encrypt/decrypt secrets.","type":"string"},"state":{"description":"ENCRYPTED or DECRYPTED.","type":"string"}}},"datapathProvider":{"description":"Immutable. The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.","type":"string"},"defaultMaxPodsPerNode":{"description":"Immutable. The default maximum number of pods per node in this cluster. This doesn't work on \"routes-based\" clusters, clusters that don't have IP Aliasing enabled.","type":"integer"},"defaultSnatStatus":{"description":"Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when defaultSnatStatus is disabled.","type":"object","required":["disabled"],"properties":{"disabled":{"description":"When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic.","type":"boolean"}}},"description":{"description":"Immutable. Description of the cluster.","type":"string"},"dnsConfig":{"description":"Immutable. Configuration for Cloud DNS for Kubernetes Engine.","type":"object","properties":{"clusterDns":{"description":"Which in-cluster DNS provider should be used.","type":"string"},"clusterDnsDomain":{"description":"The suffix used for all cluster service records.","type":"string"},"clusterDnsScope":{"description":"The scope of access to cluster DNS records.","type":"string"}}},"enableAutopilot":{"description":"Immutable. Enable Autopilot for this cluster.","type":"boolean"},"enableBinaryAuthorization":{"description":"DEPRECATED. Deprecated in favor of binary_authorization. Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binary Authorization.","type":"boolean"},"enableIntranodeVisibility":{"description":"Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.","type":"boolean"},"enableKubernetesAlpha":{"description":"Immutable. Whether to enable Kubernetes Alpha features for this cluster. Note that when this option is enabled, the cluster cannot be upgraded and will be automatically deleted after 30 days.","type":"boolean"},"enableL4IlbSubsetting":{"description":"Whether L4ILB Subsetting is enabled for this cluster.","type":"boolean"},"enableLegacyAbac":{"description":"Whether the ABAC authorizer is enabled for this cluster. When enabled, identities in the system, including service accounts, nodes, and controllers, will have statically granted permissions beyond those provided by the RBAC configuration or IAM. Defaults to false.","type":"boolean"},"enableShieldedNodes":{"description":"Enable Shielded Nodes features on all nodes in this cluster. Defaults to true.","type":"boolean"},"enableTpu":{"description":"Immutable. Whether to enable Cloud TPU resources in this cluster.","type":"boolean"},"gatewayApiConfig":{"description":"Configuration for GKE Gateway API controller.","type":"object","required":["channel"],"properties":{"channel":{"description":"The Gateway API release channel to use for Gateway API.","type":"string"}}},"identityServiceConfig":{"description":"Configuration for Identity Service which allows customers to use external identity providers with the K8S API.","type":"object","properties":{"enabled":{"description":"Whether to enable the Identity Service component.","type":"boolean"}}},"initialNodeCount":{"description":"Immutable. The number of nodes to create in this cluster's default node pool. In regional or multi-zonal clusters, this is the number of nodes per zone. Must be set if node_pool is not set. If you're using google_container_node_pool objects with no default node pool, you'll need to set this to a value of at least 1, alongside setting remove_default_node_pool to true.","type":"integer"},"ipAllocationPolicy":{"description":"Immutable. Configuration of cluster IP allocation for VPC-native clusters. Adding this block enables IP aliasing, making the cluster VPC-native instead of routes-based.","type":"object","properties":{"clusterIpv4CidrBlock":{"description":"Immutable. The IP address range for the cluster pod IPs. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.","type":"string"},"clusterSecondaryRangeName":{"description":"Immutable. The name of the existing secondary range in the cluster's subnetwork to use for pod IP addresses. Alternatively, cluster_ipv4_cidr_block can be used to automatically create a GKE-managed one.","type":"string"},"servicesIpv4CidrBlock":{"description":"Immutable. The IP address range of the services IPs in this cluster. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to pick a specific range to use.","type":"string"},"servicesSecondaryRangeName":{"description":"Immutable. The name of the existing secondary range in the cluster's subnetwork to use for service ClusterIPs. Alternatively, services_ipv4_cidr_block can be used to automatically create a GKE-managed one.","type":"string"}}},"location":{"description":"Immutable. The location (region or zone) in which the cluster master will be created, as well as the default node location. If you specify a zone (such as us-central1-a), the cluster will be a zonal cluster with a single cluster master. If you specify a region (such as us-west1), the cluster will be a regional cluster with multiple masters spread across zones in the region, and with default node locations in those zones as well.","type":"string"},"loggingConfig":{"description":"Logging configuration for the cluster.","type":"object","required":["enableComponents"],"properties":{"enableComponents":{"description":"GKE components exposing logs. Valid values include SYSTEM_COMPONENTS, APISERVER, CONTROLLER_MANAGER, SCHEDULER, and WORKLOADS.","type":"array","items":{"type":"string"}}}},"loggingService":{"description":"The logging service that the cluster should write logs to. Available options include logging.googleapis.com(Legacy Stackdriver), logging.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Logging), and none. Defaults to logging.googleapis.com/kubernetes.","type":"string"},"maintenancePolicy":{"description":"The maintenance policy to use for the cluster.","type":"object","properties":{"dailyMaintenanceWindow":{"description":"Time window specified for daily maintenance operations. Specify start_time in RFC3339 format \"HH:MM”, where HH : [00-23] and MM : [00-59] GMT.","type":"object","required":["startTime"],"properties":{"duration":{"type":"string"},"startTime":{"type":"string"}}},"maintenanceExclusion":{"description":"Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows.","type":"array","items":{"type":"object","required":["endTime","exclusionName","startTime"],"properties":{"endTime":{"type":"string"},"exclusionName":{"type":"string"},"exclusionOptions":{"description":"Maintenance exclusion related options.","type":"object","required":["scope"],"properties":{"scope":{"description":"The scope of automatic upgrades to restrict in the exclusion window.","type":"string"}}},"startTime":{"type":"string"}}}},"recurringWindow":{"description":"Time window for recurring maintenance operations.","type":"object","required":["endTime","recurrence","startTime"],"properties":{"endTime":{"type":"string"},"recurrence":{"type":"string"},"startTime":{"type":"string"}}}}},"masterAuth":{"description":"DEPRECATED. Basic authentication was removed for GKE cluster versions \u003e= 1.19. The authentication information for accessing the Kubernetes master. Some values in this block are only returned by the API if your service account has permission to get credentials for your GKE cluster. If you see an unexpected diff unsetting your client cert, ensure you have the container.clusters.getCredentials permission.","type":"object","properties":{"clientCertificate":{"description":"Base64 encoded public certificate used by clients to authenticate to the cluster endpoint.","type":"string"},"clientCertificateConfig":{"description":"Immutable. Whether client certificate authorization is enabled for this cluster.","type":"object","required":["issueClientCertificate"],"properties":{"issueClientCertificate":{"description":"Immutable. Whether client certificate authorization is enabled for this cluster.","type":"boolean"}}},"clientKey":{"description":"Base64 encoded private key used by clients to authenticate to the cluster endpoint.","type":"string"},"clusterCaCertificate":{"description":"Base64 encoded public certificate that is the root of trust for the cluster.","type":"string"},"password":{"description":"The password to use for HTTP basic authentication when accessing the Kubernetes master endpoint.","type":"object","oneOf":[{"required":["value"],"not":{"required":["valueFrom"]}},{"required":["valueFrom"],"not":{"required":["value"]}}],"properties":{"value":{"description":"Value of the field. Cannot be used if 'valueFrom' is specified.","type":"string"},"valueFrom":{"description":"Source for the field's value. Cannot be used if 'value' is specified.","type":"object","properties":{"secretKeyRef":{"description":"Reference to a value with the given key in the given Secret in the resource's namespace.","type":"object","required":["name","key"],"properties":{"key":{"description":"Key that identifies the value to be extracted.","type":"string"},"name":{"description":"Name of the Secret to extract a value from.","type":"string"}}}}}}},"username":{"description":"The username to use for HTTP basic authentication when accessing the Kubernetes master endpoint. If not present basic auth will be disabled.","type":"string"}}},"masterAuthorizedNetworksConfig":{"description":"The desired configuration options for master authorized networks. Omit the nested cidr_blocks attribute to disallow external access (except the cluster node IPs, which GKE automatically whitelists).","type":"object","properties":{"cidrBlocks":{"description":"External networks that can access the Kubernetes cluster master through HTTPS.","type":"array","items":{"type":"object","required":["cidrBlock"],"properties":{"cidrBlock":{"description":"External network that can access Kubernetes master through HTTPS. Must be specified in CIDR notation.","type":"string"},"displayName":{"description":"Field for users to identify CIDR blocks.","type":"string"}}}},"gcpPublicCidrsAccessEnabled":{"description":"Whether master is accessbile via Google Compute Engine Public IP addresses.","type":"boolean"}}},"meshCertificates":{"description":"If set, and enable_certificates=true, the GKE Workload Identity Certificates controller and node agent will be deployed in the cluster.","type":"object","required":["enableCertificates"],"properties":{"enableCertificates":{"description":"When enabled the GKE Workload Identity Certificates controller and node agent will be deployed in the cluster.","type":"boolean"}}},"minMasterVersion":{"description":"The minimum version of the master. GKE will auto-update the master to new versions, so this does not guarantee the current master version--use the read-only master_version field to obtain that. If unset, the cluster's version will be set by GKE to the version of the most recent official release (which is not necessarily the latest version).","type":"string"},"monitoringConfig":{"description":"Monitoring configuration for the cluster.","type":"object","properties":{"enableComponents":{"description":"GKE components exposing metrics. Valid values include SYSTEM_COMPONENTS, APISERVER, CONTROLLER_MANAGER, SCHEDULER, and WORKLOADS.","type":"array","items":{"type":"string"}},"managedPrometheus":{"description":"Configuration for Google Cloud Managed Services for Prometheus.","type":"object","required":["enabled"],"properties":{"enabled":{"description":"Whether or not the managed collection is enabled.","type":"boolean"}}}}},"monitoringService":{"description":"The monitoring service that the cluster should write metrics to. Automatically send metrics from pods in the cluster to the Google Cloud Monitoring API. VM metrics will be collected by Google Compute Engine regardless of this setting Available options include monitoring.googleapis.com(Legacy Stackdriver), monitoring.googleapis.com/kubernetes(Stackdriver Kubernetes Engine Monitoring), and none. Defaults to monitoring.googleapis.com/kubernetes.","type":"string"},"networkPolicy":{"description":"Configuration options for the NetworkPolicy feature.","type":"object","required":["enabled"],"properties":{"enabled":{"description":"Whether network policy is enabled on the cluster.","type":"boolean"},"provider":{"description":"The selected network policy provider. Defaults to PROVIDER_UNSPECIFIED.","type":"string"}}},"networkRef":{"type":"object","oneOf":[{"required":["name"],"not":{"required":["external"]}},{"required":["external"],"not":{"anyOf":[{"required":["name"]},{"required":["namespace"]}]}}],"properties":{"external":{"description":"Allowed value: The `selfLink` field of a `ComputeNetwork` resource.","type":"string"},"name":{"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/","type":"string"}}},"networkingMode":{"description":"Immutable. Determines whether alias IPs or routes will be used for pod IPs in the cluster.","type":"string"},"nodeConfig":{"description":"Immutable. The configuration of the nodepool.","type":"object","properties":{"bootDiskKMSCryptoKeyRef":{"type":"object","oneOf":[{"required":["name"],"not":{"required":["external"]}},{"required":["external"],"not":{"anyOf":[{"required":["name"]},{"required":["namespace"]}]}}],"properties":{"external":{"description":"Allowed value: The `selfLink` field of a `KMSCryptoKey` resource.","type":"string"},"name":{"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/","type":"string"}}},"diskSizeGb":{"description":"Immutable. Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.","type":"integer"},"diskType":{"description":"Immutable. Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd.","type":"string"},"ephemeralStorageConfig":{"description":"Immutable. Parameters for the ephemeral storage filesystem.","type":"object","required":["localSsdCount"],"properties":{"localSsdCount":{"description":"Immutable. Number of local SSDs to use to back ephemeral storage. Uses NVMe interfaces. Each local SSD is 375 GB in size.","type":"integer"}}},"gcfsConfig":{"description":"Immutable. GCFS configuration for this node.","type":"object","required":["enabled"],"properties":{"enabled":{"description":"Immutable. Whether or not GCFS is enabled.","type":"boolean"}}},"guestAccelerator":{"description":"Immutable. List of the type and count of accelerator cards attached to the instance.","type":"array","items":{"type":"object","required":["count","type"],"properties":{"count":{"description":"Immutable. The number of the accelerator cards exposed to an instance.","type":"integer"},"gpuPartitionSize":{"description":"Immutable. Size of partitions to create on the GPU. Valid values are described in the NVIDIA mig user guide (https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).","type":"string"},"gpuSharingConfig":{"description":"Immutable. Configuration for GPU sharing.","type":"object","required":["gpuSharingStrategy","maxSharedClientsPerGpu"],"properties":{"gpuSharingStrategy":{"description":"Immutable. The type of GPU sharing strategy to enable on the GPU node. Possible values are described in the API package (https://pkg.go.dev/google.golang.org/api/container/v1#GPUSharingConfig).","type":"string"},"maxSharedClientsPerGpu":{"description":"Immutable. The maximum number of containers that can share a GPU.","type":"integer"}}},"type":{"description":"Immutable. The accelerator type resource name.","type":"string"}}}},"gvnic":{"description":"Immutable. Enable or disable gvnic in the node pool.","type":"object","required":["enabled"],"properties":{"enabled":{"description":"Immutable. Whether or not gvnic is enabled.","type":"boolean"}}},"imageType":{"description":"The image type to use for this node. Note that for a given image type, the latest version of it will be used.","type":"string"},"kubeletConfig":{"description":"Node kubelet configs.","type":"object","required":["cpuManagerPolicy"],"properties":{"cpuCfsQuota":{"description":"Enable CPU CFS quota enforcement for containers that specify CPU limits.","type":"boolean"},"cpuCfsQuotaPeriod":{"description":"Set the CPU CFS quota period value 'cpu.cfs_period_us'.","type":"string"},"cpuManagerPolicy":{"description":"Control the CPU management policy on the node.","type":"string"}}},"labels":{"description":"Immutable. The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node.","type":"object","additionalProperties":{"type":"string"}},"linuxNodeConfig":{"description":"Parameters that can be configured on Linux nodes.","type":"object","required":["sysctls"],"properties":{"sysctls":{"description":"The Linux kernel parameters to be applied to the nodes and all pods running on the nodes.","type":"object","additionalProperties":{"type":"string"}}}},"localSsdCount":{"description":"Immutable. The number of local SSD disks to be attached to the node.","type":"integer"},"loggingVariant":{"description":"Type of logging agent that is used as the default value for node pools in the cluster. Valid values include DEFAULT and MAX_THROUGHPUT.","type":"string"},"machineType":{"description":"Immutable. The name of a Google Compute Engine machine type.","type":"string"},"metadata":{"description":"Immutable. The metadata key/value pairs assigned to instances in the cluster.","type":"object","additionalProperties":{"type":"string"}},"minCpuPlatform":{"description":"Immutable. Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform.","type":"string"},"nodeGroupRef":{"description":"Immutable. Setting this field will assign instances\nof this pool to run on the specified node group. This is useful\nfor running workloads on sole tenant nodes.","type":"object","oneOf":[{"required":["name"],"not":{"required":["external"]}},{"required":["external"],"not":{"anyOf":[{"required":["name"]},{"required":["namespace"]}]}}],"properties":{"external":{"description":"Allowed value: The `name` field of a `ComputeNodeGroup` resource.","type":"string"},"name":{"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/","type":"string"}}},"oauthScopes":{"description":"Immutable. The set of Google API scopes to be made available on all of the node VMs.","type":"array","items":{"type":"string"}},"preemptible":{"description":"Immutable. Whether the nodes are created as preemptible VM instances.","type":"boolean"},"reservationAffinity":{"description":"Immutable. The reservation affinity configuration for the node pool.","type":"object","required":["consumeReservationType"],"properties":{"consumeReservationType":{"description":"Immutable. Corresponds to the type of reservation consumption.","type":"string"},"key":{"description":"Immutable. The label key of a reservation resource.","type":"string"},"values":{"description":"Immutable. The label values of the reservation resource.","type":"array","items":{"type":"string"}}}},"resourceLabels":{"description":"The GCE resource labels (a map of key/value pairs) to be applied to the node pool.","type":"object","additionalProperties":{"type":"string"}},"sandboxConfig":{"description":"Immutable. Sandbox configuration for this node.","type":"object","required":["sandboxType"],"properties":{"sandboxType":{"description":"Type of the sandbox to use for the node (e.g. 'gvisor').","type":"string"}}},"serviceAccountRef":{"type":"object","oneOf":[{"required":["name"],"not":{"required":["external"]}},{"required":["external"],"not":{"anyOf":[{"required":["name"]},{"required":["namespace"]}]}}],"properties":{"external":{"description":"Allowed value: The `email` field of an `IAMServiceAccount` resource.","type":"string"},"name":{"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/","type":"string"}}},"shieldedInstanceConfig":{"description":"Immutable. Shielded Instance options.","type":"object","properties":{"enableIntegrityMonitoring":{"description":"Immutable. Defines whether the instance has integrity monitoring enabled.","type":"boolean"},"enableSecureBoot":{"description":"Immutable. Defines whether the instance has Secure Boot enabled.","type":"boolean"}}},"spot":{"description":"Immutable. Whether the nodes are created as spot VM instances.","type":"boolean"},"tags":{"description":"The list of instance tags applied to all nodes.","type":"array","items":{"type":"string"}},"taint":{"description":"Immutable. List of Kubernetes taints to be applied to each node.","type":"array","items":{"type":"object","required":["effect","key","value"],"properties":{"effect":{"description":"Immutable. Effect for taint.","type":"string"},"key":{"description":"Immutable. Key for taint.","type":"string"},"value":{"description":"Immutable. Value for taint.","type":"string"}}}},"workloadMetadataConfig":{"description":"Immutable. The workload metadata configuration for this node.","type":"object","properties":{"mode":{"description":"Mode is the configuration for how to expose metadata to workloads running on the node.","type":"string"},"nodeMetadata":{"description":"DEPRECATED. Deprecated in favor of mode. NodeMetadata is the configuration for how to expose metadata to the workloads running on the node.","type":"string"}}}}},"nodeLocations":{"description":"The list of zones in which the cluster's nodes are located. Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If this is specified for a zonal cluster, omit the cluster's zone.","type":"array","items":{"type":"string"}},"nodePoolAutoConfig":{"description":"Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters.","type":"object","properties":{"networkTags":{"description":"Collection of Compute Engine network tags that can be applied to a node's underlying VM instance.","type":"object","properties":{"tags":{"description":"List of network tags applied to auto-provisioned node pools.","type":"array","items":{"type":"string"}}}}}},"nodePoolDefaults":{"description":"The default nodel pool settings for the entire cluster.","type":"object","properties":{"nodeConfigDefaults":{"description":"Subset of NodeConfig message that has defaults.","type":"object","properties":{"gcfsConfig":{"description":"GCFS configuration for this node.","type":"object","required":["enabled"],"properties":{"enabled":{"description":"Whether or not GCFS is enabled.","type":"boolean"}}},"loggingVariant":{"description":"Type of logging agent that is used as the default value for node pools in the cluster. Valid values include DEFAULT and MAX_THROUGHPUT.","type":"string"}}}}},"nodeVersion":{"type":"string"},"notificationConfig":{"description":"The notification config for sending cluster upgrade notifications.","type":"object","required":["pubsub"],"properties":{"pubsub":{"description":"Notification config for Cloud Pub/Sub.","type":"object","required":["enabled"],"properties":{"enabled":{"description":"Whether or not the notification config is enabled.","type":"boolean"},"filter":{"description":"Allows filtering to one or more specific event types. If event types are present, those and only those event types will be transmitted to the cluster. Other types will be skipped. If no filter is specified, or no event types are present, all event types will be sent.","type":"object","required":["eventType"],"properties":{"eventType":{"description":"Can be used to filter what notifications are sent. Valid values include include UPGRADE_AVAILABLE_EVENT, UPGRADE_EVENT and SECURITY_BULLETIN_EVENT.","type":"array","items":{"type":"string"}}}},"topicRef":{"description":"The PubSubTopic to send the notification to.","type":"object","oneOf":[{"required":["name"],"not":{"required":["external"]}},{"required":["external"],"not":{"anyOf":[{"required":["name"]},{"required":["namespace"]}]}}],"properties":{"external":{"description":"Allowed value: string of the format `projects/{{project}}/topics/{{value}}`, where {{value}} is the `name` field of a `PubSubTopic` resource.","type":"string"},"name":{"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/","type":"string"}}}}}}},"podSecurityPolicyConfig":{"description":"Configuration for the PodSecurityPolicy feature.","type":"object","required":["enabled"],"properties":{"enabled":{"description":"Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.","type":"boolean"}}},"privateClusterConfig":{"description":"Configuration for private clusters, clusters with private nodes.","type":"object","properties":{"enablePrivateEndpoint":{"description":"When true, the cluster's private endpoint is used as the cluster endpoint and access through the public endpoint is disabled. When false, either endpoint can be used. This field only applies to private clusters, when enable_private_nodes is true.","type":"boolean"},"enablePrivateNodes":{"description":"Immutable. Enables the private cluster feature, creating a private endpoint on the cluster. In a private cluster, nodes only have RFC 1918 private addresses and communicate with the master's private endpoint via private networking.","type":"boolean"},"masterGlobalAccessConfig":{"description":"Controls cluster master global access settings.","type":"object","required":["enabled"],"properties":{"enabled":{"description":"Whether the cluster master is accessible globally or not.","type":"boolean"}}},"masterIpv4CidrBlock":{"description":"Immutable. The IP range in CIDR notation to use for the hosted master network. This range will be used for assigning private IP addresses to the cluster master(s) and the ILB VIP. This range must not overlap with any other ranges in use within the cluster's network, and it must be a /28 subnet. See Private Cluster Limitations for more details. This field only applies to private clusters, when enable_private_nodes is true.","type":"string"},"peeringName":{"description":"The name of the peering between this cluster and the Google owned VPC.","type":"string"},"privateEndpoint":{"description":"The internal IP address of this cluster's master endpoint.","type":"string"},"privateEndpointSubnetworkRef":{"description":"Immutable. Subnetwork in cluster's network where master's endpoint\nwill be provisioned.","type":"object","oneOf":[{"required":["name"],"not":{"required":["external"]}},{"required":["external"],"not":{"anyOf":[{"required":["name"]},{"required":["namespace"]}]}}],"properties":{"external":{"description":"Allowed value: The `selfLink` field of a `ComputeSubnetwork` resource.","type":"string"},"name":{"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/","type":"string"}}},"publicEndpoint":{"description":"The external IP address of this cluster's master endpoint.","type":"string"}}},"privateIpv6GoogleAccess":{"description":"The desired state of IPv6 connectivity to Google Services. By default, no private IPv6 access to or from Google Services (all access will be via IPv4).","type":"string"},"releaseChannel":{"description":"Configuration options for the Release channel feature, which provide more control over automatic upgrades of your GKE clusters. Note that removing this field from your config will not unenroll it. Instead, use the \"UNSPECIFIED\" channel.","type":"object","required":["channel"],"properties":{"channel":{"description":"The selected release channel. Accepted values are:\n* UNSPECIFIED: Not set.\n* RAPID: Weekly upgrade cadence; Early testers and developers who requires new features.\n* REGULAR: Multiple per month upgrade cadence; Production users who need features not yet offered in the Stable channel.\n* STABLE: Every few months upgrade cadence; Production users who need stability above all else, and for whom frequent upgrades are too risky.","type":"string"}}},"resourceID":{"description":"Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.","type":"string"},"resourceUsageExportConfig":{"description":"Configuration for the ResourceUsageExportConfig feature.","type":"object","required":["bigqueryDestination"],"properties":{"bigqueryDestination":{"description":"Parameters for using BigQuery as the destination of resource usage export.","type":"object","required":["datasetId"],"properties":{"datasetId":{"description":"The ID of a BigQuery Dataset.","type":"string"}}},"enableNetworkEgressMetering":{"description":"Whether to enable network egress metering for this cluster. If enabled, a daemonset will be created in the cluster to meter network egress traffic.","type":"boolean"},"enableResourceConsumptionMetering":{"description":"Whether to enable resource consumption metering on this cluster. When enabled, a table will be created in the resource export BigQuery dataset to store resource consumption data. The resulting table can be joined with the resource usage table or with BigQuery billing export. Defaults to true.","type":"boolean"}}},"serviceExternalIpsConfig":{"description":"If set, and enabled=true, services with external ips field will not be blocked.","type":"object","required":["enabled"],"properties":{"enabled":{"description":"When enabled, services with exterenal ips specified will be allowed.","type":"boolean"}}},"subnetworkRef":{"type":"object","oneOf":[{"required":["name"],"not":{"required":["external"]}},{"required":["external"],"not":{"anyOf":[{"required":["name"]},{"required":["namespace"]}]}}],"properties":{"external":{"description":"Allowed value: The `selfLink` field of a `ComputeSubnetwork` resource.","type":"string"},"name":{"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/","type":"string"}}},"verticalPodAutoscaling":{"description":"Vertical Pod Autoscaling automatically adjusts the resources of pods controlled by it.","type":"object","required":["enabled"],"properties":{"enabled":{"description":"Enables vertical pod autoscaling.","type":"boolean"}}},"workloadIdentityConfig":{"description":"Configuration for the use of Kubernetes Service Accounts in GCP IAM policies.","type":"object","properties":{"identityNamespace":{"description":"DEPRECATED. This field will be removed in a future major release as it has been deprecated in the API. Use `workloadPool` instead; `workloadPool` field will supersede this field.\nEnables workload identity.","type":"string"},"workloadPool":{"description":"The workload pool to attach all Kubernetes service accounts to.","type":"string"}}}}},"status":{"type":"object","properties":{"conditions":{"description":"Conditions represent the latest available observation of the resource's current state.","type":"array","items":{"type":"object","properties":{"lastTransitionTime":{"description":"Last time the condition transitioned from one status to another.","type":"string"},"message":{"description":"Human-readable message indicating details about last transition.","type":"string"},"reason":{"description":"Unique, one-word, CamelCase reason for the condition's last transition.","type":"string"},"status":{"description":"Status is the status of the condition. Can be True, False, Unknown.","type":"string"},"type":{"description":"Type is the type of the condition.","type":"string"}}}},"endpoint":{"description":"The IP address of this cluster's Kubernetes master.","type":"string"},"labelFingerprint":{"description":"The fingerprint of the set of labels for this cluster.","type":"string"},"masterVersion":{"description":"The current version of the master in the cluster. This may be different than the min_master_version set in the config if the master has been updated by GKE.","type":"string"},"observedGeneration":{"description":"ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.","type":"integer"},"operation":{"type":"string"},"selfLink":{"description":"Server-defined URL for the resource.","type":"string"},"servicesIpv4Cidr":{"description":"The IP address range of the Kubernetes services in this cluster, in CIDR notation (e.g. 1.2.3.4/29). Service addresses are typically put in the last /16 from the container CIDR.","type":"string"},"tpuIpv4CidrBlock":{"description":"The IP address range of the Cloud TPUs in this cluster, in CIDR notation (e.g. 1.2.3.4/29).","type":"string"}}}},"x-kubernetes-group-version-kind":[{"group":"container.cnrm.cloud.google.com","kind":"ContainerCluster","version":"v1beta1"}]},"com.google.cloud.cnrm.container.v1beta1.ContainerClusterList":{"description":"ContainerClusterList is a list of ContainerCluster","type":"object","required":["items"],"properties":{"apiVersion":{"description":"APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources","type":"string"},"items":{"description":"List of containerclusters. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md","type":"array","items":{"$ref":"#/components/schemas/com.google.cloud.cnrm.container.v1beta1.ContainerCluster"}},"kind":{"description":"Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string"},"metadata":{"description":"Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","allOf":[{"$ref":"#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"}]}},"x-kubernetes-group-version-kind":[{"group":"container.cnrm.cloud.google.com","kind":"ContainerClusterList","version":"v1beta1"}]},"io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1":{"description":"FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.\n\nEach key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:\u003cname\u003e', where \u003cname\u003e is the name of a field in a struct, or key in a map 'v:\u003cvalue\u003e', where \u003cvalue\u003e is the exact json formatted value of a list item 'i:\u003cindex\u003e', where \u003cindex\u003e is position of a item in a list 'k:\u003ckeys\u003e', where \u003ckeys\u003e is a map of a list item's key fields to their unique values If a key maps to an empty Fields value, the field that key represents is part of the set.\n\nThe exact format is defined in sigs.k8s.io/structured-merge-diff","type":"object"},"io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta":{"description":"ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.","type":"object","properties":{"continue":{"description":"continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message.","type":"string"},"remainingItemCount":{"description":"remainingItemCount is the number of subsequent items in the list which are not included in this list response. If the list request contained label or field selectors, then the number of remaining items is unknown and the field will be left unset and omitted during serialization. If the list is complete (either because it is not chunking or because this is the last chunk), then there are no more remaining items and this field will be left unset and omitted during serialization. Servers older than v1.15 do not set this field. The intended use of the remainingItemCount is *estimating* the size of a collection. Clients should not rely on the remainingItemCount to be set or to be exact.","type":"integer","format":"int64"},"resourceVersion":{"description":"String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency","type":"string"},"selfLink":{"description":"Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.","type":"string"}}},"io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry":{"description":"ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.","type":"object","properties":{"apiVersion":{"description":"APIVersion defines the version of this resource that this field set applies to. The format is \"group/version\" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted.","type":"string"},"fieldsType":{"description":"FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\"","type":"string"},"fieldsV1":{"description":"FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type.","allOf":[{"$ref":"#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1"}]},"manager":{"description":"Manager is an identifier of the workflow managing these fields.","type":"string"},"operation":{"description":"Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.","type":"string"},"subresource":{"description":"Subresource is the name of the subresource used to update that object, or empty string if the object was updated through the main resource. The value of this field is used to distinguish between managers, even if they share the same name. For example, a status update will be distinct from a regular update using the same manager name. Note that the APIVersion field is not related to the Subresource field and it always corresponds to the version of the main resource.","type":"string"},"time":{"description":"Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over.","allOf":[{"$ref":"#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"}]}}},"io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta":{"description":"ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.","type":"object","properties":{"annotations":{"description":"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","type":"object","additionalProperties":{"type":"string","default":""}},"creationTimestamp":{"description":"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.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata","default":{},"allOf":[{"$ref":"#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"}]},"deletionGracePeriodSeconds":{"description":"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.","type":"integer","format":"int64"},"deletionTimestamp":{"description":"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.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata","allOf":[{"$ref":"#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.Time"}]},"finalizers":{"description":"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. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list.","type":"array","items":{"type":"string","default":""},"x-kubernetes-patch-strategy":"merge"},"generateName":{"description":"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.\n\nIf this field is specified and the generated name exists, the server will return a 409.\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency","type":"string"},"generation":{"description":"A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.","type":"integer","format":"int64"},"labels":{"description":"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","type":"object","additionalProperties":{"type":"string","default":""}},"managedFields":{"description":"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.","type":"array","items":{"default":{},"allOf":[{"$ref":"#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"}]}},"name":{"description":"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","type":"string"},"namespace":{"description":"Namespace defines the space within which 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.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces","type":"string"},"ownerReferences":{"description":"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.","type":"array","items":{"default":{},"allOf":[{"$ref":"#/components/schemas/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"}]},"x-kubernetes-patch-merge-key":"uid","x-kubernetes-patch-strategy":"merge"},"resourceVersion":{"description":"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.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency","type":"string"},"selfLink":{"description":"Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.","type":"string"},"uid":{"description":"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.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids","type":"string"}}},"io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference":{"description":"OwnerReference contains enough information to let you identify an owning object. An owning object must be in the same namespace as the dependent, or be cluster-scoped, so there is no namespace field.","type":"object","required":["apiVersion","kind","name","uid"],"properties":{"apiVersion":{"description":"API version of the referent.","type":"string","default":""},"blockOwnerDeletion":{"description":"If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion for how the garbage collector interacts with this field and enforces the foreground deletion. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.","type":"boolean"},"controller":{"description":"If true, this reference points to the managing controller.","type":"boolean"},"kind":{"description":"Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds","type":"string","default":""},"name":{"description":"Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names","type":"string","default":""},"uid":{"description":"UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids","type":"string","default":""}},"x-kubernetes-map-type":"atomic"},"io.k8s.apimachinery.pkg.apis.meta.v1.Time":{"description":"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.","type":"string","format":"date-time"}}}}