amazonka-lambda-1.6.1: Amazon Lambda SDK.

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

Network.AWS.Lambda.UpdateFunctionCode

Contents

Description

Updates the code for the specified Lambda function. This operation must only be used on an existing Lambda function and cannot be used to update the function configuration.

If you are using the versioning feature, note this API will always update the $LATEST version of your Lambda function. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases .

This operation requires permission for the lambda:UpdateFunctionCode action.

Synopsis

Creating a Request

updateFunctionCode Source #

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

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

  • uS3ObjectVersion - The Amazon S3 object (the deployment package) version you want to upload.
  • uS3Key - The Amazon S3 object (the deployment package) key name you want to upload.
  • uZipFile - The contents of your zip file containing your deployment package. If you are using the web API directly, the contents of the zip file must be base64-encoded. If you are using the AWS SDKs or the AWS CLI, the SDKs or CLI will do the encoding for you. For more information about creating a .zip file, see Execution Permissions . -- Note: This Lens automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This Lens accepts and returns only raw unencoded data.
  • uS3Bucket - Amazon S3 bucket name where the .zip file containing your deployment package is stored. This bucket must reside in the same AWS Region where you are creating the Lambda function.
  • uDryRun - This boolean parameter can be used to test your request to AWS Lambda to update the Lambda function and publish a version as an atomic operation. It will do all necessary computation and validation of your code but will not upload it or a publish a version. Each time this operation is invoked, the CodeSha256 hash value of the provided code will also be computed and returned in the response.
  • uRevisionId - An optional value you can use to ensure you are updating the latest update of the function version or alias. If the RevisionID you pass doesn't match the latest RevisionId of the function or alias, it will fail with an error message, advising you to retrieve the latest function version or alias RevisionID using either or .
  • uPublish - This boolean parameter can be used to request AWS Lambda to update the Lambda function and publish a version as an atomic operation.
  • uFunctionName - The existing Lambda function name whose code you want to replace. You can specify a function name (for example, Thumbnail ) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail ). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail ). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

data UpdateFunctionCode Source #

See: updateFunctionCode smart constructor.

Instances
Eq UpdateFunctionCode Source # 
Instance details

Defined in Network.AWS.Lambda.UpdateFunctionCode

Data UpdateFunctionCode Source # 
Instance details

Defined in Network.AWS.Lambda.UpdateFunctionCode

Methods

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

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

toConstr :: UpdateFunctionCode -> Constr #

dataTypeOf :: UpdateFunctionCode -> DataType #

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

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

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

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

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

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

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

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

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

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

Show UpdateFunctionCode Source # 
Instance details

Defined in Network.AWS.Lambda.UpdateFunctionCode

Generic UpdateFunctionCode Source # 
Instance details

Defined in Network.AWS.Lambda.UpdateFunctionCode

Associated Types

type Rep UpdateFunctionCode :: Type -> Type #

Hashable UpdateFunctionCode Source # 
Instance details

Defined in Network.AWS.Lambda.UpdateFunctionCode

ToJSON UpdateFunctionCode Source # 
Instance details

Defined in Network.AWS.Lambda.UpdateFunctionCode

AWSRequest UpdateFunctionCode Source # 
Instance details

Defined in Network.AWS.Lambda.UpdateFunctionCode

Associated Types

type Rs UpdateFunctionCode :: Type #

ToHeaders UpdateFunctionCode Source # 
Instance details

Defined in Network.AWS.Lambda.UpdateFunctionCode

ToPath UpdateFunctionCode Source # 
Instance details

Defined in Network.AWS.Lambda.UpdateFunctionCode

ToQuery UpdateFunctionCode Source # 
Instance details

Defined in Network.AWS.Lambda.UpdateFunctionCode

NFData UpdateFunctionCode Source # 
Instance details

Defined in Network.AWS.Lambda.UpdateFunctionCode

Methods

rnf :: UpdateFunctionCode -> () #

type Rep UpdateFunctionCode Source # 
Instance details

Defined in Network.AWS.Lambda.UpdateFunctionCode

type Rs UpdateFunctionCode Source # 
Instance details

Defined in Network.AWS.Lambda.UpdateFunctionCode

Request Lenses

uS3ObjectVersion :: Lens' UpdateFunctionCode (Maybe Text) Source #

The Amazon S3 object (the deployment package) version you want to upload.

uS3Key :: Lens' UpdateFunctionCode (Maybe Text) Source #

The Amazon S3 object (the deployment package) key name you want to upload.

uZipFile :: Lens' UpdateFunctionCode (Maybe ByteString) Source #

The contents of your zip file containing your deployment package. If you are using the web API directly, the contents of the zip file must be base64-encoded. If you are using the AWS SDKs or the AWS CLI, the SDKs or CLI will do the encoding for you. For more information about creating a .zip file, see Execution Permissions . -- Note: This Lens automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This Lens accepts and returns only raw unencoded data.

