TechDebt - Unpin TF (#5590)
This commit is contained in:
parent
bd465b032b
commit
b44b5b797f
6
.github/workflows/test_terraform.yml
vendored
6
.github/workflows/test_terraform.yml
vendored
@ -29,12 +29,6 @@ jobs:
|
|||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: "3.8"
|
python-version: "3.8"
|
||||||
# FIXME: pinned because of https://github.com/hashicorp/terraform-provider-aws/issues/27049
|
|
||||||
- name: Install terraform
|
|
||||||
uses: hashicorp/setup-terraform@v2
|
|
||||||
with:
|
|
||||||
terraform_version: "1.2.9"
|
|
||||||
terraform_wrapper: "false"
|
|
||||||
- name: Start MotoServer
|
- name: Start MotoServer
|
||||||
run: |
|
run: |
|
||||||
pip install PyYAML
|
pip install PyYAML
|
||||||
|
@ -22,18 +22,18 @@
|
|||||||
|
|
||||||
## amp
|
## amp
|
||||||
<details>
|
<details>
|
||||||
<summary>61% implemented</summary>
|
<summary>80% implemented</summary>
|
||||||
|
|
||||||
- [ ] create_alert_manager_definition
|
- [ ] create_alert_manager_definition
|
||||||
- [ ] create_logging_configuration
|
- [X] create_logging_configuration
|
||||||
- [X] create_rule_groups_namespace
|
- [X] create_rule_groups_namespace
|
||||||
- [X] create_workspace
|
- [X] create_workspace
|
||||||
- [ ] delete_alert_manager_definition
|
- [ ] delete_alert_manager_definition
|
||||||
- [ ] delete_logging_configuration
|
- [X] delete_logging_configuration
|
||||||
- [X] delete_rule_groups_namespace
|
- [X] delete_rule_groups_namespace
|
||||||
- [X] delete_workspace
|
- [X] delete_workspace
|
||||||
- [ ] describe_alert_manager_definition
|
- [ ] describe_alert_manager_definition
|
||||||
- [ ] describe_logging_configuration
|
- [X] describe_logging_configuration
|
||||||
- [X] describe_rule_groups_namespace
|
- [X] describe_rule_groups_namespace
|
||||||
- [X] describe_workspace
|
- [X] describe_workspace
|
||||||
- [X] list_rule_groups_namespaces
|
- [X] list_rule_groups_namespaces
|
||||||
@ -43,7 +43,7 @@
|
|||||||
- [X] put_rule_groups_namespace
|
- [X] put_rule_groups_namespace
|
||||||
- [X] tag_resource
|
- [X] tag_resource
|
||||||
- [X] untag_resource
|
- [X] untag_resource
|
||||||
- [ ] update_logging_configuration
|
- [X] update_logging_configuration
|
||||||
- [X] update_workspace_alias
|
- [X] update_workspace_alias
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ amp
|
|||||||
|start-h3| Implemented features for this service |end-h3|
|
|start-h3| Implemented features for this service |end-h3|
|
||||||
|
|
||||||
- [ ] create_alert_manager_definition
|
- [ ] create_alert_manager_definition
|
||||||
- [ ] create_logging_configuration
|
- [X] create_logging_configuration
|
||||||
- [X] create_rule_groups_namespace
|
- [X] create_rule_groups_namespace
|
||||||
|
|
||||||
The ClientToken-parameter is not yet implemented
|
The ClientToken-parameter is not yet implemented
|
||||||
@ -40,7 +40,7 @@ amp
|
|||||||
|
|
||||||
|
|
||||||
- [ ] delete_alert_manager_definition
|
- [ ] delete_alert_manager_definition
|
||||||
- [ ] delete_logging_configuration
|
- [X] delete_logging_configuration
|
||||||
- [X] delete_rule_groups_namespace
|
- [X] delete_rule_groups_namespace
|
||||||
|
|
||||||
The ClientToken-parameter is not yet implemented
|
The ClientToken-parameter is not yet implemented
|
||||||
@ -52,7 +52,7 @@ amp
|
|||||||
|
|
||||||
|
|
||||||
- [ ] describe_alert_manager_definition
|
- [ ] describe_alert_manager_definition
|
||||||
- [ ] describe_logging_configuration
|
- [X] describe_logging_configuration
|
||||||
- [X] describe_rule_groups_namespace
|
- [X] describe_rule_groups_namespace
|
||||||
- [X] describe_workspace
|
- [X] describe_workspace
|
||||||
- [X] list_rule_groups_namespaces
|
- [X] list_rule_groups_namespaces
|
||||||
@ -66,7 +66,7 @@ amp
|
|||||||
|
|
||||||
- [X] tag_resource
|
- [X] tag_resource
|
||||||
- [X] untag_resource
|
- [X] untag_resource
|
||||||
- [ ] update_logging_configuration
|
- [X] update_logging_configuration
|
||||||
- [X] update_workspace_alias
|
- [X] update_workspace_alias
|
||||||
|
|
||||||
The ClientToken-parameter is not yet implemented
|
The ClientToken-parameter is not yet implemented
|
||||||
|
@ -5,7 +5,7 @@ from moto.core.utils import BackendDict, unix_time
|
|||||||
from moto.moto_api._internal import mock_random
|
from moto.moto_api._internal import mock_random
|
||||||
from moto.utilities.paginator import paginate
|
from moto.utilities.paginator import paginate
|
||||||
from moto.utilities.tagging_service import TaggingService
|
from moto.utilities.tagging_service import TaggingService
|
||||||
from typing import Any, Callable, Dict, List
|
from typing import Any, Callable, Dict, List, Optional
|
||||||
from .exceptions import RuleGroupNamespaceNotFound, WorkspaceNotFound
|
from .exceptions import RuleGroupNamespaceNotFound, WorkspaceNotFound
|
||||||
from .utils import PAGINATION_MODEL
|
from .utils import PAGINATION_MODEL
|
||||||
|
|
||||||
@ -59,6 +59,7 @@ class Workspace(BaseModel):
|
|||||||
self.created_at = unix_time()
|
self.created_at = unix_time()
|
||||||
self.tag_fn = tag_fn
|
self.tag_fn = tag_fn
|
||||||
self.rule_group_namespaces: Dict[str, RuleGroupNamespace] = dict()
|
self.rule_group_namespaces: Dict[str, RuleGroupNamespace] = dict()
|
||||||
|
self.logging_config: Optional[Dict[str, Any]] = None
|
||||||
|
|
||||||
def to_dict(self) -> Dict[str, Any]:
|
def to_dict(self) -> Dict[str, Any]:
|
||||||
return {
|
return {
|
||||||
@ -182,5 +183,35 @@ class PrometheusServiceBackend(BaseBackend):
|
|||||||
]
|
]
|
||||||
return list(ws.rule_group_namespaces.values())
|
return list(ws.rule_group_namespaces.values())
|
||||||
|
|
||||||
|
def create_logging_configuration(
|
||||||
|
self, workspace_id: str, log_group_arn: str
|
||||||
|
) -> Dict[str, str]:
|
||||||
|
ws = self.describe_workspace(workspace_id)
|
||||||
|
ws.logging_config = {
|
||||||
|
"logGroupArn": log_group_arn,
|
||||||
|
"createdAt": unix_time(),
|
||||||
|
"status": {"statusCode": "ACTIVE"},
|
||||||
|
"workspace": workspace_id,
|
||||||
|
}
|
||||||
|
return ws.logging_config["status"]
|
||||||
|
|
||||||
|
def describe_logging_configuration(self, workspace_id: str) -> Dict[str, Any]:
|
||||||
|
ws = self.describe_workspace(workspace_id)
|
||||||
|
if ws.logging_config is None:
|
||||||
|
return {}
|
||||||
|
return ws.logging_config
|
||||||
|
|
||||||
|
def delete_logging_configuration(self, workspace_id: str) -> None:
|
||||||
|
ws = self.describe_workspace(workspace_id)
|
||||||
|
ws.logging_config = None
|
||||||
|
|
||||||
|
def update_logging_configuration(
|
||||||
|
self, workspace_id: str, log_group_arn: str
|
||||||
|
) -> Dict[str, str]:
|
||||||
|
ws = self.describe_workspace(workspace_id)
|
||||||
|
ws.logging_config["logGroupArn"] = log_group_arn # type: ignore[index]
|
||||||
|
ws.logging_config["modifiedAt"] = unix_time() # type: ignore[index]
|
||||||
|
return ws.logging_config["status"] # type: ignore[index]
|
||||||
|
|
||||||
|
|
||||||
amp_backends = BackendDict(PrometheusServiceBackend, "amp")
|
amp_backends = BackendDict(PrometheusServiceBackend, "amp")
|
||||||
|
@ -140,3 +140,32 @@ class PrometheusServiceResponse(BaseResponse):
|
|||||||
ruleGroupsNamespaces=[ns.to_dict() for ns in namespaces],
|
ruleGroupsNamespaces=[ns.to_dict() for ns in namespaces],
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def create_logging_configuration(self) -> str:
|
||||||
|
workspace_id = unquote(self.path).split("/")[-2]
|
||||||
|
log_group_arn = self._get_param("logGroupArn")
|
||||||
|
status = self.amp_backend.create_logging_configuration(
|
||||||
|
workspace_id=workspace_id,
|
||||||
|
log_group_arn=log_group_arn,
|
||||||
|
)
|
||||||
|
return json.dumps({"status": status})
|
||||||
|
|
||||||
|
def describe_logging_configuration(self) -> str:
|
||||||
|
workspace_id = unquote(self.path).split("/")[-2]
|
||||||
|
config = self.amp_backend.describe_logging_configuration(
|
||||||
|
workspace_id=workspace_id
|
||||||
|
)
|
||||||
|
return json.dumps({"loggingConfiguration": config})
|
||||||
|
|
||||||
|
def update_logging_configuration(self) -> str:
|
||||||
|
workspace_id = unquote(self.path).split("/")[-2]
|
||||||
|
log_group_arn = self._get_param("logGroupArn")
|
||||||
|
status = self.amp_backend.update_logging_configuration(
|
||||||
|
workspace_id=workspace_id, log_group_arn=log_group_arn
|
||||||
|
)
|
||||||
|
return json.dumps({"status": status})
|
||||||
|
|
||||||
|
def delete_logging_configuration(self) -> str:
|
||||||
|
workspace_id = unquote(self.path).split("/")[-2]
|
||||||
|
self.amp_backend.delete_logging_configuration(workspace_id=workspace_id)
|
||||||
|
return "{}"
|
||||||
|
@ -13,6 +13,7 @@ url_paths = {
|
|||||||
"{0}/workspaces$": response.dispatch,
|
"{0}/workspaces$": response.dispatch,
|
||||||
"{0}/workspaces/(?P<workspace_id>[^/]+)$": response.dispatch,
|
"{0}/workspaces/(?P<workspace_id>[^/]+)$": response.dispatch,
|
||||||
"{0}/workspaces/(?P<workspace_id>[^/]+)/alias$": response.dispatch,
|
"{0}/workspaces/(?P<workspace_id>[^/]+)/alias$": response.dispatch,
|
||||||
|
"{0}/workspaces/(?P<workspace_id>[^/]+)/logging$": response.dispatch,
|
||||||
"{0}/workspaces/(?P<workspace_id>[^/]+)/rulegroupsnamespaces$": response.dispatch,
|
"{0}/workspaces/(?P<workspace_id>[^/]+)/rulegroupsnamespaces$": response.dispatch,
|
||||||
"{0}/workspaces/(?P<workspace_id>[^/]+)/rulegroupsnamespaces/(?P<name>[^/]+)$": response.dispatch,
|
"{0}/workspaces/(?P<workspace_id>[^/]+)/rulegroupsnamespaces/(?P<name>[^/]+)$": response.dispatch,
|
||||||
"{0}/tags/(?P<resource_arn>[^/]+)$": response.dispatch,
|
"{0}/tags/(?P<resource_arn>[^/]+)$": response.dispatch,
|
||||||
|
@ -169,6 +169,7 @@ class VPC(TaggedEC2Resource, CloudFormationModel):
|
|||||||
# This attribute is set to 'true' only for default VPCs
|
# This attribute is set to 'true' only for default VPCs
|
||||||
# or VPCs created using the wizard of the VPC console
|
# or VPCs created using the wizard of the VPC console
|
||||||
self.enable_dns_hostnames = "true" if is_default else "false"
|
self.enable_dns_hostnames = "true" if is_default else "false"
|
||||||
|
self.enable_network_address_usage_metrics = "false"
|
||||||
|
|
||||||
self.associate_vpc_cidr_block(cidr_block)
|
self.associate_vpc_cidr_block(cidr_block)
|
||||||
if amazon_provided_ipv6_cidr_block:
|
if amazon_provided_ipv6_cidr_block:
|
||||||
@ -466,7 +467,11 @@ class VPCBackend:
|
|||||||
|
|
||||||
def describe_vpc_attribute(self, vpc_id, attr_name):
|
def describe_vpc_attribute(self, vpc_id, attr_name):
|
||||||
vpc = self.get_vpc(vpc_id)
|
vpc = self.get_vpc(vpc_id)
|
||||||
if attr_name in ("enable_dns_support", "enable_dns_hostnames"):
|
if attr_name in (
|
||||||
|
"enable_dns_support",
|
||||||
|
"enable_dns_hostnames",
|
||||||
|
"enable_network_address_usage_metrics",
|
||||||
|
):
|
||||||
return getattr(vpc, attr_name)
|
return getattr(vpc, attr_name)
|
||||||
else:
|
else:
|
||||||
raise InvalidParameterValueError(attr_name)
|
raise InvalidParameterValueError(attr_name)
|
||||||
@ -493,7 +498,11 @@ class VPCBackend:
|
|||||||
|
|
||||||
def modify_vpc_attribute(self, vpc_id, attr_name, attr_value):
|
def modify_vpc_attribute(self, vpc_id, attr_name, attr_value):
|
||||||
vpc = self.get_vpc(vpc_id)
|
vpc = self.get_vpc(vpc_id)
|
||||||
if attr_name in ("enable_dns_support", "enable_dns_hostnames"):
|
if attr_name in (
|
||||||
|
"enable_dns_support",
|
||||||
|
"enable_dns_hostnames",
|
||||||
|
"enable_network_address_usage_metrics",
|
||||||
|
):
|
||||||
setattr(vpc, attr_name, attr_value)
|
setattr(vpc, attr_name, attr_value)
|
||||||
else:
|
else:
|
||||||
raise InvalidParameterValueError(attr_name)
|
raise InvalidParameterValueError(attr_name)
|
||||||
|
@ -1,60 +1,49 @@
|
|||||||
From ba338bc6eff2276671b8fd8e61c5a1aceab96112 Mon Sep 17 00:00:00 2001
|
From 01a50d07400ee7513b31ec10e9832a2d8290b4e2 Mon Sep 17 00:00:00 2001
|
||||||
From: Bert Blommers <info@bertblommers.nl>
|
From: Bert Blommers <info@bertblommers.nl>
|
||||||
Date: Tue, 4 Oct 2022 19:00:11 +0000
|
Date: Sat, 22 Oct 2022 13:25:17 +0000
|
||||||
Subject: [PATCH] Patch: Reduce Comprehend timings
|
Subject: [PATCH] Patch: Comprehend timings
|
||||||
|
|
||||||
---
|
---
|
||||||
internal/service/comprehend/common_model.go | 2 +-
|
internal/service/comprehend/common_model.go | 2 +-
|
||||||
internal/service/comprehend/consts.go | 6 +++---
|
internal/service/comprehend/consts.go | 12 ++++++------
|
||||||
internal/service/comprehend/entity_recognizer.go | 6 +++---
|
2 files changed, 7 insertions(+), 7 deletions(-)
|
||||||
3 files changed, 7 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/internal/service/comprehend/common_model.go b/internal/service/comprehend/common_model.go
|
diff --git a/internal/service/comprehend/common_model.go b/internal/service/comprehend/common_model.go
|
||||||
index 7fa0c1022f..eb6b7c9265 100644
|
index 034314bdcc..03a29aa3c2 100644
|
||||||
--- a/internal/service/comprehend/common_model.go
|
--- a/internal/service/comprehend/common_model.go
|
||||||
+++ b/internal/service/comprehend/common_model.go
|
+++ b/internal/service/comprehend/common_model.go
|
||||||
@@ -57,7 +57,7 @@ func waitNetworkInterfaceCreated(ctx context.Context, conn *ec2.EC2, initialENII
|
@@ -60,7 +60,7 @@ func waitNetworkInterfaceCreated(ctx context.Context, conn *ec2.EC2, initialENII
|
||||||
Pending: []string{},
|
Pending: []string{},
|
||||||
Target: []string{ec2.NetworkInterfaceStatusInUse},
|
Target: []string{ec2.NetworkInterfaceStatusInUse},
|
||||||
Refresh: statusNetworkInterfaces(ctx, conn, initialENIIds, securityGroups, subnets),
|
Refresh: statusNetworkInterfaces(ctx, conn, initialENIIds, securityGroups, subnets),
|
||||||
- Delay: 4 * time.Minute,
|
- Delay: 4 * time.Minute,
|
||||||
+ Delay: 40 * time.Second,
|
+ Delay: 4 * time.Second,
|
||||||
MinTimeout: 10 * time.Second,
|
MinTimeout: 10 * time.Second,
|
||||||
Timeout: timeout,
|
Timeout: timeout,
|
||||||
}
|
}
|
||||||
diff --git a/internal/service/comprehend/consts.go b/internal/service/comprehend/consts.go
|
diff --git a/internal/service/comprehend/consts.go b/internal/service/comprehend/consts.go
|
||||||
index 8c926987a4..2420b78dcc 100644
|
index e57884a12d..df5fd0678b 100644
|
||||||
--- a/internal/service/comprehend/consts.go
|
--- a/internal/service/comprehend/consts.go
|
||||||
+++ b/internal/service/comprehend/consts.go
|
+++ b/internal/service/comprehend/consts.go
|
||||||
@@ -4,8 +4,8 @@ import (
|
@@ -7,12 +7,12 @@ import (
|
||||||
"time"
|
const iamPropagationTimeout = 2 * time.Minute
|
||||||
)
|
|
||||||
|
|
||||||
-const iamPropagationTimeout = 2 * time.Minute
|
|
||||||
+const iamPropagationTimeout = 20 * time.Second
|
|
||||||
|
|
||||||
// Avoid service throttling
|
// Avoid service throttling
|
||||||
-const entityRegcognizerDelay = 1 * time.Minute
|
-const entityRegcognizerCreatedDelay = 10 * time.Minute
|
||||||
|
+const entityRegcognizerCreatedDelay = 10 * time.Second
|
||||||
|
const entityRegcognizerStoppedDelay = 0
|
||||||
|
-const entityRegcognizerDeletedDelay = 5 * time.Minute
|
||||||
-const entityRegcognizerPollInterval = 1 * time.Minute
|
-const entityRegcognizerPollInterval = 1 * time.Minute
|
||||||
+const entityRegcognizerDelay = 10 * time.Second
|
+const entityRegcognizerDeletedDelay = 5 * time.Second
|
||||||
+const entityRegcognizerPollInterval = 10 * time.Second
|
+const entityRegcognizerPollInterval = 1 * time.Second
|
||||||
diff --git a/internal/service/comprehend/entity_recognizer.go b/internal/service/comprehend/entity_recognizer.go
|
|
||||||
index 119bf790db..3e953427af 100644
|
|
||||||
--- a/internal/service/comprehend/entity_recognizer.go
|
|
||||||
+++ b/internal/service/comprehend/entity_recognizer.go
|
|
||||||
@@ -42,9 +42,9 @@ func ResourceEntityRecognizer() *schema.Resource {
|
|
||||||
},
|
|
||||||
|
|
||||||
Timeouts: &schema.ResourceTimeout{
|
-const documentClassifierCreatedDelay = 15 * time.Minute
|
||||||
- Create: schema.DefaultTimeout(60 * time.Minute),
|
+const documentClassifierCreatedDelay = 15 * time.Second
|
||||||
- Update: schema.DefaultTimeout(60 * time.Minute),
|
const documentClassifierStoppedDelay = 0
|
||||||
- Delete: schema.DefaultTimeout(30 * time.Minute),
|
-const documentClassifierDeletedDelay = 5 * time.Minute
|
||||||
+ Create: schema.DefaultTimeout(60 * time.Second),
|
-const documentClassifierPollInterval = 1 * time.Minute
|
||||||
+ Update: schema.DefaultTimeout(60 * time.Second),
|
+const documentClassifierDeletedDelay = 5 * time.Second
|
||||||
+ Delete: schema.DefaultTimeout(30 * time.Second),
|
+const documentClassifierPollInterval = 1 * time.Second
|
||||||
},
|
|
||||||
|
|
||||||
Schema: map[string]*schema.Schema{
|
|
||||||
--
|
--
|
||||||
2.25.1
|
2.25.1
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 6020c871a99278bc855638a801e662328ab2b342
|
Subproject commit f9a6db6e3c3f3299701747972fd6c37ba4af36f4
|
@ -39,7 +39,13 @@ autoscaling:
|
|||||||
- TestAccAutoScalingGroup_mixedInstancesPolicy
|
- TestAccAutoScalingGroup_mixedInstancesPolicy
|
||||||
- TestAccAutoScalingGroup_MixedInstancesPolicy_capacityRebalance
|
- TestAccAutoScalingGroup_MixedInstancesPolicy_capacityRebalance
|
||||||
- TestAccAutoScalingLaunchConfigurationDataSource
|
- TestAccAutoScalingLaunchConfigurationDataSource
|
||||||
- TestAccAutoScalingLaunchConfiguration_
|
- TestAccAutoScalingLaunchConfiguration_AssociatePublicIPAddress
|
||||||
|
- TestAccAutoScalingLaunchConfiguration_EBS_noDevice
|
||||||
|
- TestAccAutoScalingLaunchConfiguration_userData
|
||||||
|
- TestAccAutoScalingLaunchConfiguration_metadataOptions
|
||||||
|
- TestAccAutoScalingLaunchConfiguration_with
|
||||||
|
- TestAccAutoScalingLaunchConfiguration_encryptedEBSBlockDevice
|
||||||
|
- TestAccAutoScalingLaunchConfiguration_encryptedRootBlockDevice
|
||||||
batch:
|
batch:
|
||||||
- TestAccBatchJobDefinition
|
- TestAccBatchJobDefinition
|
||||||
- TestAccBatchJobQueue_basic
|
- TestAccBatchJobQueue_basic
|
||||||
@ -76,7 +82,14 @@ cognitoidp:
|
|||||||
- TestAccCognitoIDPUser_
|
- TestAccCognitoIDPUser_
|
||||||
- TestAccCognitoIDPUserPoolClients
|
- TestAccCognitoIDPUserPoolClients
|
||||||
comprehend:
|
comprehend:
|
||||||
- TestAccComprehendEntityRecognizer
|
- TestAccComprehendEntityRecognizer_basic
|
||||||
|
- TestAccComprehendEntityRecognizer_disappears
|
||||||
|
- TestAccComprehendEntityRecognizer_version
|
||||||
|
- TestAccComprehendEntityRecognizer_documents
|
||||||
|
- TestAccComprehendEntityRecognizer_annotations
|
||||||
|
- TestAccComprehendEntityRecognizer_tags
|
||||||
|
- TestAccComprehendEntityRecognizer_DefaultTags
|
||||||
|
- TestAccComprehendEntityRecognizer_KMSKeys
|
||||||
dax:
|
dax:
|
||||||
- TestAccDAXCluster_basic
|
- TestAccDAXCluster_basic
|
||||||
- TestAccDAXCluster_Encryption
|
- TestAccDAXCluster_Encryption
|
||||||
@ -95,7 +108,6 @@ ec2:
|
|||||||
- TestAccEC2VPCsDataSource
|
- TestAccEC2VPCsDataSource
|
||||||
- TestAccEC2VPNGateway_
|
- TestAccEC2VPNGateway_
|
||||||
- TestAccEC2VPNGatewayAttachment_
|
- TestAccEC2VPNGatewayAttachment_
|
||||||
- TestAccVPC_
|
|
||||||
- TestAccVPCEgressOnlyInternetGateway_
|
- TestAccVPCEgressOnlyInternetGateway_
|
||||||
- TestAccVPCInternetGateway
|
- TestAccVPCInternetGateway
|
||||||
- TestAccVPCNATGateway_
|
- TestAccVPCNATGateway_
|
||||||
|
61
tests/test_amp/test_amp_logging_config.py
Normal file
61
tests/test_amp/test_amp_logging_config.py
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
import boto3
|
||||||
|
import sys
|
||||||
|
import unittest
|
||||||
|
from moto import mock_amp
|
||||||
|
|
||||||
|
|
||||||
|
@mock_amp
|
||||||
|
class TestAmpLoggingConfig(unittest.TestCase):
|
||||||
|
def setUp(self) -> None:
|
||||||
|
if sys.version_info < (3, 7):
|
||||||
|
raise unittest.SkipTest(
|
||||||
|
"Cannot test this in Py3.6; outdated botocore dependencies do not yet support this feature"
|
||||||
|
)
|
||||||
|
self.client = boto3.client("amp", region_name="us-east-2")
|
||||||
|
|
||||||
|
workspace = self.client.create_workspace(alias="test", tags={"t": "v"})
|
||||||
|
self.workspace_id = workspace["workspaceId"]
|
||||||
|
|
||||||
|
def test_describe_logging(self):
|
||||||
|
resp = self.client.describe_logging_configuration(workspaceId=self.workspace_id)
|
||||||
|
resp.should.have.key("loggingConfiguration").equals({})
|
||||||
|
|
||||||
|
def test_create_logging(self):
|
||||||
|
resp = self.client.create_logging_configuration(
|
||||||
|
workspaceId=self.workspace_id, logGroupArn="log/arn"
|
||||||
|
)
|
||||||
|
resp.should.have.key("status").equals({"statusCode": "ACTIVE"})
|
||||||
|
|
||||||
|
resp = self.client.describe_logging_configuration(
|
||||||
|
workspaceId=self.workspace_id
|
||||||
|
)["loggingConfiguration"]
|
||||||
|
resp.should.have.key("createdAt")
|
||||||
|
resp.should.have.key("logGroupArn").equals("log/arn")
|
||||||
|
resp.should.have.key("status").equals({"statusCode": "ACTIVE"})
|
||||||
|
resp.should.have.key("workspace").equals(self.workspace_id)
|
||||||
|
|
||||||
|
def test_update_logging(self):
|
||||||
|
self.client.create_logging_configuration(
|
||||||
|
workspaceId=self.workspace_id, logGroupArn="log/arn"
|
||||||
|
)
|
||||||
|
|
||||||
|
resp = self.client.update_logging_configuration(
|
||||||
|
workspaceId=self.workspace_id, logGroupArn="log/arn2"
|
||||||
|
)
|
||||||
|
resp.should.have.key("status").equals({"statusCode": "ACTIVE"})
|
||||||
|
|
||||||
|
resp = self.client.describe_logging_configuration(
|
||||||
|
workspaceId=self.workspace_id
|
||||||
|
)["loggingConfiguration"]
|
||||||
|
resp.should.have.key("modifiedAt")
|
||||||
|
resp.should.have.key("logGroupArn").equals("log/arn2")
|
||||||
|
|
||||||
|
def test_delete_logging(self):
|
||||||
|
resp = self.client.create_logging_configuration(
|
||||||
|
workspaceId=self.workspace_id, logGroupArn="log/arn"
|
||||||
|
)
|
||||||
|
|
||||||
|
self.client.delete_logging_configuration(workspaceId=self.workspace_id)
|
||||||
|
|
||||||
|
resp = self.client.describe_logging_configuration(workspaceId=self.workspace_id)
|
||||||
|
resp.should.have.key("loggingConfiguration").equals({})
|
Loading…
x
Reference in New Issue
Block a user