UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

141 lines (140 loc) 4.72 kB
import { Construct } from 'constructs'; import { CfnSourceApiAssociation } from './appsync.generated'; import { IGraphqlApi } from './graphqlapi-base'; import { IRole } from '../../aws-iam'; import { IResource, Resource } from '../../core'; /** * Merge type used to associate the source API */ export declare enum MergeType { /** * Manual merge. The merge must be triggered manually when the source API has changed. */ MANUAL_MERGE = "MANUAL_MERGE", /** * Auto merge. The merge is triggered automatically when the source API has changed. */ AUTO_MERGE = "AUTO_MERGE" } /** * Interface for AppSync Source Api Association */ export interface ISourceApiAssociation extends IResource { /** * The association id. */ readonly associationId: string; /** * The association arn. */ readonly associationArn: string; /** * The source api in the association. */ readonly sourceApi: IGraphqlApi; /** * The merged api in the association. */ readonly mergedApi: IGraphqlApi; } /** * The attributes for imported AppSync Source Api Association. */ export interface SourceApiAssociationAttributes { /** * The association arn. */ readonly associationArn: string; /** * The source api in the association. */ readonly sourceApi: IGraphqlApi; /** * The merged api in the association. */ readonly mergedApi: IGraphqlApi; } /** * Properties for SourceApiAssociation which associates an AppSync Source API with an AppSync Merged API */ export interface SourceApiAssociationProps { /** * The source api to associate. */ readonly sourceApi: IGraphqlApi; /** * The merged api to associate. */ readonly mergedApi: IGraphqlApi; /** * The merged api execution role for adding the access policy for the source api. */ readonly mergedApiExecutionRole: IRole; /** * The merge type for the source * * @default - AUTO_MERGE */ readonly mergeType?: MergeType; /** * The description of the source api association * * @default - None */ readonly description?: string; } /** * AppSync SourceApiAssociation which associates an AppSync source API to an AppSync Merged API. * The initial creation of the SourceApiAssociation merges the source API into the Merged API schema. */ export declare class SourceApiAssociation extends Resource implements ISourceApiAssociation { /** Uniquely identifies this class. */ static readonly PROPERTY_INJECTION_ID: string; /** * Import Appsync Source Api Association from source API, merged api, and merge type. */ static fromSourceApiAssociationAttributes(scope: Construct, id: string, attrs: SourceApiAssociationAttributes): ISourceApiAssociation; /** * The association id. */ readonly associationId: string; /** * The association arn. */ readonly associationArn: string; /** * The underlying CFN source api association resource. */ readonly association: CfnSourceApiAssociation; /** * The merged api in the association. */ readonly mergedApi: IGraphqlApi; /** * The source api in the association. */ readonly sourceApi: IGraphqlApi; /** * The merge type for the source api association. */ readonly mergeType: MergeType; /** * The merged api execution role for attaching the access policy. */ private readonly mergedApiExecutionRole?; constructor(scope: Construct, id: string, props: SourceApiAssociationProps); } /** * Adds an IAM permission to the Merged API execution role for GraphQL access on the source AppSync api. * * @param sourceApiAssociation The CfnSourceApiAssociation resource which to add a permission to access at runtime. * @param mergedApiExecutionRole The merged api execution role on which to add the permission. */ export declare function addSourceGraphQLPermission(sourceApiAssociation: CfnSourceApiAssociation, mergedApiExecutionRole: IRole): import("../../aws-iam").AddToPrincipalPolicyResult; /** * Adds an IAM permission to the Merged API execution role for automatically merging the source API metadata whenever * the source API is updated. * @param sourceApiAssociation The CfnSourceApiAssociation resource which to add permission to perform merge operations on. * @param mergedApiExecutionRole The merged api execution role on which to add the permission. */ export declare function addSourceApiAutoMergePermission(sourceApiAssociation: CfnSourceApiAssociation, mergedApiExecutionRole: IRole): import("../../aws-iam").AddToPrincipalPolicyResult;