8000 Use `StrEnums` instead of `str` for generated constant classes in the… · localstack/localstack@b58b0f8 · GitHub
[go: up one dir, main page]

Skip to content

Commit b58b0f8

Browse files
authored
Use StrEnums instead of str for generated constant classes in the ASF APIs (#11176)
1 parent 5581b25 commit b58b0f8

File tree

36 files changed

+1185
-1149
lines changed

36 files changed

+1185
-1149
lines changed

localstack-core/localstack/aws/api/acm/__init__.py

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from datetime import datetime
2+
from enum import StrEnum
23
from typing import List, Optional, TypedDict
34

45
from localstack.aws.api import RequestContext, ServiceException, ServiceRequest, handler
@@ -22,7 +23,7 @@
2223
ValidationExceptionMessage = str
2324

2425

25-
class CertificateStatus(str):
26+
class CertificateStatus(StrEnum):
2627
PENDING_VALIDATION = "PENDING_VALIDATION"
2728
ISSUED = "ISSUED"
2829
INACTIVE = "INACTIVE"
@@ -32,24 +33,24 @@ class CertificateStatus(str):
3233
FAILED = "FAILED"
3334

3435

35-
class CertificateTransparencyLoggingPreference(str):
36+
class CertificateTransparencyLoggingPreference(StrEnum):
3637
ENABLED = "ENABLED"
3738
DISABLED = "DISABLED"
3839

3940

40-
class CertificateType(str):
41+
class CertificateType(StrEnum):
4142
IMPORTED = "IMPORTED"
4243
AMAZON_ISSUED = "AMAZON_ISSUED"
4344
PRIVATE = "PRIVATE"
4445

4546

46-
class DomainStatus(str):
47+
class DomainStatus(StrEnum):
4748
PENDING_VALIDATION = "PENDING_VALIDATION"
4849
SUCCESS = "SUCCESS"
4950
FAILED = "FAILED"
5051

5152

52-
class ExtendedKeyUsageName(str):
53+
class ExtendedKeyUsageName(StrEnum):
5354
TLS_WEB_SERVER_AUTHENTICATION = "TLS_WEB_SERVER_AUTHENTICATION"
5455
TLS_WEB_CLIENT_AUTHENTICATION = "TLS_WEB_CLIENT_AUTHENTICATION"
5556
CODE_SIGNING = "CODE_SIGNING"
@@ -64,7 +65,7 @@ class ExtendedKeyUsageName(str):
6465
CUSTOM = "CUSTOM"
6566

6667

67-
class FailureReason(str):
68+
class FailureReason(StrEnum):
6869
NO_AVAILABLE_CONTACTS = "NO_AVAILABLE_CONTACTS"
6970
ADDITIONAL_VERIFICATION_REQUIRED = "ADDITIONAL_VERIFICATION_REQUIRED"
7071
DOMAIN_NOT_ALLOWED = "DOMAIN_NOT_ALLOWED"
@@ -84,7 +85,7 @@ class FailureReason(str):
8485
OTHER = "OTHER"
8586

8687

87-
class KeyAlgorithm(str):
88+
class KeyAlgorithm(StrEnum):
8889
RSA_1024 = "RSA_1024"
8990
RSA_2048 = "RSA_2048"
9091
RSA_3072 = "RSA_3072"
@@ -94,7 +95,7 @@ class KeyAlgorithm(str):
9495
EC_secp521r1 = "EC_secp521r1"
9596

9697

97-
class KeyUsageName(str):
98+
class KeyUsageName(StrEnum):
9899
DIGITAL_SIGNATURE = "DIGITAL_SIGNATURE"
99100
NON_REPUDIATION = "NON_REPUDIATION"
100101
KEY_ENCIPHERMENT = "KEY_ENCIPHERMENT"
@@ -108,23 +109,23 @@ class KeyUsageName(str):
108109
CUSTOM = "CUSTOM"
109110

110111

111-
class RecordType(str):
112+
class RecordType(StrEnum):
112113
CNAME = "CNAME"
113114

114115

115-
class RenewalEligibility(str):
116+
class RenewalEligibility(StrEnum):
116117
ELIGIBLE = "ELIGIBLE"
117118
INELIGIBLE = "INELIGIBLE"
118119

119120

120-
class RenewalStatus(str):
121+
class RenewalStatus(StrEnum):
121122
PENDING_AUTO_RENEWAL = "PENDING_AUTO_RENEWAL"
122123
PENDING_VALIDATION = "PENDING_VALIDATION"
123124
SUCCESS = "SUCCESS"
124125
FAILED = "FAILED"
125126

126127

127-
class RevocationReason(str):
128+
class RevocationReason(StrEnum):
128129
UNSPECIFIED = "UNSPECIFIED"
129130
KEY_COMPROMISE = "KEY_COMPROMISE"
130131
CA_COMPROMISE = "CA_COMPROMISE"
@@ -137,16 +138,16 @@ class RevocationReason(str):
137138
A_A_COMPROMISE = "A_A_COMPROMISE"
138139

139140

140-
class SortBy(str):
141+
class SortBy(StrEnum):
141142
CREATED_AT = "CREATED_AT"
142143

143144

144-
class SortOrder(str):
145+
class SortOrder(StrEnum):
145146
ASCENDING = "ASCENDING"
146147
DESCENDING = "DESCENDING"
147148

148149

149-
class ValidationMethod(str):
150+
class ValidationMethod(StrEnum):
150151
EMAIL = "EMAIL"
151152
DNS = "DNS"
152153

localstack-core/localstack/aws/api/apigateway/__init__.py

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from datetime import datetime
2+
from enum import StrEnum
23
from typing import IO, Dict, Iterable, List, Optional, TypedDict, Union
34

45
from localstack.aws.api import RequestContext, ServiceException, ServiceRequest, handler
@@ -14,22 +15,22 @@
1415
String = str
1516

1617

17-
class ApiKeySourceType(str):
18+
class ApiKeySourceType(StrEnum):
1819
HEADER = "HEADER"
1920
AUTHORIZER = "AUTHORIZER"
2021

2122

22-
class ApiKeysFormat(str):
23+
class ApiKeysFormat(StrEnum):
2324
csv = "csv"
2425

2526

26-
class AuthorizerType(str):
27+
class AuthorizerType(StrEnum):
2728
TOKEN = "TOKEN"
2829
REQUEST = "REQUEST"
2930
COGNITO_USER_POOLS = "COGNITO_USER_POOLS"
3031

3132

32-
class CacheClusterSize(str):
33+
class CacheClusterSize(StrEnum):
3334
i_0_5 = "0.5"
3435
i_1_6 = "1.6"
3536
i_6_1 = "6.1"
@@ -40,25 +41,25 @@ class CacheClusterSize(str):
4041
i_237 = "237"
4142

4243

43-
class CacheClusterStatus(str):
44+
class CacheClusterStatus(StrEnum):
4445
CREATE_IN_PROGRESS = "CREATE_IN_PROGRESS"
4546
AVAILABLE = "AVAILABLE"
4647
DELETE_IN_PROGRESS = "DELETE_IN_PROGRESS"
4748
NOT_AVAILABLE = "NOT_AVAILABLE"
4849
FLUSH_IN_PROGRESS = "FLUSH_IN_PROGRESS"
4950

5051

51-
class ConnectionType(str):
52+
class ConnectionType(StrEnum):
5253
INTERNET = "INTERNET"
5354
VPC_LINK = "VPC_LINK"
5455

5556

56-
class ContentHandlingStrategy(str):
57+
class ContentHandlingStrategy(StrEnum):
5758
CONVERT_TO_BINARY = "CONVERT_TO_BINARY"
5859
CONVERT_TO_TEXT = "CONVERT_TO_TEXT"
5960

6061

61-
class DocumentationPartType(str):
62+
class DocumentationPartType(StrEnum):
6263
API = "API"
6364
AUTHORIZER = "AUTHORIZER"
6465
MODEL = "MODEL"
@@ -73,21 +74,21 @@ class DocumentationPartType(str):
7374
RESPONSE_BODY = "RESPONSE_BODY"
7475

7576

76-
class DomainNameStatus(str):
77+
class DomainNameStatus(StrEnum):
7778
AVAILABLE = "AVAILABLE"
7879
UPDATING = "UPDATING"
7980
PENDING = "PENDING"
8081
PENDING_CERTIFICATE_REIMPORT = "PENDING_CERTIFICATE_REIMPORT"
8182
PENDING_OWNERSHIP_VERIFICATION = "PENDING_OWNERSHIP_VERIFICATION"
8283

8384

84-
class EndpointType(str):
85+
class EndpointType(StrEnum):
8586
REGIONAL = "REGIONAL"
8687
EDGE = "EDGE"
8788
PRIVATE = "PRIVATE"
8889

8990

90-
class GatewayResponseType(str):
91+
class GatewayResponseType(StrEnum):
9192
DEFAULT_4XX = "DEFAULT_4XX"
9293
DEFAULT_5XX = "DEFAULT_5XX"
9394
RESOURCE_NOT_FOUND = "RESOURCE_NOT_FOUND"
@@ -111,20 +112,20 @@ class GatewayResponseType(str):
111112
WAF_FILTERED = "WAF_FILTERED"
112113

113114

114-
class IntegrationType(str):
115+
class IntegrationType(StrEnum):
115116
HTTP = "HTTP"
116117
AWS = "AWS"
117118
MOCK = "MOCK"
118119
HTTP_PROXY = "HTTP_PROXY"
119120
AWS_PROXY = "AWS_PROXY"
120121

121122

122-
class LocationStatusType(str):
123+
class LocationStatusType(StrEnum):
123124
DOCUMENTED = "DOCUMENTED"
124125
UNDOCUMENTED = "UNDOCUMENTED"
125126

126127

127-
class Op(str):
128+
class Op(StrEnum):
128129
add = "add"
129130
remove = "remove"
130131
replace = "replace"
@@ -133,29 +134,29 @@ class Op(str):
133134
test = "test"
134135

135136

136-
class PutMode(str):
137+
class PutMode(StrEnum):
137138
merge = "merge"
138139
overwrite = "overwrite"
139140

140141

141-
class QuotaPeriodType(str):
142+
class QuotaPeriodType(StrEnum):
142143
DAY = "DAY"
143144
WEEK = "WEEK"
144145
MONTH = "MONTH"
145146

146147

147-
class SecurityPolicy(str):
148+
class SecurityPolicy(StrEnum):
148149
TLS_1_0 = "TLS_1_0"
149150
TLS_1_2 = "TLS_1_2"
150151

151152

152-
class UnauthorizedCacheControlHeaderStrategy(str):
153+
class UnauthorizedCacheControlHeaderStrategy(StrEnum):
153154
FAIL_WITH_403 = "FAIL_WITH_403"
154155
SUCCEED_WITH_RESPONSE_HEADER = "SUCCEED_WITH_RESPONSE_HEADER"
155156
SUCCEED_WITHOUT_RESPONSE_HEADER = "SUCCEED_WITHOUT_RESPONSE_HEADER"
156157

157158

158-
class VpcLinkStatus(str):
159+
class VpcLinkStatus(StrEnum):
159160
AVAILABLE = "AVAILABLE"
160161
PENDING = "PENDING"
161162
DELETING = "DELETING"

localstack-core/localstack/aws/api/cloudcontrol/__init__.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from datetime import datetime
2+
from enum import StrEnum
23
from typing import List, Optional, TypedDict
34

45
from localstack.aws.api import RequestContext, ServiceException, ServiceRequest, handler
@@ -18,7 +19,7 @@
1819
TypeVersionId = str
1920

2021

21-
class HandlerErrorCode(str):
22+
class HandlerErrorCode(StrEnum):
2223
NotUpdatable = "NotUpdatable"
2324
InvalidRequest = "InvalidRequest"
2425
AccessDenied = "AccessDenied"
@@ -36,13 +37,13 @@ class HandlerErrorCode(str):
3637
InternalFailure = "InternalFailure"
3738

3839

39-
class Operation(str):
40+
class Operation(StrEnum):
4041
CREATE = "CREATE"
4142
DELETE = "DELETE"
4243
UPDATE = "UPDATE"
4344

4445

45-
class OperationStatus(str):
46+
class OperationStatus(StrEnum):
4647
PENDING = "PENDING"
4748
IN_PROGRESS = "IN_PROGRESS"
4849
SUCCESS = "SUCCESS"

0 commit comments

Comments
 (0)
0