Skip to main content

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#"
}