aws-cloudformation / aws-cloudformation/cloudformation-cli-java-plugin

Codegen doesn't support nullable types

Aberta
#149 1 comentário 0 reações 0 responsáveis Ver no GitHub
bug question
Linguagem predominante
Java
Estrelas
30
Forks
48
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

This is the property that I’m trying to define:

"Canceled": {
"description": "POSIX Timestamp of cancellation of this downtime (null if not canceled)",
"type": ["integer", "null"]
},

This should be ok according to JsonSchema, but `cfn-cli generate` fails and rpdk.log contains this:

```
Traceback (most recent call last):
File "/Users/.../programming/aws-cloudformation-rpdk-nightly/env/lib/python3.7/site-packages/rpdk/core/cli.py", line 95, in main
args.command(args)
File "/Users/.../programming/aws-cloudformation-rpdk-nightly/env/lib/python3.7/site-packages/rpdk/core/generate.py", line 15, in generate
project.generate()
File "/Users/.../programming/aws-cloudformation-rpdk-nightly/env/lib/python3.7/site-packages/rpdk/core/project.py", line 190, in generate
return self._plugin.generate(self)
File "/Users/.../programming/aws-cloudformation-rpdk-nightly/env/lib/python3.7/site-packages/rpdk/java/codegen.py", line 255, in generate
pojos = pojo_resolver.resolve_pojos()
File "/Users/.../programming/aws-cloudformation-rpdk-nightly/env/lib/python3.7/site-packages/rpdk/java/pojo_resolver.py", line 58, in resolve_pojos
java_property_map[prop_name] = self._java_property_type(prop_schema)
File "/Users/.../programming/aws-cloudformation-rpdk-nightly/env/lib/python3.7/site-packages/rpdk/java/pojo_resolver.py", line 88, in _java_property_type
return primitive_types_map[json_type]
TypeError: unhashable type: 'list'
```

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

A falha está em rpdk/java/pojo_resolver.py, em _java_property_type, alcançado por cfn-cli generate; comece por aí e reproduza-a com o esquema nullable Canceled. Está concluído quando a geração for bem-sucedida para a propriedade ["integer", "null"] sem o erro unhashable-list.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
java
Domínio
tooling
Tipo de issue
Bug
Dificuldade
2/5
Tempo estimado
1-3 horas
Status de atividade
Estagnada
Clareza
Claramente especificada
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.