/*
* 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 eks-2017-11-01.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.EKS.Model
{
///
/// An object representing an Amazon EKS cluster.
///
public partial class Cluster
{
private string _arn;
private Certificate _certificateAuthority;
private string _clientRequestToken;
private ConnectorConfigResponse _connectorConfig;
private DateTime? _createdAt;
private List _encryptionConfig = new List();
private string _endpoint;
private ClusterHealth _health;
private string _id;
private Identity _identity;
private KubernetesNetworkConfigResponse _kubernetesNetworkConfig;
private Logging _logging;
private string _name;
private OutpostConfigResponse _outpostConfig;
private string _platformVersion;
private VpcConfigResponse _resourcesVpcConfig;
private string _roleArn;
private ClusterStatus _status;
private Dictionary _tags = new Dictionary();
private string _version;
///
/// Gets and sets the property Arn.
///
/// The Amazon Resource Name (ARN) of the cluster.
///
///
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 CertificateAuthority.
///
/// The certificate-authority-data
for your cluster.
///
///
public Certificate CertificateAuthority
{
get { return this._certificateAuthority; }
set { this._certificateAuthority = value; }
}
// Check to see if CertificateAuthority property is set
internal bool IsSetCertificateAuthority()
{
return this._certificateAuthority != null;
}
///
/// Gets and sets the property ClientRequestToken.
///
/// Unique, case-sensitive identifier that you provide to ensure the idempotency of the
/// request.
///
///
public string ClientRequestToken
{
get { return this._clientRequestToken; }
set { this._clientRequestToken = value; }
}
// Check to see if ClientRequestToken property is set
internal bool IsSetClientRequestToken()
{
return this._clientRequestToken != null;
}
///
/// Gets and sets the property ConnectorConfig.
///
/// The configuration used to connect to a cluster for registration.
///
///
public ConnectorConfigResponse ConnectorConfig
{
get { return this._connectorConfig; }
set { this._connectorConfig = value; }
}
// Check to see if ConnectorConfig property is set
internal bool IsSetConnectorConfig()
{
return this._connectorConfig != null;
}
///
/// Gets and sets the property CreatedAt.
///
/// The Unix epoch timestamp in seconds for when the cluster was created.
///
///
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 EncryptionConfig.
///
/// The encryption configuration for the cluster.
///
///
[AWSProperty(Max=1)]
public List EncryptionConfig
{
get { return this._encryptionConfig; }
set { this._encryptionConfig = value; }
}
// Check to see if EncryptionConfig property is set
internal bool IsSetEncryptionConfig()
{
return this._encryptionConfig != null && this._encryptionConfig.Count > 0;
}
///
/// Gets and sets the property Endpoint.
///
/// The endpoint for your Kubernetes API server.
///
///
public string Endpoint
{
get { return this._endpoint; }
set { this._endpoint = value; }
}
// Check to see if Endpoint property is set
internal bool IsSetEndpoint()
{
return this._endpoint != null;
}
///
/// Gets and sets the property Health.
///
/// An object representing the health of your local Amazon EKS cluster on an Amazon Web
/// Services Outpost. This object isn't available for clusters on the Amazon Web Services
/// cloud.
///
///
public ClusterHealth Health
{
get { return this._health; }
set { this._health = value; }
}
// Check to see if Health property is set
internal bool IsSetHealth()
{
return this._health != null;
}
///
/// Gets and sets the property Id.
///
/// The ID of your local Amazon EKS cluster on an Amazon Web Services Outpost. This property
/// isn't available for an Amazon EKS cluster on the Amazon Web Services cloud.
///
///
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 Identity.
///
/// The identity provider information for the cluster.
///
///
public Identity Identity
{
get { return this._identity; }
set { this._identity = value; }
}
// Check to see if Identity property is set
internal bool IsSetIdentity()
{
return this._identity != null;
}
///
/// Gets and sets the property KubernetesNetworkConfig.
///
/// The Kubernetes network configuration for the cluster.
///
///
public KubernetesNetworkConfigResponse KubernetesNetworkConfig
{
get { return this._kubernetesNetworkConfig; }
set { this._kubernetesNetworkConfig = value; }
}
// Check to see if KubernetesNetworkConfig property is set
internal bool IsSetKubernetesNetworkConfig()
{
return this._kubernetesNetworkConfig != null;
}
///
/// Gets and sets the property Logging.
///
/// The logging configuration for your cluster.
///
///
public Logging Logging
{
get { return this._logging; }
set { this._logging = value; }
}
// Check to see if Logging property is set
internal bool IsSetLogging()
{
return this._logging != null;
}
///
/// Gets and sets the property Name.
///
/// The name of the cluster.
///
///
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 OutpostConfig.
///
/// An object representing the configuration of your local Amazon EKS cluster on an Amazon
/// Web Services Outpost. This object isn't available for clusters on the Amazon Web Services
/// cloud.
///
///
public OutpostConfigResponse OutpostConfig
{
get { return this._outpostConfig; }
set { this._outpostConfig = value; }
}
// Check to see if OutpostConfig property is set
internal bool IsSetOutpostConfig()
{
return this._outpostConfig != null;
}
///
/// Gets and sets the property PlatformVersion.
///
/// The platform version of your Amazon EKS cluster. For more information, see Platform
/// Versions in the Amazon EKS User Guide .
///
///
public string PlatformVersion
{
get { return this._platformVersion; }
set { this._platformVersion = value; }
}
// Check to see if PlatformVersion property is set
internal bool IsSetPlatformVersion()
{
return this._platformVersion != null;
}
///
/// Gets and sets the property ResourcesVpcConfig.
///
/// The VPC configuration used by the cluster control plane. Amazon EKS VPC resources
/// have specific requirements to work properly with Kubernetes. For more information,
/// see Cluster
/// VPC Considerations and Cluster
/// Security Group Considerations in the Amazon EKS User Guide.
///
///
public VpcConfigResponse ResourcesVpcConfig
{
get { return this._resourcesVpcConfig; }
set { this._resourcesVpcConfig = value; }
}
// Check to see if ResourcesVpcConfig property is set
internal bool IsSetResourcesVpcConfig()
{
return this._resourcesVpcConfig != null;
}
///
/// Gets and sets the property RoleArn.
///
/// The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes
/// control plane to make calls to Amazon Web Services API operations on your behalf.
///
///
public string RoleArn
{
get { return this._roleArn; }
set { this._roleArn = value; }
}
// Check to see if RoleArn property is set
internal bool IsSetRoleArn()
{
return this._roleArn != null;
}
///
/// Gets and sets the property Status.
///
/// The current status of the cluster.
///
///
public ClusterStatus 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 Tags.
///
/// The metadata that you apply to the cluster to assist with categorization and organization.
/// Each tag consists of a key and an optional value. You define both. Cluster tags do
/// not propagate to any other resources associated with the cluster.
///
///
[AWSProperty(Min=1, Max=50)]
public Dictionary Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
///
/// Gets and sets the property Version.
///
/// The Kubernetes server version for the cluster.
///
///
public string Version
{
get { return this._version; }
set { this._version = value; }
}
// Check to see if Version property is set
internal bool IsSetVersion()
{
return this._version != null;
}
}
}