All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.aliyun.sdk.service.ecs20140526.models.AuthorizeSecurityGroupEgressRequest Maven / Gradle / Ivy

The newest version!
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sdk.service.ecs20140526.models;

import com.aliyun.sdk.gateway.pop.*;
import darabonba.core.*;
import darabonba.core.async.*;
import darabonba.core.sync.*;
import darabonba.core.client.*;
import darabonba.core.RequestModel;
import darabonba.core.TeaModel;
import com.aliyun.sdk.gateway.pop.models.*;

/**
 * 
 * {@link AuthorizeSecurityGroupEgressRequest} extends {@link RequestModel}
 *
 * 

AuthorizeSecurityGroupEgressRequest

*/ public class AuthorizeSecurityGroupEgressRequest extends Request { @com.aliyun.core.annotation.Host @com.aliyun.core.annotation.NameInMap("SourceRegionId") private String sourceRegionId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("ClientToken") private String clientToken; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("Description") @Deprecated private String description; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("DestCidrIp") @Deprecated private String destCidrIp; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("DestGroupId") @Deprecated private String destGroupId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("DestGroupOwnerAccount") @Deprecated private String destGroupOwnerAccount; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("DestGroupOwnerId") @Deprecated private Long destGroupOwnerId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("DestPrefixListId") @Deprecated private String destPrefixListId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("IpProtocol") @Deprecated private String ipProtocol; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("Ipv6DestCidrIp") @Deprecated private String ipv6DestCidrIp; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("Ipv6SourceCidrIp") @Deprecated private String ipv6SourceCidrIp; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("NicType") @Deprecated private String nicType; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("OwnerAccount") private String ownerAccount; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("OwnerId") private Long ownerId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("Permissions") private java.util.List permissions; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("Policy") @Deprecated private String policy; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("PortRange") @Deprecated private String portRange; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("Priority") @Deprecated private String priority; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("RegionId") @com.aliyun.core.annotation.Validation(required = true) private String regionId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("ResourceOwnerAccount") private String resourceOwnerAccount; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("ResourceOwnerId") private Long resourceOwnerId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("SecurityGroupId") @com.aliyun.core.annotation.Validation(required = true) private String securityGroupId; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("SourceCidrIp") @Deprecated private String sourceCidrIp; @com.aliyun.core.annotation.Query @com.aliyun.core.annotation.NameInMap("SourcePortRange") @Deprecated private String sourcePortRange; private AuthorizeSecurityGroupEgressRequest(Builder builder) { super(builder); this.sourceRegionId = builder.sourceRegionId; this.clientToken = builder.clientToken; this.description = builder.description; this.destCidrIp = builder.destCidrIp; this.destGroupId = builder.destGroupId; this.destGroupOwnerAccount = builder.destGroupOwnerAccount; this.destGroupOwnerId = builder.destGroupOwnerId; this.destPrefixListId = builder.destPrefixListId; this.ipProtocol = builder.ipProtocol; this.ipv6DestCidrIp = builder.ipv6DestCidrIp; this.ipv6SourceCidrIp = builder.ipv6SourceCidrIp; this.nicType = builder.nicType; this.ownerAccount = builder.ownerAccount; this.ownerId = builder.ownerId; this.permissions = builder.permissions; this.policy = builder.policy; this.portRange = builder.portRange; this.priority = builder.priority; this.regionId = builder.regionId; this.resourceOwnerAccount = builder.resourceOwnerAccount; this.resourceOwnerId = builder.resourceOwnerId; this.securityGroupId = builder.securityGroupId; this.sourceCidrIp = builder.sourceCidrIp; this.sourcePortRange = builder.sourcePortRange; } public static Builder builder() { return new Builder(); } public static AuthorizeSecurityGroupEgressRequest create() { return builder().build(); } @Override public Builder toBuilder() { return new Builder(this); } /** * @return sourceRegionId */ public String getSourceRegionId() { return this.sourceRegionId; } /** * @return clientToken */ public String getClientToken() { return this.clientToken; } /** * @return description */ public String getDescription() { return this.description; } /** * @return destCidrIp */ public String getDestCidrIp() { return this.destCidrIp; } /** * @return destGroupId */ public String getDestGroupId() { return this.destGroupId; } /** * @return destGroupOwnerAccount */ public String getDestGroupOwnerAccount() { return this.destGroupOwnerAccount; } /** * @return destGroupOwnerId */ public Long getDestGroupOwnerId() { return this.destGroupOwnerId; } /** * @return destPrefixListId */ public String getDestPrefixListId() { return this.destPrefixListId; } /** * @return ipProtocol */ public String getIpProtocol() { return this.ipProtocol; } /** * @return ipv6DestCidrIp */ public String getIpv6DestCidrIp() { return this.ipv6DestCidrIp; } /** * @return ipv6SourceCidrIp */ public String getIpv6SourceCidrIp() { return this.ipv6SourceCidrIp; } /** * @return nicType */ public String getNicType() { return this.nicType; } /** * @return ownerAccount */ public String getOwnerAccount() { return this.ownerAccount; } /** * @return ownerId */ public Long getOwnerId() { return this.ownerId; } /** * @return permissions */ public java.util.List getPermissions() { return this.permissions; } /** * @return policy */ public String getPolicy() { return this.policy; } /** * @return portRange */ public String getPortRange() { return this.portRange; } /** * @return priority */ public String getPriority() { return this.priority; } /** * @return regionId */ public String getRegionId() { return this.regionId; } /** * @return resourceOwnerAccount */ public String getResourceOwnerAccount() { return this.resourceOwnerAccount; } /** * @return resourceOwnerId */ public Long getResourceOwnerId() { return this.resourceOwnerId; } /** * @return securityGroupId */ public String getSecurityGroupId() { return this.securityGroupId; } /** * @return sourceCidrIp */ public String getSourceCidrIp() { return this.sourceCidrIp; } /** * @return sourcePortRange */ public String getSourcePortRange() { return this.sourcePortRange; } public static final class Builder extends Request.Builder { private String sourceRegionId; private String clientToken; private String description; private String destCidrIp; private String destGroupId; private String destGroupOwnerAccount; private Long destGroupOwnerId; private String destPrefixListId; private String ipProtocol; private String ipv6DestCidrIp; private String ipv6SourceCidrIp; private String nicType; private String ownerAccount; private Long ownerId; private java.util.List permissions; private String policy; private String portRange; private String priority; private String regionId; private String resourceOwnerAccount; private Long resourceOwnerId; private String securityGroupId; private String sourceCidrIp; private String sourcePortRange; private Builder() { super(); } private Builder(AuthorizeSecurityGroupEgressRequest request) { super(request); this.sourceRegionId = request.sourceRegionId; this.clientToken = request.clientToken; this.description = request.description; this.destCidrIp = request.destCidrIp; this.destGroupId = request.destGroupId; this.destGroupOwnerAccount = request.destGroupOwnerAccount; this.destGroupOwnerId = request.destGroupOwnerId; this.destPrefixListId = request.destPrefixListId; this.ipProtocol = request.ipProtocol; this.ipv6DestCidrIp = request.ipv6DestCidrIp; this.ipv6SourceCidrIp = request.ipv6SourceCidrIp; this.nicType = request.nicType; this.ownerAccount = request.ownerAccount; this.ownerId = request.ownerId; this.permissions = request.permissions; this.policy = request.policy; this.portRange = request.portRange; this.priority = request.priority; this.regionId = request.regionId; this.resourceOwnerAccount = request.resourceOwnerAccount; this.resourceOwnerId = request.resourceOwnerId; this.securityGroupId = request.securityGroupId; this.sourceCidrIp = request.sourceCidrIp; this.sourcePortRange = request.sourcePortRange; } /** * SourceRegionId. */ public Builder sourceRegionId(String sourceRegionId) { this.putHostParameter("SourceRegionId", sourceRegionId); this.sourceRegionId = sourceRegionId; return this; } /** *

The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see Ensure idempotence.

* * example: *

123e4567-e89b-12d3-a456-426655440000

*/ public Builder clientToken(String clientToken) { this.putQueryParameter("ClientToken", clientToken); this.clientToken = clientToken; return this; } /** *

This parameter is deprecated. Use Permissions.N.Description to specify the description of security group rule N.

* * example: *

This is description.

*/ public Builder description(String description) { this.putQueryParameter("Description", description); this.description = description; return this; } /** *

This parameter is deprecated. Use Permissions.N.DestCidrIp to specify the destination IPv4 CIDR block.

* * example: *

10.0.0.0/8

*/ public Builder destCidrIp(String destCidrIp) { this.putQueryParameter("DestCidrIp", destCidrIp); this.destCidrIp = destCidrIp; return this; } /** *

This parameter is deprecated. Use Permissions.N.DestGroupId to specify the ID of the destination security group.

* * example: *

sg-bp67acfmxazb4p****

*/ public Builder destGroupId(String destGroupId) { this.putQueryParameter("DestGroupId", destGroupId); this.destGroupId = destGroupId; return this; } /** *

This parameter is deprecated. Use Permissions.N.DestGroupOwnerAccount to specify the Alibaba Cloud account that manages the destination security group.

* * example: *

[email protected]

*/ public Builder destGroupOwnerAccount(String destGroupOwnerAccount) { this.putQueryParameter("DestGroupOwnerAccount", destGroupOwnerAccount); this.destGroupOwnerAccount = destGroupOwnerAccount; return this; } /** *

This parameter is deprecated. Use Permissions.N.DestGroupOwnerId to specify the ID of the Alibaba Cloud account that manages the destination security group.

* * example: *

12345678910

*/ public Builder destGroupOwnerId(Long destGroupOwnerId) { this.putQueryParameter("DestGroupOwnerId", destGroupOwnerId); this.destGroupOwnerId = destGroupOwnerId; return this; } /** *

This parameter is deprecated. Use Permissions.N.DestPrefixListId to specify the ID of the destination prefix list.

* * example: *

pl-x1j1k5ykzqlixdcy****

*/ public Builder destPrefixListId(String destPrefixListId) { this.putQueryParameter("DestPrefixListId", destPrefixListId); this.destPrefixListId = destPrefixListId; return this; } /** *

This parameter is deprecated. Use Permissions.N.IpProtocol to specify the protocol.

* * example: *

ALL

*/ public Builder ipProtocol(String ipProtocol) { this.putQueryParameter("IpProtocol", ipProtocol); this.ipProtocol = ipProtocol; return this; } /** *

This parameter is deprecated. Use Permissions.N.Ipv6DestCidrIp to specify the destination IPv6 CIDR block.

* * example: *

2001:db8:1233:1a00::***

*/ public Builder ipv6DestCidrIp(String ipv6DestCidrIp) { this.putQueryParameter("Ipv6DestCidrIp", ipv6DestCidrIp); this.ipv6DestCidrIp = ipv6DestCidrIp; return this; } /** *

This parameter is deprecated. Use Permissions.N.Ipv6SourceCidrIp to specify the source IPv6 CIDR block.

* * example: *

2001:db8:1234:1a00::***

*/ public Builder ipv6SourceCidrIp(String ipv6SourceCidrIp) { this.putQueryParameter("Ipv6SourceCidrIp", ipv6SourceCidrIp); this.ipv6SourceCidrIp = ipv6SourceCidrIp; return this; } /** *

This parameter is deprecated. Use Permissions.N.NicType to specify the NIC type.

* * example: *

intranet

*/ public Builder nicType(String nicType) { this.putQueryParameter("NicType", nicType); this.nicType = nicType; return this; } /** * OwnerAccount. */ public Builder ownerAccount(String ownerAccount) { this.putQueryParameter("OwnerAccount", ownerAccount); this.ownerAccount = ownerAccount; return this; } /** * OwnerId. */ public Builder ownerId(Long ownerId) { this.putQueryParameter("OwnerId", ownerId); this.ownerId = ownerId; return this; } /** *

The security group rules. Valid values of N: 1 to 100.

*/ public Builder permissions(java.util.List permissions) { this.putQueryParameter("Permissions", permissions); this.permissions = permissions; return this; } /** *

This parameter is deprecated. Use Permissions.N.Policy to specify whether to allow outbound access.

* * example: *

accept

*/ public Builder policy(String policy) { this.putQueryParameter("Policy", policy); this.policy = policy; return this; } /** *

This parameter is deprecated. Use Permissions.N.PortRange to specify the range of destination ports.

* * example: *

80/80

*/ public Builder portRange(String portRange) { this.putQueryParameter("PortRange", portRange); this.portRange = portRange; return this; } /** *

This parameter is deprecated. Use Permissions.N.Priority to specify the rule priority.

* * example: *

1

*/ public Builder priority(String priority) { this.putQueryParameter("Priority", priority); this.priority = priority; return this; } /** *

The region ID of the source security group. You can call the DescribeRegions operation to query the most recent region list.

*

This parameter is required.

* * example: *

cn-hangzhou

*/ public Builder regionId(String regionId) { this.putQueryParameter("RegionId", regionId); this.regionId = regionId; return this; } /** * ResourceOwnerAccount. */ public Builder resourceOwnerAccount(String resourceOwnerAccount) { this.putQueryParameter("ResourceOwnerAccount", resourceOwnerAccount); this.resourceOwnerAccount = resourceOwnerAccount; return this; } /** * ResourceOwnerId. */ public Builder resourceOwnerId(Long resourceOwnerId) { this.putQueryParameter("ResourceOwnerId", resourceOwnerId); this.resourceOwnerId = resourceOwnerId; return this; } /** *

The security group ID.

*

This parameter is required.

* * example: *

sg-bp67acfmxazb4p****

*/ public Builder securityGroupId(String securityGroupId) { this.putQueryParameter("SecurityGroupId", securityGroupId); this.securityGroupId = securityGroupId; return this; } /** *

This parameter is deprecated. Use Permissions.N.SourceCidrIp to specify the source IPv4 CIDR block.

* * example: *

10.0.0.0/8

*/ public Builder sourceCidrIp(String sourceCidrIp) { this.putQueryParameter("SourceCidrIp", sourceCidrIp); this.sourceCidrIp = sourceCidrIp; return this; } /** *

This parameter is deprecated. Use Permissions.N.SourcePortRange to specify the range of source ports.

* * example: *

80/80

*/ public Builder sourcePortRange(String sourcePortRange) { this.putQueryParameter("SourcePortRange", sourcePortRange); this.sourcePortRange = sourcePortRange; return this; } @Override public AuthorizeSecurityGroupEgressRequest build() { return new AuthorizeSecurityGroupEgressRequest(this); } } /** * * {@link AuthorizeSecurityGroupEgressRequest} extends {@link TeaModel} * *

AuthorizeSecurityGroupEgressRequest

*/ public static class Permissions extends TeaModel { @com.aliyun.core.annotation.NameInMap("Description") private String description; @com.aliyun.core.annotation.NameInMap("DestCidrIp") private String destCidrIp; @com.aliyun.core.annotation.NameInMap("DestGroupId") private String destGroupId; @com.aliyun.core.annotation.NameInMap("DestGroupOwnerAccount") private String destGroupOwnerAccount; @com.aliyun.core.annotation.NameInMap("DestGroupOwnerId") private Long destGroupOwnerId; @com.aliyun.core.annotation.NameInMap("DestPrefixListId") private String destPrefixListId; @com.aliyun.core.annotation.NameInMap("IpProtocol") private String ipProtocol; @com.aliyun.core.annotation.NameInMap("Ipv6DestCidrIp") private String ipv6DestCidrIp; @com.aliyun.core.annotation.NameInMap("Ipv6SourceCidrIp") private String ipv6SourceCidrIp; @com.aliyun.core.annotation.NameInMap("NicType") private String nicType; @com.aliyun.core.annotation.NameInMap("Policy") private String policy; @com.aliyun.core.annotation.NameInMap("PortRange") private String portRange; @com.aliyun.core.annotation.NameInMap("Priority") private String priority; @com.aliyun.core.annotation.NameInMap("SourceCidrIp") private String sourceCidrIp; @com.aliyun.core.annotation.NameInMap("SourcePortRange") private String sourcePortRange; private Permissions(Builder builder) { this.description = builder.description; this.destCidrIp = builder.destCidrIp; this.destGroupId = builder.destGroupId; this.destGroupOwnerAccount = builder.destGroupOwnerAccount; this.destGroupOwnerId = builder.destGroupOwnerId; this.destPrefixListId = builder.destPrefixListId; this.ipProtocol = builder.ipProtocol; this.ipv6DestCidrIp = builder.ipv6DestCidrIp; this.ipv6SourceCidrIp = builder.ipv6SourceCidrIp; this.nicType = builder.nicType; this.policy = builder.policy; this.portRange = builder.portRange; this.priority = builder.priority; this.sourceCidrIp = builder.sourceCidrIp; this.sourcePortRange = builder.sourcePortRange; } public static Builder builder() { return new Builder(); } public static Permissions create() { return builder().build(); } /** * @return description */ public String getDescription() { return this.description; } /** * @return destCidrIp */ public String getDestCidrIp() { return this.destCidrIp; } /** * @return destGroupId */ public String getDestGroupId() { return this.destGroupId; } /** * @return destGroupOwnerAccount */ public String getDestGroupOwnerAccount() { return this.destGroupOwnerAccount; } /** * @return destGroupOwnerId */ public Long getDestGroupOwnerId() { return this.destGroupOwnerId; } /** * @return destPrefixListId */ public String getDestPrefixListId() { return this.destPrefixListId; } /** * @return ipProtocol */ public String getIpProtocol() { return this.ipProtocol; } /** * @return ipv6DestCidrIp */ public String getIpv6DestCidrIp() { return this.ipv6DestCidrIp; } /** * @return ipv6SourceCidrIp */ public String getIpv6SourceCidrIp() { return this.ipv6SourceCidrIp; } /** * @return nicType */ public String getNicType() { return this.nicType; } /** * @return policy */ public String getPolicy() { return this.policy; } /** * @return portRange */ public String getPortRange() { return this.portRange; } /** * @return priority */ public String getPriority() { return this.priority; } /** * @return sourceCidrIp */ public String getSourceCidrIp() { return this.sourceCidrIp; } /** * @return sourcePortRange */ public String getSourcePortRange() { return this.sourcePortRange; } public static final class Builder { private String description; private String destCidrIp; private String destGroupId; private String destGroupOwnerAccount; private Long destGroupOwnerId; private String destPrefixListId; private String ipProtocol; private String ipv6DestCidrIp; private String ipv6SourceCidrIp; private String nicType; private String policy; private String portRange; private String priority; private String sourceCidrIp; private String sourcePortRange; /** *

The description of the security group rule. The description must be 1 to 512 characters in length.

* * example: *

This is description.

*/ public Builder description(String description) { this.description = description; return this; } /** *

The destination IPv4 CIDR block of the security group rule. IPv4 CIDR blocks and IPv4 addresses are supported.

* * example: *

10.0.0.0/8

*/ public Builder destCidrIp(String destCidrIp) { this.destCidrIp = destCidrIp; return this; } /** *

The ID of the destination security group.

*
    *
  • You must specify at least one of the following parameters: DestGroupId, DestCidrIp, Ipv6DestCidrIp, and DestPrefixListId.
  • *
  • If you specify DestGroupId but do not specify DestCidrIp, you must set NicType to intranet.
  • *
  • If you specify both DestGroupId and DestCidrIp, DestCidrIp takes precedence.
  • *
*

When you specify this parameter, take note of the following items:

*
    *
  • Advanced security groups do not support security group rules that reference security groups as authorization objects.
  • *
  • Each basic security group can contain up to 20 security group rules that reference security groups as authorization objects.
  • *
* * example: *

sg-bp67acfmxazb4p****

*/ public Builder destGroupId(String destGroupId) { this.destGroupId = destGroupId; return this; } /** *

The Alibaba Cloud account that manages the destination security group.

*
    *
  • If both DestGroupOwnerAccount and DestGroupOwnerId are empty, the rule is created to control access to another security group in your Alibaba Cloud account.
  • *
  • If DestCidrIp is configured, DestGroupOwnerAccount is ignored.
  • *
* * example: *

[email protected]

*/ public Builder destGroupOwnerAccount(String destGroupOwnerAccount) { this.destGroupOwnerAccount = destGroupOwnerAccount; return this; } /** *

The ID of the Alibaba Cloud account that manages the destination security group.

*
    *
  • If both DestGroupOwnerId and DestGroupOwnerAccount are empty, the rule is created to control access to another security group in your Alibaba Cloud account.
  • *
  • If you specify DestCidrIp, DestGroupOwnerId is ignored.
  • *
* * example: *

12345678910

*/ public Builder destGroupOwnerId(Long destGroupOwnerId) { this.destGroupOwnerId = destGroupOwnerId; return this; } /** *

The ID of the destination prefix list. You can call the DescribePrefixLists operation to query the IDs of available prefix lists.

*

When you specify this parameter, take note of the following items:

*
    *
  • If a security group resides in the classic network, you cannot specify prefix lists in the rules of the security group. For information about the limits on security groups and prefix lists, see the Security group limits section of the "Limits and quotas" topic.
  • *
  • If you specify DestCidrIp, Ipv6DestCidrIp, or DestGroupId, this parameter is ignored.
  • *
* * example: *

pl-x1j1k5ykzqlixdcy****

*/ public Builder destPrefixListId(String destPrefixListId) { this.destPrefixListId = destPrefixListId; return this; } /** *

The protocol. The values of this parameter are case-insensitive. Valid values:

*
    *
  • TCP.
  • *
  • UDP.
  • *
  • ICMP.
  • *
  • ICMPv6.
  • *
  • GRE.
  • *
  • ALL: All protocols are supported.
  • *
* * example: *

ALL

*/ public Builder ipProtocol(String ipProtocol) { this.ipProtocol = ipProtocol; return this; } /** *

The destination IPv6 CIDR block of the security group rule. IPv6 CIDR blocks and IPv6 addresses are supported.

*
*

This parameter is valid only for ECS instances that reside in virtual private clouds (VPCs) and support IPv6 CIDR blocks. You cannot specify this parameter and DestCidrIp in the same request.

*
* * example: *

2001:db8:1233:1a00::***

*/ public Builder ipv6DestCidrIp(String ipv6DestCidrIp) { this.ipv6DestCidrIp = ipv6DestCidrIp; return this; } /** *

The source IPv6 CIDR block. IPv6 CIDR blocks and IPv6 addresses are supported.

*

This parameter is used to support quintuple rules. For more information, see Security group quintuple rules.

*
*

This parameter is valid only for ECS instances that reside in VPCs and support IPv6 CIDR blocks. You cannot specify this parameter and DestCidrIp in the same request.

*
* * example: *

2001:db8:1234:1a00::***

*/ public Builder ipv6SourceCidrIp(String ipv6SourceCidrIp) { this.ipv6SourceCidrIp = ipv6SourceCidrIp; return this; } /** *

The network interface controller (NIC) type of the security group rule if the security group resides in the classic network. Valid values:

*
    *
  • internet: public NIC.

    *
  • *
  • intranet: internal NIC.

    *
      *
    • If the security group resides in a VPC, this parameter is set to intranet by default and cannot be changed.
    • *
    • If you specify only DestGroupId to create a rule that controls access to the specified security group, you must set this parameter to intranet.
    • *
    *
  • *
*

Default value: internet.

* * example: *

intranet

*/ public Builder nicType(String nicType) { this.nicType = nicType; return this; } /** *

The action of the security group rule. Valid values:

*
    *
  • accept: allows outbound access.
  • *
  • drop: denies outbound access and returns no responses. In this case, the request times out or the connection cannot be established.
  • *
*

Default value: accept.

* * example: *

accept

*/ public Builder policy(String policy) { this.policy = policy; return this; } /** *

The range of destination port numbers for the protocols specified in the security group rule. Valid values:

*
    *
  • If you set IpProtocol to TCP or UDP, the port number range is 1 to 65535. Specify a port number range in the format of <Start port number>/<End port number>. Example: 1/200.
  • *
  • If you set IpProtocol to ICMP, the port number range is -1/-1.
  • *
  • If the IpProtocol parameter is set to GRE, the port number range is -1/-1, which indicates all ports.
  • *
  • If you set IpProtocol to ALL, the port number range is -1/-1.
  • *
* * example: *

80/80

*/ public Builder portRange(String portRange) { this.portRange = portRange; return this; } /** *

The priority of the security group rule. A smaller value specifies a higher priority. Valid values: 1 to 100.

*

Default value: 1.

* * example: *

1

*/ public Builder priority(String priority) { this.priority = priority; return this; } /** *

The source IPv4 CIDR block. IPv4 CIDR blocks and IPv4 addresses are supported.

*

This parameter is used to support quintuple rules. For more information, see Security group quintuple rules.

* * example: *

10.0.0.0/8

*/ public Builder sourceCidrIp(String sourceCidrIp) { this.sourceCidrIp = sourceCidrIp; return this; } /** *

The range of source port numbers for the protocols specified in the security group rule. Valid values:

*
    *
  • If you set IpProtocol to TCP or UDP, the port number range is 1 to 65535. Specify a port number range in the format of <Start port number>/<End port number>. Example: 1/200.
  • *
  • If you set IpProtocol to ICMP, the port number range is -1/-1.
  • *
  • If you set IpProtocol to GRE, the port number range is -1/-1.
  • *
  • If you set IpProtocol to ALL, the port number range is -1/-1.
  • *
*

This parameter is used to support quintuple rules. For more information, see Security group quintuple rules.

* * example: *

80/80

*/ public Builder sourcePortRange(String sourcePortRange) { this.sourcePortRange = sourcePortRange; return this; } public Permissions build() { return new Permissions(this); } } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy