Skip to content

s3.wp-data-bucket - Definition is not conform to schema.Β #1

@aanno

Description

@aanno

If I try to deploy this on AWS, I get the following:

$ ecs-compose-x up -f docker-compose.yml -f aws.yml -n wordpress-demo
2024-02-26 20:12:29 [    INFO] Validating against input schema /stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/ecs_composex/specs/compose-spec.json
2024-02-26 20:12:29 [    INFO] volumes.persistent - Mapped to wordpress
2024-02-26 20:12:29 [    INFO] services.wordpress - No Launch Type defined. Using default: FARGATE
2024-02-26 20:12:30 [    INFO] Service families to process ['wordpress']
Loaded x-sns sns sns /stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/ecs_composex/sns
Loaded x-rds rds rds /stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/ecs_composex/rds
Loaded x-s3 s3 s3 /stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/ecs_composex/s3
Loaded x-acm acm acm /stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/ecs_composex/acm
Loaded x-elbv2 elbv2 elbv2 /stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/ecs_composex/elbv2
Loaded x-efs efs efs /stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/ecs_composex/efs
/stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/ecs_composex/compose/x_resources/services_resources.py:216: DeprecationWarning: Services list will be deprecated in the next version. Use Services objects instead.
  warn(
2024-02-26 20:12:30 [   ERROR] s3.wp-data-bucket - Definition is not conform to schema.
Traceback (most recent call last):
  File "/stratis/home/tpasch/dev/venv/composex/bin/ecs-compose-x", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/ecs_composex/cli.py", line 206, in main
    root_stack = generate_full_template(settings)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/ecs_composex/ecs_composex.py", line 252, in generate_full_template
    settings.mod_manager.init_mods_resources(settings)
  File "/stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/ecs_composex/mods_manager.py", line 307, in init_mods_resources
    module.set_resources(settings)
  File "/stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/ecs_composex/mods_manager.py", line 266, in set_resources
    new_definition = self.resource_class(
                     ^^^^^^^^^^^^^^^^^^^^
  File "/stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/ecs_composex/s3/s3_bucket.py", line 40, in __init__
    super().__init__(name, definition, module, settings)
  File "/stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/ecs_composex/compose/x_resources/api_x_resources.py", line 31, in __init__
    super().__init__(name, definition, module, settings)
  File "/stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/ecs_composex/compose/x_resources/services_resources.py", line 40, in __init__
    super().__init__(name, definition, module, settings)
  File "/stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/ecs_composex/compose/x_resources/__init__.py", line 81, in __init__
    self.validate_schema(name, definition, module.mod_key)
  File "/stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/ecs_composex/compose/x_resources/__init__.py", line 188, in validate_schema
    jsonschema.validate(
  File "/stratis/home/tpasch/dev/venv/composex/lib/python3.11/site-packages/jsonschema/validators.py", line 1121, in validate
    raise error
jsonschema.exceptions.ValidationError: [{'name': 'wordpress', 'access': {'Bucket': 'ListOnly', 'Objects': 'RW'}}] is not valid under any of the given schemas

Failed validating 'oneOf' in schema['properties']['Services']:
    {'oneOf': [{'items': {'properties': {'access': {'$ref': '#/definitions/ServicesAccess'},
                                         'name': {'type': 'string'}},
                          'required': ['name'],
                          'type': 'object'},
                'type': 'array'},
               {'patternProperties': {'[\\x20-\\x7E]+$': {'description': 'Object '
                                                                         'representation '
                                                                         'of '
                                                                         'the '
                                                                         'service '
                                                                         'to '
                                                                         'use.',
                                                          'properties': {'Access': {'$ref': '#/definitions/ServicesAccess'},
                                                                         'ReturnValues': {'additionalProperties': False,
                                                                                          'description': 'Set '
                                                                                                         'the '
                                                                                                         'CFN '
                                                                                                         'Return '
                                                                                                         'Value '
                                                                                                         'and '
                                                                                                         'the '
                                                                                                         'environment '
                                                                                                         'variable '
                                                                                                         'name '
                                                                                                         'you '
                                                                                                         'want '
                                                                                                         'to '
                                                                                                         'expose '
                                                                                                         'to '
                                                                                                         'the '
                                                                                                         'service',
                                                                                          'patternProperties': {'[\\x20-\\x7E]+$': {'oneOf': [{'$ref': 'x-resources.common.spec.json#/definitions/varNameDef'},
                                                                                                                                              {'additionalProperties': False,
                                                                                                                                               'properties': {'EnvVarName': {'$ref': 'x-resources.common.spec.json#/definitions/varNameDef'}},
                                                                                                                                               'type': 'object'}]}},
                                                                                          'type': 'object'}}}},
                'type': 'object'}]}

On instance['Services']:
    [{'access': {'Bucket': 'ListOnly', 'Objects': 'RW'},
      'name': 'wordpress'}]
$ ecs-compose-x version
ECS ComposeX 0.24.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions