/// <summary>
 /// Initializes a new instance of the OrganizationResource class.
 /// </summary>
 /// <param name="offerDetail">Confluent offer detail</param>
 /// <param name="userDetail">Subscriber detail</param>
 /// <param name="id">The ARM id of the resource.</param>
 /// <param name="name">The name of the resource.</param>
 /// <param name="type">The type of the resource.</param>
 /// <param name="systemData">Metadata pertaining to creation and last
 /// modification of the resource</param>
 /// <param name="createdTime">The creation time of the
 /// resource.</param>
 /// <param name="provisioningState">Provision states for confluent RP.
 /// Possible values include: 'Accepted', 'Creating', 'Updating',
 /// 'Deleting', 'Succeeded', 'Failed', 'Canceled', 'Deleted',
 /// 'NotSpecified'</param>
 /// <param name="organizationId">Id of the Confluent
 /// organization.</param>
 /// <param name="ssoUrl">SSO url for the Confluent
 /// organization.</param>
 /// <param name="tags">Organization resource tags</param>
 /// <param name="location">Location of Organization resource</param>
 public OrganizationResource(OfferDetail offerDetail, UserDetail userDetail, string id = default(string), string name = default(string), string type = default(string), SystemData systemData = default(SystemData), System.DateTime?createdTime = default(System.DateTime?), string provisioningState = default(string), string organizationId = default(string), string ssoUrl = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), string location = default(string))
 {
     Id                = id;
     Name              = name;
     Type              = type;
     SystemData        = systemData;
     CreatedTime       = createdTime;
     ProvisioningState = provisioningState;
     OrganizationId    = organizationId;
     SsoUrl            = ssoUrl;
     OfferDetail       = offerDetail;
     UserDetail        = userDetail;
     Tags              = tags;
     Location          = location;
     CustomInit();
 }
 /// <summary>
 /// Validate the object.
 /// </summary>
 /// <exception cref="ValidationException">
 /// Thrown if validation fails
 /// </exception>
 public virtual void Validate()
 {
     if (OfferDetail == null)
     {
         throw new ValidationException(ValidationRules.CannotBeNull, "OfferDetail");
     }
     if (UserDetail == null)
     {
         throw new ValidationException(ValidationRules.CannotBeNull, "UserDetail");
     }
     if (OfferDetail != null)
     {
         OfferDetail.Validate();
     }
     if (UserDetail != null)
     {
         UserDetail.Validate();
     }
 }