File: responses.py

package info (click to toggle)
python-moto 5.1.18-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 116,520 kB
  • sloc: python: 636,725; javascript: 181; makefile: 39; sh: 3
file content (67 lines) | stat: -rw-r--r-- 2,540 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import json

from moto.core.responses import BaseResponse

from .models import SupportBackend, support_backends


class SupportResponse(BaseResponse):
    def __init__(self) -> None:
        super().__init__(service_name="support")

    @property
    def support_backend(self) -> SupportBackend:
        return support_backends[self.current_account][self.region]

    def describe_trusted_advisor_checks(self) -> str:
        checks = self.support_backend.describe_trusted_advisor_checks()

        return json.dumps({"checks": checks})

    def refresh_trusted_advisor_check(self) -> str:
        check_id = self._get_param("checkId")
        status = self.support_backend.refresh_trusted_advisor_check(check_id=check_id)

        return json.dumps(status)

    def resolve_case(self) -> str:
        case_id = self._get_param("caseId")
        resolve_case_response = self.support_backend.resolve_case(case_id=case_id)
        return json.dumps(resolve_case_response)

    def create_case(self) -> str:
        subject = self._get_param("subject")
        service_code = self._get_param("serviceCode")
        severity_code = self._get_param("severityCode")
        category_code = self._get_param("categoryCode")
        communication_body = self._get_param("communicationBody")
        cc_email_addresses = self._get_param("ccEmailAddresses")
        language = self._get_param("language")
        attachment_set_id = self._get_param("attachmentSetId")
        create_case_response = self.support_backend.create_case(
            subject=subject,
            service_code=service_code,
            severity_code=severity_code,
            category_code=category_code,
            communication_body=communication_body,
            cc_email_addresses=cc_email_addresses,
            language=language,
            attachment_set_id=attachment_set_id,
        )

        return json.dumps(create_case_response)

    def describe_cases(self) -> str:
        case_id_list = self._get_param("caseIdList")
        include_resolved_cases = self._get_param("includeResolvedCases", False)
        next_token = self._get_param("nextToken")
        include_communications = self._get_param("includeCommunications", True)

        describe_cases_response = self.support_backend.describe_cases(
            case_id_list=case_id_list,
            include_resolved_cases=include_resolved_cases,
            next_token=next_token,
            include_communications=include_communications,
        )

        return json.dumps(describe_cases_response)