/*
* 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 vpc-lattice-2022-11-30.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.VPCLattice.Model
{
///
/// Summary information about a target group.
///
public partial class TargetGroupSummary
{
private string _arn;
private DateTime? _createdAt;
private string _id;
private IpAddressType _ipAddressType;
private DateTime? _lastUpdatedAt;
private string _name;
private int? _port;
private TargetGroupProtocol _protocol;
private List _serviceArns = new List();
private TargetGroupStatus _status;
private TargetGroupType _type;
private string _vpcIdentifier;
///
/// Gets and sets the property Arn.
///
/// The ARN (Amazon Resource Name) of the target group.
///
///
[AWSProperty(Min=20, Max=2048)]
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// Gets and sets the property CreatedAt.
///
/// The date and time that the target group was created, specified in ISO-8601 format.
///
///
public DateTime CreatedAt
{
get { return this._createdAt.GetValueOrDefault(); }
set { this._createdAt = value; }
}
// Check to see if CreatedAt property is set
internal bool IsSetCreatedAt()
{
return this._createdAt.HasValue;
}
///
/// Gets and sets the property Id.
///
/// The ID of the target group.
///
///
[AWSProperty(Min=20, Max=20)]
public string Id
{
get { return this._id; }
set { this._id = value; }
}
// Check to see if Id property is set
internal bool IsSetId()
{
return this._id != null;
}
///
/// Gets and sets the property IpAddressType.
///
/// The type of IP address used for the target group. The possible values are ipv4
/// and ipv6
. This is an optional parameter. If not specified, the IP address
/// type defaults to ipv4
.
///
///
public IpAddressType IpAddressType
{
get { return this._ipAddressType; }
set { this._ipAddressType = value; }
}
// Check to see if IpAddressType property is set
internal bool IsSetIpAddressType()
{
return this._ipAddressType != null;
}
///
/// Gets and sets the property LastUpdatedAt.
///
/// The date and time that the target group was last updated, specified in ISO-8601 format.
///
///
public DateTime LastUpdatedAt
{
get { return this._lastUpdatedAt.GetValueOrDefault(); }
set { this._lastUpdatedAt = value; }
}
// Check to see if LastUpdatedAt property is set
internal bool IsSetLastUpdatedAt()
{
return this._lastUpdatedAt.HasValue;
}
///
/// Gets and sets the property Name.
///
/// The name of the target group.
///
///
[AWSProperty(Min=3, Max=128)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property Port.
///
/// The port of the target group.
///
///
[AWSProperty(Min=1, Max=65535)]
public int Port
{
get { return this._port.GetValueOrDefault(); }
set { this._port = value; }
}
// Check to see if Port property is set
internal bool IsSetPort()
{
return this._port.HasValue;
}
///
/// Gets and sets the property Protocol.
///
/// The protocol of the target group.
///
///
public TargetGroupProtocol Protocol
{
get { return this._protocol; }
set { this._protocol = value; }
}
// Check to see if Protocol property is set
internal bool IsSetProtocol()
{
return this._protocol != null;
}
///
/// Gets and sets the property ServiceArns.
///
/// The list of Amazon Resource Names (ARNs) of the service.
///
///
public List ServiceArns
{
get { return this._serviceArns; }
set { this._serviceArns = value; }
}
// Check to see if ServiceArns property is set
internal bool IsSetServiceArns()
{
return this._serviceArns != null && this._serviceArns.Count > 0;
}
///
/// Gets and sets the property Status.
///
/// The status.
///
///
public TargetGroupStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property Type.
///
/// The target group type.
///
///
public TargetGroupType Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
///
/// Gets and sets the property VpcIdentifier.
///
/// The ID of the VPC of the target group.
///
///
[AWSProperty(Min=5, Max=50)]
public string VpcIdentifier
{
get { return this._vpcIdentifier; }
set { this._vpcIdentifier = value; }
}
// Check to see if VpcIdentifier property is set
internal bool IsSetVpcIdentifier()
{
return this._vpcIdentifier != null;
}
}
}