code: @Override
      public CreateProvisionedProductPlanResult createProvisionedProductPlan(CreateProvisionedProductPlanRequest request) {
          request = beforeClientExecution(request);
          return executeCreateProvisionedProductPlan(request);
      }
docs: <p>
  Creates a plan. A plan includes the list of resources to be created (when provisioning a new product) or modified
  (when updating a provisioned product) when the plan is executed.
  </p>
  <p>
  You can create one plan per provisioned product. To create a plan for an existing provisioned product, the
  product status must be AVAILBLE or TAINTED.
  </p>
  <p>
  To view the resource changes in the change set, use <a>DescribeProvisionedProductPlan</a>. To create or modify
  the provisioned product, use <a>ExecuteProvisionedProductPlan</a>.
  </p>
  
  @param createProvisionedProductPlanRequest
  @return Result of the CreateProvisionedProductPlan operation returned by the service.
  @throws InvalidParametersException
  One or more parameters provided to the operation are not valid.
  @throws ResourceNotFoundException
  The specified resource was not found.
  @throws InvalidStateException
  An attempt was made to modify a resource that is in a state that is not valid. Check your resources to
  ensure that they are in valid states before retrying the operation.
  @sample AWSServiceCatalog.CreateProvisionedProductPlan
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/CreateProvisionedProductPlan"
  target="_top">AWS API Documentation</a>