1: <?php
2:
3: declare(strict_types=1);
4:
5: /*
6: * This file has been auto generated by Jane,
7: *
8: * Do no edit it directly.
9: */
10:
11: namespace NxSys\Library\Clients\Brex\API\Team\Model;
12:
13: class CreateCardRequest extends \ArrayObject
14: {
15: /**
16: * @var array
17: */
18: protected $initialized = [];
19:
20: public function isInitialized($property): bool
21: {
22: return array_key_exists($property, $this->initialized);
23: }
24: /**
25: * @var mixed[]
26: */
27: protected $owner;
28: /**
29: * @var string
30: */
31: protected $cardName;
32: /**
33: * @var string
34: */
35: protected $cardType;
36: /**
37: `limit_type = CARD` for vendor cards. Vendor cards must have a `card_type` of `VIRTUAL`
38: and do not rely on the user specific limit.
39:
40: For corporate cards, `limit_type = USER`.
41:
42: Learn more about different card types [here](https://support.brex.com/what-are-the-different-types-of-cards-i-can-get/).
43:
44: *
45: * @var string
46: */
47: protected $limitType;
48: /**
49: * @var CreateCardRequestSpendControls
50: */
51: protected $spendControls;
52: /**
53: * @var CreateCardRequestMailingAddress
54: */
55: protected $mailingAddress;
56: /**
57: Set of key value pairs associated with this object. Please do not store any personally identifiable or sensitive information here.
58: Limitations: maximum of 50 keys, keys cannot exceed 40 characters, values cannot exceed 500 characters.
59:
60: *
61: * @var string[]|null
62: */
63: protected $metadata;
64: /**
65: * @var CreateCardRequestCardAttributePreferences
66: */
67: protected $cardAttributePreferences;
68:
69: /**
70: * @return mixed[]
71: */
72: public function getOwner(): iterable
73: {
74: return $this->owner;
75: }
76:
77: /**
78: * @param mixed[] $owner
79: */
80: public function setOwner(iterable $owner): self
81: {
82: $this->initialized['owner'] = true;
83: $this->owner = $owner;
84:
85: return $this;
86: }
87:
88: public function getCardName(): string
89: {
90: return $this->cardName;
91: }
92:
93: public function setCardName(string $cardName): self
94: {
95: $this->initialized['cardName'] = true;
96: $this->cardName = $cardName;
97:
98: return $this;
99: }
100:
101: public function getCardType(): string
102: {
103: return $this->cardType;
104: }
105:
106: public function setCardType(string $cardType): self
107: {
108: $this->initialized['cardType'] = true;
109: $this->cardType = $cardType;
110:
111: return $this;
112: }
113:
114: /**
115: `limit_type = CARD` for vendor cards. Vendor cards must have a `card_type` of `VIRTUAL`
116: and do not rely on the user specific limit.
117:
118: For corporate cards, `limit_type = USER`.
119:
120: Learn more about different card types [here](https://support.brex.com/what-are-the-different-types-of-cards-i-can-get/).
121: */
122: public function getLimitType(): string
123: {
124: return $this->limitType;
125: }
126:
127: /**
128: `limit_type = CARD` for vendor cards. Vendor cards must have a `card_type` of `VIRTUAL`
129: and do not rely on the user specific limit.
130:
131: For corporate cards, `limit_type = USER`.
132:
133: Learn more about different card types [here](https://support.brex.com/what-are-the-different-types-of-cards-i-can-get/).
134: */
135: public function setLimitType(string $limitType): self
136: {
137: $this->initialized['limitType'] = true;
138: $this->limitType = $limitType;
139:
140: return $this;
141: }
142:
143: public function getSpendControls(): CreateCardRequestSpendControls
144: {
145: return $this->spendControls;
146: }
147:
148: public function setSpendControls(CreateCardRequestSpendControls $spendControls): self
149: {
150: $this->initialized['spendControls'] = true;
151: $this->spendControls = $spendControls;
152:
153: return $this;
154: }
155:
156: public function getMailingAddress(): CreateCardRequestMailingAddress
157: {
158: return $this->mailingAddress;
159: }
160:
161: public function setMailingAddress(CreateCardRequestMailingAddress $mailingAddress): self
162: {
163: $this->initialized['mailingAddress'] = true;
164: $this->mailingAddress = $mailingAddress;
165:
166: return $this;
167: }
168:
169: /**
170: Set of key value pairs associated with this object. Please do not store any personally identifiable or sensitive information here.
171: Limitations: maximum of 50 keys, keys cannot exceed 40 characters, values cannot exceed 500 characters.
172:
173: *
174: * @return string[]|null
175: */
176: public function getMetadata(): ?iterable
177: {
178: return $this->metadata;
179: }
180:
181: /**
182: Set of key value pairs associated with this object. Please do not store any personally identifiable or sensitive information here.
183: Limitations: maximum of 50 keys, keys cannot exceed 40 characters, values cannot exceed 500 characters.
184:
185: *
186: * @param string[]|null $metadata
187: */
188: public function setMetadata(?iterable $metadata): self
189: {
190: $this->initialized['metadata'] = true;
191: $this->metadata = $metadata;
192:
193: return $this;
194: }
195:
196: public function getCardAttributePreferences(): CreateCardRequestCardAttributePreferences
197: {
198: return $this->cardAttributePreferences;
199: }
200:
201: public function setCardAttributePreferences(CreateCardRequestCardAttributePreferences $cardAttributePreferences): self
202: {
203: $this->initialized['cardAttributePreferences'] = true;
204: $this->cardAttributePreferences = $cardAttributePreferences;
205:
206: return $this;
207: }
208: }
209: