amazonka-apigateway-1.4.5: Amazon API Gateway SDK.

Copyright(c) 2013-2016 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.AWS.APIGateway.CreateAuthorizer

Contents

Description

Adds a new Authorizer resource to an existing RestApi resource.

AWS CLI

Synopsis

Creating a Request

createAuthorizer #

Creates a value of CreateAuthorizer with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

data CreateAuthorizer #

Request to add a new Authorizer to an existing RestApi resource.

See: createAuthorizer smart constructor.

Instances

Eq CreateAuthorizer # 
Data CreateAuthorizer # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CreateAuthorizer -> c CreateAuthorizer #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CreateAuthorizer #

toConstr :: CreateAuthorizer -> Constr #

dataTypeOf :: CreateAuthorizer -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c CreateAuthorizer) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CreateAuthorizer) #

gmapT :: (forall b. Data b => b -> b) -> CreateAuthorizer -> CreateAuthorizer #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CreateAuthorizer -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CreateAuthorizer -> r #

gmapQ :: (forall d. Data d => d -> u) -> CreateAuthorizer -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CreateAuthorizer -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CreateAuthorizer -> m CreateAuthorizer #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateAuthorizer -> m CreateAuthorizer #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CreateAuthorizer -> m CreateAuthorizer #

Read CreateAuthorizer # 
Show CreateAuthorizer # 
Generic CreateAuthorizer # 
Hashable CreateAuthorizer # 
ToJSON CreateAuthorizer # 
NFData CreateAuthorizer # 

Methods

rnf :: CreateAuthorizer -> () #

AWSRequest CreateAuthorizer # 
ToQuery CreateAuthorizer # 
ToPath CreateAuthorizer # 
ToHeaders CreateAuthorizer # 
type Rep CreateAuthorizer # 
type Rs CreateAuthorizer # 

Request Lenses

caAuthorizerURI :: Lens' CreateAuthorizer (Maybe Text) #

Required
Specifies the authorizer's Uniform Resource Identifier (URI).

caIdentityValidationExpression :: Lens' CreateAuthorizer (Maybe Text) #

A validation expression for the incoming identity.

caProviderARNs :: Lens' CreateAuthorizer [Text] #

A list of the Cognito Your User Pool authorizer's provider ARNs.

caAuthorizerResultTtlInSeconds :: Lens' CreateAuthorizer (Maybe Int) #

The TTL of cached authorizer results.

caAuthType :: Lens' CreateAuthorizer (Maybe Text) #

Optional customer-defined field, used in Swagger imports/exports. Has no functional impact.

caAuthorizerCredentials :: Lens' CreateAuthorizer (Maybe Text) #

Specifies the credentials required for the authorizer, if any.

caRestAPIId :: Lens' CreateAuthorizer Text #

The RestApi identifier under which the Authorizer will be created.

caName :: Lens' CreateAuthorizer Text #

Required
The name of the authorizer.

caType :: Lens' CreateAuthorizer AuthorizerType #

Required
The type of the authorizer.

caIdentitySource :: Lens' CreateAuthorizer Text #

Required
The source of the identity in an incoming request.

Destructuring the Response

authorizer :: Authorizer #

Creates a value of Authorizer with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • aAuthorizerURI - [Required] Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path2015-03-31functionsarn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}invocations . In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api} , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial / . For Lambda functions, this is usually of the form 2015-03-31functions[FunctionARN]invocations.
  • aIdentityValidationExpression - A validation expression for the incoming identity. For TOKEN authorizers, this value should be a regular expression. The incoming token from the client is matched against this expression, and will proceed if the token matches. If the token doesn't match, the client receives a 401 Unauthorized response.
  • aProviderARNs - A list of the provider ARNs of the authorizer. For an TOKEN authorizer, this is not defined. For authorizers of the COGNITO_USER_POOLS type, each element corresponds to a user pool ARN of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id} .
  • aName - [Required] The name of the authorizer.
  • aId - The identifier for the authorizer resource.
  • aAuthorizerResultTtlInSeconds - The TTL in seconds of cached authorizer results. If greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.
  • aAuthType - Optional customer-defined field, used in Swagger imports/exports. Has no functional impact.
  • aType - [Required] The type of the authorizer. Currently, the valid type is TOKEN for a Lambda function or COGNITO_USER_POOLS for an Amazon Cognito user pool.
  • aIdentitySource - [Required] The source of the identity in an incoming request. For a TOKEN authorizer, this value is a mapping expression with the same syntax as integration parameter mappings. The only valid source for tokens is header, so the expression should match 'method.request.header.[headerName]'. The value of the header '[headerName]' will be interpreted as the incoming token. For COGNITO_USER_POOLS authorizers, this property is used.
  • aAuthorizerCredentials - Specifies the credentials required for the authorizer, if any. Two options are available. To specify an IAM role for Amazon API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.

data Authorizer #

Represents an authorization layer for methods. If enabled on a method, API Gateway will activate the authorizer when a client calls the method.

Enable custom authorization

See: authorizer smart constructor.

Instances

Eq Authorizer # 
Data Authorizer # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Authorizer -> c Authorizer #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Authorizer #

toConstr :: Authorizer -> Constr #

dataTypeOf :: Authorizer -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c Authorizer) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Authorizer) #

gmapT :: (forall b. Data b => b -> b) -> Authorizer -> Authorizer #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Authorizer -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Authorizer -> r #

gmapQ :: (forall d. Data d => d -> u) -> Authorizer -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Authorizer -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Authorizer -> m Authorizer #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Authorizer -> m Authorizer #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Authorizer -> m Authorizer #

Read Authorizer # 
Show Authorizer # 
Generic Authorizer # 

Associated Types

type Rep Authorizer :: * -> * #

Hashable Authorizer # 
FromJSON Authorizer # 
NFData Authorizer # 

Methods

rnf :: Authorizer -> () #

type Rep Authorizer # 

Response Lenses

aAuthorizerURI :: Lens' Authorizer (Maybe Text) #

Required
Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path2015-03-31functionsarn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}invocations . In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api} , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial / . For Lambda functions, this is usually of the form 2015-03-31functions[FunctionARN]invocations.

aIdentityValidationExpression :: Lens' Authorizer (Maybe Text) #

A validation expression for the incoming identity. For TOKEN authorizers, this value should be a regular expression. The incoming token from the client is matched against this expression, and will proceed if the token matches. If the token doesn't match, the client receives a 401 Unauthorized response.

aProviderARNs :: Lens' Authorizer [Text] #

A list of the provider ARNs of the authorizer. For an TOKEN authorizer, this is not defined. For authorizers of the COGNITO_USER_POOLS type, each element corresponds to a user pool ARN of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id} .

aName :: Lens' Authorizer (Maybe Text) #

Required
The name of the authorizer.

aId :: Lens' Authorizer (Maybe Text) #

The identifier for the authorizer resource.

aAuthorizerResultTtlInSeconds :: Lens' Authorizer (Maybe Int) #

The TTL in seconds of cached authorizer results. If greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.

aAuthType :: Lens' Authorizer (Maybe Text) #

Optional customer-defined field, used in Swagger imports/exports. Has no functional impact.

aType :: Lens' Authorizer (Maybe AuthorizerType) #

Required
The type of the authorizer. Currently, the valid type is TOKEN for a Lambda function or COGNITO_USER_POOLS for an Amazon Cognito user pool.

aIdentitySource :: Lens' Authorizer (Maybe Text) #

Required
The source of the identity in an incoming request. For a TOKEN authorizer, this value is a mapping expression with the same syntax as integration parameter mappings. The only valid source for tokens is header, so the expression should match 'method.request.header.[headerName]'. The value of the header '[headerName]' will be interpreted as the incoming token. For COGNITO_USER_POOLS authorizers, this property is used.

aAuthorizerCredentials :: Lens' Authorizer (Maybe Text) #

Specifies the credentials required for the authorizer, if any. Two options are available. To specify an IAM role for Amazon API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.