improved role

pull/852/head
Jingyi 2024-07-16 18:48:54 +08:00
parent 5a7b4a2c48
commit 67d9fa46cb
22 changed files with 42 additions and 45 deletions

View File

@ -1,5 +1,5 @@
import { PythonFunction } from '@aws-cdk/aws-lambda-python-alpha';
import {aws_dynamodb, aws_lambda, aws_sqs, Duration} from 'aws-cdk-lib';
import {Aws, aws_dynamodb, aws_lambda, aws_sqs, Duration} from 'aws-cdk-lib';
import { JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model, Resource } from 'aws-cdk-lib/aws-apigateway';
import { Table } from 'aws-cdk-lib/aws-dynamodb';
import { Role } from 'aws-cdk-lib/aws-iam';
@ -221,7 +221,7 @@ export class CreateEndpointApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(this.scope, `${this.baseId}-lambda`, {
entry: '../middleware_api/endpoints',

View File

@ -1,5 +1,5 @@
import {PythonFunction} from '@aws-cdk/aws-lambda-python-alpha';
import {aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_lambda, Duration} from 'aws-cdk-lib';
import {JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model, Resource} from 'aws-cdk-lib/aws-apigateway';
import {Table} from 'aws-cdk-lib/aws-dynamodb';
import {Role} from 'aws-cdk-lib/aws-iam';
@ -83,7 +83,7 @@ export class DeleteEndpointsApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(this.scope, `${this.baseId}-lambda`, {
entry: '../middleware_api/endpoints',

View File

@ -1,5 +1,5 @@
import { PythonFunction } from '@aws-cdk/aws-lambda-python-alpha';
import {aws_apigateway, aws_dynamodb, aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_apigateway, aws_dynamodb, aws_lambda, Duration} from 'aws-cdk-lib';
import { JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model } from 'aws-cdk-lib/aws-apigateway';
import {Role} from 'aws-cdk-lib/aws-iam';
import { Architecture, Runtime } from 'aws-cdk-lib/aws-lambda';
@ -141,7 +141,7 @@ export class ListEndpointsApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(this.scope, `${this.baseId}-lambda`, {
entry: '../middleware_api/endpoints',

View File

@ -1,5 +1,5 @@
import { PythonFunction } from '@aws-cdk/aws-lambda-python-alpha';
import {aws_apigateway, aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_apigateway, aws_lambda, Duration} from 'aws-cdk-lib';
import { JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model } from 'aws-cdk-lib/aws-apigateway';
import {Role} from 'aws-cdk-lib/aws-iam';
import { Architecture, Runtime } from 'aws-cdk-lib/aws-lambda';
@ -119,7 +119,7 @@ export class CreateRoleApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(this.scope, `${this.baseId}-lambda`, {
entry: '../middleware_api/roles',

View File

@ -1,5 +1,5 @@
import { PythonFunction } from '@aws-cdk/aws-lambda-python-alpha';
import {aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_lambda, Duration} from 'aws-cdk-lib';
import {
JsonSchemaType,
JsonSchemaVersion,
@ -95,7 +95,7 @@ export class DeleteRolesApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(
this.scope,

View File

@ -1,5 +1,5 @@
import { PythonFunction } from '@aws-cdk/aws-lambda-python-alpha';
import {aws_apigateway, aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_apigateway, aws_lambda, Duration} from 'aws-cdk-lib';
import { JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model } from 'aws-cdk-lib/aws-apigateway';
import {Role} from 'aws-cdk-lib/aws-iam';
import { Architecture, Runtime } from 'aws-cdk-lib/aws-lambda';
@ -107,7 +107,7 @@ export class ListRolesApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(this.scope, `${this.baseId}-lambda`, {
entry: '../middleware_api/roles',

View File

@ -1,5 +1,5 @@
import { PythonFunction } from '@aws-cdk/aws-lambda-python-alpha';
import {aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_lambda, Duration} from 'aws-cdk-lib';
import { JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model, Resource } from 'aws-cdk-lib/aws-apigateway';
import { Table } from 'aws-cdk-lib/aws-dynamodb';
import { Role } from 'aws-cdk-lib/aws-iam';
@ -134,7 +134,7 @@ export class CreateSchemaApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(this.scope, `${this.baseId}-lambda`, {
entry: '../middleware_api/schemas',

View File

@ -1,5 +1,5 @@
import {PythonFunction} from '@aws-cdk/aws-lambda-python-alpha';
import {aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_lambda, Duration} from 'aws-cdk-lib';
import {JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model, Resource} from 'aws-cdk-lib/aws-apigateway';
import {Table} from 'aws-cdk-lib/aws-dynamodb';
import {Role} from 'aws-cdk-lib/aws-iam';
@ -84,7 +84,7 @@ export class DeleteSchemasApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(this.scope, `${this.baseId}-lambda`, {
entry: '../middleware_api/schemas',

View File

@ -1,5 +1,5 @@
import { PythonFunction } from '@aws-cdk/aws-lambda-python-alpha';
import {aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_lambda, Duration} from 'aws-cdk-lib';
import { JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model, Resource } from 'aws-cdk-lib/aws-apigateway';
import { Table } from 'aws-cdk-lib/aws-dynamodb';
import { Role } from 'aws-cdk-lib/aws-iam';
@ -105,7 +105,7 @@ export class GetSchemaApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(
this.scope,

View File

@ -1,5 +1,5 @@
import { PythonFunction } from '@aws-cdk/aws-lambda-python-alpha';
import {aws_apigateway, aws_dynamodb, aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_apigateway, aws_dynamodb, aws_lambda, Duration} from 'aws-cdk-lib';
import { JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model } from 'aws-cdk-lib/aws-apigateway';
import {Role} from 'aws-cdk-lib/aws-iam';
import { Architecture, Runtime } from 'aws-cdk-lib/aws-lambda';
@ -124,7 +124,7 @@ export class ListSchemasApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(this.scope, `${this.baseId}-lambda`, {
entry: '../middleware_api/schemas',

View File

@ -1,5 +1,5 @@
import { PythonFunction } from '@aws-cdk/aws-lambda-python-alpha';
import {aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_lambda, Duration} from 'aws-cdk-lib';
import { JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model, Resource } from 'aws-cdk-lib/aws-apigateway';
import { Table } from 'aws-cdk-lib/aws-dynamodb';
import { Role } from 'aws-cdk-lib/aws-iam';
@ -113,7 +113,7 @@ export class UpdateSchemaApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(
this.scope,

View File

@ -1,5 +1,5 @@
import { PythonFunction } from '@aws-cdk/aws-lambda-python-alpha';
import {aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_lambda, Duration} from 'aws-cdk-lib';
import { JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model, Resource } from 'aws-cdk-lib/aws-apigateway';
import { Role } from 'aws-cdk-lib/aws-iam';
import { Architecture, LayerVersion, Runtime } from 'aws-cdk-lib/aws-lambda';
@ -77,7 +77,7 @@ export class PingApi {
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(this.scope,
`${this.baseId}-lambda`,

View File

@ -1,5 +1,5 @@
import { PythonFunction } from '@aws-cdk/aws-lambda-python-alpha';
import {Duration} from 'aws-cdk-lib';
import {Aws, Duration} from 'aws-cdk-lib';
import { JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model, RestApi } from 'aws-cdk-lib/aws-apigateway';
import { Role } from 'aws-cdk-lib/aws-iam';
import { Architecture, LayerVersion, Runtime, Tracing } from 'aws-cdk-lib/aws-lambda';
@ -72,7 +72,7 @@ export class RootAPI {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(this.scope,
`${this.baseId}-lambda`,

View File

@ -1,5 +1,5 @@
import { PythonFunction } from '@aws-cdk/aws-lambda-python-alpha';
import {aws_apigateway, aws_dynamodb, aws_kms, aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_apigateway, aws_dynamodb, aws_kms, aws_lambda, Duration} from 'aws-cdk-lib';
import { JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model } from 'aws-cdk-lib/aws-apigateway';
import {Role} from 'aws-cdk-lib/aws-iam';
import { Architecture, Runtime } from 'aws-cdk-lib/aws-lambda';
@ -108,7 +108,7 @@ export class CreateUserApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(this.scope, `${this.baseId}-lambda`, {
entry: '../middleware_api/users',

View File

@ -1,5 +1,5 @@
import { PythonFunction } from '@aws-cdk/aws-lambda-python-alpha';
import {aws_apigateway, aws_dynamodb, aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_apigateway, aws_dynamodb, aws_lambda, Duration} from 'aws-cdk-lib';
import { JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model } from 'aws-cdk-lib/aws-apigateway';
import {Role} from 'aws-cdk-lib/aws-iam';
import { Architecture, Runtime } from 'aws-cdk-lib/aws-lambda';
@ -82,7 +82,7 @@ export class DeleteUsersApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(this.scope, `${this.baseId}-lambda`, {
entry: '../middleware_api/users',

View File

@ -1,5 +1,5 @@
import { PythonFunction } from '@aws-cdk/aws-lambda-python-alpha';
import {aws_apigateway, aws_dynamodb, aws_kms, aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_apigateway, aws_dynamodb, aws_kms, aws_lambda, Duration} from 'aws-cdk-lib';
import { JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model } from 'aws-cdk-lib/aws-apigateway';
import {Role} from 'aws-cdk-lib/aws-iam';
import { Architecture, Runtime } from 'aws-cdk-lib/aws-lambda';
@ -122,7 +122,7 @@ export class ListUsersApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(this.scope, `${this.baseId}-lambda`, {
entry: '../middleware_api/users',

View File

@ -1,5 +1,5 @@
import { PythonFunction } from '@aws-cdk/aws-lambda-python-alpha';
import {aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_lambda, Duration} from 'aws-cdk-lib';
import { JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model, Resource } from 'aws-cdk-lib/aws-apigateway';
import { Table } from 'aws-cdk-lib/aws-dynamodb';
import { Role } from 'aws-cdk-lib/aws-iam';
@ -143,7 +143,7 @@ export class CreateWorkflowApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(this.scope, `${this.baseId}-lambda`, {
entry: '../middleware_api/workflows',

View File

@ -1,5 +1,5 @@
import {PythonFunction} from '@aws-cdk/aws-lambda-python-alpha';
import {aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_lambda, Duration} from 'aws-cdk-lib';
import {JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model, Resource} from 'aws-cdk-lib/aws-apigateway';
import {Table} from 'aws-cdk-lib/aws-dynamodb';
import {Role} from 'aws-cdk-lib/aws-iam';
@ -86,7 +86,7 @@ export class DeleteWorkflowsApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
const deleteHandle = new PythonFunction(this.scope, `${this.baseId}-handler-lambda`, {
entry: '../middleware_api/workflows',

View File

@ -1,5 +1,5 @@
import { PythonFunction } from '@aws-cdk/aws-lambda-python-alpha';
import {aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_lambda, Duration} from 'aws-cdk-lib';
import { JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model, Resource } from 'aws-cdk-lib/aws-apigateway';
import { Table } from 'aws-cdk-lib/aws-dynamodb';
import { Role } from 'aws-cdk-lib/aws-iam';
@ -107,7 +107,7 @@ export class GetWorkflowApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(
this.scope,

View File

@ -1,5 +1,5 @@
import { PythonFunction } from '@aws-cdk/aws-lambda-python-alpha';
import {aws_apigateway, aws_dynamodb, aws_lambda, Duration} from 'aws-cdk-lib';
import {Aws, aws_apigateway, aws_dynamodb, aws_lambda, Duration} from 'aws-cdk-lib';
import { JsonSchemaType, JsonSchemaVersion, LambdaIntegration, Model } from 'aws-cdk-lib/aws-apigateway';
import {Role} from 'aws-cdk-lib/aws-iam';
import { Architecture, Runtime } from 'aws-cdk-lib/aws-lambda';
@ -124,7 +124,7 @@ export class ListWorkflowsApi {
}
private apiLambda() {
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, ESD_ROLE);
const role = <Role>Role.fromRoleName(this.scope, `${this.baseId}-role`, `${ESD_ROLE}-${Aws.REGION}`);
return new PythonFunction(this.scope, `${this.baseId}-lambda`, {
entry: '../middleware_api/workflows',

View File

@ -1,10 +1,7 @@
import {ESD_VERSION} from "./version";
export const KEY_ALIAS = 'sd-extension-password-key';
export const STACK_ID = 'Extension-for-Stable-Diffusion-on-AWS';
export const SOLUTION_NAME = 'comfy-aws-extension';
export const ESD_VERSION_MAIN = ESD_VERSION.split('-')[0];
export const ESD_ROLE = `ESDRole-${ESD_VERSION_MAIN}`;
export const ESD_ROLE = `ESDRole`;
export const ESD_POLICY_DOCUMENT = {
Version: '2012-10-17',
Statement: [{

View File

@ -64,7 +64,7 @@ export async function handler(event: Event, context: Object) {
}
async function createAndCheckResources() {
await createRegionRole(ESD_ROLE);
await createRegionRole(`${ESD_ROLE}-${AWS_REGION}`);
await new Promise(resolve => setTimeout(resolve, 1000));
await createBucket();