func (o *ItemImportRequest) GetProductsOk() (*[]Products, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.Products, true
}
GetProductsOk returns a tuple with the Products field value
and a boolean to check if the value has been set.
package plaid
import (
	"encoding/json"
)
type ItemImportRequest struct {
	ClientId *string `json:"client_id,omitempty"`
	Secret *string `json:"secret,omitempty"`
	Products []Products `json:"products"`
	UserAuth ItemImportRequestUserAuth `json:"user_auth"`
	Options *ItemImportRequestOptions `json:"options,omitempty"`
}
func NewItemImportRequest(products []Products, userAuth ItemImportRequestUserAuth) *ItemImportRequest {
	this := ItemImportRequest{}
	this.Products = products
	this.UserAuth = userAuth
	return &this
}
func NewItemImportRequestWithDefaults() *ItemImportRequest {
	this := ItemImportRequest{}
	return &this
}
func (o *ItemImportRequest) GetClientId() string {
	if o == nil || o.ClientId == nil {
		var ret string
		return ret
	}
	return *o.ClientId
}
func (o *ItemImportRequest) GetClientIdOk() (*string, bool) {
	if o == nil || o.ClientId == nil {
		return nil, false
	}
	return o.ClientId, true
}
func (o *ItemImportRequest) HasClientId() bool {
	if o != nil && o.ClientId != nil {
		return true
	}
	return false
}
func (o *ItemImportRequest) SetClientId(v string) {
	o.ClientId = &v
}
func (o *ItemImportRequest) GetSecret() string {
	if o == nil || o.Secret == nil {
		var ret string
		return ret
	}
	return *o.Secret
}
func (o *ItemImportRequest) GetSecretOk() (*string, bool) {
	if o == nil || o.Secret == nil {
		return nil, false
	}
	return o.Secret, true
}
func (o *ItemImportRequest) HasSecret() bool {
	if o != nil && o.Secret != nil {
		return true
	}
	return false
}
func (o *ItemImportRequest) SetSecret(v string) {
	o.Secret = &v
}
func (o *ItemImportRequest) GetProducts() []Products {
	if o == nil {
		var ret []Products
		return ret
	}
	return o.Products
}