133 lines
4.3 KiB
TypeScript
133 lines
4.3 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
import type { SigningProfileReference } from './signer.generated';
|
|
import type { Duration, IResource } from '../../core';
|
|
import { Resource } from '../../core';
|
|
import type { aws_signer } from '../../interfaces';
|
|
/**
|
|
* Platforms that are allowed with signing config.
|
|
* @see https://docs.aws.amazon.com/signer/latest/developerguide/gs-platform.html
|
|
*/
|
|
export declare class Platform {
|
|
readonly platformId: string;
|
|
/**
|
|
* Specification of signature format and signing algorithms for AWS IoT Device.
|
|
*/
|
|
static readonly AWS_IOT_DEVICE_MANAGEMENT_SHA256_ECDSA: Platform;
|
|
/**
|
|
* Specification of signature format and signing algorithms for AWS Lambda.
|
|
*/
|
|
static readonly AWS_LAMBDA_SHA384_ECDSA: Platform;
|
|
/**
|
|
* Specification of signature format and signing algorithms with
|
|
* SHA1 hash and RSA encryption for Amazon FreeRTOS.
|
|
*/
|
|
static readonly AMAZON_FREE_RTOS_TI_CC3220SF: Platform;
|
|
/**
|
|
* Specification of signature format and signing algorithms with
|
|
* SHA256 hash and ECDSA encryption for Amazon FreeRTOS.
|
|
*/
|
|
static readonly AMAZON_FREE_RTOS_DEFAULT: Platform;
|
|
/**
|
|
* Specification of signature format and signing algorithms with
|
|
* SHA256 hash and ECDSA encryption for container registries with notation.
|
|
*/
|
|
static readonly NOTATION_OCI_SHA384_ECDSA: Platform;
|
|
/**
|
|
* Custom signing profile platform.
|
|
*
|
|
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-signingprofile.html#cfn-signer-signingprofile-platformid
|
|
*
|
|
* @param platformId - The id of signing platform.
|
|
*/
|
|
static of(platformId: string): Platform;
|
|
/**
|
|
*
|
|
* @param platformId - The id of signing platform.
|
|
*/
|
|
private constructor();
|
|
}
|
|
/**
|
|
* A Signer Profile
|
|
*/
|
|
export interface ISigningProfile extends IResource, aws_signer.ISigningProfileRef {
|
|
/**
|
|
* The ARN of the signing profile.
|
|
* @attribute
|
|
*/
|
|
readonly signingProfileArn: string;
|
|
/**
|
|
* The name of signing profile.
|
|
* @attribute ProfileName
|
|
*/
|
|
readonly signingProfileName: string;
|
|
/**
|
|
* The version of signing profile.
|
|
* @attribute ProfileVersion
|
|
*/
|
|
readonly signingProfileVersion: string;
|
|
/**
|
|
* The ARN of signing profile version.
|
|
* @attribute ProfileVersionArn
|
|
*/
|
|
readonly signingProfileVersionArn: string;
|
|
}
|
|
/**
|
|
* Construction properties for a Signing Profile object
|
|
*/
|
|
export interface SigningProfileProps {
|
|
/**
|
|
* The Signing Platform available for signing profile.
|
|
* @see https://docs.aws.amazon.com/signer/latest/developerguide/gs-platform.html
|
|
*/
|
|
readonly platform: Platform;
|
|
/**
|
|
* The validity period for signatures generated using
|
|
* this signing profile.
|
|
*
|
|
* @default - 135 months
|
|
*/
|
|
readonly signatureValidity?: Duration;
|
|
/**
|
|
* Physical name of this Signing Profile.
|
|
*
|
|
* @default - Assigned by CloudFormation (recommended).
|
|
*/
|
|
readonly signingProfileName?: string;
|
|
}
|
|
/**
|
|
* A reference to a Signing Profile
|
|
*/
|
|
export interface SigningProfileAttributes {
|
|
/**
|
|
* The name of signing profile.
|
|
*/
|
|
readonly signingProfileName: string;
|
|
/**
|
|
* The version of signing profile.
|
|
*/
|
|
readonly signingProfileVersion: string;
|
|
}
|
|
/**
|
|
* Defines a Signing Profile.
|
|
*
|
|
* @resource AWS::Signer::SigningProfile
|
|
*/
|
|
export declare class SigningProfile extends Resource implements ISigningProfile {
|
|
/** Uniquely identifies this class. */
|
|
static readonly PROPERTY_INJECTION_ID: string;
|
|
/**
|
|
* Creates a Signing Profile construct that represents an external Signing Profile.
|
|
*
|
|
* @param scope The parent creating construct (usually `this`).
|
|
* @param id The construct's name.
|
|
* @param attrs A `SigningProfileAttributes` object.
|
|
*/
|
|
static fromSigningProfileAttributes(scope: Construct, id: string, attrs: SigningProfileAttributes): ISigningProfile;
|
|
readonly signingProfileArn: string;
|
|
readonly signingProfileName: string;
|
|
readonly signingProfileVersion: string;
|
|
readonly signingProfileVersionArn: string;
|
|
get signingProfileRef(): SigningProfileReference;
|
|
constructor(scope: Construct, id: string, props: SigningProfileProps);
|
|
}
|