Skip to content

Instantly share code, notes, and snippets.

View mgjam's full-sized avatar

Milan Gatyás mgjam

View GitHub Profile
private creatGetOutputResolver(
api: appsync.CfnGraphQLApi,
schema: appsync.CfnGraphQLSchema,
outputDataSource: appsync.CfnDataSource
) {
const name = 'GetOutputResolver';
const requestMappingTemplate = `{
"version": "2017-02-28",
"operation": "Invoke",
"payload": {
private createApiAccessGroup(
api: appsync.CfnGraphQLApi
): iam.Group {
const name = 'ApiAccessGroup';
const group = new iam.Group(this, name, {
groupName: name
});
group.attachInlinePolicy(this.createApiAccessPolicy(api));
private createApiAccessKey(
api: appsync.CfnGraphQLApi
): iam.CfnAccessKey {
const apiAccessGroup = this.createApiAccessGroup(api);
const apiAccessUser = this.createApiAccessUser(apiAccessGroup);
const name = 'ApiAccessKey';
return new iam.CfnAccessKey(this, name, {
userName: apiAccessUser.userName
});
private createApiAccessKeyOutputs(
apiAccessKey: iam.CfnAccessKey
) {
new cdk.CfnOutput(this, 'ApiAccessKeyId', {
value: apiAccessKey.ref
});
new cdk.CfnOutput(this, 'ApiSecretAccessKey', {
value: apiAccessKey.attrSecretAccessKey
});
}
private static createLogGroup(
scope: cdk.Construct,
lambdaFunction: lambda.Function
) {
new logs.LogGroup(scope, 'LogGroup', {
logGroupName: `/aws/lambda/${lambdaFunction.functionName}`, // Autogenerated log group name
retention: logs.RetentionDays.ONE_WEEK,
removalPolicy: cdk.RemovalPolicy.DESTROY
});
}
interface IService
{
string GetData();
}
class HttpService : IService
{
public string GetData() => "Data obtained via HTTP";
}
interface IService
{
string GetData();
}
interface IHttpService : IService {}
class HttpService : IHttpService
{
public string GetData() => "Data obtained via HTTP";
class EmailValidationConfiguration
{
Regex ValidationRegex;
}
class EmailValidator
{
EmailValidator(EmailValidationConfiguration configuration) { }
}
class EmailValidator
{
bool IsEmailValid(string email);
}
class ValidEmail
{
string Email;
}
class EmailValidator
{
ValidEmail? IsEmailValid(string email);
}