uS3Bucket :: Lens' UpdateFunctionCode (Maybe Text) Source #

Amazon S3 bucket name where the .zip file containing your deployment package is stored. This bucket must reside in the same AWS Region where you are creating the Lambda function.

uDryRun :: Lens' UpdateFunctionCode (Maybe Bool) Source #

This boolean parameter can be used to test your request to AWS Lambda to update the Lambda function and publish a version as an atomic operation. It will do all necessary computation and validation of your code but will not upload it or a publish a version. Each time this operation is invoked, the CodeSha256 hash value of the provided code will also be computed and returned in the response.

uRevisionId :: Lens' UpdateFunctionCode (Maybe Text) Source #

An optional value you can use to ensure you are updating the latest update of the function version or alias. If the RevisionID you pass doesn't match the latest RevisionId of the function or alias, it will fail with an error message, advising you to retrieve the latest function version or alias RevisionID using either or .

uPublish :: Lens' UpdateFunctionCode (Maybe Bool) Source #

This boolean parameter can be used to request AWS Lambda to update the Lambda function and publish a version as an atomic operation.

uFunctionName :: Lens' UpdateFunctionCode Text Source #

The existing Lambda function name whose code you want to replace. You can specify a function name (for example, Thumbnail ) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail ). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail ). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

Destructuring the Response

functionConfiguration :: FunctionConfiguration Source #

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

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

  • fcMemorySize - The memory size, in MB, you configured for the function. Must be a multiple of 64 MB.
  • fcRuntime - The runtime environment for the Lambda function.
  • fcFunctionARN - The Amazon Resource Name (ARN) assigned to the function.
  • fcKMSKeyARN - The Amazon Resource Name (ARN) of the KMS key used to encrypt your function's environment variables. If empty, it means you are using the AWS Lambda default service key.
  • fcEnvironment - The parent object that contains your environment's configuration settings.
  • fcDeadLetterConfig - The parent object that contains the target ARN (Amazon Resource Name) of an Amazon SQS queue or Amazon SNS topic. For more information, see dlq .
  • fcRole - The Amazon Resource Name (ARN) of the IAM role that Lambda assumes when it executes your function to access any other Amazon Web Services (AWS) resources.
  • fcVPCConfig - VPC configuration associated with your Lambda function.
  • fcVersion - The version of the Lambda function.
  • fcFunctionName - The name of the function. Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.
  • fcCodeSize - The size, in bytes, of the function .zip file you uploaded.
  • fcHandler - The function Lambda calls to begin executing your function.
  • fcTimeout - The function execution time at which Lambda should terminate the function. Because the execution time has cost implications, we recommend you set this value based on your expected execution time. The default is 3 seconds.
  • fcLastModified - The time stamp of the last time you updated the function. The time stamp is conveyed as a string complying with ISO-8601 in this way YYYY-MM-DDThh:mm:ssTZD (e.g., 1997-07-16T19:20:30+01:00). For more information, see Date and Time Formats .
  • fcCodeSha256 - It is the SHA256 hash of your function deployment package.
  • fcTracingConfig - The parent object that contains your function's tracing settings.
  • fcDescription - The user-provided description.
  • fcRevisionId - Represents the latest updated revision of the function or alias.
  • fcMasterARN - Returns the ARN (Amazon Resource Name) of the master function.

data FunctionConfiguration Source #

A complex type that describes function metadata.

See: functionConfiguration smart constructor.

Instances
Eq FunctionConfiguration Source # 
Instance details

Defined in Network.AWS.Lambda.Types.Product

Data FunctionConfiguration Source # 
Instance details

Defined in Network.AWS.Lambda.Types.Product

Methods

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

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

toConstr :: FunctionConfiguration -> Constr #

dataTypeOf :: FunctionConfiguration -> DataType #

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

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

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

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

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

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

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

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

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

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

Show FunctionConfiguration Source # 
Instance details

Defined in Network.AWS.Lambda.Types.Product

Generic FunctionConfiguration Source # 
Instance details

Defined in Network.AWS.Lambda.Types.Product

Associated Types

type Rep FunctionConfiguration :: Type -> Type #

Hashable FunctionConfiguration Source # 
Instance details

Defined in Network.AWS.Lambda.Types.Product

FromJSON FunctionConfiguration Source # 
Instance details

Defined in Network.AWS.Lambda.Types.Product

NFData FunctionConfiguration Source # 
Instance details

Defined in Network.AWS.Lambda.Types.Product

Methods

rnf :: FunctionConfiguration -> () #

type Rep FunctionConfiguration Source # 
Instance details

