Documentation
¶
Overview ¶
High-level constructs for AWS CDK
Index ¶
- func CodeCommitMirror_IsConstruct(x interface{}) *bool
- func DmarcReporter_IsConstruct(x interface{}) *bool
- func EcsServiceRoller_IsConstruct(x interface{}) *bool
- func EmailReceiver_IsConstruct(x interface{}) *bool
- func MjmlTemplate_IsConstruct(x interface{}) *bool
- func NewCodeCommitMirrorSourceRepository_Override(c CodeCommitMirrorSourceRepository)
- func NewCodeCommitMirror_Override(c CodeCommitMirror, scope constructs.Construct, id *string, ...)
- func NewDmarcReporter_Override(d DmarcReporter, scope constructs.Construct, id *string, ...)
- func NewEcsServiceRoller_Override(e EcsServiceRoller, scope constructs.Construct, id *string, ...)
- func NewEmailReceiver_Override(e EmailReceiver, scope constructs.Construct, id *string, ...)
- func NewMjmlTemplate_Override(m MjmlTemplate, scope constructs.Construct, id *string, ...)
- func NewRollTrigger_Override(r RollTrigger)
- func NewSamlFederatedPrincipal_Override(s SamlFederatedPrincipal, identityProvider SamlIdentityProvider)deprecated
- func NewSamlIdentityProvider_Override(s SamlIdentityProvider, scope constructs.Construct, id *string, ...)deprecated
- func NewSlackAppManifestDefinition_Override(s SlackAppManifestDefinition)
- func NewSlackAppManifest_Override(s SlackAppManifest, props *SlackAppManifestProps)
- func NewSlackApp_Override(s SlackApp, scope constructs.Construct, id *string, props *SlackAppProps)
- func NewSlackEvents_Override(s SlackEvents, scope constructs.Construct, id *string, props *SlackEventsProps)
- func NewSlackTextract_Override(s SlackTextract, scope constructs.Construct, id *string, ...)
- func NewSslServerTest_Override(s SslServerTest, scope constructs.Construct, id *string, ...)
- func NewStateMachineCustomResourceProvider_Override(s StateMachineCustomResourceProvider, scope constructs.Construct, id *string, ...)
- func NewStaticWebsite_Override(s StaticWebsite, scope constructs.Construct, id *string, ...)
- func NewToolkitCleaner_Override(t ToolkitCleaner, scope constructs.Construct, id *string, ...)
- func NewUrlShortener_Override(u UrlShortener, scope constructs.Construct, id *string, ...)
- func SamlIdentityProvider_IsConstruct(x interface{}) *bool
- func SlackApp_IsConstruct(x interface{}) *bool
- func SlackEvents_IsConstruct(x interface{}) *bool
- func SlackTextract_IsConstruct(x interface{}) *bool
- func SslServerTest_IsConstruct(x interface{}) *bool
- func StateMachineCustomResourceProvider_IsConstruct(x interface{}) *bool
- func StaticWebsite_DefaultSecurityHeadersBehavior() *awscloudfront.ResponseSecurityHeadersBehavior
- func StaticWebsite_IsConstruct(x interface{}) *bool
- func StaticWebsite_SetDefaultSecurityHeadersBehavior(val *awscloudfront.ResponseSecurityHeadersBehavior)
- func ToolkitCleaner_IsConstruct(x interface{}) *bool
- func UrlShortener_IsConstruct(x interface{}) *bool
- type CodeCommitMirror
- type CodeCommitMirrorProps
- type CodeCommitMirrorSourceRepository
- type DmarcAlignment
- type DmarcPolicy
- type DmarcReporter
- type DmarcReporterProps
- type EcsServiceRoller
- type EcsServiceRollerProps
- type EmailReceiver
- type EmailReceiverProps
- type IStateMachine
- type MjmlTemplate
- type MjmlTemplateProps
- type RollTrigger
- type SamlFederatedPrincipal
- type SamlIdentityProvider
- type SamlIdentityProviderProps
- type SlackApp
- type SlackAppManifest
- type SlackAppManifestAppHome
- type SlackAppManifestDefinition
- type SlackAppManifestEventSubscriptions
- type SlackAppManifestInteractivity
- type SlackAppManifestOauthConfig
- type SlackAppManifestProps
- type SlackAppManifestSettings
- type SlackAppManifestShortcut
- type SlackAppManifestShortcutType
- type SlackAppManifestSlashCommand
- type SlackAppManifestWorkflowStep
- type SlackAppProps
- type SlackEvents
- type SlackEventsProps
- type SlackTextract
- type SlackTextractProps
- type SlackkAppManifestBotUser
- type SslServerTest
- type SslServerTestGrade
- type SslServerTestProps
- type StateMachineCustomResourceProvider
- type StateMachineCustomResourceProviderProps
- type StaticWebsite
- type StaticWebsiteProps
- type ToolkitCleaner
- type ToolkitCleanerProps
- type UrlShortener
- type UrlShortenerProps
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CodeCommitMirror_IsConstruct ¶
func CodeCommitMirror_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func DmarcReporter_IsConstruct ¶ added in v0.6.32
func DmarcReporter_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func EcsServiceRoller_IsConstruct ¶
func EcsServiceRoller_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func EmailReceiver_IsConstruct ¶
func EmailReceiver_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func MjmlTemplate_IsConstruct ¶ added in v0.9.10
func MjmlTemplate_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func NewCodeCommitMirrorSourceRepository_Override ¶
func NewCodeCommitMirrorSourceRepository_Override(c CodeCommitMirrorSourceRepository)
func NewCodeCommitMirror_Override ¶
func NewCodeCommitMirror_Override(c CodeCommitMirror, scope constructs.Construct, id *string, props *CodeCommitMirrorProps)
func NewDmarcReporter_Override ¶ added in v0.6.32
func NewDmarcReporter_Override(d DmarcReporter, scope constructs.Construct, id *string, props *DmarcReporterProps)
func NewEcsServiceRoller_Override ¶
func NewEcsServiceRoller_Override(e EcsServiceRoller, scope constructs.Construct, id *string, props *EcsServiceRollerProps)
func NewEmailReceiver_Override ¶
func NewEmailReceiver_Override(e EmailReceiver, scope constructs.Construct, id *string, props *EmailReceiverProps)
func NewMjmlTemplate_Override ¶ added in v0.9.10
func NewMjmlTemplate_Override(m MjmlTemplate, scope constructs.Construct, id *string, props *MjmlTemplateProps)
func NewRollTrigger_Override ¶
func NewRollTrigger_Override(r RollTrigger)
func NewSamlFederatedPrincipal_Override
deprecated
func NewSamlFederatedPrincipal_Override(s SamlFederatedPrincipal, identityProvider SamlIdentityProvider)
Deprecated: use `SamlPrincipal` from `aws-cdk-lib/aws-iam`.
func NewSamlIdentityProvider_Override
deprecated
func NewSamlIdentityProvider_Override(s SamlIdentityProvider, scope constructs.Construct, id *string, props *SamlIdentityProviderProps)
Deprecated: use `SamlProvider` from `aws-cdk-lib/aws-iam`.
func NewSlackAppManifestDefinition_Override ¶
func NewSlackAppManifestDefinition_Override(s SlackAppManifestDefinition)
func NewSlackAppManifest_Override ¶
func NewSlackAppManifest_Override(s SlackAppManifest, props *SlackAppManifestProps)
func NewSlackApp_Override ¶
func NewSlackApp_Override(s SlackApp, scope constructs.Construct, id *string, props *SlackAppProps)
func NewSlackEvents_Override ¶
func NewSlackEvents_Override(s SlackEvents, scope constructs.Construct, id *string, props *SlackEventsProps)
func NewSlackTextract_Override ¶
func NewSlackTextract_Override(s SlackTextract, scope constructs.Construct, id *string, props *SlackTextractProps)
func NewSslServerTest_Override ¶ added in v0.6.8
func NewSslServerTest_Override(s SslServerTest, scope constructs.Construct, id *string, props *SslServerTestProps)
func NewStateMachineCustomResourceProvider_Override ¶
func NewStateMachineCustomResourceProvider_Override(s StateMachineCustomResourceProvider, scope constructs.Construct, id *string, props *StateMachineCustomResourceProviderProps)
func NewStaticWebsite_Override ¶
func NewStaticWebsite_Override(s StaticWebsite, scope constructs.Construct, id *string, props *StaticWebsiteProps)
func NewToolkitCleaner_Override ¶
func NewToolkitCleaner_Override(t ToolkitCleaner, scope constructs.Construct, id *string, props *ToolkitCleanerProps)
func NewUrlShortener_Override ¶
func NewUrlShortener_Override(u UrlShortener, scope constructs.Construct, id *string, props *UrlShortenerProps)
func SamlIdentityProvider_IsConstruct ¶
func SamlIdentityProvider_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func SlackApp_IsConstruct ¶
func SlackApp_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func SlackEvents_IsConstruct ¶
func SlackEvents_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func SlackTextract_IsConstruct ¶
func SlackTextract_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func SslServerTest_IsConstruct ¶ added in v0.6.8
func SslServerTest_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func StateMachineCustomResourceProvider_IsConstruct ¶
func StateMachineCustomResourceProvider_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func StaticWebsite_DefaultSecurityHeadersBehavior ¶
func StaticWebsite_DefaultSecurityHeadersBehavior() *awscloudfront.ResponseSecurityHeadersBehavior
func StaticWebsite_IsConstruct ¶
func StaticWebsite_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func StaticWebsite_SetDefaultSecurityHeadersBehavior ¶
func StaticWebsite_SetDefaultSecurityHeadersBehavior(val *awscloudfront.ResponseSecurityHeadersBehavior)
func ToolkitCleaner_IsConstruct ¶
func ToolkitCleaner_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
func UrlShortener_IsConstruct ¶
func UrlShortener_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.
Types ¶
type CodeCommitMirror ¶
type CodeCommitMirror interface {
constructs.Construct
// The tree node.
Node() constructs.Node
// Returns a string representation of this construct.
ToString() *string
}
Mirror a repository to AWS CodeCommit on schedule.
func NewCodeCommitMirror ¶
func NewCodeCommitMirror(scope constructs.Construct, id *string, props *CodeCommitMirrorProps) CodeCommitMirror
type CodeCommitMirrorProps ¶
type CodeCommitMirrorProps struct {
// The ECS cluster where to run the mirroring operation.
Cluster awsecs.ICluster `field:"required" json:"cluster" yaml:"cluster"`
// The source repository.
Repository CodeCommitMirrorSourceRepository `field:"required" json:"repository" yaml:"repository"`
// The schedule for the mirroring operation.
// Default: - everyday at midnight.
//
Schedule awsevents.Schedule `field:"optional" json:"schedule" yaml:"schedule"`
// Where to run the mirroring Fargate tasks.
// Default: - public subnets.
//
SubnetSelection *awsec2.SubnetSelection `field:"optional" json:"subnetSelection" yaml:"subnetSelection"`
}
Properties for a CodeCommitMirror.
type CodeCommitMirrorSourceRepository ¶
type CodeCommitMirrorSourceRepository interface {
// The name of the repository.
Name() *string
// The HTTPS clone URL in plain text, used for a public repository.
PlainTextUrl() *string
// The HTTPS clone URL if the repository is private.
//
// The secret should contain the username and/or token.
//
// Example:
// `https://TOKEN@github.com/owner/name`
// `https://USERNAME:TOKEN@bitbucket.org/owner/name.git`
//
SecretUrl() awsecs.Secret
}
A source repository for AWS CodeCommit mirroring.
func CodeCommitMirrorSourceRepository_GitHub ¶
func CodeCommitMirrorSourceRepository_GitHub(owner *string, name *string) CodeCommitMirrorSourceRepository
Public GitHub repository.
func CodeCommitMirrorSourceRepository_Private ¶
func CodeCommitMirrorSourceRepository_Private(name *string, url awsecs.Secret) CodeCommitMirrorSourceRepository
Private repository with HTTPS clone URL stored in a AWS Secrets Manager secret or a AWS Systems Manager secure string parameter.
type DmarcAlignment ¶ added in v0.6.32
type DmarcAlignment string
The DMARC alignment mode.
const ( // Relaxed alignment mode. DmarcAlignment_RELAXED DmarcAlignment = "RELAXED" // Strict alignment mode. DmarcAlignment_STRICT DmarcAlignment = "STRICT" )
type DmarcPolicy ¶ added in v0.6.32
type DmarcPolicy string
The DMARC policy to apply to messages that fail DMARC compliance.
const ( // Do not apply any special handling to messages that fail DMARC compliance. DmarcPolicy_NONE DmarcPolicy = "NONE" // Quarantine messages that fail DMARC compliance. // // (usually by sending them to spam). DmarcPolicy_QUARANTINE DmarcPolicy = "QUARANTINE" // Reject messages that fail DMARC compliance. // // (usually by rejecting them outright). DmarcPolicy_REJECT DmarcPolicy = "REJECT" )
type DmarcReporter ¶ added in v0.6.32
type DmarcReporter interface {
constructs.Construct
// The tree node.
Node() constructs.Node
// Returns a string representation of this construct.
ToString() *string
}
Creates a DMARC record in Route 53 and invokes a Lambda function to process incoming reports.
func NewDmarcReporter ¶ added in v0.6.32
func NewDmarcReporter(scope constructs.Construct, id *string, props *DmarcReporterProps) DmarcReporter
type DmarcReporterProps ¶ added in v0.6.32
type DmarcReporterProps struct {
// The DMARC policy to apply to messages that fail DMARC compliance.
//
// This can be one of the following values:
// - none: Do not apply any special handling to messages that fail DMARC compliance.
// - quarantine: Quarantine messages that fail DMARC compliance.
// - reject: Reject messages that fail DMARC compliance.
DmarcPolicy DmarcPolicy `field:"required" json:"dmarcPolicy" yaml:"dmarcPolicy"`
// A Lambda function to invoke after the message is saved to S3.
//
// The Lambda
// function will be invoked with a SESMessage as event.
Function awslambda.IFunction `field:"required" json:"function" yaml:"function"`
// The Route 53 hosted zone to create the DMARC record in.
HostedZone awsroute53.IHostedZone `field:"required" json:"hostedZone" yaml:"hostedZone"`
// The SES receipt rule set where a receipt rule will be added.
ReceiptRuleSet awsses.IReceiptRuleSet `field:"required" json:"receiptRuleSet" yaml:"receiptRuleSet"`
// Additional email addresses to send DMARC reports to.
AdditionalEmailAddresses *[]*string `field:"optional" json:"additionalEmailAddresses" yaml:"additionalEmailAddresses"`
// An existing rule after which the new rule will be placed in the rule set.
// Default: - The new rule is inserted at the beginning of the rule list.
//
AfterRule awsses.IReceiptRule `field:"optional" json:"afterRule" yaml:"afterRule"`
// The alignment mode to use for DKIM signatures.
//
// This can be one of the following values:
// - relaxed: Use relaxed alignment mode.
// - strict: Use strict alignment mode.
// Default: relaxed.
//
DmarcDkimAlignment DmarcAlignment `field:"optional" json:"dmarcDkimAlignment" yaml:"dmarcDkimAlignment"`
// The percentage of messages that should be checked for DMARC compliance.
//
// This is a value between 0 and 100.
// Default: 100.
//
DmarcPercentage *float64 `field:"optional" json:"dmarcPercentage" yaml:"dmarcPercentage"`
// The alignment mode to use for SPF signatures.
//
// This can be one of the following values:
// - relaxed: Use relaxed alignment mode.
// - strict: Use strict alignment mode.
// Default: relaxed.
//
DmarcSpfAlignment DmarcAlignment `field:"optional" json:"dmarcSpfAlignment" yaml:"dmarcSpfAlignment"`
// The DMARC policy to apply to messages that fail DMARC compliance for subdomains.
//
// This can be one of the following values:
// - none: Do not apply any special handling to messages that fail DMARC compliance.
// - quarantine: Quarantine messages that fail DMARC compliance.
// - reject: Reject messages that fail DMARC compliance.
// Default: inherited from dmarcPolicy.
//
DmarcSubdomainPolicy DmarcPolicy `field:"optional" json:"dmarcSubdomainPolicy" yaml:"dmarcSubdomainPolicy"`
// The email address to send DMARC reports to.
//
// This email address must be verified in SES.
// Default: dmarc-reports@${hostedZone.zoneName}
//
EmailAddress *string `field:"optional" json:"emailAddress" yaml:"emailAddress"`
}
Properties for a DmarcReporter.
type EcsServiceRoller ¶
type EcsServiceRoller interface {
constructs.Construct
// The tree node.
Node() constructs.Node
// Returns a string representation of this construct.
ToString() *string
}
Roll your ECS service tasks on schedule or with a rule.
func NewEcsServiceRoller ¶
func NewEcsServiceRoller(scope constructs.Construct, id *string, props *EcsServiceRollerProps) EcsServiceRoller
type EcsServiceRollerProps ¶
type EcsServiceRollerProps struct {
// The ECS cluster where the services run.
Cluster awsecs.ICluster `field:"required" json:"cluster" yaml:"cluster"`
// The ECS service for which tasks should be rolled.
Service awsecs.IService `field:"required" json:"service" yaml:"service"`
// The rule or schedule that should trigger a roll.
// Default: - roll everyday at midnight.
//
Trigger RollTrigger `field:"optional" json:"trigger" yaml:"trigger"`
}
Properties for a EcsServiceRoller.
type EmailReceiver ¶
type EmailReceiver interface {
constructs.Construct
// The S3 bucket where emails are delivered.
Bucket() awss3.Bucket
// The tree node.
Node() constructs.Node
// The SNS topic that is notified when emails are delivered to S3.
Topic() awssns.ITopic
// Returns a string representation of this construct.
ToString() *string
}
Receive emails through SES, save them to S3 and invokes a Lambda function.
func NewEmailReceiver ¶
func NewEmailReceiver(scope constructs.Construct, id *string, props *EmailReceiverProps) EmailReceiver
type EmailReceiverProps ¶
type EmailReceiverProps struct {
// The SES receipt rule set where a receipt rule will be added.
ReceiptRuleSet awsses.IReceiptRuleSet `field:"required" json:"receiptRuleSet" yaml:"receiptRuleSet"`
// The recipients for which emails should be received.
Recipients *[]*string `field:"required" json:"recipients" yaml:"recipients"`
// An existing rule after which the new rule will be placed in the rule set.
// Default: - The new rule is inserted at the beginning of the rule list.
//
AfterRule awsses.IReceiptRule `field:"optional" json:"afterRule" yaml:"afterRule"`
// Whether the receiver is active.
// Default: true.
//
Enabled *bool `field:"optional" json:"enabled" yaml:"enabled"`
// A Lambda function to invoke after the message is saved to S3.
//
// The Lambda
// function will be invoked with a SESMessage as event.
Function awslambda.IFunction `field:"optional" json:"function" yaml:"function"`
// A regular expression to whitelist source email addresses.
// Default: - no whitelisting of source email addresses.
//
SourceWhitelist *string `field:"optional" json:"sourceWhitelist" yaml:"sourceWhitelist"`
}
Properties for an EmailReceiver.
type IStateMachine ¶
type IStateMachine interface {
// The ARN of the state machine.
StateMachineArn() *string
}
A State Machine.
type MjmlTemplate ¶ added in v0.9.10
type MjmlTemplate interface {
constructs.Construct
// The tree node.
Node() constructs.Node
// The name of the template.
TemplateName() *string
// Returns a string representation of this construct.
ToString() *string
}
SES email template from [MJML](https://mjml.io/).
func NewMjmlTemplate ¶ added in v0.9.10
func NewMjmlTemplate(scope constructs.Construct, id *string, props *MjmlTemplateProps) MjmlTemplate
type MjmlTemplateProps ¶ added in v0.9.10
type MjmlTemplateProps struct {
// The MJML for the email.
Mjml *string `field:"required" json:"mjml" yaml:"mjml"`
// The subject line of the email.
Subject *string `field:"required" json:"subject" yaml:"subject"`
// The name of the template.
// Default: - a CloudFormation generated name.
//
TemplateName *string `field:"optional" json:"templateName" yaml:"templateName"`
}
Properties for a MjmlTemplate.
type RollTrigger ¶
type RollTrigger interface {
// Roll rule.
// Default: - roll everyday at midnight.
//
Rule() awsevents.Rule
// Roll schedule.
// Default: - roll everyday at midnight.
//
Schedule() awsevents.Schedule
}
The rule or schedule that should trigger a roll.
func RollTrigger_FromRule ¶
func RollTrigger_FromRule(rule awsevents.Rule) RollTrigger
Rule that should trigger a roll.
func RollTrigger_FromSchedule ¶
func RollTrigger_FromSchedule(schedule awsevents.Schedule) RollTrigger
Schedule that should trigger a roll.
type SamlFederatedPrincipal ¶
type SamlFederatedPrincipal interface {
awsiam.FederatedPrincipal
// When this Principal is used in an AssumeRole policy, the action to use.
// Deprecated: use `SamlPrincipal` from `aws-cdk-lib/aws-iam`.
AssumeRoleAction() *string
// The conditions under which the policy is in effect.
// See: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html
//
// Deprecated: use `SamlPrincipal` from `aws-cdk-lib/aws-iam`.
Conditions() *map[string]interface{}
// federated identity provider (i.e. 'cognito-identity.amazonaws.com' for users authenticated through Cognito).
// Deprecated: use `SamlPrincipal` from `aws-cdk-lib/aws-iam`.
Federated() *string
// The principal to grant permissions to.
// Deprecated: use `SamlPrincipal` from `aws-cdk-lib/aws-iam`.
GrantPrincipal() awsiam.IPrincipal
// Return the policy fragment that identifies this principal in a Policy.
// Deprecated: use `SamlPrincipal` from `aws-cdk-lib/aws-iam`.
PolicyFragment() awsiam.PrincipalPolicyFragment
// The AWS account ID of this principal.
//
// Can be undefined when the account is not known
// (for example, for service principals).
// Can be a Token - in that case,
// it's assumed to be AWS::AccountId.
// Deprecated: use `SamlPrincipal` from `aws-cdk-lib/aws-iam`.
PrincipalAccount() *string
// Add the principal to the AssumeRolePolicyDocument.
//
// Add the statements to the AssumeRolePolicyDocument necessary to give this principal
// permissions to assume the given role.
// Deprecated: use `SamlPrincipal` from `aws-cdk-lib/aws-iam`.
AddToAssumeRolePolicy(document awsiam.PolicyDocument)
// Add to the policy of this principal.
// Deprecated: use `SamlPrincipal` from `aws-cdk-lib/aws-iam`.
AddToPolicy(statement awsiam.PolicyStatement) *bool
// Add to the policy of this principal.
// Deprecated: use `SamlPrincipal` from `aws-cdk-lib/aws-iam`.
AddToPrincipalPolicy(statement awsiam.PolicyStatement) *awsiam.AddToPrincipalPolicyResult
// Return whether or not this principal is equal to the given principal.
// Deprecated: use `SamlPrincipal` from `aws-cdk-lib/aws-iam`.
DedupeString() *string
// JSON-ify the principal.
//
// Used when JSON.stringify() is called
// Deprecated: use `SamlPrincipal` from `aws-cdk-lib/aws-iam`.
ToJSON() *map[string]*[]*string
// Returns a string representation of an object.
// Deprecated: use `SamlPrincipal` from `aws-cdk-lib/aws-iam`.
ToString() *string
// Returns a new PrincipalWithConditions using this principal as the base, with the passed conditions added.
//
// When there is a value for the same operator and key in both the principal and the
// conditions parameter, the value from the conditions parameter will be used.
//
// Returns: a new PrincipalWithConditions object.
// Deprecated: use `SamlPrincipal` from `aws-cdk-lib/aws-iam`.
WithConditions(conditions *map[string]interface{}) awsiam.PrincipalBase
// Returns a new principal using this principal as the base, with session tags enabled.
//
// Returns: a new SessionTagsPrincipal object.
// Deprecated: use `SamlPrincipal` from `aws-cdk-lib/aws-iam`.
WithSessionTags() awsiam.PrincipalBase
}
Principal entity that represents a SAML federated identity provider. Deprecated: use `SamlPrincipal` from `aws-cdk-lib/aws-iam`.
func NewSamlFederatedPrincipal
deprecated
func NewSamlFederatedPrincipal(identityProvider SamlIdentityProvider) SamlFederatedPrincipal
Deprecated: use `SamlPrincipal` from `aws-cdk-lib/aws-iam`.
type SamlIdentityProvider ¶
type SamlIdentityProvider interface {
constructs.Construct
// The tree node.
// Deprecated: use `SamlProvider` from `aws-cdk-lib/aws-iam`.
Node() constructs.Node
// The ARN of the SAML identity provider.
// Deprecated: use `SamlProvider` from `aws-cdk-lib/aws-iam`.
SamlIdentityProviderArn() *string
// Returns a string representation of this construct.
// Deprecated: use `SamlProvider` from `aws-cdk-lib/aws-iam`.
ToString() *string
}
Create a SAML identity provider. Deprecated: use `SamlProvider` from `aws-cdk-lib/aws-iam`.
func NewSamlIdentityProvider
deprecated
func NewSamlIdentityProvider(scope constructs.Construct, id *string, props *SamlIdentityProviderProps) SamlIdentityProvider
Deprecated: use `SamlProvider` from `aws-cdk-lib/aws-iam`.
type SamlIdentityProviderProps ¶
type SamlIdentityProviderProps struct {
// An XML document generated by an identity provider (IdP) that supports SAML 2.0.
//
// The document includes the issuer's name, expiration information, and keys that
// can be used to validate the SAML authentication response (assertions) that are
// received from the IdP. You must generate the metadata document using the identity
// management software that is used as your organization's IdP.
// Deprecated: use `SamlProviderProps` from `aws-cdk-lib/aws-iam`.
MetadataDocument *string `field:"required" json:"metadataDocument" yaml:"metadataDocument"`
// A name for the SAML identity provider.
// Default: - derived for the node's unique id.
//
// Deprecated: use `SamlProviderProps` from `aws-cdk-lib/aws-iam`.
Name *string `field:"optional" json:"name" yaml:"name"`
}
Properties for a SamlProvider. Deprecated: use `SamlProviderProps` from `aws-cdk-lib/aws-iam`.
type SlackApp ¶
type SlackApp interface {
constructs.Construct
// The ID of the application.
AppId() *string
// A dynamic reference to the client ID of the app.
ClientId() *string
// A dynamic reference to the client secret of the app.
ClientSecret() *string
// An AWS Secrets Manager secret containing the credentials of the application.
//
// “`
// {
// "appId": "...",
// "clientId": "...",
// "clientSecret": "...",
// "verificationToken": "...",
// "signingSecret": "..."
// }
// “`.
Credentials() awssecretsmanager.ISecret
// The tree node.
Node() constructs.Node
// A dynamic reference to the signing secret of the app.
SigningSecret() *string
// A dynamic reference to the verification token of the app.
VerificationToken() *string
// Returns a string representation of this construct.
ToString() *string
}
A Slack application deployed with a manifest. See: https://api.slack.com/reference/manifests
func NewSlackApp ¶
func NewSlackApp(scope constructs.Construct, id *string, props *SlackAppProps) SlackApp
type SlackAppManifest ¶
type SlackAppManifest interface {
Render(construct constructs.IConstruct) *string
}
A Slack app manifest. See: https://api.slack.com/reference/manifests
func NewSlackAppManifest ¶
func NewSlackAppManifest(props *SlackAppManifestProps) SlackAppManifest
type SlackAppManifestAppHome ¶
type SlackAppManifestAppHome struct {
// Wether the Home tab is enabled.
// Default: false.
//
HomeTab *bool `field:"optional" json:"homeTab" yaml:"homeTab"`
// Wether the Messages is enabled.
// Default: false.
//
MessagesTab *bool `field:"optional" json:"messagesTab" yaml:"messagesTab"`
// Whether the users can send messages to your app in the Messages tab of your App Home.
// Default: false.
//
MessagesTabReadOnly *bool `field:"optional" json:"messagesTabReadOnly" yaml:"messagesTabReadOnly"`
}
App Home configuration. See: https://api.slack.com/surfaces/tabs
type SlackAppManifestDefinition ¶
type SlackAppManifestDefinition interface {
// Renders the JSON app manifest encoded as a string.
Render(construct constructs.IConstruct) *string
}
A Slack app manifest definition.
func SlackAppManifestDefinition_FromFile ¶
func SlackAppManifestDefinition_FromFile(file *string) SlackAppManifestDefinition
Creates a Slack app manifest from a file containg a JSON app manifest.
func SlackAppManifestDefinition_FromManifest ¶
func SlackAppManifestDefinition_FromManifest(props *SlackAppManifestProps) SlackAppManifestDefinition
Creates a Slack app manifest by specifying properties.
func SlackAppManifestDefinition_FromString ¶
func SlackAppManifestDefinition_FromString(manifest *string) SlackAppManifestDefinition
Create a Slack app manifest from a JSON app manifest encoded as a string.
type SlackAppManifestEventSubscriptions ¶
type SlackAppManifestEventSubscriptions struct {
// The full https URL that acts as the Events API request URL.
// See: https://api.slack.com/events-api#the-events-api__subscribing-to-event-types__events-api-request-urls
//
RequestUrl *string `field:"required" json:"requestUrl" yaml:"requestUrl"`
// Event types you want the app to subscribe to.
//
// A maximum of 100 event types can be used.
// See: https://api.slack.com/events
//
BotEvents *[]*string `field:"optional" json:"botEvents" yaml:"botEvents"`
// Event types you want the app to subscribe to on behalf of authorized users.
//
// A maximum of 100 event types can be used.
UserEvents *[]*string `field:"optional" json:"userEvents" yaml:"userEvents"`
}
Events API configuration for the app. See: https://api.slack.com/events-api
type SlackAppManifestInteractivity ¶
type SlackAppManifestInteractivity struct {
// Whether or not interactivity features are enabled.
// Default: true.
//
Enabled *bool `field:"optional" json:"enabled" yaml:"enabled"`
// The full https URL that acts as th interactive Options Load URL.
MessageMenuOptionsUrl *string `field:"optional" json:"messageMenuOptionsUrl" yaml:"messageMenuOptionsUrl"`
// The full https URL that acts as the interactive Request URL.
RequestUrl *string `field:"optional" json:"requestUrl" yaml:"requestUrl"`
}
Interactivity configuration for the app. See: https://api.slack.com/interactivity/handling#setup
type SlackAppManifestOauthConfig ¶
type SlackAppManifestOauthConfig struct {
// Bot scopes to request upon app installation.
//
// A maximum of 255 scopes can be included.
// See: https://api.slack.com/scopes
//
BotScopes *[]*string `field:"optional" json:"botScopes" yaml:"botScopes"`
// OAuth redirect URLs.
//
// A maximum of 1000 redirect URLs can be included.
// See: https://api.slack.com/authentication/oauth-v2#redirect_urls
//
RedirectUrls *[]*string `field:"optional" json:"redirectUrls" yaml:"redirectUrls"`
// User scopes to request upon app installation.
//
// A maximum of 255 scopes can be included.
// See: https://api.slack.com/scopes
//
UserScopes *[]*string `field:"optional" json:"userScopes" yaml:"userScopes"`
}
OAuth configuration for the app.
type SlackAppManifestProps ¶
type SlackAppManifestProps struct {
// The name of the app.
//
// Maximum length is 35 characters.
Name *string `field:"required" json:"name" yaml:"name"`
// An array of IP addresses that conform to the Allowed IP Ranges feature.
// See: https://api.slack.com/authentication/best-practices#ip_allowlisting
//
AllowedIpAddressRanges *[]*string `field:"optional" json:"allowedIpAddressRanges" yaml:"allowedIpAddressRanges"`
// App Home configuration.
// See: https://api.slack.com/surfaces/tabs
//
AppHome *SlackAppManifestAppHome `field:"optional" json:"appHome" yaml:"appHome"`
// A hex color value that specifies the background color used on hovercards that display information about your app.
//
// Can be 3-digit (#000) or 6-digit (#000000) hex values with or without #.
BackgroundColor *string `field:"optional" json:"backgroundColor" yaml:"backgroundColor"`
// Bot user configuration.
// See: https://api.slack.com/bot-users
//
BotUser *SlackkAppManifestBotUser `field:"optional" json:"botUser" yaml:"botUser"`
// A short description of the app for display to users.
//
// Maximum length is 140 characters.
// Default: - no short description.
//
Description *string `field:"optional" json:"description" yaml:"description"`
// Events API configuration for the app.
// See: https://api.slack.com/events-api
//
EventSubscriptions *SlackAppManifestEventSubscriptions `field:"optional" json:"eventSubscriptions" yaml:"eventSubscriptions"`
// Interactivity configuration for the app.
Interactivity *SlackAppManifestInteractivity `field:"optional" json:"interactivity" yaml:"interactivity"`
// A longer version of the description of the app.
//
// Maximum length is 4000 characters.
LongDescription *string `field:"optional" json:"longDescription" yaml:"longDescription"`
// The major version of the manifest schema to target.
// Default: - do not target a specific major version.
//
MajorVersion *float64 `field:"optional" json:"majorVersion" yaml:"majorVersion"`
// The minor version of the manifest schema to target.
// Default: - do not target a specific minor version.
//
MinorVersion *float64 `field:"optional" json:"minorVersion" yaml:"minorVersion"`
// OAuth configuration for the app.
OauthConfig *SlackAppManifestOauthConfig `field:"optional" json:"oauthConfig" yaml:"oauthConfig"`
// Whether org-wide deploy is enabled.
// See: https://api.slack.com/enterprise/apps
//
// Default: false.
//
OrgDeploy *bool `field:"optional" json:"orgDeploy" yaml:"orgDeploy"`
// Shortcuts configuration.
//
// A maximum of 5 shortcuts can be included.
// See: https://api.slack.com/interactivity/shortcuts
//
Shortcuts *[]*SlackAppManifestShortcut `field:"optional" json:"shortcuts" yaml:"shortcuts"`
// Slash commands configuration.
//
// A maximum of 5 slash commands can be included.
// See: https://api.slack.com/interactivity/slash-commands
//
SlashCommands *[]*SlackAppManifestSlashCommand `field:"optional" json:"slashCommands" yaml:"slashCommands"`
// Whether Socket Mode is enabled.
// See: https://api.slack.com/apis/connections/socket
//
// Default: false.
//
SocketMode *bool `field:"optional" json:"socketMode" yaml:"socketMode"`
// Valid unfurl domains to register.
//
// A maximum of 5 unfurl domains can be included.
// See: https://api.slack.com/reference/messaging/link-unfurling#configuring_domains
//
UnfurlDomains *[]*string `field:"optional" json:"unfurlDomains" yaml:"unfurlDomains"`
// Workflow steps.
//
// A maximum of 10 workflow steps can be included.
// See: https://api.slack.com/workflows/steps
//
WorkflowSteps *[]*SlackAppManifestWorkflowStep `field:"optional" json:"workflowSteps" yaml:"workflowSteps"`
}
Properties for a Slack app manifest. See: https://api.slack.com/reference/manifests
type SlackAppManifestSettings ¶
type SlackAppManifestSettings struct {
// An array of IP addresses that conform to the Allowed IP Ranges feature.
// See: https://api.slack.com/authentication/best-practices#ip_allowlisting
//
AllowedIpAddressRanges *[]*string `field:"optional" json:"allowedIpAddressRanges" yaml:"allowedIpAddressRanges"`
// Events API configuration for the app.
// See: https://api.slack.com/events-api
//
EventSubscriptions *SlackAppManifestEventSubscriptions `field:"optional" json:"eventSubscriptions" yaml:"eventSubscriptions"`
// Interactivity configuration for the app.
Interactivity *SlackAppManifestInteractivity `field:"optional" json:"interactivity" yaml:"interactivity"`
// Whether org-wide deploy is enabled.
// See: https://api.slack.com/enterprise/apps
//
// Default: false.
//
OrgDeploy *bool `field:"optional" json:"orgDeploy" yaml:"orgDeploy"`
// Whether Socket Mode is enabled.
// See: https://api.slack.com/apis/connections/socket
//
// Default: false.
//
SocketMode *bool `field:"optional" json:"socketMode" yaml:"socketMode"`
}
Settings section of the app config pages.
type SlackAppManifestShortcut ¶
type SlackAppManifestShortcut struct {
// The callback ID of the shortcut.
//
// Maximum length is 255 characters.
CallbackId *string `field:"required" json:"callbackId" yaml:"callbackId"`
// A short description of the shortcut.
//
// Maximum length is 150 characters.
Description *string `field:"required" json:"description" yaml:"description"`
// The name of the shortcut.
Name *string `field:"required" json:"name" yaml:"name"`
// The type of shortcut.
// See: https://api.slack.com/interactivity/shortcuts
//
Type SlackAppManifestShortcutType `field:"required" json:"type" yaml:"type"`
}
Shortcut configuration. See: https://api.slack.com/interactivity/shortcuts
type SlackAppManifestShortcutType ¶
type SlackAppManifestShortcutType string
Type of shortcuts. See: https://api.slack.com/interactivity/shortcuts
const ( // Message shortcuts are shown to users in the context menus of messages within Slack. // See: https://api.slack.com/interactivity/shortcuts/using#message_shortcuts // SlackAppManifestShortcutType_MESSAGE SlackAppManifestShortcutType = "MESSAGE" // Global shortcuts are available to users via the shortcuts button in the composer, and when using search in Slack. // See: https://api.slack.com/interactivity/shortcuts/using#global_shortcuts // SlackAppManifestShortcutType_GLOBAL SlackAppManifestShortcutType = "GLOBAL" )
type SlackAppManifestSlashCommand ¶
type SlackAppManifestSlashCommand struct {
// The actual slash command.
//
// Maximum length is 32 characters.
Command *string `field:"required" json:"command" yaml:"command"`
// The description of the slash command.
//
// Maximum length is 2000 characters.
Description *string `field:"required" json:"description" yaml:"description"`
// Whether channels, users, and links typed with the slash command should be escaped.
// Default: false.
//
ShouldEscape *bool `field:"optional" json:"shouldEscape" yaml:"shouldEscape"`
// The full https URL that acts as the slash command's request URL.
// See: https://api.slack.com/interactivity/slash-commands#creating_commands
//
Url *string `field:"optional" json:"url" yaml:"url"`
// The short usage hint about the slash command for users.
//
// Maximum length is 1000 characters.
UsageHint *string `field:"optional" json:"usageHint" yaml:"usageHint"`
}
Slash command configuration. See: https://api.slack.com/interactivity/slash-commands
type SlackAppManifestWorkflowStep ¶
type SlackAppManifestWorkflowStep struct {
// The callback ID of the workflow step.
//
// Maximum length of 50 characters.
CallbackId *string `field:"required" json:"callbackId" yaml:"callbackId"`
// The name of the workflow step.
//
// Maximum length of 50 characters.
Name *string `field:"required" json:"name" yaml:"name"`
}
Workflow step. See: https://api.slack.com/workflows/steps
type SlackAppProps ¶
type SlackAppProps struct {
// An AWS Secrets Manager secret containing the app configuration token.
//
// Must use the following JSON format:
//
// “`
// {
// "refreshToken": "<token>"
// }
// “`.
ConfigurationTokenSecret awssecretsmanager.ISecret `field:"required" json:"configurationTokenSecret" yaml:"configurationTokenSecret"`
// The definition of the app manifest.
// See: https://api.slack.com/reference/manifests
//
Manifest SlackAppManifestDefinition `field:"required" json:"manifest" yaml:"manifest"`
// The AWS Secrets Manager secret where to store the app credentials.
// Default: - a new secret is created.
//
CredentialsSecret awssecretsmanager.ISecret `field:"optional" json:"credentialsSecret" yaml:"credentialsSecret"`
}
Properties for a SlackApp.
type SlackEvents ¶
type SlackEvents interface {
constructs.Construct
// The custom event bus where Slack events are sent.
EventBus() awsevents.EventBus
// The tree node.
Node() constructs.Node
// Returns a string representation of this construct.
ToString() *string
}
Send Slack events to Amazon EventBridge.
func NewSlackEvents ¶
func NewSlackEvents(scope constructs.Construct, id *string, props *SlackEventsProps) SlackEvents
type SlackEventsProps ¶
type SlackEventsProps struct {
// The signing secret of the Slack app.
SigningSecret awscdk.SecretValue `field:"required" json:"signingSecret" yaml:"signingSecret"`
// A name for the API Gateway resource.
// Default: SlackEventsApi.
//
ApiName *string `field:"optional" json:"apiName" yaml:"apiName"`
// Whether to use a custom event bus.
// Default: false.
//
CustomEventBus *bool `field:"optional" json:"customEventBus" yaml:"customEventBus"`
}
Properties for a SlackEvents.
type SlackTextract ¶
type SlackTextract interface {
constructs.Construct
// The tree node.
Node() constructs.Node
// Returns a string representation of this construct.
ToString() *string
}
Extract text from images posted to Slack using Amazon Textract.
func NewSlackTextract ¶
func NewSlackTextract(scope constructs.Construct, id *string, props *SlackTextractProps) SlackTextract
type SlackTextractProps ¶
type SlackTextractProps struct {
// The application id of the Slack app.
AppId *string `field:"required" json:"appId" yaml:"appId"`
// The **bot** token of the Slack app.
//
// The following scopes are required: `chat:write` and `files:read`.
BotToken awscdk.SecretValue `field:"required" json:"botToken" yaml:"botToken"`
// The signing secret of the Slack app.
SigningSecret awscdk.SecretValue `field:"required" json:"signingSecret" yaml:"signingSecret"`
}
Properties for a SlackTextract.
type SlackkAppManifestBotUser ¶
type SlackkAppManifestBotUser struct {
// The display name of the bot user.
//
// Maximum length is 80 characters.
DisplayName *string `field:"required" json:"displayName" yaml:"displayName"`
// Whether the bot user will always appear to be online.
// Default: false.
//
AlwaysOnline *bool `field:"optional" json:"alwaysOnline" yaml:"alwaysOnline"`
}
Bot user configuration. See: https://api.slack.com/bot-users
type SslServerTest ¶ added in v0.6.8
type SslServerTest interface {
constructs.Construct
// The topic to which the SSL test results are sent when the grade is below the minimum grade.
AlarmTopic() awssns.ITopic
// The tree node.
Node() constructs.Node
// Returns a string representation of this construct.
ToString() *string
}
Perform SSL server test for a hostname.
func NewSslServerTest ¶ added in v0.6.8
func NewSslServerTest(scope constructs.Construct, id *string, props *SslServerTestProps) SslServerTest
type SslServerTestGrade ¶ added in v0.6.8
type SslServerTestGrade string
SSL Server test grade.
const ( SslServerTestGrade_A_PLUS SslServerTestGrade = "A_PLUS" SslServerTestGrade_A SslServerTestGrade = "A" SslServerTestGrade_A_MINUS SslServerTestGrade = "A_MINUS" SslServerTestGrade_B SslServerTestGrade = "B" SslServerTestGrade_C SslServerTestGrade = "C" SslServerTestGrade_D SslServerTestGrade = "D" SslServerTestGrade_E SslServerTestGrade = "E" SslServerTestGrade_F SslServerTestGrade = "F" )
type SslServerTestProps ¶ added in v0.6.8
type SslServerTestProps struct {
// The hostname to test.
Host *string `field:"required" json:"host" yaml:"host"`
// The email registered with SSL Labs API.
// See: https://github.com/ssllabs/ssllabs-scan/blob/master/ssllabs-api-docs-v4.md#register-for-scan-api-initiation-and-result-fetching
//
RegistrationEmail *string `field:"required" json:"registrationEmail" yaml:"registrationEmail"`
// The topic to which the results must be sent when the grade is below the minimum grade.
// Default: - a new topic is created.
//
AlarmTopic awssns.ITopic `field:"optional" json:"alarmTopic" yaml:"alarmTopic"`
// Minimum grade for the test. The grade is calculated using the worst grade of all endpoints.
//
// Used to send the results to an alarm SNS topic.
// Default: SslServerTestGrade.A_PLUS
//
MinimumGrade SslServerTestGrade `field:"optional" json:"minimumGrade" yaml:"minimumGrade"`
// The schedule for the test.
// Default: - every day.
//
ScheduleExpression awsscheduler.ScheduleExpression `field:"optional" json:"scheduleExpression" yaml:"scheduleExpression"`
}
Properties for a SslServerTest.
type StateMachineCustomResourceProvider ¶
type StateMachineCustomResourceProvider interface {
constructs.Construct
// The tree node.
Node() constructs.Node
// The service token.
ServiceToken() *string
// Returns a string representation of this construct.
ToString() *string
}
A state machine custom resource provider.
func NewStateMachineCustomResourceProvider ¶
func NewStateMachineCustomResourceProvider(scope constructs.Construct, id *string, props *StateMachineCustomResourceProviderProps) StateMachineCustomResourceProvider
type StateMachineCustomResourceProviderProps ¶
type StateMachineCustomResourceProviderProps struct {
// The state machine.
StateMachine IStateMachine `field:"required" json:"stateMachine" yaml:"stateMachine"`
// Timeout.
// Default: Duration.minutes(30)
//
Timeout awscdk.Duration `field:"optional" json:"timeout" yaml:"timeout"`
}
Properties for a StateMachineCustomResourceProvider.
type StaticWebsite ¶
type StaticWebsite interface {
constructs.Construct
// The S3 bucket of this static website.
Bucket() awss3.Bucket
// The CloudFront distribution of this static website.
Distribution() awscloudfront.Distribution
// The tree node.
Node() constructs.Node
// Returns a string representation of this construct.
ToString() *string
}
A CloudFront static website hosted on S3.
func NewStaticWebsite ¶
func NewStaticWebsite(scope constructs.Construct, id *string, props *StaticWebsiteProps) StaticWebsite
type StaticWebsiteProps ¶
type StaticWebsiteProps struct {
// The domain name for this static website.
//
// Example:
// www.my-static-website.com
//
DomainName *string `field:"required" json:"domainName" yaml:"domainName"`
// The hosted zone where records should be added.
HostedZone awsroute53.IHostedZone `field:"required" json:"hostedZone" yaml:"hostedZone"`
// A backend configuration that will be saved as `config.json` in the S3 bucket of the static website.
//
// The frontend can query this config by doing `fetch('/config.json')`.
//
// Example:
// { userPoolId: '1234', apiEndoint: 'https://www.my-api.com/api' }
//
BackendConfiguration interface{} `field:"optional" json:"backendConfiguration" yaml:"backendConfiguration"`
// Cache policy for the default behavior.
// Default: CachePolicy.CACHING_OPTIMIZED
//
CachePolicy awscloudfront.ICachePolicy `field:"optional" json:"cachePolicy" yaml:"cachePolicy"`
// The Lambda@Edge functions to invoke before serving the contents.
// Default: - an origin request function that redirects all requests for a path to /index.html
//
EdgeLambdas *[]*awscloudfront.EdgeLambda `field:"optional" json:"edgeLambdas" yaml:"edgeLambdas"`
// A list of domain names that should redirect to `domainName`.
// Default: - the domain name of the hosted zone.
//
Redirects *[]*string `field:"optional" json:"redirects" yaml:"redirects"`
// Response headers policy for the default behavior.
// Default: - a new policy is created with best practice security headers.
//
ResponseHeadersPolicy awscloudfront.ResponseHeadersPolicy `field:"optional" json:"responseHeadersPolicy" yaml:"responseHeadersPolicy"`
}
Properties for a StaticWebsite.
type ToolkitCleaner ¶
type ToolkitCleaner interface {
constructs.Construct
// The tree node.
Node() constructs.Node
// Returns a string representation of this construct.
ToString() *string
}
Clean unused S3 and ECR assets from your CDK Toolkit.
func NewToolkitCleaner ¶
func NewToolkitCleaner(scope constructs.Construct, id *string, props *ToolkitCleanerProps) ToolkitCleaner
type ToolkitCleanerProps ¶
type ToolkitCleanerProps struct {
// The timeout for the Lambda functions that clean assets.
// Default: Duration.minutes(5)
//
CleanAssetsTimeout awscdk.Duration `field:"optional" json:"cleanAssetsTimeout" yaml:"cleanAssetsTimeout"`
// Only output number of assets and total size that would be deleted but without actually deleting assets.
DryRun *bool `field:"optional" json:"dryRun" yaml:"dryRun"`
// Retain unused assets that were created recently.
// Default: - all unused assets are removed.
//
RetainAssetsNewerThan awscdk.Duration `field:"optional" json:"retainAssetsNewerThan" yaml:"retainAssetsNewerThan"`
// The schedule for the cleaner.
// Default: - every day.
//
Schedule awsevents.Schedule `field:"optional" json:"schedule" yaml:"schedule"`
// Whether to clean on schedule.
//
// If you'd like to run the cleanup manually
// via the console, set to `false`.
// Default: true.
//
ScheduleEnabled *bool `field:"optional" json:"scheduleEnabled" yaml:"scheduleEnabled"`
}
Properties for a ToolkitCleaner.
type UrlShortener ¶
type UrlShortener interface {
constructs.Construct
// The underlying API Gateway REST API.
Api() awsapigateway.RestApi
// The endpoint of the URL shortener API.
ApiEndpoint() *string
// The tree node.
Node() constructs.Node
// Grant access to invoke the URL shortener if protected by IAM authorization.
GrantInvoke(grantee awsiam.IGrantable) awsiam.Grant
// Returns a string representation of this construct.
ToString() *string
}
URL shortener.
func NewUrlShortener ¶
func NewUrlShortener(scope constructs.Construct, id *string, props *UrlShortenerProps) UrlShortener
type UrlShortenerProps ¶
type UrlShortenerProps struct {
// The hosted zone for the short URLs domain.
HostedZone awsroute53.IHostedZone `field:"required" json:"hostedZone" yaml:"hostedZone"`
// Authorizer for API gateway.
// Default: - do not use an authorizer for the API.
//
ApiGatewayAuthorizer awsapigateway.IAuthorizer `field:"optional" json:"apiGatewayAuthorizer" yaml:"apiGatewayAuthorizer"`
// An interface VPC endpoint for API gateway.
//
// Specifying this property will
// make the API private.
// See: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-private-apis.html
//
// Default: - API is public.
//
ApiGatewayEndpoint awsec2.IInterfaceVpcEndpoint `field:"optional" json:"apiGatewayEndpoint" yaml:"apiGatewayEndpoint"`
// A name for the bucket saving the redirects.
// Default: - derived from short link domain name.
//
BucketName *string `field:"optional" json:"bucketName" yaml:"bucketName"`
// Allowed origins for CORS.
// Default: - CORS is not enabled.
//
CorsAllowOrigins *[]*string `field:"optional" json:"corsAllowOrigins" yaml:"corsAllowOrigins"`
// Expiration for short urls.
// Default: cdk.Duration.days(365)
//
Expiration awscdk.Duration `field:"optional" json:"expiration" yaml:"expiration"`
// Whether to use IAM authorization.
// Default: - do not use IAM authorization.
//
IamAuthorization *bool `field:"optional" json:"iamAuthorization" yaml:"iamAuthorization"`
// The record name to use in the hosted zone.
// Default: - zone root.
//
RecordName *string `field:"optional" json:"recordName" yaml:"recordName"`
}
Properties for a UrlShortener.
Source Files
¶
- CodeCommitMirror.go
- CodeCommitMirrorProps.go
- CodeCommitMirrorSourceRepository.go
- CodeCommitMirrorSourceRepository__checks.go
- CodeCommitMirror__checks.go
- DmarcAlignment.go
- DmarcPolicy.go
- DmarcReporter.go
- DmarcReporterProps.go
- DmarcReporter__checks.go
- EcsServiceRoller.go
- EcsServiceRollerProps.go
- EcsServiceRoller__checks.go
- EmailReceiver.go
- EmailReceiverProps.go
- EmailReceiver__checks.go
- IStateMachine.go
- MjmlTemplate.go
- MjmlTemplateProps.go
- MjmlTemplate__checks.go
- RollTrigger.go
- RollTrigger__checks.go
- SamlFederatedPrincipal.go
- SamlFederatedPrincipal__checks.go
- SamlIdentityProvider.go
- SamlIdentityProviderProps.go
- SamlIdentityProvider__checks.go
- SlackApp.go
- SlackAppManifest.go
- SlackAppManifestAppHome.go
- SlackAppManifestDefinition.go
- SlackAppManifestDefinition__checks.go
- SlackAppManifestEventSubscriptions.go
- SlackAppManifestInteractivity.go
- SlackAppManifestOauthConfig.go
- SlackAppManifestProps.go
- SlackAppManifestSettings.go
- SlackAppManifestShortcut.go
- SlackAppManifestShortcutType.go
- SlackAppManifestSlashCommand.go
- SlackAppManifestWorkflowStep.go
- SlackAppManifest__checks.go
- SlackAppProps.go
- SlackApp__checks.go
- SlackEvents.go
- SlackEventsProps.go
- SlackEvents__checks.go
- SlackTextract.go
- SlackTextractProps.go
- SlackTextract__checks.go
- SlackkAppManifestBotUser.go
- SslServerTest.go
- SslServerTestGrade.go
- SslServerTestProps.go
- SslServerTest__checks.go
- StateMachineCustomResourceProvider.go
- StateMachineCustomResourceProviderProps.go
- StateMachineCustomResourceProvider__checks.go
- StaticWebsite.go
- StaticWebsiteProps.go
- StaticWebsite__checks.go
- ToolkitCleaner.go
- ToolkitCleanerProps.go
- ToolkitCleaner__checks.go
- UrlShortener.go
- UrlShortenerProps.go
- UrlShortener__checks.go
- main.go