Class SubscriptionState.Builder

  • Enclosing class:
    SubscriptionState

    public static final class SubscriptionState.Builder
    extends java.lang.Object
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • approvalMode

        public SubscriptionState.Builder approvalMode​(@Nullable
                                                      com.pulumi.core.Output<java.lang.String> approvalMode)
        Parameters:
        approvalMode - Whether the subscription requires explicit approval before billing starts. Valid values: `MANUAL`, `IMMEDIATE`. If not set, AWS defaults to `MANUAL` for paid-tier subscriptions and `IMMEDIATE` for `FREE` tier subscriptions. With `MANUAL`, paid-tier subscriptions remain in `PENDING_APPROVAL` (unbilled, and unmodifiable) until approved with a separate `ApprovePaidSubscription` API call. This value is used only at creation time and is not returned by the AWS API. Changing this argument creates a new resource.
        Returns:
        builder
      • approvalMode

        public SubscriptionState.Builder approvalMode​(java.lang.String approvalMode)
        Parameters:
        approvalMode - Whether the subscription requires explicit approval before billing starts. Valid values: `MANUAL`, `IMMEDIATE`. If not set, AWS defaults to `MANUAL` for paid-tier subscriptions and `IMMEDIATE` for `FREE` tier subscriptions. With `MANUAL`, paid-tier subscriptions remain in `PENDING_APPROVAL` (unbilled, and unmodifiable) until approved with a separate `ApprovePaidSubscription` API call. This value is used only at creation time and is not returned by the AWS API. Changing this argument creates a new resource.
        Returns:
        builder
      • arn

        public SubscriptionState.Builder arn​(@Nullable
                                             com.pulumi.core.Output<java.lang.String> arn)
        Parameters:
        arn - ARN of the subscription.
        Returns:
        builder
      • arn

        public SubscriptionState.Builder arn​(java.lang.String arn)
        Parameters:
        arn - ARN of the subscription.
        Returns:
        builder
      • etag

        public SubscriptionState.Builder etag​(@Nullable
                                              com.pulumi.core.Output<java.lang.String> etag)
        Parameters:
        etag - Entity tag of the subscription, used by AWS for optimistic concurrency control.
        Returns:
        builder
      • etag

        public SubscriptionState.Builder etag​(java.lang.String etag)
        Parameters:
        etag - Entity tag of the subscription, used by AWS for optimistic concurrency control.
        Returns:
        builder
      • planFamily

        public SubscriptionState.Builder planFamily​(@Nullable
                                                    com.pulumi.core.Output<java.lang.String> planFamily)
        Parameters:
        planFamily - Pricing plan family to subscribe to, such as `CloudFront`. Changing this argument creates a new resource.
        Returns:
        builder
      • planFamily

        public SubscriptionState.Builder planFamily​(java.lang.String planFamily)
        Parameters:
        planFamily - Pricing plan family to subscribe to, such as `CloudFront`. Changing this argument creates a new resource.
        Returns:
        builder
      • planTier

        public SubscriptionState.Builder planTier​(@Nullable
                                                  com.pulumi.core.Output<java.lang.String> planTier)
        Parameters:
        planTier - Tier level for the subscription, such as `FREE`, `PRO`, `BUSINESS`, or `PREMIUM`. Upgrades take effect immediately. Downgrades are scheduled by AWS to take effect at the end of the current billing period: until then AWS keeps billing the old tier and this argument reflects the desired (scheduled) tier, with the pending change exposed in `scheduledChange`. Raising the tier again before the downgrade takes effect reverts the pending change.
        Returns:
        builder
      • planTier

        public SubscriptionState.Builder planTier​(java.lang.String planTier)
        Parameters:
        planTier - Tier level for the subscription, such as `FREE`, `PRO`, `BUSINESS`, or `PREMIUM`. Upgrades take effect immediately. Downgrades are scheduled by AWS to take effect at the end of the current billing period: until then AWS keeps billing the old tier and this argument reflects the desired (scheduled) tier, with the pending change exposed in `scheduledChange`. Raising the tier again before the downgrade takes effect reverts the pending change.
        Returns:
        builder
      • resourceArns

        public SubscriptionState.Builder resourceArns​(@Nullable
                                                      com.pulumi.core.Output<java.util.List<java.lang.String>> resourceArns)
        Parameters:
        resourceArns - Set of ARNs of the AWS resources to include in the subscription, between 1 and 10 entries. For subscriptions in the `CloudFront` plan family, the resources must include exactly one CloudFront distribution and exactly one WAF web ACL, and can also include other supported resources such as Route 53 hosted zones (any tier) and CloudFront KeyValueStores (paid tiers only). Associated resources are protected by AWS while covered — for example, a hosted zone cannot be deleted until it is disassociated from the plan. The following arguments are optional:
        Returns:
        builder
      • resourceArns

        public SubscriptionState.Builder resourceArns​(java.util.List<java.lang.String> resourceArns)
        Parameters:
        resourceArns - Set of ARNs of the AWS resources to include in the subscription, between 1 and 10 entries. For subscriptions in the `CloudFront` plan family, the resources must include exactly one CloudFront distribution and exactly one WAF web ACL, and can also include other supported resources such as Route 53 hosted zones (any tier) and CloudFront KeyValueStores (paid tiers only). Associated resources are protected by AWS while covered — for example, a hosted zone cannot be deleted until it is disassociated from the plan. The following arguments are optional:
        Returns:
        builder
      • resourceArns

        public SubscriptionState.Builder resourceArns​(java.lang.String... resourceArns)
        Parameters:
        resourceArns - Set of ARNs of the AWS resources to include in the subscription, between 1 and 10 entries. For subscriptions in the `CloudFront` plan family, the resources must include exactly one CloudFront distribution and exactly one WAF web ACL, and can also include other supported resources such as Route 53 hosted zones (any tier) and CloudFront KeyValueStores (paid tiers only). Associated resources are protected by AWS while covered — for example, a hosted zone cannot be deleted until it is disassociated from the plan. The following arguments are optional:
        Returns:
        builder
      • scheduledChanges

        public SubscriptionState.Builder scheduledChanges​(@Nullable
                                                          com.pulumi.core.Output<java.util.List<SubscriptionScheduledChangeArgs>> scheduledChanges)
        Parameters:
        scheduledChanges - Pending change that takes effect at the end of the current billing period, if any. See `scheduledChange` below.
        Returns:
        builder
      • scheduledChanges

        public SubscriptionState.Builder scheduledChanges​(java.util.List<SubscriptionScheduledChangeArgs> scheduledChanges)
        Parameters:
        scheduledChanges - Pending change that takes effect at the end of the current billing period, if any. See `scheduledChange` below.
        Returns:
        builder
      • scheduledChanges

        public SubscriptionState.Builder scheduledChanges​(SubscriptionScheduledChangeArgs... scheduledChanges)
        Parameters:
        scheduledChanges - Pending change that takes effect at the end of the current billing period, if any. See `scheduledChange` below.
        Returns:
        builder
      • status

        public SubscriptionState.Builder status​(@Nullable
                                                com.pulumi.core.Output<java.lang.String> status)
        Parameters:
        status - Current status of the subscription. Valid values: `PENDING_APPROVAL`, `ACTIVE`, `SYNC_IN_PROGRESS`, `FAILED`.
        Returns:
        builder
      • status

        public SubscriptionState.Builder status​(java.lang.String status)
        Parameters:
        status - Current status of the subscription. Valid values: `PENDING_APPROVAL`, `ACTIVE`, `SYNC_IN_PROGRESS`, `FAILED`.
        Returns:
        builder
      • statusReason

        public SubscriptionState.Builder statusReason​(@Nullable
                                                      com.pulumi.core.Output<java.lang.String> statusReason)
        Parameters:
        statusReason - Human-readable explanation of the current status, when available.
        Returns:
        builder
      • statusReason

        public SubscriptionState.Builder statusReason​(java.lang.String statusReason)
        Parameters:
        statusReason - Human-readable explanation of the current status, when available.
        Returns:
        builder
      • usageLevel

        public SubscriptionState.Builder usageLevel​(@Nullable
                                                    com.pulumi.core.Output<java.lang.String> usageLevel)
        Parameters:
        usageLevel - Usage level within the plan tier. Specify `DEFAULT` for the base configuration, or a higher level if the plan tier supports it. If omitted on an update, the usage level is reset to the plan tier's default.
        Returns:
        builder
      • usageLevel

        public SubscriptionState.Builder usageLevel​(java.lang.String usageLevel)
        Parameters:
        usageLevel - Usage level within the plan tier. Specify `DEFAULT` for the base configuration, or a higher level if the plan tier supports it. If omitted on an update, the usage level is reset to the plan tier's default.
        Returns:
        builder