Defined in Network.AWS.Lambda.Types.Product

type Rep FunctionConfiguration = D1 (MetaData "FunctionConfiguration" "Network.AWS.Lambda.Types.Product" "amazonka-lambda-1.6.1-KQvkrTCQjBWL6Bwjq8xw0f" False) (C1 (MetaCons "FunctionConfiguration'" PrefixI True) ((((S1 (MetaSel (Just "_fcMemorySize") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Nat)) :*: S1 (MetaSel (Just "_fcRuntime") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Runtime))) :*: (S1 (MetaSel (Just "_fcFunctionARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_fcKMSKeyARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 (MetaSel (Just "_fcEnvironment") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe EnvironmentResponse)) :*: S1 (MetaSel (Just "_fcDeadLetterConfig") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe DeadLetterConfig))) :*: (S1 (MetaSel (Just "_fcRole") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 (MetaSel (Just "_fcVPCConfig") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe VPCConfigResponse)) :*: S1 (MetaSel (Just "_fcVersion") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))))) :*: (((S1 (MetaSel (Just "_fcFunctionName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_fcCodeSize") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Integer))) :*: (S1 (MetaSel (Just "_fcHandler") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 (MetaSel (Just "_fcTimeout") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Nat)) :*: S1 (MetaSel (Just "_fcLastModified") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))))) :*: ((S1 (MetaSel (Just "_fcCodeSha256") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_fcTracingConfig") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe TracingConfigResponse))) :*: (S1 (MetaSel (Just "_fcDescription") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 (MetaSel (Just "_fcRevisionId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_fcMasterARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))))))))

Response Lenses

fcMemorySize :: Lens' FunctionConfiguration (Maybe Natural) Source #

The memory size, in MB, you configured for the function. Must be a multiple of 64 MB.

fcRuntime :: Lens' FunctionConfiguration (Maybe Runtime) Source #

The runtime environment for the Lambda function.

fcFunctionARN :: Lens' FunctionConfiguration (Maybe Text) Source #

The Amazon Resource Name (ARN) assigned to the function.

fcKMSKeyARN :: Lens' FunctionConfiguration (Maybe Text) Source #

The Amazon Resource Name (ARN) of the KMS key used to encrypt your function's environment variables. If empty, it means you are using the AWS Lambda default service key.

fcEnvironment :: Lens' FunctionConfiguration (Maybe EnvironmentResponse) Source #

The parent object that contains your environment's configuration settings.

fcDeadLetterConfig :: Lens' FunctionConfiguration (Maybe DeadLetterConfig) Source #

The parent object that contains the target ARN (Amazon Resource Name) of an Amazon SQS queue or Amazon SNS topic. For more information, see dlq .

fcRole :: Lens' FunctionConfiguration (Maybe Text) Source #

The Amazon Resource Name (ARN) of the IAM role that Lambda assumes when it executes your function to access any other Amazon Web Services (AWS) resources.

fcVPCConfig :: Lens' FunctionConfiguration (Maybe VPCConfigResponse) Source #

VPC configuration associated with your Lambda function.

fcVersion :: Lens' FunctionConfiguration (Maybe Text) Source #

The version of the Lambda function.

fcFunctionName :: Lens' FunctionConfiguration (Maybe Text) Source #

The name of the function. Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 characters in length.

fcCodeSize :: Lens' FunctionConfiguration (Maybe Integer) Source #

The size, in bytes, of the function .zip file you uploaded.

fcHandler :: Lens' FunctionConfiguration (Maybe Text) Source #

The function Lambda calls to begin executing your function.

fcTimeout :: Lens' FunctionConfiguration (Maybe Natural) Source #

The function execution time at which Lambda should terminate the function. Because the execution time has cost implications, we recommend you set this value based on your expected execution time. The default is 3 seconds.

fcLastModified :: Lens' FunctionConfiguration (Maybe Text) Source #

The time stamp of the last time you updated the function. The time stamp is conveyed as a string complying with ISO-8601 in this way YYYY-MM-DDThh:mm:ssTZD (e.g., 1997-07-16T19:20:30+01:00). For more information, see Date and Time Formats .

fcCodeSha256 :: Lens' FunctionConfiguration (Maybe Text) Source #

It is the SHA256 hash of your function deployment package.

fcTracingConfig :: Lens' FunctionConfiguration (Maybe TracingConfigResponse) Source #

The parent object that contains your function's tracing settings.

fcDescription :: Lens' FunctionConfiguration (Maybe Text) Source #

The user-provided description.

fcRevisionId :: Lens' FunctionConfiguration (Maybe Text) Source #

Represents the latest updated revision of the function or alias.

fcMasterARN :: Lens' FunctionConfiguration (Maybe Text) Source #

Returns the ARN (Amazon Resource Name) of the master function.