iam-floyd
Version:
AWS IAM policy statement generator with fluent interface
984 lines (983 loc) • 35.2 kB
TypeScript
import { AccessLevelList } from '../../shared/access-level';
import { PolicyStatement, Operator } from '../../shared';
/**
* Statement provider for service [appsync](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsappsync.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
export declare class Appsync extends PolicyStatement {
servicePrefix: string;
/**
* Statement provider for service [appsync](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsappsync.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
constructor(sid?: string);
/**
* Grants permission to attach a GraphQL API to a custom domain name in AppSync
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_AssociateApi.html
*/
toAssociateApi(): this;
/**
* Grants permission to associate a merged API to a source API
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_AssociateMergedGraphqlApi.html
*/
toAssociateMergedGraphqlApi(): this;
/**
* Grants permission to associate a source API to a merged API
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_AssociateSourceGraphqlApi.html
*/
toAssociateSourceGraphqlApi(): this;
/**
* Grants permission to create an API
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* Dependent actions:
* - iam:CreateServiceLinkedRole
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_CreateApi.html
*/
toCreateApi(): this;
/**
* Grants permission to create an API cache in AppSync
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_CreateApiCache.html
*/
toCreateApiCache(): this;
/**
* Grants permission to create a unique key that you can distribute to clients who are executing your API
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_CreateApiKey.html
*/
toCreateApiKey(): this;
/**
* Grants permission to create a channel namespace
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_CreateChannelNamespace.html
*/
toCreateChannelNamespace(): this;
/**
* Grants permission to create a data source
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_CreateDataSource.html
*/
toCreateDataSource(): this;
/**
* Grants permission to create a custom domain name in AppSync
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_CreateDomainName.html
*/
toCreateDomainName(): this;
/**
* Grants permission to create a new function
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_CreateFunction.html
*/
toCreateFunction(): this;
/**
* Grants permission to create a GraphQL API, which is the top level AppSync resource
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifVisibility()
*
* Dependent actions:
* - iam:CreateServiceLinkedRole
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_CreateGraphqlApi.html
*/
toCreateGraphqlApi(): this;
/**
* Grants permission to create a resolver. A resolver converts incoming requests into a format that a data source can understand, and converts the data source's responses into GraphQL
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_CreateResolver.html
*/
toCreateResolver(): this;
/**
* Grants permission to create a type
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_CreateType.html
*/
toCreateType(): this;
/**
* Grants permission to delete a API. This will also clean up every AppSync resource below that API
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_DeleteApi.html
*/
toDeleteApi(): this;
/**
* Grants permission to delete an API cache in AppSync
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_DeleteApiCache.html
*/
toDeleteApiCache(): this;
/**
* Grants permission to delete an API key
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_DeleteApiKey.html
*/
toDeleteApiKey(): this;
/**
* Grants permission to delete a channel namespace
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_DeleteChannelNamespace.html
*/
toDeleteChannelNamespace(): this;
/**
* Grants permission to delete a data source
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_DeleteDataSource.html
*/
toDeleteDataSource(): this;
/**
* Grants permission to delete a custom domain name in AppSync
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_DeleteDomainName.html
*/
toDeleteDomainName(): this;
/**
* Grants permission to delete a function
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_DeleteFunction.html
*/
toDeleteFunction(): this;
/**
* Grants permission to delete a GraphQL Api. This will also clean up every AppSync resource below that API
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_DeleteGraphqlApi.html
*/
toDeleteGraphqlApi(): this;
/**
* Grants permission to delete a resolver
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_DeleteResolver.html
*/
toDeleteResolver(): this;
/**
* Grants permission to remove a resource policy
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/devguide/merge-api.html
*/
toDeleteResourcePolicy(): this;
/**
* Grants permission to delete a type
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_DeleteType.html
*/
toDeleteType(): this;
/**
* Grants permission to detach a GraphQL API to a custom domain name in AppSync
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_DisassociateApi.html
*/
toDisassociateApi(): this;
/**
* Grants permission to remove an associated source API from a merged API identified by the source API
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_DisassociateMergedGraphqlApi.html
*/
toDisassociateMergedGraphqlApi(): this;
/**
* Grants permission to remove an associated source API from a merged API identified by the merged API
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_DisassociateSourceGraphqlApi.html
*/
toDisassociateSourceGraphqlApi(): this;
/**
* Grants permission to evaluate code with a runtime and context
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_EvaluateCode.html
*/
toEvaluateCode(): this;
/**
* Grants permission to evaluate template mapping
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_EvaluateMappingTemplate.html
*/
toEvaluateMappingTemplate(): this;
/**
* Grants permission to connect to an Event API
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/devguide/using-your-event-api.html
*/
toEventConnect(): this;
/**
* Grants permission to publish events to a channel namespace
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/devguide/using-your-event-api.html
*/
toEventPublish(): this;
/**
* Grants permission to subscribe to a channel namespace
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/devguide/using-your-event-api.html
*/
toEventSubscribe(): this;
/**
* Grants permission to flush an API cache in AppSync
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_FlushApiCache.html
*/
toFlushApiCache(): this;
/**
* Grants permission to retrieve an API
*
* Access Level: Read
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_GetApi.html
*/
toGetApi(): this;
/**
* Grants permission to read custom domain name - GraphQL API association details in AppSync
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_GetApiAssociation.html
*/
toGetApiAssociation(): this;
/**
* Grants permission to read information about an API cache in AppSync
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_GetApiCache.html
*/
toGetApiCache(): this;
/**
* Grants permission to retrieve a channel namespace
*
* Access Level: Read
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_GetChannelNamespace.html
*/
toGetChannelNamespace(): this;
/**
* Grants permission to retrieve a data source
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_GetDataSource.html
*/
toGetDataSource(): this;
/**
* Grants permission to retrieve a data source introspection
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_GetDataSourceIntrospection.html
*/
toGetDataSourceIntrospection(): this;
/**
* Grants permission to read information about a custom domain name in AppSync
*
* Access Level: Read
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_GetDomainName.html
*/
toGetDomainName(): this;
/**
* Grants permission to retrieve a function
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_GetFunction.html
*/
toGetFunction(): this;
/**
* Grants permission to retrieve a GraphQL API
*
* Access Level: Read
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_GetGraphqlApi.html
*/
toGetGraphqlApi(): this;
/**
* Grants permission to retrieve the environment variables for a GraphQL API
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_GetGraphqlApiEnvironmentVariables.html
*/
toGetGraphqlApiEnvironmentVariables(): this;
/**
* Grants permission to retrieve the introspection schema for a GraphQL API
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_GetIntrospectionSchema.html
*/
toGetIntrospectionSchema(): this;
/**
* Grants permission to retrieve a resolver
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_GetResolver.html
*/
toGetResolver(): this;
/**
* Grants permission to read a resource policy
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appsync/latest/devguide/merge-api.html
*/
toGetResourcePolicy(): this;
/**
* Grants permission to retrieve the current status of a schema creation operation
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_GetSchemaCreationStatus.html
*/
toGetSchemaCreationStatus(): this;
/**
* Grants permission to read information about a merged API associated source API
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_GetSourceApiAssociation.html
*/
toGetSourceApiAssociation(): this;
/**
* Grants permission to retrieve a type
*
* Access Level: Read
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_GetType.html
*/
toGetType(): this;
/**
* Grants permission to send a GraphQL query to a GraphQL API
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/devguide/security-authz.html#aws-iam-authorization
*/
toGraphQL(): this;
/**
* Grants permission to list the API keys for a given API
*
* Access Level: List
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_ListApiKeys.html
*/
toListApiKeys(): this;
/**
* Grants permission to list APIs
*
* Access Level: List
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_ListApis.html
*/
toListApis(): this;
/**
* Grants permission to list channel namespace
*
* Access Level: List
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_ListChannelNamespaces.html
*/
toListChannelNamespaces(): this;
/**
* Grants permission to list the data sources for a given API
*
* Access Level: List
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_ListDataSources.html
*/
toListDataSources(): this;
/**
* Grants permission to enumerate custom domain names in AppSync
*
* Access Level: List
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_ListDomainNames.html
*/
toListDomainNames(): this;
/**
* Grants permission to list the functions for a given API
*
* Access Level: List
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_ListFunctions.html
*/
toListFunctions(): this;
/**
* Grants permission to list GraphQL APIs
*
* Access Level: List
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_ListGraphqlApis.html
*/
toListGraphqlApis(): this;
/**
* Grants permission to list the resolvers for a given API and type
*
* Access Level: List
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_ListResolvers.html
*/
toListResolvers(): this;
/**
* Grants permission to list the resolvers that are associated with a specific function
*
* Access Level: List
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_ListResolversByFunction.html
*/
toListResolversByFunction(): this;
/**
* Grants permission to list source APIs associated to a given merged API
*
* Access Level: List
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_ListSourceApiAssociations.html
*/
toListSourceApiAssociations(): this;
/**
* Grants permission to list the tags for a resource
*
* Access Level: Read
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_ListTagsForResource.html
*/
toListTagsForResource(): this;
/**
* Grants permission to list the types for a given API
*
* Access Level: List
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_ListTypes.html
*/
toListTypes(): this;
/**
* Grants permission to list the types for a given merged API and source API association
*
* Access Level: List
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_ListTypesByAssociation.html
*/
toListTypesByAssociation(): this;
/**
* Grants permission to update the environment variables for a GraphQL API
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_PutGraphqlApiEnvironmentVariables.html
*/
toPutGraphqlApiEnvironmentVariables(): this;
/**
* Grants permission to set a resource policy
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/devguide/merge-api.html
*/
toPutResourcePolicy(): this;
/**
* Grants permission to set a web ACL
*
* Access Level: Permissions management
*
* https://docs.aws.amazon.com/appsync/latest/devguide/WAF-Integration.html
*/
toSetWebACL(): this;
/**
* Grants permission to send a GraphQL query to a source API of a merged API
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/devguide/using-your-api.html
*/
toSourceGraphQL(): this;
/**
* Grants permission to introspect a data source
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_StartDataSourceIntrospection.html
*/
toStartDataSourceIntrospection(): this;
/**
* Grants permission to add a new schema to your GraphQL API. This operation is asynchronous - GetSchemaCreationStatus can show when it has completed
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_StartSchemaCreation.html
*/
toStartSchemaCreation(): this;
/**
* Grants permission to initiate a schema merge for a given merged API and associated source API
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_StartSchemaMerge.html
*/
toStartSchemaMerge(): this;
/**
* Grants permission to tag a resource
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_TagResource.html
*/
toTagResource(): this;
/**
* Grants permission to untag a resource
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsTagKeys()
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_UntagResource.html
*/
toUntagResource(): this;
/**
* Grants permission to update an API
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* Dependent actions:
* - iam:CreateServiceLinkedRole
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_UpdateApi.html
*/
toUpdateApi(): this;
/**
* Grants permission to update an API cache in AppSync
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_UpdateApiCache.html
*/
toUpdateApiCache(): this;
/**
* Grants permission to update an API key for a given API
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_UpdateApiKey.html
*/
toUpdateApiKey(): this;
/**
* Grants permission to update a channel namespace
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_UpdateChannelNamespace.html
*/
toUpdateChannelNamespace(): this;
/**
* Grants permission to update a data source
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_UpdateDataSource.html
*/
toUpdateDataSource(): this;
/**
* Grants permission to update a custom domain name in AppSync
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_UpdateDomainName.html
*/
toUpdateDomainName(): this;
/**
* Grants permission to update an existing function
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_UpdateFunction.html
*/
toUpdateFunction(): this;
/**
* Grants permission to update a GraphQL API
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* Dependent actions:
* - iam:CreateServiceLinkedRole
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_UpdateGraphqlApi.html
*/
toUpdateGraphqlApi(): this;
/**
* Grants permission to update a resolver
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_UpdateResolver.html
*/
toUpdateResolver(): this;
/**
* Grants permission to update a merged API source API association
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_UpdateSourceApiAssociation.html
*/
toUpdateSourceApiAssociation(): this;
/**
* Grants permission to update a type
*
* Access Level: Write
*
* https://docs.aws.amazon.com/appsync/latest/APIReference/API_UpdateType.html
*/
toUpdateType(): this;
protected accessLevelList: AccessLevelList;
/**
* Adds a resource of type datasource to the statement
*
* https://docs.aws.amazon.com/appsync/latest/devguide/attaching-a-data-source.html
*
* @param graphQLAPIId - Identifier for the graphQLAPIId.
* @param datasourceName - Identifier for the datasourceName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*/
onDatasource(graphQLAPIId: string, datasourceName: string, account?: string, region?: string, partition?: string): this;
/**
* Adds a resource of type domain to the statement
*
* https://docs.aws.amazon.com/appsync/latest/devguide/custom-domain-name.html
*
* @param domainName - Identifier for the domainName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onDomain(domainName: string, account?: string, region?: string, partition?: string): this;
/**
* Adds a resource of type graphqlapi to the statement
*
* https://docs.aws.amazon.com/appsync/latest/devguide/designing-a-graphql-api.html
*
* @param graphQLAPIId - Identifier for the graphQLAPIId.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onGraphqlapi(graphQLAPIId: string, account?: string, region?: string, partition?: string): this;
/**
* Adds a resource of type field to the statement
*
* https://docs.aws.amazon.com/appsync/latest/devguide/configuring-resolvers.html
*
* @param graphQLAPIId - Identifier for the graphQLAPIId.
* @param typeName - Identifier for the typeName.
* @param fieldName - Identifier for the fieldName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*/
onField(graphQLAPIId: string, typeName: string, fieldName: string, account?: string, region?: string, partition?: string): this;
/**
* Adds a resource of type type to the statement
*
* https://docs.aws.amazon.com/appsync/latest/devguide/designing-your-schema.html#adding-a-root-query-type
*
* @param graphQLAPIId - Identifier for the graphQLAPIId.
* @param typeName - Identifier for the typeName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*/
onType(graphQLAPIId: string, typeName: string, account?: string, region?: string, partition?: string): this;
/**
* Adds a resource of type function to the statement
*
* https://docs.aws.amazon.com/appsync/latest/devguide/pipeline-resolvers.html
*
* @param graphQLAPIId - Identifier for the graphQLAPIId.
* @param functionId - Identifier for the functionId.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*/
onFunction(graphQLAPIId: string, functionId: string, account?: string, region?: string, partition?: string): this;
/**
* Adds a resource of type sourceApiAssociation to the statement
*
* https://docs.aws.amazon.com/appsync/latest/devguide/merged-api.html
*
* @param mergedGraphQLAPIId - Identifier for the mergedGraphQLAPIId.
* @param associationid - Identifier for the associationid.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*/
onSourceApiAssociation(mergedGraphQLAPIId: string, associationid: string, account?: string, region?: string, partition?: string): this;
/**
* Adds a resource of type mergedApiAssociation to the statement
*
* https://docs.aws.amazon.com/appsync/latest/devguide/merged-api.html
*
* @param sourceGraphQLAPIId - Identifier for the sourceGraphQLAPIId.
* @param associationid - Identifier for the associationid.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*/
onMergedApiAssociation(sourceGraphQLAPIId: string, associationid: string, account?: string, region?: string, partition?: string): this;
/**
* Adds a resource of type api to the statement
*
* https://docs.aws.amazon.com/appsync/latest/eventapi/event-api-welcome.html
*
* @param apiId - Identifier for the apiId.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onApi(apiId: string, account?: string, region?: string, partition?: string): this;
/**
* Adds a resource of type channelNamespace to the statement
*
* https://docs.aws.amazon.com/appsync/latest/eventapi/channel-namespaces.html
*
* @param apiId - Identifier for the apiId.
* @param channelNamespaceName - Identifier for the channelNamespaceName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onChannelNamespace(apiId: string, channelNamespaceName: string, account?: string, region?: string, partition?: string): this;
/**
* Filters access by the visibility of an API
*
* Applies to actions:
* - .toCreateGraphqlApi()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifVisibility(value: string | string[], operator?: Operator | string): this;
/**
* Filters access by the tag key-value pairs in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag
*
* Applies to actions:
* - .toCreateApi()
* - .toCreateChannelNamespace()
* - .toCreateDomainName()
* - .toCreateGraphqlApi()
* - .toTagResource()
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsRequestTag(tagKey: string, value: string | string[], operator?: Operator | string): this;
/**
* Filters access by the tag key-value pairs attached to the resource
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag
*
* Applies to actions:
* - .toCreateApi()
* - .toCreateChannelNamespace()
* - .toCreateDomainName()
* - .toDeleteApi()
* - .toDeleteChannelNamespace()
* - .toDeleteDomainName()
* - .toDeleteGraphqlApi()
* - .toGetApi()
* - .toGetChannelNamespace()
* - .toGetDomainName()
* - .toGetGraphqlApi()
* - .toListApis()
* - .toListChannelNamespaces()
* - .toListDomainNames()
* - .toListTagsForResource()
* - .toTagResource()
* - .toUntagResource()
* - .toUpdateApi()
* - .toUpdateChannelNamespace()
* - .toUpdateDomainName()
* - .toUpdateGraphqlApi()
*
* Applies to resource types:
* - domain
* - graphqlapi
* - api
* - channelNamespace
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsResourceTag(tagKey: string, value: string | string[], operator?: Operator | string): this;
/**
* Filters access by the presence of tag keys in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys
*
* Applies to actions:
* - .toCreateApi()
* - .toCreateChannelNamespace()
* - .toCreateDomainName()
* - .toCreateGraphqlApi()
* - .toTagResource()
* - .toUntagResource()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsTagKeys(value: string | string[], operator?: Operator | string): this;
}