func describeClusterToModel()

in cmd/resource/eks.go [23:74]


func describeClusterToModel(cluster eks.Cluster, model *Model) {
	model.Name = cluster.Name
	model.RoleArn = cluster.RoleArn
	model.Version = cluster.Version
	model.ResourcesVpcConfig = &ResourcesVpcConfig{
		SecurityGroupIds:      aws.StringValueSlice(cluster.ResourcesVpcConfig.SecurityGroupIds),
		SubnetIds:             aws.StringValueSlice(cluster.ResourcesVpcConfig.SubnetIds),
		EndpointPublicAccess:  cluster.ResourcesVpcConfig.EndpointPublicAccess,
		EndpointPrivateAccess: cluster.ResourcesVpcConfig.EndpointPrivateAccess,
		PublicAccessCidrs:     aws.StringValueSlice(cluster.ResourcesVpcConfig.PublicAccessCidrs),
	}
	model.KubernetesNetworkConfig = &KubernetesNetworkConfig{
		ServiceIpv4Cidr: cluster.KubernetesNetworkConfig.ServiceIpv4Cidr,
	}
	for _, l := range cluster.Logging.ClusterLogging {
		if *l.Enabled {
			model.EnabledClusterLoggingTypes = aws.StringValueSlice(l.Types)
		}
	}
	if cluster.EncryptionConfig != nil {
		var encryptionConfigs []EncryptionConfigEntry
		for _, e := range cluster.EncryptionConfig {
			encryptionConfigs = append(encryptionConfigs, EncryptionConfigEntry{
				Resources: aws.StringValueSlice(e.Resources),
				Provider: &Provider{
					KeyArn: e.Provider.KeyArn,
				},
			})
		}
		model.EncryptionConfig = encryptionConfigs
	}
	model.Arn = cluster.Arn
	model.CertificateAuthorityData = cluster.CertificateAuthority.Data
	model.ClusterSecurityGroupId = cluster.ResourcesVpcConfig.ClusterSecurityGroupId
	model.Endpoint = cluster.Endpoint
	if cluster.Identity != nil {
		if cluster.Identity.Oidc != nil {
			model.OIDCIssuerURL = cluster.Identity.Oidc.Issuer
		}
	}
	if cluster.Tags != nil && len(cluster.Tags) > 0 {
		for key, value := range cluster.Tags {
			model.Tags = append(model.Tags, Tags{
				Key:   &key,
				Value: value,
			})
		}
	}
	if slicesEqual(model.ResourcesVpcConfig.PublicAccessCidrs, []string{"0.0.0.0/0"}) {
		model.ResourcesVpcConfig.PublicAccessCidrs = nil
	}
}