createSubscription

Creates a flat-rate pricing subscription for the specified resources.

When approvalMode is set to MANUAL, paid-tier subscriptions are created in PENDING_APPROVAL status and require a separate ApprovePaidSubscription call before billing starts. Free-tier subscriptions are always activated immediately regardless of approval mode.

When approvalMode is set to IMMEDIATE or is not specified, the subscription is activated immediately.

Samples

// Create a flat rate pricing subscription (deferred approval)
val resp = pricingPlanManagerClient.createSubscription {
    planFamily = "CloudFront"
    planTier = "PRO"
    resourceArns = listOf<String>(
        "arn:aws:cloudfront::123456789012:distribution/EDFDVBD6EXAMPLE",
        "arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/a1b2c3d4"
    )
    approvalMode = ApprovalMode.fromValue("MANUAL")
}
// Create a subscription with approval mode
val resp = pricingPlanManagerClient.createSubscription {
    planFamily = "CloudFront"
    planTier = "PRO"
    resourceArns = listOf<String>(
        "arn:aws:cloudfront::123456789012:distribution/EDFDVBD6EXAMPLE",
        "arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/a1b2c3d4"
    )
    approvalMode = ApprovalMode.fromValue("IMMEDIATE")
}