/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the rds-2014-10-31.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.RDS.Model
{
///
/// Container for the parameters to the AuthorizeDBSecurityGroupIngress operation.
/// Enables ingress to a DBSecurityGroup using one of two forms of authorization. First,
/// EC2 or VPC security groups can be added to the DBSecurityGroup if the application
/// using the database is running on EC2 or VPC instances. Second, IP ranges are available
/// if the application accessing your database is running on the internet. Required parameters
/// for this API are one of CIDR range, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId
/// and either EC2SecurityGroupName or EC2SecurityGroupId for non-VPC).
///
///
///
/// You can't authorize ingress from an EC2 security group in one Amazon Web Services
/// Region to an Amazon RDS DB instance in another. You can't authorize ingress from a
/// VPC security group in one VPC to an Amazon RDS DB instance in another.
///
///
///
/// For an overview of CIDR ranges, go to the Wikipedia
/// Tutorial.
///
///
///
/// EC2-Classic was retired on August 15, 2022. If you haven't migrated from EC2-Classic
/// to a VPC, we recommend that you migrate as soon as possible. For more information,
/// see Migrate
/// from EC2-Classic to a VPC in the Amazon EC2 User Guide, the blog EC2-Classic
/// Networking is Retiring – Here’s How to Prepare, and Moving
/// a DB instance not in a VPC into a VPC in the Amazon RDS User Guide.
///
///
///
public partial class AuthorizeDBSecurityGroupIngressRequest : AmazonRDSRequest
{
private string _cidrip;
private string _dbSecurityGroupName;
private string _ec2SecurityGroupId;
private string _ec2SecurityGroupName;
private string _ec2SecurityGroupOwnerId;
///
/// Empty constructor used to set properties independently even when a simple constructor is available
///
public AuthorizeDBSecurityGroupIngressRequest() { }
///
/// Instantiates AuthorizeDBSecurityGroupIngressRequest with the parameterized properties
///
/// The name of the DB security group to add authorization to.
public AuthorizeDBSecurityGroupIngressRequest(string dbSecurityGroupName)
{
_dbSecurityGroupName = dbSecurityGroupName;
}
///
/// Gets and sets the property CIDRIP.
///
/// The IP range to authorize.
///
///
public string CIDRIP
{
get { return this._cidrip; }
set { this._cidrip = value; }
}
// Check to see if CIDRIP property is set
internal bool IsSetCIDRIP()
{
return this._cidrip != null;
}
///
/// Gets and sets the property DBSecurityGroupName.
///
/// The name of the DB security group to add authorization to.
///
///
[AWSProperty(Required=true)]
public string DBSecurityGroupName
{
get { return this._dbSecurityGroupName; }
set { this._dbSecurityGroupName = value; }
}
// Check to see if DBSecurityGroupName property is set
internal bool IsSetDBSecurityGroupName()
{
return this._dbSecurityGroupName != null;
}
///
/// Gets and sets the property EC2SecurityGroupId.
///
/// Id of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId
/// must be provided. Otherwise, EC2SecurityGroupOwnerId
and either EC2SecurityGroupName
/// or EC2SecurityGroupId
must be provided.
///
///
public string EC2SecurityGroupId
{
get { return this._ec2SecurityGroupId; }
set { this._ec2SecurityGroupId = value; }
}
// Check to see if EC2SecurityGroupId property is set
internal bool IsSetEC2SecurityGroupId()
{
return this._ec2SecurityGroupId != null;
}
///
/// Gets and sets the property EC2SecurityGroupName.
///
/// Name of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId
/// must be provided. Otherwise, EC2SecurityGroupOwnerId
and either EC2SecurityGroupName
/// or EC2SecurityGroupId
must be provided.
///
///
public string EC2SecurityGroupName
{
get { return this._ec2SecurityGroupName; }
set { this._ec2SecurityGroupName = value; }
}
// Check to see if EC2SecurityGroupName property is set
internal bool IsSetEC2SecurityGroupName()
{
return this._ec2SecurityGroupName != null;
}
///
/// Gets and sets the property EC2SecurityGroupOwnerId.
///
/// Amazon Web Services account number of the owner of the EC2 security group specified
/// in the EC2SecurityGroupName
parameter. The Amazon Web Services access
/// key ID isn't an acceptable value. For VPC DB security groups, EC2SecurityGroupId
/// must be provided. Otherwise, EC2SecurityGroupOwnerId
and either EC2SecurityGroupName
/// or EC2SecurityGroupId
must be provided.
///
///
public string EC2SecurityGroupOwnerId
{
get { return this._ec2SecurityGroupOwnerId; }
set { this._ec2SecurityGroupOwnerId = value; }
}
// Check to see if EC2SecurityGroupOwnerId property is set
internal bool IsSetEC2SecurityGroupOwnerId()
{
return this._ec2SecurityGroupOwnerId != null;
}
}
}