Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

oneOf appears to not work correctly (Being treated like allOf)

Aberta
#269 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
java
Domínio
devtools

Direção de pesquisa

Comece reproduzindo a falha de validação de atualização relatada com o schema e o payload que contêm VpcLinkId e BaseURI. Compare os resultados da validação para exatamente um, ambos e nenhum dos branches de oneOf; considera-se concluído quando um branch válido é aceito, enquanto combinações inválidas produzem os erros esperados.

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

Descrição

Version 1.0.5 of the Java plugin

Schema:

{
    "typeName": "OBFUSCATED::ApiGateway::RestApi",
    "description": "An example resource schema demonstrating some basic constructs and validation rules.",
    "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
    "properties": {
        "RestApiId": {
            "type": "string"
        },
        "Name": {
            "description": "Api Name",
            "type": "string"
        },
        "AuthorizerLambdaArn": {
            "type": "string"
        },
        "AuthorizerCredentials": {
            "type": "string"
        },
        "Version": {
            "type": "string"
        },
        "SwaggerS3Location": {
            "description": "Swagger File S3 Location.",
            "type": "object",
            "properties": {
                "Bucket": {
                    "type": "string"
                },
                "Key": {
                    "type": "string"
                },
                "Version" : {
                    "type": "string"
                }
            },
            "required": [
                "Bucket",
                "Key"
            ]

        },
        "EndpointType": {
            "description": "Gateway Endpoint Type",
            "enum" : ["REGIONAL", "EDGE", "PRIVATE"],
            "type": "string"
        },
        "ValidateRequests" : {
            "type": "boolean",
            "description" : "Use Api Gateway request validatoin"
        }
    },
    "oneOf": [
        {
            "properties": {
                "VpcLinkId": {
                    "type": "string"
                },
                "BaseURI": {
                    "type": "string"
                }
            },
            "required":  ["VpcLinkId", "BaseURI"]
        },
        {
            "properties": {
                "LambdaArn" : {
                    "type": "string"
                }
            },
            "required" : ["LambdaArn"]
        }
    ],
    "additionalProperties": false,
    "required": [
        "Name",
        "SwaggerS3Location",
        "EndpointType",
        "AuthorizerLambdaArn",
        "AuthorizerCredentials"
    ],
    "writeOnlyProperties": [
        "/properties/VpcLinkId",
        "/properties/BaseURI",
        "/properties/LambdaArn",
        "/properties/SwaggerS3Location",
        "/properties/ValidateRequests"
    ],
    "readOnlyProperties": [
        "/properties/RestApiId",
        "/properties/Version"
    ],
    "primaryIdentifier": [
        "/properties/RestApiId"
    ],
    "handlers": {
        "create": {
            "permissions": [
                "iam:PassRole",
                "s3:GetObject",
                "s3:GetBucketLocation",
                "apigateway:PATCH",
                "apigateway:POST",
                "apigateway:PUT"
            ]
        },
        "read": {
            "permissions": [
                "apigateway:GET"
            ]
        },
        "update": {
            "permissions": [
                "iam:PassRole",
                "s3:GetObject",
                "s3:GetBucketLocation",
                "apigateway:PATCH",
                "apigateway:POST",
                "apigateway:PUT"
            ]
        },
        "delete": {
            "permissions": [
                "apigateway:DELETE"
            ]
        }
    }
}

Error when using only VpcLinkId and BaseURI in an update operation:

Model validation failed (#: #: only 1 subschema matches out of 2)\n#: 2 schema violations found (#)

Linguagem predominante
Java
Estrelas
30
Forks
48
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de aws-cloudformation/cloudformation-cli-java-plugin

Todas as issues de aws-cloudformation/cloudformation-cli-java-plugin

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

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