Interface AuthorizationMode
- All Superinterfaces:
software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
AuthorizationMode.Jsii$Proxy
@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)",
date="2023-06-19T16:30:49.361Z")
@Stability(Experimental)
public interface AuthorizationMode
extends software.amazon.jsii.JsiiSerializable
(experimental) Interface to specify default or additional authorization(s).
Example:
GraphqlApi api = GraphqlApi.Builder.create(this, "Api")
.name("demo")
.schema(Schema.fromAsset(join(__dirname, "schema.graphql")))
.authorizationConfig(AuthorizationConfig.builder()
.defaultAuthorization(AuthorizationMode.builder()
.authorizationType(AuthorizationType.IAM)
.build())
.build())
.xrayEnabled(true)
.build();
Table demoTable = Table.Builder.create(this, "DemoTable")
.partitionKey(Attribute.builder()
.name("id")
.type(AttributeType.STRING)
.build())
.build();
DynamoDbDataSource demoDS = api.addDynamoDbDataSource("demoDataSource", demoTable);
// Resolver for the Query "getDemos" that scans the DynamoDb table and returns the entire list.
demoDS.createResolver(BaseResolverProps.builder()
.typeName("Query")
.fieldName("getDemos")
.requestMappingTemplate(MappingTemplate.dynamoDbScanTable())
.responseMappingTemplate(MappingTemplate.dynamoDbResultList())
.build());
// Resolver for the Mutation "addDemo" that puts the item into the DynamoDb table.
demoDS.createResolver(BaseResolverProps.builder()
.typeName("Mutation")
.fieldName("addDemo")
.requestMappingTemplate(MappingTemplate.dynamoDbPutItem(PrimaryKey.partition("id").auto(), Values.projecting("input")))
.responseMappingTemplate(MappingTemplate.dynamoDbResultItem())
.build());
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classA builder forAuthorizationModestatic final classAn implementation forAuthorizationMode -
Method Summary
Modifier and TypeMethodDescriptionstatic AuthorizationMode.Builderbuilder()default ApiKeyConfig(experimental) If authorizationType isAuthorizationType.API_KEY, this option can be configured.(experimental) One of possible four values AppSync supports.default LambdaAuthorizerConfig(experimental) If authorizationType isAuthorizationType.LAMBDA, this option is required.default OpenIdConnectConfig(experimental) If authorizationType isAuthorizationType.OIDC, this option is required.default UserPoolConfig(experimental) If authorizationType isAuthorizationType.USER_POOL, this option is required.Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Method Details
-
getAuthorizationType
(experimental) One of possible four values AppSync supports.Default: - `AuthorizationType.API_KEY`
-
getApiKeyConfig
(experimental) If authorizationType isAuthorizationType.API_KEY, this option can be configured.Default: - name: 'DefaultAPIKey' | description: 'Default API Key created by CDK'
-
getLambdaAuthorizerConfig
(experimental) If authorizationType isAuthorizationType.LAMBDA, this option is required.Default: - none
-
getOpenIdConnectConfig
(experimental) If authorizationType isAuthorizationType.OIDC, this option is required.Default: - none
-
getUserPoolConfig
(experimental) If authorizationType isAuthorizationType.USER_POOL, this option is required.Default: - none
-
builder
- Returns:
- a
AuthorizationMode.BuilderofAuthorizationMode
-