functions
Creates, updates, deletes or gets a function
resource or lists functions
in a region
Overview
Name | functions |
Type | Resource |
Description | Resource Type definition for AWS::CloudFront::Function |
Id | aws.cloudfront.functions |
Fields
Name | Datatype | Description |
---|---|---|
auto_publish | boolean | |
function_arn | string | |
function_code | string | |
function_config | object | |
function_metadata | object | |
name | string | |
stage | string | |
region | string | AWS region. |
Methods
Name | Accessible by | Required Params |
---|---|---|
create_resource | INSERT | Name, FunctionConfig, FunctionCode, region |
delete_resource | DELETE | data__Identifier, region |
update_resource | UPDATE | data__Identifier, data__PatchDocument, region |
list_resources | SELECT | region |
get_resource | SELECT | data__Identifier, region |
SELECT
examples
Gets all functions
in a region.
SELECT
region,
auto_publish,
function_arn,
function_code,
function_config,
function_metadata,
name,
stage
FROM aws.cloudfront.functions
;
Gets all properties from an individual function
.
SELECT
region,
auto_publish,
function_arn,
function_code,
function_config,
function_metadata,
name,
stage
FROM aws.cloudfront.functions
WHERE data__Identifier = '<FunctionARN>';
INSERT
example
Use the following StackQL query and manifest file to create a new function
resource, using stack-deploy
.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO aws.cloudfront.functions (
FunctionCode,
FunctionConfig,
Name,
region
)
SELECT
'{{ FunctionCode }}',
'{{ FunctionConfig }}',
'{{ Name }}',
'{{ region }}';
/*+ create */
INSERT INTO aws.cloudfront.functions (
AutoPublish,
FunctionCode,
FunctionConfig,
FunctionMetadata,
Name,
region
)
SELECT
'{{ AutoPublish }}',
'{{ FunctionCode }}',
'{{ FunctionConfig }}',
'{{ FunctionMetadata }}',
'{{ Name }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: function
props:
- name: AutoPublish
value: '{{ AutoPublish }}'
- name: FunctionCode
value: '{{ FunctionCode }}'
- name: FunctionConfig
value:
Comment: '{{ Comment }}'
Runtime: '{{ Runtime }}'
KeyValueStoreAssociations:
- KeyValueStoreARN: '{{ KeyValueStoreARN }}'
- name: FunctionMetadata
value:
FunctionARN: '{{ FunctionARN }}'
- name: Name
value: '{{ Name }}'
DELETE
example
/*+ delete */
DELETE FROM aws.cloudfront.functions
WHERE data__Identifier = '<FunctionARN>'
AND region = 'us-east-1';
Permissions
To operate on the functions
resource, the following permissions are required:
Create
cloudfront:CreateFunction,
cloudfront:PublishFunction,
cloudfront:DescribeFunction
Delete
cloudfront:DeleteFunction,
cloudfront:DescribeFunction
List
cloudfront:ListFunctions
Read
cloudfront:DescribeFunction,
cloudfront:GetFunction
Update
cloudfront:UpdateFunction,
cloudfront:PublishFunction,
cloudfront:DescribeFunction