2022-12-07 05:48:54 -05:00
|
|
|
/*
|
|
|
|
Copyright (c) Edgeless Systems GmbH
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
*/
|
|
|
|
|
2023-01-23 02:53:25 -05:00
|
|
|
/*
|
|
|
|
Package iamid contains the output information of IAM resource creation.
|
|
|
|
*/
|
2022-12-07 05:48:54 -05:00
|
|
|
package iamid
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/edgelesssys/constellation/v2/internal/cloud/cloudprovider"
|
|
|
|
)
|
|
|
|
|
|
|
|
// File contains output information of an IAM configuration.
|
|
|
|
type File struct {
|
|
|
|
// CloudProvider is the cloud provider of the cluster.
|
|
|
|
CloudProvider cloudprovider.Provider `json:"cloudprovider,omitempty"`
|
|
|
|
|
|
|
|
GCPOutput GCPFile `json:"gcpOutput,omitempty"`
|
|
|
|
|
|
|
|
AzureOutput AzureFile `json:"azureOutput,omitempty"`
|
|
|
|
|
|
|
|
AWSOutput AWSFile `json:"awsOutput,omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// GCPFile contains the output information of a GCP IAM configuration.
|
|
|
|
type GCPFile struct {
|
|
|
|
ServiceAccountKey string `json:"serviceAccountID,omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// AzureFile contains the output information of a Microsoft Azure IAM configuration.
|
|
|
|
type AzureFile struct {
|
|
|
|
SubscriptionID string `json:"subscriptionID,omitempty"`
|
|
|
|
TenantID string `json:"tenantID,omitempty"`
|
|
|
|
ApplicationID string `json:"applicationID,omitempty"`
|
|
|
|
UAMIID string `json:"uamiID,omitempty"`
|
|
|
|
ApplicationClientSecretValue string `json:"applicationClientSecretValue,omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// AWSFile contains the output information of an AWS IAM configuration.
|
|
|
|
type AWSFile struct {
|
|
|
|
ControlPlaneInstanceProfile string `json:"controlPlaneInstanceProfile,omitempty"`
|
|
|
|
WorkerNodeInstanceProfile string `json:"workerNodeInstanceProfile,omitempty"`
|
|
|
|
}
|