diff --git a/apis/management.cattle.io/v3/schema/schema.go b/apis/management.cattle.io/v3/schema/schema.go index 568e849d..f8f46eef 100644 --- a/apis/management.cattle.io/v3/schema/schema.go +++ b/apis/management.cattle.io/v3/schema/schema.go @@ -104,7 +104,6 @@ func authzTypes(schemas *types.Schemas) *types.Schemas { &m.Move{From: "subject/kind", To: "subjectKind"}, &m.Move{From: "subject/namespace", To: "subjectNamespace"}, &m.Drop{Field: "subject"}, - &mapper.NamespaceIDMapper{}, ). AddMapperForType(&Version, v3.GlobalRoleBinding{}, &m.Move{From: "subject/name", To: "subjectName"}, @@ -156,7 +155,12 @@ func machineTypes(schemas *types.Schemas) *types.Schemas { &m.Move{From: "nodeName", To: "name"}). AddMapperForType(&Version, v3.MachineDriver{}). AddMapperForType(&Version, v3.MachineTemplate{}, m.DisplayName{}). - MustImport(&Version, v3.Machine{}). + MustImportAndCustomize(&Version, v3.Machine{}, func(schema *types.Schema) { + schema.MustCustomizeField("name", func(f types.Field) types.Field { + f.Create = true + return f + }) + }). MustImport(&Version, v3.MachineDriver{}). MustImport(&Version, v3.MachineTemplate{}) } diff --git a/apis/project.cattle.io/v3/schema/schema.go b/apis/project.cattle.io/v3/schema/schema.go index 25cd9cad..c56ab9e9 100644 --- a/apis/project.cattle.io/v3/schema/schema.go +++ b/apis/project.cattle.io/v3/schema/schema.go @@ -282,9 +282,6 @@ func podTypes(schemas *types.Schemas) *types.Schemas { AddMapperForType(&Version, v1.ResourceRequirements{}, mapper.PivotMapper{Plural: true}, ). - AddMapperForType(&Version, v1.Pod{}, - &mapper.NamespaceIDMapper{}, - ). // Must import handlers before Container MustImport(&Version, v1.Capabilities{}, struct { Add []string `norman:"type=array[enum],options=AUDIT_CONTROL|AUDIT_WRITE|BLOCK_SUSPEND|CHOWN|DAC_OVERRIDE|DAC_READ_SEARCH|FOWNER|FSETID|IPC_LOCK|IPC_OWNER|KILL|LEASE|LINUX_IMMUTABLE|MAC_ADMIN|MAC_OVERRIDE|MKNOD|NET_ADMIN|NET_BIND_SERVICE|NET_BROADCAST|NET_RAW|SETFCAP|SETGID|SETPCAP|SETUID|SYSLOG|SYS_ADMIN|SYS_BOOT|SYS_CHROOT|SYS_MODULE|SYS_NICE|SYS_PACCT|SYS_PTRACE|SYS_RAWIO|SYS_RESOURCE|SYS_TIME|SYS_TTY_CONFIG|WAKE_ALARM"` @@ -323,13 +320,11 @@ func serviceTypes(schemas *types.Schemas) *types.Schemas { &m.LabelField{Field: "workloadId"}, &m.Drop{Field: "status"}, &m.Move{From: "serviceKind", To: "kind"}, - &mapper.NamespaceIDMapper{}, &m.AnnotationField{Field: "targetWorkloadIds", Object: true}, &m.AnnotationField{Field: "targetServiceIds", Object: true}, ). AddMapperForType(&Version, v1.Endpoints{}, &EndpointAddressMapper{}, - &mapper.NamespaceIDMapper{}, ). MustImport(&Version, v1.Service{}, projectOverride{}, struct { WorkloadID string `json:"workloadId" norman:"type=reference[workload]"` @@ -351,7 +346,6 @@ func ingressTypes(schemas *types.Schemas) *types.Schemas { &m.Embed{Field: "backend"}, ). AddMapperForType(&Version, v1beta1.Ingress{}, - &mapper.NamespaceIDMapper{}, &m.Move{From: "backend", To: "defaultBackend"}, ). AddMapperForType(&Version, v1beta1.IngressTLS{}, diff --git a/apis/project.cattle.io/v3/types.go b/apis/project.cattle.io/v3/types.go index 9b70cdcc..f68c5a73 100644 --- a/apis/project.cattle.io/v3/types.go +++ b/apis/project.cattle.io/v3/types.go @@ -69,7 +69,6 @@ type ServiceAccountToken struct { AccountUID string `json:"accountUid"` Token string `json:"token" norman:"writeOnly"` CACRT string `json:"caCrt"` - NamespaceID string `json:"namespaceId" norman:"type=reference[namespace]"` } type DockerCredential struct { diff --git a/factory/schemas.go b/factory/schemas.go index 44ee56eb..a9691196 100644 --- a/factory/schemas.go +++ b/factory/schemas.go @@ -10,9 +10,17 @@ func Schemas(version *types.APIVersion) *types.Schemas { schemas := factory.Schemas(version) baseFunc := schemas.DefaultMappers schemas.DefaultMappers = func() []types.Mapper { - return append([]types.Mapper{ - mapper.Status{}, + mappers := append([]types.Mapper{ + &mapper.Status{}, }, baseFunc()...) + mappers = append(mappers, &m.Scope{ + If: types.NamespaceScope, + Mappers: []types.Mapper{ + &mapper.NamespaceIDMapper{}, + }, + }) + return mappers + } } return schemas } diff --git a/mapper/namespace.go b/mapper/namespace.go index 8911f322..1f1a7caf 100644 --- a/mapper/namespace.go +++ b/mapper/namespace.go @@ -28,6 +28,7 @@ func (n *NamespaceIDMapper) ModifySchema(schema *types.Schema, schemas *types.Sc } field.Type = "reference[namespace]" + field.Required = true schema.ResourceFields["namespace"] = field n.Move = &mapper.Move{ diff --git a/mapper/workload.go b/mapper/workload.go index 231081ee..92195755 100644 --- a/mapper/workload.go +++ b/mapper/workload.go @@ -12,6 +12,5 @@ func NewWorkloadTypeMapper() types.Mapper { &m.Move{From: "metadata/labels", To: "labels", NoDeleteFromField: true}, &m.Move{From: "metadata/annotations", To: "annotations", NoDeleteFromField: true}, &m.Drop{Field: "metadata"}, - &NamespaceIDMapper{}, } }