Pyrae::Observer::Observer Reference
Quick Type Reference
export interface PyraeObserverObserver {
Name?: string;
LambdaArn: string;
IamPolicy?: string;
MetadataJson?: string;
}
PyraeObserverObserver
An Observer is a reference to an AWS Lambda function that satisfies the Observer Contract. When a Resource needs to be observed, the Observer Matching Rules identify which Observers to execute.
Name
Description: The resourceName of the URN. By default, one will be generated based on the logical ID with randomness appended to the end
Required: No
Location:
$.PyraeObserverObserver.Name
Type:
export type Name = string;
LambdaArn
Description: The ARN of the AWS Lambda function that should be invoked for this Observer.
Required: Yes
Location:
$.PyraeObserverObserver.LambdaArn
Type:
export type LambdaArn = string;
IamPolicy
Description: The IAM Session Policy used to further restrict the Role Session passed to this observer. If unspecified, the default is to deny everything.
Required: No
Location:
$.PyraeObserverObserver.IamPolicy
Type:
export type IamPolicy = string;
Default Value:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "*",
"Resource": "*"
}
]
}
MetadataJson
Description: Any other metadata about this object, formatted as a JSON string. This data will be made available to the Observer.
Required: No
Location:
$.PyraeObserverObserver.MetadataJson
Type:
export type MetadataJson = string;
JSON Schema
{
"$ref": "#/definitions/PyraeObserverObserver",
"definitions": {
"PyraeObserverObserver": {
"type": "object",
"properties": {
"Name": {
"anyOf": [
{
"type": "string"
}
],
"description": "The resourceName of the URN. By default, one will be generated based on the logical ID with randomness appended to the end"
},
"LambdaArn": {
"anyOf": [
{
"type": "string"
}
],
"description": "The ARN of the AWS Lambda function that should be invoked for this Observer."
},
"IamPolicy": {
"anyOf": [
{
"type": "string"
}
],
"default": "\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Deny\",\n \"Action\": \"*\",\n \"Resource\": \"*\"\n }\n ]\n}\n",
"description": "The [IAM Session Policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) used to further restrict the Role Session passed to this observer. If unspecified, the default is to deny everything."
},
"MetadataJson": {
"anyOf": [
{
"type": "string"
}
],
"description": "Any other metadata about this object, formatted as a JSON string. This data will be made available to the Observer."
}
},
"required": [
"LambdaArn"
],
"additionalProperties": false,
"description": "An Observer is a reference to an AWS Lambda function that satisfies the [Observer Contract](/ppe/docs/concepts/contracts/observer). When a Resource needs to be observed, the [Observer Matching Rules](/ppe/docs/concepts/objects/observer-matching-rule) identify which Observers to execute."
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}