code: func (o *createClusterOptions) modifyCluster(existingCluster clientcmdapi.Cluster) clientcmdapi.Cluster {
  	modifiedCluster := existingCluster
  
  	if o.server.Provided() {
  		modifiedCluster.Server = o.server.Value()
  	}
  	if o.insecureSkipTLSVerify.Provided() {
  		modifiedCluster.InsecureSkipTLSVerify = o.insecureSkipTLSVerify.Value()
  		// Specifying insecure mode clears any certificate authority
  		if modifiedCluster.InsecureSkipTLSVerify {
  			modifiedCluster.CertificateAuthority = ""
  			modifiedCluster.CertificateAuthorityData = nil
  		}
  	}
  	if o.certificateAuthority.Provided() {
  		caPath := o.certificateAuthority.Value()
  		if o.embedCAData.Value() {
  			modifiedCluster.CertificateAuthorityData, _ = ioutil.ReadFile(caPath)
  			modifiedCluster.InsecureSkipTLSVerify = false
  			modifiedCluster.CertificateAuthority = ""
  		} else {
  			caPath, _ = filepath.Abs(caPath)
  			modifiedCluster.CertificateAuthority = caPath
  			// Specifying a certificate authority file clears certificate authority data and insecure mode
  			if caPath != "" {
  				modifiedCluster.InsecureSkipTLSVerify = false
  				modifiedCluster.CertificateAuthorityData = nil
  			}
  		}
  	}
  
  	return modifiedCluster
  }
docs: // cluster builds a Cluster object from the options