public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems) { AmazonEKSConfig config = new AmazonEKSConfig(); config.RegionEndpoint = region; ConfigureClient(config); AmazonEKSClient client = new AmazonEKSClient(creds, config); DescribeAddonVersionsResponse resp = new DescribeAddonVersionsResponse(); do { DescribeAddonVersionsRequest req = new DescribeAddonVersionsRequest { NextToken = resp.NextToken , MaxResults = maxItems }; resp = client.DescribeAddonVersions(req); CheckError(resp.HttpStatusCode, "200"); foreach (var obj in resp.Addons) { AddObject(obj); } }while (!string.IsNullOrEmpty(resp.NextToken)); }
public void EKSCreateCluster() { #region to-create-a-new-cluster-1527868185648 var client = new AmazonEKSClient(); var response = client.CreateCluster(new CreateClusterRequest { Version = "1.10", Name = "prod", ClientRequestToken = "1d2129a1-3d38-460a-9756-e5b91fddb951", ResourcesVpcConfig = new VpcConfigRequest { SecurityGroupIds = new List <string> { "sg-6979fe18" }, SubnetIds = new List <string> { "subnet-6782e71e", "subnet-e7e761ac" } }, RoleArn = "arn:aws:iam::012345678910:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI" }); #endregion }
public void EKSListClusters() { #region to-list-your-available-clusters-1527868801040 var client = new AmazonEKSClient(); var response = client.ListClusters(new ListClustersRequest { }); List <string> clusters = response.Clusters; #endregion }
public void EKSDeleteCluster() { #region to-delete-a-cluster-1527868641252 var client = new AmazonEKSClient(); var response = client.DeleteCluster(new DeleteClusterRequest { Name = "devel" }); #endregion }
protected IAmazonEKS CreateClient(AWSCredentials credentials, RegionEndpoint region) { var config = new AmazonEKSConfig { RegionEndpoint = region }; Amazon.PowerShell.Utils.Common.PopulateConfig(this, config); this.CustomizeClientConfig(config); var client = new AmazonEKSClient(credentials, config); client.BeforeRequestEvent += RequestEventHandler; client.AfterResponseEvent += ResponseEventHandler; return(client); }
public void EKSListTagsForResource() { #region to-list-tags-for-a-cluster-1568666903378 var client = new AmazonEKSClient(); var response = client.ListTagsForResource(new ListTagsForResourceRequest { ResourceArn = "arn:aws:eks:us-west-2:012345678910:cluster/beta" }); Dictionary <string, string> tags = response.Tags; #endregion }
public void EKSDescribeCluster() { #region to-describe-a-cluster-1527868708512 var client = new AmazonEKSClient(); var response = client.DescribeCluster(new DescribeClusterRequest { Name = "devel" }); Cluster cluster = response.Cluster; #endregion }
public override IEnumerable <KubernetesCluster> DiscoverClusters(string contextJson) { if (!TryGetDiscoveryContext <AwsAuthenticationDetails>(contextJson, out var authenticationDetails, out var workerPoolId)) { yield break; } var accessKeyOrWorkerCredentials = authenticationDetails.Credentials.Type == "account" ? $"Access Key: {authenticationDetails.Credentials.Account.AccessKey}" : $"Using Worker Credentials on Worker Pool: {workerPoolId}"; Log.Verbose("Looking for Kubernetes clusters in AWS using:"); Log.Verbose($" Regions: [{string.Join(",",authenticationDetails.Regions)}]"); Log.Verbose(" Account:"); Log.Verbose($" {accessKeyOrWorkerCredentials}"); if (authenticationDetails.Role.Type == "assumeRole") { Log.Verbose(" Role:"); Log.Verbose($" ARN: {authenticationDetails.Role.Arn}"); if (!authenticationDetails.Role.SessionName.IsNullOrEmpty()) { Log.Verbose($" Session Name: {authenticationDetails.Role.SessionName}"); } if (authenticationDetails.Role.SessionDuration != null) { Log.Verbose($" Session Duration: {authenticationDetails.Role.SessionDuration}"); } if (!authenticationDetails.Role.ExternalId.IsNullOrEmpty()) { Log.Verbose($" External Id: {authenticationDetails.Role.ExternalId}"); } } else { Log.Verbose(" Role: No IAM Role provided."); } if (!authenticationDetails.TryGetCredentials(Log, out var credentials)) { yield break; } foreach (var region in authenticationDetails.Regions) { var client = new AmazonEKSClient(credentials, RegionEndpoint.GetBySystemName(region)); var clusters = client.ListClustersAsync(new ListClustersRequest()).GetAwaiter().GetResult(); foreach (var cluster in clusters.Clusters.Select(c => client.DescribeClusterAsync(new DescribeClusterRequest { Name = c }).GetAwaiter().GetResult().Cluster)) { var credentialsRole = authenticationDetails.Role; var assumedRole = credentialsRole.Type == "assumeRole" ? new AwsAssumeRole(credentialsRole.Arn, credentialsRole.SessionName, credentialsRole.SessionDuration, credentialsRole.ExternalId) : null; yield return(KubernetesCluster.CreateForEks(cluster.Arn, cluster.Name, cluster.Endpoint, authenticationDetails.Credentials.AccountId, assumedRole, workerPoolId, cluster.Tags.ToTargetTags())); } } }