Class CreditData

java.lang.Object
software.amazon.awssdk.services.billing.model.CreditData
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<CreditData.Builder,CreditData>

@Generated("software.amazon.awssdk:codegen") public final class CreditData extends Object implements SdkPojo, Serializable, ToCopyableBuilder<CreditData.Builder,CreditData>

Detailed information about an Amazon Web Services credit, including its identifier, type, monetary amounts, applicable products, sharing configuration, and current enabled status.

See Also:
  • Method Details

    • creditId

      public final String creditId()

      The unique identifier for the credit.

      Returns:
      The unique identifier for the credit.
    • accountId

      public final String accountId()

      The Amazon Web Services account ID that owns the credit.

      Returns:
      The Amazon Web Services account ID that owns the credit.
    • creditType

      public final String creditType()

      The type of credit. Examples: Promotion, Refund, TrueUp.

      Returns:
      The type of credit. Examples: Promotion, Refund, TrueUp.
    • initialAmount

      public final Amount initialAmount()

      The initial amount of the credit when it was issued.

      Returns:
      The initial amount of the credit when it was issued.
    • remainingAmount

      public final Amount remainingAmount()

      The unused balance of the credit.

      Returns:
      The unused balance of the credit.
    • estimatedAmount

      public final Amount estimatedAmount()

      The estimated remaining balance, including in-flight (open) bills that have not yet been finalized.

      Returns:
      The estimated remaining balance, including in-flight (open) bills that have not yet been finalized.
    • hasApplicableProductNames

      public final boolean hasApplicableProductNames()
      For responses, this returns true if the service returned a value for the ApplicableProductNames property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • applicableProductNames

      public final List<String> applicableProductNames()

      The names of Amazon Web Services services this credit applies to.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasApplicableProductNames() method.

      Returns:
      The names of Amazon Web Services services this credit applies to.
    • description

      public final String description()

      A human-readable description of the credit.

      Returns:
      A human-readable description of the credit.
    • startDate

      public final Instant startDate()

      The date the credit becomes valid, as Unix epoch seconds.

      Returns:
      The date the credit becomes valid, as Unix epoch seconds.
    • endDate

      public final Instant endDate()

      The date the credit expires, as Unix epoch seconds.

      Returns:
      The date the credit expires, as Unix epoch seconds.
    • exhaustDate

      public final Instant exhaustDate()

      The date the credit balance reached zero, as Unix epoch seconds.

      Returns:
      The date the credit balance reached zero, as Unix epoch seconds.
    • applicationType

      public final ApplicationType applicationType()

      When the credit is applied during bill computation. Valid values: BEFORE_CROSS_SERVICE_DISCOUNTS, AFTER_DISCOUNTS.

      If the service returns an enum value that is not available in the current SDK version, applicationType will return ApplicationType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from applicationTypeAsString().

      Returns:
      When the credit is applied during bill computation. Valid values: BEFORE_CROSS_SERVICE_DISCOUNTS, AFTER_DISCOUNTS.
      See Also:
    • applicationTypeAsString

      public final String applicationTypeAsString()

      When the credit is applied during bill computation. Valid values: BEFORE_CROSS_SERVICE_DISCOUNTS, AFTER_DISCOUNTS.

      If the service returns an enum value that is not available in the current SDK version, applicationType will return ApplicationType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from applicationTypeAsString().

      Returns:
      When the credit is applied during bill computation. Valid values: BEFORE_CROSS_SERVICE_DISCOUNTS, AFTER_DISCOUNTS.
      See Also:
    • hasShareableAccounts

      public final boolean hasShareableAccounts()
      For responses, this returns true if the service returned a value for the ShareableAccounts property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • shareableAccounts

      public final List<String> shareableAccounts()

      The Amazon Web Services account IDs entitled to apply this credit.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasShareableAccounts() method.

      Returns:
      The Amazon Web Services account IDs entitled to apply this credit.
    • accountHasCreditSharingEnabled

      public final Boolean accountHasCreditSharingEnabled()

      Whether the owning account has account-level credit sharing turned on.

      Returns:
      Whether the owning account has account-level credit sharing turned on.
    • creditConsoleVisibility

      public final String creditConsoleVisibility()

      The display configuration for the credit in the Amazon Web Services Billing console.

      Returns:
      The display configuration for the credit in the Amazon Web Services Billing console.
    • creditSharingType

      public final CreditSharingType creditSharingType()

      The sharing configuration for the credit. Valid values: DEFAULT, DISABLED, CUSTOM, COST_CATEGORY_RULE.

      If the service returns an enum value that is not available in the current SDK version, creditSharingType will return CreditSharingType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from creditSharingTypeAsString().

      Returns:
      The sharing configuration for the credit. Valid values: DEFAULT, DISABLED, CUSTOM, COST_CATEGORY_RULE.
      See Also:
    • creditSharingTypeAsString

      public final String creditSharingTypeAsString()

      The sharing configuration for the credit. Valid values: DEFAULT, DISABLED, CUSTOM, COST_CATEGORY_RULE.

      If the service returns an enum value that is not available in the current SDK version, creditSharingType will return CreditSharingType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from creditSharingTypeAsString().

      Returns:
      The sharing configuration for the credit. Valid values: DEFAULT, DISABLED, CUSTOM, COST_CATEGORY_RULE.
      See Also:
    • costCategoryArn

      public final String costCategoryArn()

      The Amazon Resource Name (ARN) of the Cost Category controlling the credit's sharing scope. Present only when creditSharingType is COST_CATEGORY_RULE.

      Returns:
      The Amazon Resource Name (ARN) of the Cost Category controlling the credit's sharing scope. Present only when creditSharingType is COST_CATEGORY_RULE.
    • ruleName

      public final String ruleName()

      The rule name within the Cost Category. Present only when creditSharingType is COST_CATEGORY_RULE.

      Returns:
      The rule name within the Cost Category. Present only when creditSharingType is COST_CATEGORY_RULE.
    • creditStatus

      public final CreditStatus creditStatus()

      Whether the credit participates in billing runs. Valid values: ENABLED, DISABLED.

      If the service returns an enum value that is not available in the current SDK version, creditStatus will return CreditStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from creditStatusAsString().

      Returns:
      Whether the credit participates in billing runs. Valid values: ENABLED, DISABLED.
      See Also:
    • creditStatusAsString

      public final String creditStatusAsString()

      Whether the credit participates in billing runs. Valid values: ENABLED, DISABLED.

      If the service returns an enum value that is not available in the current SDK version, creditStatus will return CreditStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from creditStatusAsString().

      Returns:
      Whether the credit participates in billing runs. Valid values: ENABLED, DISABLED.
      See Also:
    • hasPurchaseTypeApplications

      public final boolean hasPurchaseTypeApplications()
      For responses, this returns true if the service returned a value for the PurchaseTypeApplications property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • purchaseTypeApplications

      public final List<String> purchaseTypeApplications()

      Restricts which purchase types this credit applies to. When null or omitted, the credit applies to all purchase types.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasPurchaseTypeApplications() method.

      Returns:
      Restricts which purchase types this credit applies to. When null or omitted, the credit applies to all purchase types.
    • toBuilder

      public CreditData.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<CreditData.Builder,CreditData>
      Returns:
      a builder for type T
    • builder

      public static CreditData.Builder builder()
    • serializableBuilderClass

      public static Class<? extends CreditData.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.