in src/integ_test_resources/android/sdk/integration/cdk/cdk_integration_tests_android/kinesis_stack.py [0:0]
def __init__(self, scope: core.Construct, id: str, common_stack: CommonStack, **kwargs) -> None:
super().__init__(scope, id, **kwargs)
self._supported_in_region = self.are_services_supported_in_region(
["cognito-identity", "kinesis"]
)
identity_pool = cognito.CfnIdentityPool(
self, "pinpoint_integ_test_android", allow_unauthenticated_identities=True
)
unauthenticated_role = iam.Role(
self,
"CognitoDefaultUnauthenticatedRole",
assumed_by=iam.FederatedPrincipal(
"cognito-identity.amazonaws.com",
{
"StringEquals": {"cognito-identity.amazonaws.com:aud": identity_pool.ref},
"ForAnyValue:StringLike": {
"cognito-identity.amazonaws.com:amr": "unauthenticated"
},
},
"sts:AssumeRoleWithWebIdentity",
),
)
unauthenticated_role.add_to_policy(
iam.PolicyStatement(
effect=iam.Effect.ALLOW,
actions=["cognito-sync:*", "kinesis:*", "firehose:*"],
resources=["*"],
)
)
cognito.CfnIdentityPoolRoleAttachment(
self,
"DefaultValid",
identity_pool_id=identity_pool.ref,
roles={"unauthenticated": unauthenticated_role.role_arn},
)
firehose_s3_role = iam.Role(
self, "FirehoseS3Role", assumed_by=iam.ServicePrincipal("firehose.amazonaws.com")
)
firehose_s3_role.add_to_policy(
iam.PolicyStatement(
effect=iam.Effect.ALLOW,
actions=[
"s3:AbortMultipartUpload",
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket",
"s3:ListBucketMultipartUploads",
"s3:PutObject",
],
resources=["*"],
)
)
ingest_bucket = s3.Bucket(self, "test-aws-android-sdk-firehose-bucket")
s3_dest_config = firehose.CfnDeliveryStream.S3DestinationConfigurationProperty(
bucket_arn=ingest_bucket.bucket_arn,
buffering_hints=firehose.CfnDeliveryStream.BufferingHintsProperty(
interval_in_seconds=60, size_in_m_bs=5
),
compression_format="UNCOMPRESSED",
role_arn=firehose_s3_role.role_arn,
)
firehose_test = firehose.CfnDeliveryStream(
self, "kinesis_firehose_recorder_test", s3_destination_configuration=s3_dest_config
)
self._parameters_to_save = {
"firehose_name": firehose_test.ref,
"identity_pool_id": identity_pool.ref,
}
self.save_parameters_in_parameter_store(platform=Platform.ANDROID)
common_stack.add_to_common_role_policies(self)