mirror of
https://github.com/dhall-lang/dhall-kubernetes.git
synced 2024-09-17 10:27:08 +03:00
Improve convert code and fix alias issues (#25)
We improve the convert code by rewriting the `get_typ`. It is now more general and properly recurses on records and lists. This also surfaced a bug where definition aliases did not generate correct code.
This commit is contained in:
parent
d7e9d809fc
commit
1dafd97c09
124
convert.py
124
convert.py
@ -3,45 +3,77 @@
|
||||
import requests
|
||||
import re
|
||||
|
||||
def get_typ(props, required, importing_from_default=False):
|
||||
if '$ref' in props:
|
||||
if importing_from_default:
|
||||
relative = "../types/"
|
||||
else:
|
||||
relative = "./"
|
||||
x = relative + '{}.dhall'.format(props['$ref'].split('/')[2])
|
||||
elif 'type' in props:
|
||||
typ = props['type']
|
||||
kubernetes_tag = 'v1.11.0'
|
||||
url = \
|
||||
'https://raw.githubusercontent.com/kubernetes/kubernetes/{tag}/api/openapi-spec/swagger.json' \
|
||||
.format(tag=kubernetes_tag)
|
||||
|
||||
# See https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/#required-fields
|
||||
# because k8s API allows PUTS etc with partial data, it's not clear from the data types OR the API which
|
||||
# fields are required for A POST... so we resort to .. RTFM
|
||||
always_required = {'apiVersion', 'kind', 'metadata'}
|
||||
|
||||
|
||||
required_for = {
|
||||
'io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta': {'name'},
|
||||
}
|
||||
|
||||
|
||||
def schema_path_from_ref(prefix, ref):
|
||||
return '{}/{}.dhall'.format(prefix, ref.split('/')[2])
|
||||
|
||||
def required_properties (schema_name, schema):
|
||||
required = set(schema.get('required', [])) | always_required
|
||||
if schema_name in required_for.keys():
|
||||
required |= required_for[schema_name]
|
||||
return required
|
||||
|
||||
|
||||
def build_type(schema, path_prefix, schema_name=None):
|
||||
"""
|
||||
Take an OpenAPI Schema Object and return a corresponding Dhall type.
|
||||
|
||||
If the schema is a reference we translate the reference path to a
|
||||
Dhall path and return that path. The ``path_prefix`` argument is
|
||||
prepended to the returned path.
|
||||
"""
|
||||
if '$ref' in schema:
|
||||
return schema_path_from_ref(path_prefix, schema['$ref'])
|
||||
elif 'type' in schema:
|
||||
typ = schema['type']
|
||||
if typ == 'object':
|
||||
x = '(List {mapKey : Text, mapValue : Text})'
|
||||
return '(List {mapKey : Text, mapValue : Text})'
|
||||
elif typ == 'array':
|
||||
x = "List " + get_typ(props['items'], True, importing_from_default)
|
||||
return 'List {}'.format(build_type(schema['items'], path_prefix))
|
||||
else:
|
||||
mapping = {
|
||||
return {
|
||||
'string' : 'Text',
|
||||
'boolean': 'Bool',
|
||||
'integer': 'Natural',
|
||||
'number': 'Double',
|
||||
}
|
||||
x = mapping[typ]
|
||||
}[typ]
|
||||
elif 'properties' in schema:
|
||||
required = required_properties(schema_name, schema)
|
||||
fields = []
|
||||
for propName, propSpec in schema['properties'].items():
|
||||
propType = build_type(propSpec, path_prefix)
|
||||
if propName not in required:
|
||||
propType = 'Optional ({})'.format(propType)
|
||||
fields.append(' {} : ({})\n'.format(labelize(propName), propType))
|
||||
return '{' + ','.join(fields) + '}'
|
||||
else:
|
||||
raise ValueError('No type found')
|
||||
|
||||
if required:
|
||||
return x
|
||||
else:
|
||||
return 'Optional ({})'.format(x)
|
||||
# There are empty schemas that only have a description.
|
||||
return '{}'
|
||||
|
||||
|
||||
def get_default(prop, required, value):
|
||||
if required and not value:
|
||||
raise ValueError('Missing value for required property')
|
||||
|
||||
x = get_typ(prop, required, True)
|
||||
if value:
|
||||
return '("{}" : {})'.format(value, x)
|
||||
typ = build_type(prop, '../types')
|
||||
if not required:
|
||||
return '([] : Optional ({}))'.format(typ)
|
||||
elif value:
|
||||
return '("{}" : {})'.format(value, typ)
|
||||
else:
|
||||
return '([] : {})'.format(x)
|
||||
raise ValueError('Missing value for required property')
|
||||
|
||||
|
||||
def get_static_data(modelSpec):
|
||||
@ -91,44 +123,20 @@ def labelize(propName):
|
||||
return propName
|
||||
|
||||
|
||||
kubernetes_tag = 'v1.11.0'
|
||||
url = \
|
||||
'https://raw.githubusercontent.com/kubernetes/kubernetes/{tag}/api/openapi-spec/swagger.json' \
|
||||
.format(tag=kubernetes_tag)
|
||||
|
||||
# See https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/#required-fields
|
||||
# because k8s API allows PUTS etc with partial data, it's not clear from the data types OR the API which
|
||||
# fields are required for A POST... so we resort to .. RTFM
|
||||
always_required = {'apiVersion', 'kind', 'metadata'}
|
||||
|
||||
|
||||
required_for = {
|
||||
'io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta': {'name'},
|
||||
}
|
||||
|
||||
def main():
|
||||
spec = requests.get(url).json()
|
||||
|
||||
for modelName, modelSpec in spec['definitions'].items():
|
||||
with open('types/' + modelName + '.dhall', 'w') as f:
|
||||
if 'type' in modelSpec:
|
||||
f.write('{}\n'.format(get_typ(modelSpec, True)))
|
||||
else:
|
||||
required = set(modelSpec.get('required', [])) | always_required
|
||||
if modelName in required_for.keys():
|
||||
required |= required_for[modelName]
|
||||
|
||||
properties = modelSpec.get('properties', {})
|
||||
|
||||
fields = [" {} : ({})\n".format(labelize(propName), get_typ(propVal, propName in required))
|
||||
for propName, propVal in properties.items()]
|
||||
f.write('{' + ','.join(fields) + '}\n')
|
||||
|
||||
f.write('{}\n'.format(build_type(modelSpec, '.', modelName)))
|
||||
with open('default/' + modelName + '.dhall', 'w') as f:
|
||||
if 'type' in modelSpec:
|
||||
f.write('\(a : {}) -> a\n'.format(get_typ(modelSpec, True, True)))
|
||||
f.write('\(a : {}) -> a\n'.format(build_type(modelSpec, '../types')))
|
||||
elif '$ref' in modelSpec:
|
||||
path = schema_path_from_ref('.', modelSpec['$ref'])
|
||||
f.write('{}\n'.format(path))
|
||||
else:
|
||||
required = set(modelSpec.get('required', [])) | always_required
|
||||
required = required_properties(modelName, modelSpec)
|
||||
if modelName in required_for.keys():
|
||||
required |= required_for[modelName]
|
||||
|
||||
@ -139,7 +147,7 @@ def main():
|
||||
|
||||
# If there's any required props, we make it a lambda
|
||||
if len([k for k in properties if k in required]) > 0:
|
||||
params = ['{} : ({})'.format(labelize(propName), get_typ(propVal, True, True))
|
||||
params = ['{} : ({})'.format(labelize(propName), build_type(propVal, '../types'))
|
||||
for propName, propVal in properties.items()
|
||||
if propName in param_names]
|
||||
f.write('\(_params : {' + ', '.join(params) + '}) ->\n')
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.AWSElasticBlockStoreVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.AWSElasticBlockStoreVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.Affinity.dhall
|
||||
./io.k8s.api.core.v1.Affinity.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.AttachedVolume.dhall
|
||||
./io.k8s.api.core.v1.AttachedVolume.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.AzureDiskVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.AzureDiskVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.AzureFileVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.AzureFileVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.Binding.dhall
|
||||
./io.k8s.api.core.v1.Binding.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.Capabilities.dhall
|
||||
./io.k8s.api.core.v1.Capabilities.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.CephFSVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.CephFSVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.CinderVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.CinderVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ComponentCondition.dhall
|
||||
./io.k8s.api.core.v1.ComponentCondition.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ComponentStatus.dhall
|
||||
./io.k8s.api.core.v1.ComponentStatus.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ComponentStatusList.dhall
|
||||
./io.k8s.api.core.v1.ComponentStatusList.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ConfigMap.dhall
|
||||
./io.k8s.api.core.v1.ConfigMap.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ConfigMapEnvSource.dhall
|
||||
./io.k8s.api.core.v1.ConfigMapEnvSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ConfigMapKeySelector.dhall
|
||||
./io.k8s.api.core.v1.ConfigMapKeySelector.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ConfigMapList.dhall
|
||||
./io.k8s.api.core.v1.ConfigMapList.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ConfigMapProjection.dhall
|
||||
./io.k8s.api.core.v1.ConfigMapProjection.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ConfigMapVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.ConfigMapVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.Container.dhall
|
||||
./io.k8s.api.core.v1.Container.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ContainerImage.dhall
|
||||
./io.k8s.api.core.v1.ContainerImage.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ContainerPort.dhall
|
||||
./io.k8s.api.core.v1.ContainerPort.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ContainerState.dhall
|
||||
./io.k8s.api.core.v1.ContainerState.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ContainerStateRunning.dhall
|
||||
./io.k8s.api.core.v1.ContainerStateRunning.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ContainerStateTerminated.dhall
|
||||
./io.k8s.api.core.v1.ContainerStateTerminated.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ContainerStateWaiting.dhall
|
||||
./io.k8s.api.core.v1.ContainerStateWaiting.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ContainerStatus.dhall
|
||||
./io.k8s.api.core.v1.ContainerStatus.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.DaemonEndpoint.dhall
|
||||
./io.k8s.api.core.v1.DaemonEndpoint.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.DownwardAPIProjection.dhall
|
||||
./io.k8s.api.core.v1.DownwardAPIProjection.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.DownwardAPIVolumeFile.dhall
|
||||
./io.k8s.api.core.v1.DownwardAPIVolumeFile.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.DownwardAPIVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.DownwardAPIVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.EmptyDirVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.EmptyDirVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.EndpointAddress.dhall
|
||||
./io.k8s.api.core.v1.EndpointAddress.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.EndpointPort.dhall
|
||||
./io.k8s.api.core.v1.EndpointPort.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.EndpointSubset.dhall
|
||||
./io.k8s.api.core.v1.EndpointSubset.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.Endpoints.dhall
|
||||
./io.k8s.api.core.v1.Endpoints.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.EndpointsList.dhall
|
||||
./io.k8s.api.core.v1.EndpointsList.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.EnvFromSource.dhall
|
||||
./io.k8s.api.core.v1.EnvFromSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.EnvVar.dhall
|
||||
./io.k8s.api.core.v1.EnvVar.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.EnvVarSource.dhall
|
||||
./io.k8s.api.core.v1.EnvVarSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.Event.dhall
|
||||
./io.k8s.api.core.v1.Event.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.EventList.dhall
|
||||
./io.k8s.api.core.v1.EventList.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.EventSource.dhall
|
||||
./io.k8s.api.core.v1.EventSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ExecAction.dhall
|
||||
./io.k8s.api.core.v1.ExecAction.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.FCVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.FCVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.FlexVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.FlexVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.FlockerVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.FlockerVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.GCEPersistentDiskVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.GCEPersistentDiskVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.GitRepoVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.GitRepoVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.GlusterfsVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.GlusterfsVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.HTTPGetAction.dhall
|
||||
./io.k8s.api.core.v1.HTTPGetAction.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.HTTPHeader.dhall
|
||||
./io.k8s.api.core.v1.HTTPHeader.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.Handler.dhall
|
||||
./io.k8s.api.core.v1.Handler.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.HostAlias.dhall
|
||||
./io.k8s.api.core.v1.HostAlias.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.HostPathVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.HostPathVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ISCSIVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.ISCSIVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.KeyToPath.dhall
|
||||
./io.k8s.api.core.v1.KeyToPath.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.Lifecycle.dhall
|
||||
./io.k8s.api.core.v1.Lifecycle.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.LimitRange.dhall
|
||||
./io.k8s.api.core.v1.LimitRange.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.LimitRangeItem.dhall
|
||||
./io.k8s.api.core.v1.LimitRangeItem.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.LimitRangeList.dhall
|
||||
./io.k8s.api.core.v1.LimitRangeList.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.LimitRangeSpec.dhall
|
||||
./io.k8s.api.core.v1.LimitRangeSpec.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.LoadBalancerIngress.dhall
|
||||
./io.k8s.api.core.v1.LoadBalancerIngress.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.LoadBalancerStatus.dhall
|
||||
./io.k8s.api.core.v1.LoadBalancerStatus.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.LocalObjectReference.dhall
|
||||
./io.k8s.api.core.v1.LocalObjectReference.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.LocalVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.LocalVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.NFSVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.NFSVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.Namespace.dhall
|
||||
./io.k8s.api.core.v1.Namespace.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.NamespaceList.dhall
|
||||
./io.k8s.api.core.v1.NamespaceList.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.NamespaceSpec.dhall
|
||||
./io.k8s.api.core.v1.NamespaceSpec.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.NamespaceStatus.dhall
|
||||
./io.k8s.api.core.v1.NamespaceStatus.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.Node.dhall
|
||||
./io.k8s.api.core.v1.Node.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.NodeAddress.dhall
|
||||
./io.k8s.api.core.v1.NodeAddress.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.NodeAffinity.dhall
|
||||
./io.k8s.api.core.v1.NodeAffinity.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.NodeCondition.dhall
|
||||
./io.k8s.api.core.v1.NodeCondition.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.NodeDaemonEndpoints.dhall
|
||||
./io.k8s.api.core.v1.NodeDaemonEndpoints.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.NodeList.dhall
|
||||
./io.k8s.api.core.v1.NodeList.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.NodeSelector.dhall
|
||||
./io.k8s.api.core.v1.NodeSelector.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.NodeSelectorRequirement.dhall
|
||||
./io.k8s.api.core.v1.NodeSelectorRequirement.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.NodeSelectorTerm.dhall
|
||||
./io.k8s.api.core.v1.NodeSelectorTerm.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.NodeSpec.dhall
|
||||
./io.k8s.api.core.v1.NodeSpec.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.NodeStatus.dhall
|
||||
./io.k8s.api.core.v1.NodeStatus.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.NodeSystemInfo.dhall
|
||||
./io.k8s.api.core.v1.NodeSystemInfo.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ObjectFieldSelector.dhall
|
||||
./io.k8s.api.core.v1.ObjectFieldSelector.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.ObjectReference.dhall
|
||||
./io.k8s.api.core.v1.ObjectReference.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.PersistentVolume.dhall
|
||||
./io.k8s.api.core.v1.PersistentVolume.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaim.dhall
|
||||
./io.k8s.api.core.v1.PersistentVolumeClaim.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaimList.dhall
|
||||
./io.k8s.api.core.v1.PersistentVolumeClaimList.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaimSpec.dhall
|
||||
./io.k8s.api.core.v1.PersistentVolumeClaimSpec.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaimStatus.dhall
|
||||
./io.k8s.api.core.v1.PersistentVolumeClaimStatus.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaimVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.PersistentVolumeClaimVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeList.dhall
|
||||
./io.k8s.api.core.v1.PersistentVolumeList.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeSpec.dhall
|
||||
./io.k8s.api.core.v1.PersistentVolumeSpec.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeStatus.dhall
|
||||
./io.k8s.api.core.v1.PersistentVolumeStatus.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.PhotonPersistentDiskVolumeSource.dhall
|
||||
./io.k8s.api.core.v1.PhotonPersistentDiskVolumeSource.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.Pod.dhall
|
||||
./io.k8s.api.core.v1.Pod.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.PodAffinity.dhall
|
||||
./io.k8s.api.core.v1.PodAffinity.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.PodAffinityTerm.dhall
|
||||
./io.k8s.api.core.v1.PodAffinityTerm.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.PodAntiAffinity.dhall
|
||||
./io.k8s.api.core.v1.PodAntiAffinity.dhall
|
||||
|
@ -1 +1 @@
|
||||
{=} : ../types/io.k8s.kubernetes.pkg.api.v1.PodCondition.dhall
|
||||
./io.k8s.api.core.v1.PodCondition.dhall
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user