Class ProductContractProperties

java.lang.Object
com.azure.resourcemanager.apimanagement.models.ProductEntityBaseParameters
com.azure.resourcemanager.apimanagement.fluent.models.ProductContractProperties
All Implemented Interfaces:
com.azure.json.JsonSerializable<ProductEntityBaseParameters>

public final class ProductContractProperties extends ProductEntityBaseParameters
Product profile.
  • Constructor Details

    • ProductContractProperties

      public ProductContractProperties()
      Creates an instance of ProductContractProperties class.
  • Method Details

    • displayName

      public String displayName()
      Get the displayName property: Product name.
      Returns:
      the displayName value.
    • withDisplayName

      public ProductContractProperties withDisplayName(String displayName)
      Set the displayName property: Product name.
      Parameters:
      displayName - the displayName value to set.
      Returns:
      the ProductContractProperties object itself.
    • withDescription

      public ProductContractProperties withDescription(String description)
      Set the description property: Product description. May include HTML formatting tags.
      Overrides:
      withDescription in class ProductEntityBaseParameters
      Parameters:
      description - the description value to set.
      Returns:
      the ProductEntityBaseParameters object itself.
    • withTerms

      public ProductContractProperties withTerms(String terms)
      Set the terms property: Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process.
      Overrides:
      withTerms in class ProductEntityBaseParameters
      Parameters:
      terms - the terms value to set.
      Returns:
      the ProductEntityBaseParameters object itself.
    • withSubscriptionRequired

      public ProductContractProperties withSubscriptionRequired(Boolean subscriptionRequired)
      Set the subscriptionRequired property: Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as "protected" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as "open" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true.
      Overrides:
      withSubscriptionRequired in class ProductEntityBaseParameters
      Parameters:
      subscriptionRequired - the subscriptionRequired value to set.
      Returns:
      the ProductEntityBaseParameters object itself.
    • withApprovalRequired

      public ProductContractProperties withApprovalRequired(Boolean approvalRequired)
      Set the approvalRequired property: whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.
      Overrides:
      withApprovalRequired in class ProductEntityBaseParameters
      Parameters:
      approvalRequired - the approvalRequired value to set.
      Returns:
      the ProductEntityBaseParameters object itself.
    • withSubscriptionsLimit

      public ProductContractProperties withSubscriptionsLimit(Integer subscriptionsLimit)
      Set the subscriptionsLimit property: Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false.
      Overrides:
      withSubscriptionsLimit in class ProductEntityBaseParameters
      Parameters:
      subscriptionsLimit - the subscriptionsLimit value to set.
      Returns:
      the ProductEntityBaseParameters object itself.
    • withState

      public ProductContractProperties withState(ProductState state)
      Set the state property: whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished.
      Overrides:
      withState in class ProductEntityBaseParameters
      Parameters:
      state - the state value to set.
      Returns:
      the ProductEntityBaseParameters object itself.
    • validate

      public void validate()
      Validates the instance.
      Overrides:
      validate in class ProductEntityBaseParameters
      Throws:
      IllegalArgumentException - thrown if the instance is not valid.
    • toJson

      public com.azure.json.JsonWriter toJson(com.azure.json.JsonWriter jsonWriter) throws IOException
      Specified by:
      toJson in interface com.azure.json.JsonSerializable<ProductEntityBaseParameters>
      Overrides:
      toJson in class ProductEntityBaseParameters
      Throws:
      IOException
    • fromJson

      public static ProductContractProperties fromJson(com.azure.json.JsonReader jsonReader) throws IOException
      Reads an instance of ProductContractProperties from the JsonReader.
      Parameters:
      jsonReader - The JsonReader being read.
      Returns:
      An instance of ProductContractProperties if the JsonReader was pointing to an instance of it, or null if it was pointing to JSON null.
      Throws:
      IllegalStateException - If the deserialized JSON object was missing any required properties.
      IOException - If an error occurs while reading the ProductContractProperties.