-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Opensearch Ingestion Service Implementation (#8160)
- Loading branch information
1 parent
4f8cac2
commit caf67cc
Showing
13 changed files
with
1,532 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
.. _implementedservice_osis: | ||
|
||
.. |start-h3| raw:: html | ||
|
||
<h3> | ||
|
||
.. |end-h3| raw:: html | ||
|
||
</h3> | ||
|
||
==== | ||
osis | ||
==== | ||
|
||
.. autoclass:: moto.osis.models.OpenSearchIngestionBackend | ||
|
||
|start-h3| Implemented features for this service |end-h3| | ||
|
||
- [X] create_pipeline | ||
- [X] delete_pipeline | ||
- [X] get_pipeline | ||
- [ ] get_pipeline_blueprint | ||
- [ ] get_pipeline_change_progress | ||
- [ ] list_pipeline_blueprints | ||
- [X] list_pipelines | ||
- [X] list_tags_for_resource | ||
- [X] start_pipeline | ||
- [X] stop_pipeline | ||
- [X] tag_resource | ||
- [X] untag_resource | ||
- [X] update_pipeline | ||
- [ ] validate_pipeline | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from .models import osis_backends # noqa: F401 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
import json | ||
from typing import List, Optional | ||
|
||
from moto.core.exceptions import JsonRESTError | ||
|
||
|
||
class OpensearchIngestionExceptions(JsonRESTError): | ||
pass | ||
|
||
|
||
class PipelineAlreadyExistsException(OpensearchIngestionExceptions): | ||
def __init__(self, pipeline_name: str): | ||
super().__init__( | ||
"ResourceAlreadyExistsException", | ||
f"Pipeline with given name {pipeline_name} already exists", | ||
) | ||
self.description = json.dumps({"message": self.message}) | ||
|
||
|
||
class PipelineInvalidStateException(OpensearchIngestionExceptions): | ||
def __init__( | ||
self, action: str, valid_states: List[str], current_state: Optional[str] | ||
): | ||
super().__init__( | ||
"ConflictException", | ||
f"Only pipelines with one of the following statuses are eligible for {action}: {valid_states}. The current status is {current_state}.", | ||
) | ||
self.description = json.dumps({"message": self.message}) | ||
|
||
|
||
class PipelineNotFoundException(OpensearchIngestionExceptions): | ||
def __init__(self, pipeline_name: str): | ||
super().__init__( | ||
"ResourceNotFoundException", f"Pipeline {pipeline_name} could not be found." | ||
) | ||
self.description = json.dumps({"message": self.message}) | ||
|
||
|
||
class PipelineValidationException(OpensearchIngestionExceptions): | ||
def __init__(self, message: str): | ||
super().__init__("ValidationException", message) | ||
self.description = json.dumps({"message": self.message}) | ||
|
||
|
||
class InvalidVPCOptionsException(OpensearchIngestionExceptions): | ||
def __init__(self, message: str) -> None: | ||
super().__init__("ValidationException", f"Invalid VpcOptions: {message}") | ||
self.description = json.dumps({"message": self.message}) | ||
|
||
|
||
class SubnetNotFoundException(InvalidVPCOptionsException): | ||
def __init__(self, subnet_id: str) -> None: | ||
super().__init__(f"The subnet ID {subnet_id} does not exist") | ||
|
||
|
||
class SecurityGroupNotFoundException(InvalidVPCOptionsException): | ||
def __init__(self, sg_id: str) -> None: | ||
super().__init__(f"The security group {sg_id} does not exist") |
Oops, something went wrong.