Documentation ¶
Index ¶
- func CfnBudget_CFN_RESOURCE_TYPE_NAME() *string
- func CfnBudget_IsCfnElement(x interface{}) *bool
- func CfnBudget_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnBudget_IsConstruct(x interface{}) *bool
- func CfnBudgetsAction_CFN_RESOURCE_TYPE_NAME() *string
- func CfnBudgetsAction_IsCfnElement(x interface{}) *bool
- func CfnBudgetsAction_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnBudgetsAction_IsConstruct(x interface{}) *bool
- func NewCfnBudget_Override(c CfnBudget, scope awscdk.Construct, id *string, props *CfnBudgetProps)
- func NewCfnBudgetsAction_Override(c CfnBudgetsAction, scope awscdk.Construct, id *string, ...)
- type CfnBudget
- type CfnBudgetProps
- type CfnBudget_BudgetDataProperty
- type CfnBudget_CostTypesProperty
- type CfnBudget_NotificationProperty
- type CfnBudget_NotificationWithSubscribersProperty
- type CfnBudget_SpendProperty
- type CfnBudget_SubscriberProperty
- type CfnBudget_TimePeriodProperty
- type CfnBudgetsAction
- type CfnBudgetsActionProps
- type CfnBudgetsAction_ActionThresholdProperty
- type CfnBudgetsAction_DefinitionProperty
- type CfnBudgetsAction_IamActionDefinitionProperty
- type CfnBudgetsAction_ScpActionDefinitionProperty
- type CfnBudgetsAction_SsmActionDefinitionProperty
- type CfnBudgetsAction_SubscriberProperty
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CfnBudget_CFN_RESOURCE_TYPE_NAME ¶
func CfnBudget_CFN_RESOURCE_TYPE_NAME() *string
func CfnBudget_IsCfnElement ¶
func CfnBudget_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.
func CfnBudget_IsCfnResource ¶
func CfnBudget_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnBudget_IsConstruct ¶
func CfnBudget_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func CfnBudgetsAction_CFN_RESOURCE_TYPE_NAME ¶
func CfnBudgetsAction_CFN_RESOURCE_TYPE_NAME() *string
func CfnBudgetsAction_IsCfnElement ¶
func CfnBudgetsAction_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.
func CfnBudgetsAction_IsCfnResource ¶
func CfnBudgetsAction_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource. Experimental.
func CfnBudgetsAction_IsConstruct ¶
func CfnBudgetsAction_IsConstruct(x interface{}) *bool
Return whether the given object is a Construct. Experimental.
func NewCfnBudget_Override ¶
func NewCfnBudget_Override(c CfnBudget, scope awscdk.Construct, id *string, props *CfnBudgetProps)
Create a new `AWS::Budgets::Budget`.
func NewCfnBudgetsAction_Override ¶
func NewCfnBudgetsAction_Override(c CfnBudgetsAction, scope awscdk.Construct, id *string, props *CfnBudgetsActionProps)
Create a new `AWS::Budgets::BudgetsAction`.
Types ¶
type CfnBudget ¶
type CfnBudget interface { awscdk.CfnResource awscdk.IInspectable Budget() interface{} SetBudget(val interface{}) CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string LogicalId() *string Node() awscdk.ConstructNode NotificationsWithSubscribers() interface{} SetNotificationsWithSubscribers(val interface{}) Ref() *string Stack() awscdk.Stack UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string OverrideLogicalId(newLogicalId *string) Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::Budgets::Budget`.
The `AWS::Budgets::Budget` resource allows customers to take pre-defined actions that will trigger once a budget threshold has been exceeded. creates, replaces, or deletes budgets for Billing and Cost Management. For more information, see [Managing Your Costs with Budgets](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/budgets-managing-costs.html) in the *AWS Billing and Cost Management User Guide* .
TODO: EXAMPLE
func NewCfnBudget ¶
func NewCfnBudget(scope awscdk.Construct, id *string, props *CfnBudgetProps) CfnBudget
Create a new `AWS::Budgets::Budget`.
type CfnBudgetProps ¶
type CfnBudgetProps struct { // The budget object that you want to create. Budget interface{} `json:"budget" yaml:"budget"` // A notification that you want to associate with a budget. // // A budget can have up to five notifications, and each notification can have one SNS subscriber and up to 10 email subscribers. If you include notifications and subscribers in your `CreateBudget` call, AWS creates the notifications and subscribers for you. NotificationsWithSubscribers interface{} `json:"notificationsWithSubscribers" yaml:"notificationsWithSubscribers"` }
Properties for defining a `CfnBudget`.
TODO: EXAMPLE
type CfnBudget_BudgetDataProperty ¶
type CfnBudget_BudgetDataProperty struct { // Specifies whether this budget tracks costs, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage. BudgetType *string `json:"budgetType" yaml:"budgetType"` // The length of time until a budget resets the actual and forecasted spend. // // `DAILY` is available only for `RI_UTILIZATION` and `RI_COVERAGE` budgets. TimeUnit *string `json:"timeUnit" yaml:"timeUnit"` // The total amount of cost, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage that you want to track with your budget. // // `BudgetLimit` is required for cost or usage budgets, but optional for RI or Savings Plans utilization or coverage budgets. RI and Savings Plans utilization or coverage budgets default to `100` . This is the only valid value for RI or Savings Plans utilization or coverage budgets. You can't use `BudgetLimit` with `PlannedBudgetLimits` for `CreateBudget` and `UpdateBudget` actions. BudgetLimit interface{} `json:"budgetLimit" yaml:"budgetLimit"` // The name of a budget. // // The value must be unique within an account. `BudgetName` can't include `:` and `\` characters. If you don't include value for `BudgetName` in the template, Billing and Cost Management assigns your budget a randomly generated name. BudgetName *string `json:"budgetName" yaml:"budgetName"` // The cost filters, such as `Region` , `Service` , `member account` , `Tag` , or `Cost Category` , that are applied to a budget. // // AWS Budgets supports the following services as a `Service` filter for RI budgets: // // - Amazon EC2 // - Amazon Redshift // - Amazon Relational Database Service // - Amazon ElastiCache // - Amazon OpenSearch Service CostFilters interface{} `json:"costFilters" yaml:"costFilters"` // The types of costs that are included in this `COST` budget. // // `USAGE` , `RI_UTILIZATION` , `RI_COVERAGE` , `SAVINGS_PLANS_UTILIZATION` , and `SAVINGS_PLANS_COVERAGE` budgets do not have `CostTypes` . CostTypes interface{} `json:"costTypes" yaml:"costTypes"` // A map containing multiple `BudgetLimit` , including current or future limits. // // `PlannedBudgetLimits` is available for cost or usage budget and supports both monthly and quarterly `TimeUnit` . // // For monthly budgets, provide 12 months of `PlannedBudgetLimits` values. This must start from the current month and include the next 11 months. The `key` is the start of the month, `UTC` in epoch seconds. // // For quarterly budgets, provide four quarters of `PlannedBudgetLimits` value entries in standard calendar quarter increments. This must start from the current quarter and include the next three quarters. The `key` is the start of the quarter, `UTC` in epoch seconds. // // If the planned budget expires before 12 months for monthly or four quarters for quarterly, provide the `PlannedBudgetLimits` values only for the remaining periods. // // If the budget begins at a date in the future, provide `PlannedBudgetLimits` values from the start date of the budget. // // After all of the `BudgetLimit` values in `PlannedBudgetLimits` are used, the budget continues to use the last limit as the `BudgetLimit` . At that point, the planned budget provides the same experience as a fixed budget. // // `DescribeBudget` and `DescribeBudgets` response along with `PlannedBudgetLimits` also contain `BudgetLimit` representing the current month or quarter limit present in `PlannedBudgetLimits` . This only applies to budgets that are created with `PlannedBudgetLimits` . Budgets that are created without `PlannedBudgetLimits` only contain `BudgetLimit` . They don't contain `PlannedBudgetLimits` . PlannedBudgetLimits interface{} `json:"plannedBudgetLimits" yaml:"plannedBudgetLimits"` // The period of time that is covered by a budget. // // The period has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date. // // The start date for a budget. If you created your budget and didn't specify a start date, the start date defaults to the start of the chosen time period (MONTHLY, QUARTERLY, or ANNUALLY). For example, if you create your budget on January 24, 2019, choose `MONTHLY` , and don't set a start date, the start date defaults to `01/01/19 00:00 UTC` . The defaults are the same for the AWS Billing and Cost Management console and the API. // // You can change your start date with the `UpdateBudget` operation. // // After the end date, AWS deletes the budget and all associated notifications and subscribers. TimePeriod interface{} `json:"timePeriod" yaml:"timePeriod"` }
Represents the output of the `CreateBudget` operation.
The content consists of the detailed metadata and data file information, and the current status of the `budget` object.
This is the Amazon Resource Name (ARN) pattern for a budget:
`arn:aws:budgets::AccountId:budget/budgetName`
TODO: EXAMPLE
type CfnBudget_CostTypesProperty ¶
type CfnBudget_CostTypesProperty struct { // Specifies whether a budget includes credits. // // The default value is `true` . IncludeCredit interface{} `json:"includeCredit" yaml:"includeCredit"` // Specifies whether a budget includes discounts. // // The default value is `true` . IncludeDiscount interface{} `json:"includeDiscount" yaml:"includeDiscount"` // Specifies whether a budget includes non-RI subscription costs. // // The default value is `true` . IncludeOtherSubscription interface{} `json:"includeOtherSubscription" yaml:"includeOtherSubscription"` // Specifies whether a budget includes recurring fees such as monthly RI fees. // // The default value is `true` . IncludeRecurring interface{} `json:"includeRecurring" yaml:"includeRecurring"` // Specifies whether a budget includes refunds. // // The default value is `true` . IncludeRefund interface{} `json:"includeRefund" yaml:"includeRefund"` // Specifies whether a budget includes subscriptions. // // The default value is `true` . IncludeSubscription interface{} `json:"includeSubscription" yaml:"includeSubscription"` // Specifies whether a budget includes support subscription fees. // // The default value is `true` . IncludeSupport interface{} `json:"includeSupport" yaml:"includeSupport"` // Specifies whether a budget includes taxes. // // The default value is `true` . IncludeTax interface{} `json:"includeTax" yaml:"includeTax"` // Specifies whether a budget includes upfront RI costs. // // The default value is `true` . IncludeUpfront interface{} `json:"includeUpfront" yaml:"includeUpfront"` // Specifies whether a budget uses the amortized rate. // // The default value is `false` . UseAmortized interface{} `json:"useAmortized" yaml:"useAmortized"` // Specifies whether a budget uses a blended rate. // // The default value is `false` . UseBlended interface{} `json:"useBlended" yaml:"useBlended"` }
The types of cost that are included in a `COST` budget, such as tax and subscriptions.
`USAGE` , `RI_UTILIZATION` , `RI_COVERAGE` , `SAVINGS_PLANS_UTILIZATION` , and `SAVINGS_PLANS_COVERAGE` budgets don't have `CostTypes` .
TODO: EXAMPLE
type CfnBudget_NotificationProperty ¶
type CfnBudget_NotificationProperty struct { // The comparison that's used for this notification. ComparisonOperator *string `json:"comparisonOperator" yaml:"comparisonOperator"` // Specifies whether the notification is for how much you have spent ( `ACTUAL` ) or for how much that you're forecasted to spend ( `FORECASTED` ). NotificationType *string `json:"notificationType" yaml:"notificationType"` // The threshold that's associated with a notification. // // Thresholds are always a percentage, and many customers find value being alerted between 50% - 200% of the budgeted amount. The maximum limit for your threshold is 1,000,000% above the budgeted amount. Threshold *float64 `json:"threshold" yaml:"threshold"` // The type of threshold for a notification. // // For `ABSOLUTE_VALUE` thresholds, AWS notifies you when you go over or are forecasted to go over your total cost threshold. For `PERCENTAGE` thresholds, AWS notifies you when you go over or are forecasted to go over a certain percentage of your forecasted spend. For example, if you have a budget for 200 dollars and you have a `PERCENTAGE` threshold of 80%, AWS notifies you when you go over 160 dollars. ThresholdType *string `json:"thresholdType" yaml:"thresholdType"` }
A notification that's associated with a budget. A budget can have up to ten notifications.
Each notification must have at least one subscriber. A notification can have one SNS subscriber and up to 10 email subscribers, for a total of 11 subscribers.
For example, if you have a budget for 200 dollars and you want to be notified when you go over 160 dollars, create a notification with the following parameters:
- A notificationType of `ACTUAL` - A `thresholdType` of `PERCENTAGE` - A `comparisonOperator` of `GREATER_THAN` - A notification `threshold` of `80`
TODO: EXAMPLE
type CfnBudget_NotificationWithSubscribersProperty ¶
type CfnBudget_NotificationWithSubscribersProperty struct { // The notification that's associated with a budget. Notification interface{} `json:"notification" yaml:"notification"` // A list of subscribers who are subscribed to this notification. Subscribers interface{} `json:"subscribers" yaml:"subscribers"` }
A notification with subscribers.
A notification can have one SNS subscriber and up to 10 email subscribers, for a total of 11 subscribers.
TODO: EXAMPLE
type CfnBudget_SpendProperty ¶
type CfnBudget_SpendProperty struct { // The cost or usage amount that's associated with a budget forecast, actual spend, or budget threshold. Amount *float64 `json:"amount" yaml:"amount"` // The unit of measurement that's used for the budget forecast, actual spend, or budget threshold, such as USD or GBP. Unit *string `json:"unit" yaml:"unit"` }
The amount of cost or usage that's measured for a budget.
For example, a `Spend` for `3 GB` of S3 usage has the following parameters:
- An `Amount` of `3` - A `unit` of `GB`
TODO: EXAMPLE
type CfnBudget_SubscriberProperty ¶
type CfnBudget_SubscriberProperty struct { // The address that AWS sends budget notifications to, either an SNS topic or an email. // // When you create a subscriber, the value of `Address` can't contain line breaks. Address *string `json:"address" yaml:"address"` // The type of notification that AWS sends to a subscriber. SubscriptionType *string `json:"subscriptionType" yaml:"subscriptionType"` }
The `Subscriber` property type specifies who to notify for a Billing and Cost Management budget notification.
The subscriber consists of a subscription type, and either an Amazon SNS topic or an email address.
For example, an email subscriber would have the following parameters:
- A `subscriptionType` of `EMAIL` - An `address` of `example@example.com`
TODO: EXAMPLE
type CfnBudget_TimePeriodProperty ¶
type CfnBudget_TimePeriodProperty struct { // The end date for a budget. // // If you didn't specify an end date, AWS set your end date to `06/15/87 00:00 UTC` . The defaults are the same for the AWS Billing and Cost Management console and the API. // // After the end date, AWS deletes the budget and all the associated notifications and subscribers. You can change your end date with the `UpdateBudget` operation. End *string `json:"end" yaml:"end"` // The start date for a budget. // // If you created your budget and didn't specify a start date, the start date defaults to the start of the chosen time period (MONTHLY, QUARTERLY, or ANNUALLY). For example, if you create your budget on January 24, 2019, choose `MONTHLY` , and don't set a start date, the start date defaults to `01/01/19 00:00 UTC` . The defaults are the same for the AWS Billing and Cost Management console and the API. // // You can change your start date with the `UpdateBudget` operation. // // Valid values depend on the value of `BudgetType` : // // - If `BudgetType` is `COST` or `USAGE` : Valid values are `MONTHLY` , `QUARTERLY` , and `ANNUALLY` . // - If `BudgetType` is `RI_UTILIZATION` or `RI_COVERAGE` : Valid values are `DAILY` , `MONTHLY` , `QUARTERLY` , and `ANNUALLY` . Start *string `json:"start" yaml:"start"` }
The period of time that is covered by a budget.
The period has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date.
TODO: EXAMPLE
type CfnBudgetsAction ¶
type CfnBudgetsAction interface { awscdk.CfnResource awscdk.IInspectable ActionThreshold() interface{} SetActionThreshold(val interface{}) ActionType() *string SetActionType(val *string) ApprovalModel() *string SetApprovalModel(val *string) AttrActionId() *string BudgetName() *string SetBudgetName(val *string) CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string Definition() interface{} SetDefinition(val interface{}) ExecutionRoleArn() *string SetExecutionRoleArn(val *string) LogicalId() *string Node() awscdk.ConstructNode NotificationType() *string SetNotificationType(val *string) Ref() *string Stack() awscdk.Stack Subscribers() interface{} SetSubscribers(val interface{}) UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OnPrepare() OnSynthesize(session constructs.ISynthesisSession) OnValidate() *[]*string OverrideLogicalId(newLogicalId *string) Prepare() RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool Synthesize(session awscdk.ISynthesisSession) ToString() *string Validate() *[]*string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::Budgets::BudgetsAction`.
The `AWS::Budgets::BudgetsAction` resource enables you to take predefined actions that are initiated when a budget threshold has been exceeded. For more information, see [Managing Your Costs with Budgets](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/budgets-managing-costs.html) in the *AWS Billing and Cost Management User Guide* .
TODO: EXAMPLE
func NewCfnBudgetsAction ¶
func NewCfnBudgetsAction(scope awscdk.Construct, id *string, props *CfnBudgetsActionProps) CfnBudgetsAction
Create a new `AWS::Budgets::BudgetsAction`.
type CfnBudgetsActionProps ¶
type CfnBudgetsActionProps struct { // The trigger threshold of the action. ActionThreshold interface{} `json:"actionThreshold" yaml:"actionThreshold"` // The type of action. // // This defines the type of tasks that can be carried out by this action. This field also determines the format for definition. ActionType *string `json:"actionType" yaml:"actionType"` // A string that represents the budget name. // // ":" and "\" characters aren't allowed. BudgetName *string `json:"budgetName" yaml:"budgetName"` // Specifies all of the type-specific parameters. Definition interface{} `json:"definition" yaml:"definition"` // The role passed for action execution and reversion. // // Roles and actions must be in the same account. ExecutionRoleArn *string `json:"executionRoleArn" yaml:"executionRoleArn"` // The type of a notification. NotificationType *string `json:"notificationType" yaml:"notificationType"` // A list of subscribers. Subscribers interface{} `json:"subscribers" yaml:"subscribers"` // This specifies if the action needs manual or automatic approval. ApprovalModel *string `json:"approvalModel" yaml:"approvalModel"` }
Properties for defining a `CfnBudgetsAction`.
TODO: EXAMPLE
type CfnBudgetsAction_ActionThresholdProperty ¶
type CfnBudgetsAction_ActionThresholdProperty struct { // The type of threshold for a notification. Type *string `json:"type" yaml:"type"` // The threshold of a notification. Value *float64 `json:"value" yaml:"value"` }
The trigger threshold of the action.
TODO: EXAMPLE
type CfnBudgetsAction_DefinitionProperty ¶
type CfnBudgetsAction_DefinitionProperty struct { // The AWS Identity and Access Management ( IAM ) action definition details. IamActionDefinition interface{} `json:"iamActionDefinition" yaml:"iamActionDefinition"` // The service control policies (SCP) action definition details. ScpActionDefinition interface{} `json:"scpActionDefinition" yaml:"scpActionDefinition"` // The Amazon EC2 Systems Manager ( SSM ) action definition details. SsmActionDefinition interface{} `json:"ssmActionDefinition" yaml:"ssmActionDefinition"` }
The definition is where you specify all of the type-specific parameters.
TODO: EXAMPLE
type CfnBudgetsAction_IamActionDefinitionProperty ¶
type CfnBudgetsAction_IamActionDefinitionProperty struct { // The Amazon Resource Name (ARN) of the policy to be attached. PolicyArn *string `json:"policyArn" yaml:"policyArn"` // A list of groups to be attached. // // There must be at least one group. Groups *[]*string `json:"groups" yaml:"groups"` // A list of roles to be attached. // // There must be at least one role. Roles *[]*string `json:"roles" yaml:"roles"` // A list of users to be attached. // // There must be at least one user. Users *[]*string `json:"users" yaml:"users"` }
The AWS Identity and Access Management ( IAM ) action definition details.
TODO: EXAMPLE
type CfnBudgetsAction_ScpActionDefinitionProperty ¶
type CfnBudgetsAction_ScpActionDefinitionProperty struct { // The policy ID attached. PolicyId *string `json:"policyId" yaml:"policyId"` // A list of target IDs. TargetIds *[]*string `json:"targetIds" yaml:"targetIds"` }
The service control policies (SCP) action definition details.
TODO: EXAMPLE
type CfnBudgetsAction_SsmActionDefinitionProperty ¶
type CfnBudgetsAction_SsmActionDefinitionProperty struct { // The EC2 and RDS instance IDs. InstanceIds *[]*string `json:"instanceIds" yaml:"instanceIds"` // The Region to run the ( SSM ) document. Region *string `json:"region" yaml:"region"` // The action subType. Subtype *string `json:"subtype" yaml:"subtype"` }
The Amazon EC2 Systems Manager ( SSM ) action definition details.
TODO: EXAMPLE
type CfnBudgetsAction_SubscriberProperty ¶
type CfnBudgetsAction_SubscriberProperty struct { // The address that AWS sends budget notifications to, either an SNS topic or an email. // // When you create a subscriber, the value of `Address` can't contain line breaks. Address *string `json:"address" yaml:"address"` // The type of notification that AWS sends to a subscriber. Type *string `json:"type" yaml:"type"` }
The subscriber to a budget notification.
The subscriber consists of a subscription type and either an Amazon SNS topic or an email address.
For example, an email subscriber has the following parameters:
- A `subscriptionType` of `EMAIL` - An `address` of `example@example.com`
TODO: EXAMPLE