// CreateSecurityGroup represents a security group creation
typeCreateSecurityGroupstruct{
Namestring`json:"name" doc:"name of the security group"`
Accountstring`json:"account,omitempty" doc:"an optional account for the security group. Must be used with domainId."`
Descriptionstring`json:"description,omitempty" doc:"the description of the security group"`
DomainID*UUID`json:"domainid,omitempty" doc:"an optional domainId for the security group. If the account parameter is used, domainId must also be used."`
_bool`name:"createSecurityGroup" description:"Creates a security group"`
// AuthorizeSecurityGroupIngress (Async) represents the ingress rule creation
typeAuthorizeSecurityGroupIngressstruct{
Accountstring`json:"account,omitempty" doc:"an optional account for the security group. Must be used with domainId."`
CIDRList[]CIDR`json:"cidrlist,omitempty" doc:"the cidr list associated"`
Descriptionstring`json:"description,omitempty" doc:"the description of the ingress/egress rule"`
DomainID*UUID`json:"domainid,omitempty" doc:"an optional domainid for the security group. If the account parameter is used, domainid must also be used."`
EndPortuint16`json:"endport,omitempty" doc:"end port for this ingress rule"`
IcmpCodeuint8`json:"icmpcode,omitempty" doc:"error code for this icmp message"`
IcmpTypeuint8`json:"icmptype,omitempty" doc:"type of the icmp message being sent"`
Protocolstring`json:"protocol,omitempty" doc:"TCP is default. UDP, ICMP, ICMPv6, AH, ESP, GRE are the other supported protocols"`
SecurityGroupID*UUID`json:"securitygroupid,omitempty" doc:"The ID of the security group. Mutually exclusive with securitygroupname parameter"`
SecurityGroupNamestring`json:"securitygroupname,omitempty" doc:"The name of the security group. Mutually exclusive with securitygroupid parameter"`
StartPortuint16`json:"startport,omitempty" doc:"start port for this ingress rule"`
UserSecurityGroupList[]UserSecurityGroup`json:"usersecuritygrouplist,omitempty" doc:"user to security group mapping"`
_bool`name:"authorizeSecurityGroupIngress" description:"Authorizes a particular ingress/egress rule for this security group"`
Accountstring`json:"account,omitempty" doc:"list resources by account. Must be used with the domainId parameter."`
DomainID*UUID`json:"domainid,omitempty" doc:"list only resources belonging to the domain specified"`
ID*UUID`json:"id,omitempty" doc:"list the security group by the id provided"`
IsRecursive*bool`json:"isrecursive,omitempty" doc:"defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves."`
Keywordstring`json:"keyword,omitempty" doc:"List by keyword"`
ListAll*bool`json:"listall,omitempty" doc:"If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false"`
Pageint`json:"page,omitempty"`
PageSizeint`json:"pagesize,omitempty"`
SecurityGroupNamestring`json:"securitygroupname,omitempty" doc:"lists security groups by name"`
VirtualMachineID*UUID`json:"virtualmachineid,omitempty" doc:"lists security groups by virtual machine id"`