Takes a YAML object, as a string, to convert to query string keys.
Access
public static
Parameters
Parameter |
Type |
Required |
Description |
|---|---|---|---|
|
|
Required |
A YAML object. |
|
|
|
Optional |
The name of the “member” property that AWS uses for lists in certain services. Defaults to an empty string. |
|
|
|
Optional |
The default key to use when the value for |
Returns
Type |
Description |
|---|---|
|
The option group parameters to merge into another method’s |
Examples
Convert a short-form YAML object into a parameter list.
// Test data
$yaml = '
IpPermissions:
- { IpProtocol: tcp, FromPort: 3023, ToPort: 3024, Groups: [{ UserId: user1, GroupName: group1 }, { UserId: user2, GroupName: group2 }], IpRanges: [{ CidrIp: 192.168.0.1 }, { CidrIp: 192.168.0.2 }] }
- { IpProtocol: tcp, FromPort: 3023, ToPort: 3024, Groups: [{ UserId: user1, GroupName: group1 }, { UserId: user2, GroupName: group2 }], IpRanges: [{ CidrIp: 192.168.0.1 }, { CidrIp: 192.168.0.2 }] }
';
$data = CFComplexType::yaml($yaml);
// Success?
var_dump($data);
Result:
array(18) {
["IpPermissions.1.IpProtocol"]=>
string(3) "tcp"
["IpPermissions.1.FromPort"]=>
int(3023)
["IpPermissions.1.ToPort"]=>
int(3024)
["IpPermissions.1.Groups.1.UserId"]=>
string(5) "user1"
["IpPermissions.1.Groups.1.GroupName"]=>
string(6) "group1"
["IpPermissions.1.Groups.2.UserId"]=>
string(5) "user2"
["IpPermissions.1.Groups.2.GroupName"]=>
string(6) "group2"
["IpPermissions.1.IpRanges.1.CidrIp"]=>
string(11) "192.168.0.1"
["IpPermissions.1.IpRanges.2.CidrIp"]=>
string(11) "192.168.0.2"
["IpPermissions.2.IpProtocol"]=>
string(3) "tcp"
["IpPermissions.2.FromPort"]=>
int(3023)
["IpPermissions.2.ToPort"]=>
int(3024)
["IpPermissions.2.Groups.1.UserId"]=>
string(5) "user1"
["IpPermissions.2.Groups.1.GroupName"]=>
string(6) "group1"
["IpPermissions.2.Groups.2.UserId"]=>
string(5) "user2"
["IpPermissions.2.Groups.2.GroupName"]=>
string(6) "group2"
["IpPermissions.2.IpRanges.1.CidrIp"]=>
string(11) "192.168.0.1"
["IpPermissions.2.IpRanges.2.CidrIp"]=>
string(11) "192.168.0.2"
}
Convert a long-form YAML object into a parameter list.
// Test data
$yaml = '
IpPermissions:
0:
IpProtocol: tcp
FromPort: 3023
ToPort: 3024
Groups:
0:
UserId: user1
GroupName: group1
1:
UserId: user2
GroupName: group2
IpRanges:
0:
CidrIp: 192.168.0.1
1:
CidrIp: 192.168.0.2
1:
IpProtocol: tcp
FromPort: 3023
ToPort: 3024
Groups:
- { UserId: user1, GroupName: group1 }
- { UserId: user2, GroupName: group2 }
IpRanges:
- { CidrIp: 192.168.0.1 }
- { CidrIp: 192.168.0.2 }
';
$data = CFComplexType::yaml($yaml);
// Success?
var_dump($data);
Result:
array(18) {
["IpPermissions.1.IpProtocol"]=>
string(3) "tcp"
["IpPermissions.1.FromPort"]=>
int(3023)
["IpPermissions.1.ToPort"]=>
int(3024)
["IpPermissions.1.Groups.1.UserId"]=>
string(5) "user1"
["IpPermissions.1.Groups.1.GroupName"]=>
string(6) "group1"
["IpPermissions.1.Groups.2.UserId"]=>
string(5) "user2"
["IpPermissions.1.Groups.2.GroupName"]=>
string(6) "group2"
["IpPermissions.1.IpRanges.1.CidrIp"]=>
string(11) "192.168.0.1"
["IpPermissions.1.IpRanges.2.CidrIp"]=>
string(11) "192.168.0.2"
["IpPermissions.2.IpProtocol"]=>
string(3) "tcp"
["IpPermissions.2.FromPort"]=>
int(3023)
["IpPermissions.2.ToPort"]=>
int(3024)
["IpPermissions.2.Groups.1.UserId"]=>
string(5) "user1"
["IpPermissions.2.Groups.1.GroupName"]=>
string(6) "group1"
["IpPermissions.2.Groups.2.UserId"]=>
string(5) "user2"
["IpPermissions.2.Groups.2.GroupName"]=>
string(6) "group2"
["IpPermissions.2.IpRanges.1.CidrIp"]=>
string(11) "192.168.0.1"
["IpPermissions.2.IpRanges.2.CidrIp"]=>
string(11) "192.168.0.2"
}
Source
Method defined in utilities/complextype.class.php | Toggle source view (4 lines) | View on GitHub

