/**
         * Update a cluster and waits for it to become active
         *
         * @param containerEngineClient the service client to use to delete the cluster
         * @param clusterId the cluster ID
         * @param newClusterName The new cluster name
         *
         */
        private static async Task UpdateCluster(
            ContainerEngineClient containerEngineClient, string clusterId, string newClusterName)
        {
            UpdateClusterDetails updateClusterDetails = new UpdateClusterDetails
            {
                Name = newClusterName
            };
            UpdateClusterRequest updateClusterRequest = new UpdateClusterRequest
            {
                ClusterId            = clusterId,
                UpdateClusterDetails = updateClusterDetails
            };
            UpdateClusterResponse updateClusterResponse = await containerEngineClient.UpdateCluster(updateClusterRequest);

            string workRequestId = updateClusterResponse.OpcWorkRequestId;
            GetWorkRequestResponse workRequestResponse = WaitForWorkRequestFinished(containerEngineClient, workRequestId);

            GetClusterRequest getClusterRequest = new GetClusterRequest
            {
                ClusterId = clusterId
            };
            GetClusterResponse getClusterResponse = await containerEngineClient.GetCluster(getClusterRequest);

            Cluster cluster = getClusterResponse.Cluster;

            logger.Info($"Cluster name is changed to {cluster.Name}");
        }
Ejemplo n.º 2
0
        public GetClusterResponse GetCluster(GetClusterRequest getClusterRequest)
        {
            GetClusterResponse getClusterResponse = null;

            if (getClusterRequest.Id > 0)
            {
                var cluster    = _clusterRepository.FindClusterById(getClusterRequest.Id);
                var clusterDto = _messageMapper.MapToClusterDto(cluster);

                getClusterResponse = new GetClusterResponse
                {
                    Cluster = clusterDto
                };
            }

            return(getClusterResponse);
        }
        /**
         * Creates a Cluster and waits for it to become active
         *
         * @param containerEngineClient the containerEngineclient used to create the cluster
         * @param vcnId the ID of the VCN which will own the subnets
         * @param subnetIds list of subnet ids
         * @param kubernetesVersion kubernetesVersion
         * @param compartmentId
         *
         * @return the created cluster
         */
        private static async Task <Cluster> CreateCluster(
            ContainerEngineClient containerEngineClient, string vcnId, List <string> subnetIds,
            string kubernetesVersion, string compartmentId)
        {
            logger.Info("Creating Cluster.......");

            CreateClusterDetails createClusterDetails = new CreateClusterDetails
            {
                Name              = ClusterDisplayName,
                CompartmentId     = compartmentId,
                VcnId             = vcnId,
                KubernetesVersion = kubernetesVersion,
                Options           = new ClusterCreateOptions
                {
                    ServiceLbSubnetIds = subnetIds
                }
            };
            CreateClusterRequest createClusterRequest = new CreateClusterRequest
            {
                CreateClusterDetails = createClusterDetails
            };
            CreateClusterResponse clusterResponse = await containerEngineClient.CreateCluster(createClusterRequest);

            string workRequestId = clusterResponse.OpcWorkRequestId;

            logger.Info($"cluster work request ID is {workRequestId}");

            GetWorkRequestResponse workRequestResponse = WaitForWorkRequestFinished(containerEngineClient, workRequestId);

            var clusterId = GetClusterId(workRequestResponse);

            logger.Info($"cluster ID is {clusterId}");

            GetClusterRequest getClusterRequest = new GetClusterRequest
            {
                ClusterId = clusterId
            };
            GetClusterResponse getClusterResponse = await containerEngineClient.GetCluster(getClusterRequest);

            return(getClusterResponse.Cluster);
        }