Documentation
¶
Index ¶
- Constants
- Variables
- func AllApiKeyPermissions() []string
- func SetLogger(logger Logger)
- func WorkspacePermissionCodes() []string
- type AksMeteringConfig
- type AksPlatformConfig
- type AksPlatformProperties
- type AksReplicationConfig
- type AksServicePrincipalConfig
- type ApiKeyPermissions
- type ApiPermission
- type AppliedQuotaValue
- type Authorization
- type AwsAccessConfig
- type AwsAuth
- type AwsEnrollmentConfiguration
- type AwsIdentityStoreConfig
- type AwsIdentityStoreRoleMapping
- type AwsMeteringConfig
- type AwsPlatformConfig
- type AwsPlatformProperties
- type AwsReplicationConfig
- type AwsRoleMapping
- type AwsServiceUserCredential
- type AwsSsoConfig
- type AwsSsoRoleMapping
- type AwsWorkloadIdentityCredential
- type AzureAuthConfig
- type AzureCustomerAgreementConfig
- type AzureEnterpriseEnrollmentConfig
- type AzureFunction
- type AzureGraphApiCredentials
- type AzureInviteB2BUserConfig
- type AzureMeteringConfig
- type AzurePlatformConfig
- type AzurePlatformProperties
- type AzurePreProvisionedSubscriptionConfig
- type AzureReplicationConfig
- type AzureRgPlatformConfig
- type AzureRgPlatformProperties
- type AzureRgReplicationConfig
- type AzureRgRoleMapping
- type AzureRole
- type AzureRoleDefinition
- type AzureRoleMapping
- type AzureRoleMappingProperty
- type AzureServicePrincipalConfig
- type AzureSubscriptionProvisioningConfig
- type BuildingBlockDeletionMode
- type BuildingBlockLifecycleState
- type BuildingBlockStatus
- type Client
- type CustomMeteringConfig
- type CustomPlatformConfig
- type CustomPlatformProperties
- type GcpMeteringConfig
- type GcpPlatformConfig
- type GcpPlatformProperties
- type GcpPlatformRoleMapping
- type GcpReplicationConfig
- type GcpRoleMapping
- type GcpServiceAccountConfig
- type GcpServiceAccountWorkloadIdentityConfig
- type HttpError
- type KubernetesClientConfig
- type KubernetesMeteringConfig
- type KubernetesPlatformConfig
- type KubernetesPlatformProperties
- type KubernetesReplicationConfig
- type KubernetesRoleMapping
- type Logger
- type MeshApiKey
- type MeshApiKeyClient
- type MeshApiKeyMetadata
- type MeshApiKeySpec
- type MeshApiKeyStatus
- type MeshAwsWifProvider
- type MeshBuildingBlock
- type MeshBuildingBlockClient
- type MeshBuildingBlockCreate
- type MeshBuildingBlockCreateMetadata
- type MeshBuildingBlockDefinition
- type MeshBuildingBlockDefinitionAzureDevOpsPipelineImplementation
- type MeshBuildingBlockDefinitionClient
- type MeshBuildingBlockDefinitionGitHubWorkflowsImplementation
- type MeshBuildingBlockDefinitionGitLabPipelineImplementation
- type MeshBuildingBlockDefinitionImplementation
- func (m MeshBuildingBlockDefinitionImplementation) InferTypeFromNonNilField() (result enum.Entry[MeshBuildingBlockImplementationType])
- func (m MeshBuildingBlockDefinitionImplementation) MarshalJSON() ([]byte, error)
- func (m *MeshBuildingBlockDefinitionImplementation) UnmarshalJSON(bytes []byte) error
- type MeshBuildingBlockDefinitionInput
- type MeshBuildingBlockDefinitionManualImplementation
- type MeshBuildingBlockDefinitionMetadata
- type MeshBuildingBlockDefinitionOutput
- type MeshBuildingBlockDefinitionOutputAssignmentType
- type MeshBuildingBlockDefinitionSpec
- type MeshBuildingBlockDefinitionSshKnownHost
- type MeshBuildingBlockDefinitionStatus
- type MeshBuildingBlockDefinitionStatusVersion
- type MeshBuildingBlockDefinitionTerraformImplementation
- type MeshBuildingBlockDefinitionVersion
- type MeshBuildingBlockDefinitionVersionClient
- type MeshBuildingBlockDefinitionVersionMetadata
- type MeshBuildingBlockDefinitionVersionSpec
- type MeshBuildingBlockDefinitionVersionState
- type MeshBuildingBlockDefinitionVersionStatus
- type MeshBuildingBlockIO
- type MeshBuildingBlockIOType
- type MeshBuildingBlockImplementationType
- type MeshBuildingBlockInput
- type MeshBuildingBlockInputAssignmentType
- type MeshBuildingBlockMetadata
- type MeshBuildingBlockOutput
- type MeshBuildingBlockParent
- type MeshBuildingBlockRun
- type MeshBuildingBlockRunClient
- type MeshBuildingBlockRunLogs
- type MeshBuildingBlockRunMetadata
- type MeshBuildingBlockRunSpec
- type MeshBuildingBlockRunStepLog
- type MeshBuildingBlockRunner
- type MeshBuildingBlockRunnerClient
- type MeshBuildingBlockRunnerImplementationType
- type MeshBuildingBlockRunnerMetadata
- type MeshBuildingBlockRunnerSpec
- type MeshBuildingBlockSpec
- type MeshBuildingBlockStatus
- type MeshBuildingBlockType
- type MeshBuildingBlockV2
- type MeshBuildingBlockV2Client
- type MeshBuildingBlockV2DefinitionVersionRef
- type MeshBuildingBlockV2Lifecycle
- type MeshBuildingBlockV2ListFilter
- type MeshBuildingBlockV2Metadata
- type MeshBuildingBlockV2Spec
- type MeshBuildingBlockV2Status
- type MeshBuildingBlockV2TargetRef
- type MeshIntegration
- type MeshIntegrationAzureDevopsConfig
- type MeshIntegrationClient
- type MeshIntegrationConfig
- type MeshIntegrationConfigType
- type MeshIntegrationEntraIdConfig
- type MeshIntegrationGithubConfig
- type MeshIntegrationGitlabConfig
- type MeshIntegrationMetadata
- type MeshIntegrationSpec
- type MeshIntegrationStatus
- type MeshLandingZone
- type MeshLandingZoneClient
- type MeshLandingZoneCreate
- type MeshLandingZoneListQuery
- type MeshLandingZoneMetadata
- type MeshLandingZonePlatformProperties
- type MeshLandingZoneQuota
- type MeshLandingZoneSpec
- type MeshLandingZoneStatus
- type MeshLocation
- type MeshLocationClient
- type MeshLocationCreate
- type MeshLocationCreateMetadata
- type MeshLocationMetadata
- type MeshLocationSpec
- type MeshLocationStatus
- type MeshPaymentMethod
- type MeshPaymentMethodClient
- type MeshPaymentMethodCreate
- type MeshPaymentMethodCreateMetadata
- type MeshPaymentMethodMetadata
- type MeshPaymentMethodSpec
- type MeshPlatform
- type MeshPlatformClient
- type MeshPlatformListQuery
- type MeshPlatformMetadata
- type MeshPlatformMeteringProcessingConfig
- type MeshPlatformSpec
- type MeshPlatformType
- type MeshPlatformTypeClient
- type MeshPlatformTypeCreate
- type MeshPlatformTypeCreateMetadata
- type MeshPlatformTypeLifecycle
- type MeshPlatformTypeMetadata
- type MeshPlatformTypeSpec
- type MeshPlatformTypeStatus
- type MeshProject
- type MeshProjectBinding
- type MeshProjectBindingMetadata
- type MeshProjectClient
- type MeshProjectCreate
- type MeshProjectCreateMetadata
- type MeshProjectGroupBinding
- type MeshProjectGroupBindingClient
- type MeshProjectMetadata
- type MeshProjectRoleRefdeprecated
- type MeshProjectSpec
- type MeshProjectTargetRef
- type MeshProjectUserBinding
- type MeshProjectUserBindingClient
- type MeshRunnerWifProviderConfig
- type MeshRunnerWorkloadIdentityFed
- type MeshServiceInstance
- type MeshServiceInstanceClient
- type MeshServiceInstanceFilter
- type MeshServiceInstanceMetadata
- type MeshServiceInstanceSpec
- type MeshSubject
- type MeshTagDefinition
- type MeshTagDefinitionClient
- type MeshTagDefinitionMetadata
- type MeshTagDefinitionSpec
- type MeshTagDefinitionValueType
- type MeshTenant
- type MeshTenantClient
- type MeshTenantCreate
- type MeshTenantCreateMetadata
- type MeshTenantCreateSpec
- type MeshTenantLifecycle
- type MeshTenantLifecycleAction
- type MeshTenantMetadata
- type MeshTenantQuery
- type MeshTenantQuota
- type MeshTenantSpec
- type MeshTenantStatus
- type MeshTenantTags
- type MeshTenantV4
- type MeshTenantV4Client
- type MeshTenantV4Create
- type MeshTenantV4CreateMetadata
- type MeshTenantV4CreateSpec
- type MeshTenantV4Metadata
- type MeshTenantV4Query
- type MeshTenantV4Spec
- type MeshTenantV4Status
- type MeshWifProvider
- type MeshWorkloadIdentityFederation
- type MeshWorkspace
- type MeshWorkspaceBinding
- type MeshWorkspaceBindingMetadata
- type MeshWorkspaceClient
- type MeshWorkspaceCreate
- type MeshWorkspaceCreateMetadata
- type MeshWorkspaceGroupBinding
- type MeshWorkspaceGroupBindingClient
- type MeshWorkspaceMetadata
- type MeshWorkspaceRoleRef
- type MeshWorkspaceSpec
- type MeshWorkspaceSubject
- type MeshWorkspaceTargetRef
- type MeshWorkspaceUserBinding
- type MeshWorkspaceUserBindingClient
- type NamedRef
- type OpenShiftMeteringConfig
- type OpenShiftPlatformConfig
- type OpenShiftPlatformProperties
- type OpenShiftPlatformRoleMapping
- type OpenShiftReplicationConfig
- type PlatformAvailability
- type PlatformConfig
- type QuotaDefinition
- type RequestQuotaValue
- type TagMapper
- type TagValueEmail
- type TagValueInteger
- type TagValueMultiSelect
- type TagValueNumber
- type TagValueSingleSelect
- type TagValueString
- type TenantLifecycleState
- type UuidRef
Constants ¶
const ( MESH_BUILDING_BLOCK_IO_TYPE_STRING = "STRING" MESH_BUILDING_BLOCK_IO_TYPE_INTEGER = "INTEGER" MESH_BUILDING_BLOCK_IO_TYPE_BOOLEAN = "BOOLEAN" MESH_BUILDING_BLOCK_IO_TYPE_SINGLE_SELECT = "SINGLE_SELECT" MESH_BUILDING_BLOCK_IO_TYPE_MULTI_SELECT = "MULTI_SELECT" MESH_BUILDING_BLOCK_IO_TYPE_FILE = "FILE" MESH_BUILDING_BLOCK_IO_TYPE_LIST = "LIST" MESH_BUILDING_BLOCK_IO_TYPE_CODE = "CODE" )
const API_VERSION_TAG_DEFINITION = "v1"
Variables ¶
var ( MeshBuildingBlockTypes = enum.Enum[MeshBuildingBlockType]{} MeshBuildingBlockTypeTenantLevel = MeshBuildingBlockTypes.Entry("TENANT_LEVEL") MeshBuildingBlockTypeWorkspaceLevel = MeshBuildingBlockTypes.Entry("WORKSPACE_LEVEL") )
var ( MeshBuildingBlockDefinitionVersionStates = enum.Enum[MeshBuildingBlockDefinitionVersionState]{} MeshBuildingBlockDefinitionVersionStateDraft = MeshBuildingBlockDefinitionVersionStates.Entry("DRAFT") MeshBuildingBlockDefinitionVersionStateReleased = MeshBuildingBlockDefinitionVersionStates.Entry("RELEASED") )
var ( BuildingBlockDeletionModes = enum.Enum[BuildingBlockDeletionMode]{} BuildingBlockDeletionModeDelete = BuildingBlockDeletionModes.Entry("DELETE") BuildingBlockDeletionModePurge = BuildingBlockDeletionModes.Entry("PURGE") )
var ( MeshBuildingBlockIOTypes = enum.Enum[MeshBuildingBlockIOType]{} MeshBuildingBlockIOTypeString = MeshBuildingBlockIOTypes.Entry("STRING") MeshBuildingBlockIOTypeCode = MeshBuildingBlockIOTypes.Entry("CODE") MeshBuildingBlockIOTypeInteger = MeshBuildingBlockIOTypes.Entry("INTEGER") MeshBuildingBlockIOTypeBoolean = MeshBuildingBlockIOTypes.Entry("BOOLEAN") MeshBuildingBlockIOTypeFile = MeshBuildingBlockIOTypes.Entry("FILE") MeshBuildingBlockIOTypeList = MeshBuildingBlockIOTypes.Entry("LIST") MeshBuildingBlockIOTypeSingleSelect = MeshBuildingBlockIOTypes.Entry("SINGLE_SELECT") MeshBuildingBlockIOTypeMultiSelect = MeshBuildingBlockIOTypes.Entry("MULTI_SELECT") )
var ( MeshBuildingBlockInputAssignmentTypes = enum.Enum[MeshBuildingBlockInputAssignmentType]{} MeshBuildingBlockInputAssignmentTypeAuthor = MeshBuildingBlockInputAssignmentTypes.Entry("AUTHOR") MeshBuildingBlockInputAssignmentTypeUserInput = MeshBuildingBlockInputAssignmentTypes.Entry("USER_INPUT") MeshBuildingBlockInputAssignmentTypePlatformOperatorManualInput = MeshBuildingBlockInputAssignmentTypes.Entry("PLATFORM_OPERATOR_MANUAL_INPUT") MeshBuildingBlockInputAssignmentTypeBuildingBlockOutput = MeshBuildingBlockInputAssignmentTypes.Entry("BUILDING_BLOCK_OUTPUT") MeshBuildingBlockInputAssignmentTypePlatformTenantID = MeshBuildingBlockInputAssignmentTypes.Entry("PLATFORM_TENANT_ID") MeshBuildingBlockInputAssignmentTypeMeshstackTenantUuid = MeshBuildingBlockInputAssignmentTypes.Entry("MESHSTACK_TENANT_UUID") MeshBuildingBlockInputAssignmentTypeWorkspaceIdentifier = MeshBuildingBlockInputAssignmentTypes.Entry("WORKSPACE_IDENTIFIER") MeshBuildingBlockInputAssignmentTypeProjectIdentifier = MeshBuildingBlockInputAssignmentTypes.Entry("PROJECT_IDENTIFIER") MeshBuildingBlockInputAssignmentTypeFullPlatformIdentifier = MeshBuildingBlockInputAssignmentTypes.Entry("FULL_PLATFORM_IDENTIFIER") MeshBuildingBlockInputAssignmentTypeTenantBuildingBlockUuid = MeshBuildingBlockInputAssignmentTypes.Entry("TENANT_BUILDING_BLOCK_UUID") MeshBuildingBlockInputAssignmentTypeStatic = MeshBuildingBlockInputAssignmentTypes.Entry("STATIC") MeshBuildingBlockInputAssignmentTypeUserPermissions = MeshBuildingBlockInputAssignmentTypes.Entry("USER_PERMISSIONS") )
var ( MeshBuildingBlockDefinitionOutputAssignmentTypes = enum.Enum[MeshBuildingBlockDefinitionOutputAssignmentType]{} MeshBuildingBlockDefinitionOutputAssignmentTypeNone = MeshBuildingBlockDefinitionOutputAssignmentTypes.Entry("NONE") MeshBuildingBlockDefinitionOutputAssignmentTypePlatformTenantID = MeshBuildingBlockDefinitionOutputAssignmentTypes.Entry("PLATFORM_TENANT_ID") MeshBuildingBlockDefinitionOutputAssignmentTypeSignInURL = MeshBuildingBlockDefinitionOutputAssignmentTypes.Entry("SIGN_IN_URL") MeshBuildingBlockDefinitionOutputAssignmentTypeResourceURL = MeshBuildingBlockDefinitionOutputAssignmentTypes.Entry("RESOURCE_URL") MeshBuildingBlockDefinitionOutputAssignmentTypeSummary = MeshBuildingBlockDefinitionOutputAssignmentTypes.Entry("SUMMARY") )
var ( MeshBuildingBlockImplementationTypes = enum.Enum[MeshBuildingBlockImplementationType]{} MeshBuildingBlockImplementationTypeManual = MeshBuildingBlockImplementationTypes.Entry("manual") MeshBuildingBlockImplementationTypeTerraform = MeshBuildingBlockImplementationTypes.Entry("terraform") MeshBuildingBlockImplementationTypeGithubWorkflows = MeshBuildingBlockImplementationTypes.Entry("githubWorkflows") MeshBuildingBlockImplementationTypeGitlabPipeline = MeshBuildingBlockImplementationTypes.Entry("gitlabPipeline") MeshBuildingBlockImplementationTypeAzureDevOpsPipeline = MeshBuildingBlockImplementationTypes.Entry("azureDevOpsPipeline") )
var ( BuildingBlockLifecycleStates = enum.Enum[BuildingBlockLifecycleState]{} BuildingBlockLifecycleStateActive = BuildingBlockLifecycleStates.Entry("ACTIVE") BuildingBlockLifecycleStateMarkedForDeletion = BuildingBlockLifecycleStates.Entry("MARKED_FOR_DELETION") BuildingBlockLifecycleStateDeleted = BuildingBlockLifecycleStates.Entry("DELETED") )
var ( BuildingBlockStatuses = enum.Enum[BuildingBlockStatus]{} BuildingBlockStatusWaitingForDependentInput = BuildingBlockStatuses.Entry("WAITING_FOR_DEPENDENT_INPUT") BuildingBlockStatusWaitingForOperatorInput = BuildingBlockStatuses.Entry("WAITING_FOR_OPERATOR_INPUT") BuildingBlockStatusWaitingForUserInput = BuildingBlockStatuses.Entry("WAITING_FOR_USER_INPUT") BuildingBlockStatusWaitingForApproval = BuildingBlockStatuses.Entry("WAITING_FOR_APPROVAL") BuildingBlockStatusPending = BuildingBlockStatuses.Entry("PENDING") BuildingBlockStatusInProgress = BuildingBlockStatuses.Entry("IN_PROGRESS") BuildingBlockStatusSucceeded = BuildingBlockStatuses.Entry("SUCCEEDED") BuildingBlockStatusFailed = BuildingBlockStatuses.Entry("FAILED") BuildingBlockStatusAborted = BuildingBlockStatuses.Entry("ABORTED") )
var ( MeshIntegrationConfigTypes = enum.Enum[MeshIntegrationConfigType]{} MeshIntegrationConfigTypeGithub = MeshIntegrationConfigTypes.Entry("github") MeshIntegrationConfigTypeGitlab = MeshIntegrationConfigTypes.Entry("gitlab") MeshIntegrationConfigTypeAzureDevops = MeshIntegrationConfigTypes.Entry("azuredevops") MeshIntegrationConfigTypeEntraId = MeshIntegrationConfigTypes.Entry("entraid") )
var ( TenantLifecycleStates = enum.Enum[TenantLifecycleState]{} TenantLifecycleStateActive = TenantLifecycleStates.Entry("ACTIVE") TenantLifecycleStateMarkedForDeletion = TenantLifecycleStates.Entry("MARKED_FOR_DELETION") TenantLifecycleStateDeleted = TenantLifecycleStates.Entry("DELETED") )
var MeshBuildingBlockOutputIOTypes = enum.Of( MeshBuildingBlockIOTypeString, MeshBuildingBlockIOTypeCode, MeshBuildingBlockIOTypeInteger, MeshBuildingBlockIOTypeBoolean, )
var MeshBuildingBlockRunnerImplementationTypes = []string{ string(MeshBuildingBlockRunnerImplementationTypeTerraform), string(MeshBuildingBlockRunnerImplementationTypeGithubWorkflow), string(MeshBuildingBlockRunnerImplementationTypeGitlabPipeline), string(MeshBuildingBlockRunnerImplementationTypeAzureDevopsPipeline), string(MeshBuildingBlockRunnerImplementationTypeManual), string(MeshBuildingBlockRunnerImplementationTypeAll), }
var MeshObjectKind = meshObjectKind{
ApiKey: "meshApiKey",
BuildingBlock: "meshBuildingBlock",
BuildingBlockRun: "meshBuildingBlockRun",
BuildingBlockDefinition: "meshBuildingBlockDefinition",
BuildingBlockDefinitionVersion: "meshBuildingBlockDefinitionVersion",
BuildingBlockRunner: "meshBuildingBlockRunner",
Integration: "meshIntegration",
LandingZone: "meshLandingZone",
Location: "meshLocation",
PaymentMethod: "meshPaymentMethod",
Platform: "meshPlatform",
PlatformType: "meshPlatformType",
Project: "meshProject",
ProjectGroupBinding: "meshProjectGroupBinding",
ProjectRole: "meshProjectRole",
ProjectUserBinding: "meshProjectUserBinding",
ServiceInstance: "meshServiceInstance",
TagDefinition: "meshTagDefinition",
Tenant: "meshTenant",
Workspace: "meshWorkspace",
WorkspaceGroupBinding: "meshWorkspaceGroupBinding",
WorkspaceUserBinding: "meshWorkspaceUserBinding",
}
var MinMeshStackVersion = version.MustParse("2026.30.0")
var Permissions = ApiKeyPermissions{
{
{"APIKEY_DELETE", "ADM_APIKEY_DELETE"},
{"APIKEY_LIST", "ADM_APIKEY_LIST"},
{"APIKEY_SAVE", "ADM_APIKEY_SAVE"},
},
{
{"BUILDINGBLOCK_DELETE", "ADM_BUILDINGBLOCK_DELETE"},
{"BUILDINGBLOCK_LIST", "ADM_BUILDINGBLOCK_LIST", "MANAGED_BUILDINGBLOCK_LIST"},
{"BUILDINGBLOCK_SAVE", "ADM_BUILDINGBLOCK_SAVE", "MANAGED_BUILDINGBLOCK_SAVE"},
},
{
{"BUILDINGBLOCKDEFINITION_DELETE", "ADM_BUILDINGBLOCKDEFINITION_DELETE"},
{"BUILDINGBLOCKDEFINITION_LIST", "ADM_BUILDINGBLOCKDEFINITION_LIST"},
{"BUILDINGBLOCKDEFINITION_SAVE", "ADM_BUILDINGBLOCKDEFINITION_SAVE"},
{"ADM_REVIEW_PUBLICATION"},
},
{
{"MANAGED_BUILDINGBLOCKRUN_LIST", "ADM_BUILDINGBLOCKRUN_LIST"},
{"MANAGED_BUILDINGBLOCKRUN_SAVE", "ADM_BUILDINGBLOCKRUN_SAVE"},
{"MANAGED_BUILDINGBLOCKRUNSOURCE_SAVE", "ADM_BUILDINGBLOCKRUNSOURCE_SAVE"},
},
{
{"BUILDINGBLOCKRUNNER_DELETE", "ADM_BUILDINGBLOCKRUNNER_DELETE"},
{"BUILDINGBLOCKRUNNER_LIST", "ADM_BUILDINGBLOCKRUNNER_LIST"},
{"BUILDINGBLOCKRUNNER_SAVE", "ADM_BUILDINGBLOCKRUNNER_SAVE"},
},
{
{"COMMUNICATIONDEFINITION_DELETE", "ADM_COMMUNICATIONDEFINITION_DELETE"},
{"COMMUNICATIONDEFINITION_LIST", "ADM_COMMUNICATIONDEFINITION_LIST"},
{"COMMUNICATIONDEFINITION_SAVE", "ADM_COMMUNICATIONDEFINITION_SAVE"},
},
{
{"COMMUNICATION_DELETE", "ADM_COMMUNICATION_DELETE"},
{"COMMUNICATION_LIST", "ADM_COMMUNICATION_LIST"},
{"COMMUNICATION_SAVE", "ADM_COMMUNICATION_SAVE"},
},
{
{"EVENTLOG_LIST", "ADM_EVENTLOG_LIST"},
},
{
{"INTEGRATION_DELETE", "ADM_INTEGRATION_DELETE"},
{"INTEGRATION_LIST", "ADM_INTEGRATION_LIST"},
{"INTEGRATION_SAVE", "ADM_INTEGRATION_SAVE"},
},
{
{"LANDINGZONE_DELETE", "ADM_LANDINGZONE_DELETE"},
{"LANDINGZONE_LIST", "ADM_LANDINGZONE_LIST"},
{"LANDINGZONE_SAVE", "ADM_LANDINGZONE_SAVE"},
},
{
{"ADM_PAYMENTMETHOD_DELETE"},
{"PAYMENTMETHOD_LIST", "ADM_PAYMENTMETHOD_LIST"},
{"ADM_PAYMENTMETHOD_SAVE"},
},
{
{"PLATFORMINSTANCE_DELETE", "ADM_PLATFORMINSTANCE_DELETE"},
{"PLATFORMINSTANCE_LIST", "ADM_PLATFORMINSTANCE_LIST"},
{"PLATFORMINSTANCE_SAVE", "ADM_PLATFORMINSTANCE_SAVE"},
},
{
{"PROJECTPRINCIPALROLE_DELETE", "ADM_PROJECTPRINCIPALROLE_DELETE"},
{"PROJECTPRINCIPALROLE_LIST", "ADM_PROJECTPRINCIPALROLE_LIST"},
{"PROJECTPRINCIPALROLE_SAVE", "ADM_PROJECTPRINCIPALROLE_SAVE"},
},
{
{"ADM_PROJECTROLE_DELETE"},
{"ADM_PROJECTROLE_SAVE"},
},
{
{"PROJECT_DELETE", "ADM_PROJECT_DELETE"},
{"PROJECT_LIST", "ADM_PROJECT_LIST"},
{"PROJECT_SAVE", "ADM_PROJECT_SAVE"},
},
{
{"SERVICEINSTANCE_DELETE", "ADM_SERVICEINSTANCE_DELETE"},
{"SERVICEINSTANCE_LIST", "ADM_SERVICEINSTANCE_LIST"},
{"SERVICEINSTANCE_SAVE", "ADM_SERVICEINSTANCE_SAVE"},
},
{
{"ADM_TAGDEFINITION_DELETE"},
{"ADM_TAGDEFINITION_LIST"},
{"ADM_TAGDEFINITION_SAVE"},
},
{
{"TENANT_DELETE", "ADM_TENANT_DELETE"},
{"MANAGED_TENANT_IMPORT", "ADM_TENANT_IMPORT"},
{"TENANT_LIST", "ADM_TENANT_LIST"},
{"TENANT_SAVE", "ADM_TENANT_SAVE"},
},
{
{"TFSTATE_DELETE", "ADM_TFSTATE_DELETE", "MANAGED_TFSTATE_DELETE"},
{"TFSTATE_LIST", "ADM_TFSTATE_LIST", "MANAGED_TFSTATE_LIST"},
{"TFSTATE_SAVE", "ADM_TFSTATE_SAVE", "MANAGED_TFSTATE_SAVE"},
},
{
{"ADM_USER_DELETE"},
{"ADM_USER_LIST"},
{"ADM_USER_SAVE"},
},
{
{"WORKSPACEPRINCIPALBINDING_DELETE", "ADM_WORKSPACEPRINCIPALBINDING_DELETE"},
{"WORKSPACEPRINCIPALBINDING_LIST", "ADM_WORKSPACEPRINCIPALBINDING_LIST"},
{"WORKSPACEPRINCIPALBINDING_SAVE", "ADM_WORKSPACEPRINCIPALBINDING_SAVE"},
},
{
{"WORKSPACEUSERGROUP_LIST", "ADM_WORKSPACEUSERGROUP_LIST"},
},
{
{"WORKSPACE_DELETE", "ADM_WORKSPACE_DELETE"},
{"WORKSPACE_LIST", "ADM_WORKSPACE_LIST"},
{"WORKSPACE_SAVE", "ADM_WORKSPACE_SAVE"},
},
}
Permissions is the complete registry of API key permissions, aligned 1:1 with the Kotlin ApiKeyRightMetadataRegistry.
Functions ¶
func AllApiKeyPermissions ¶ added in v0.20.6
func AllApiKeyPermissions() []string
AllApiKeyPermissions returns all valid API key permission shortcodes.
func SetLogger ¶ added in v0.17.0
func SetLogger(logger Logger)
SetLogger allows setting the client logger. By default, no logging happens.
func WorkspacePermissionCodes ¶ added in v0.20.6
func WorkspacePermissionCodes() []string
WorkspacePermissionCodes returns only workspace-scoped permission shortcodes.
Types ¶
type AksMeteringConfig ¶ added in v0.13.0
type AksMeteringConfig struct {
ClientConfig KubernetesClientConfig `json:"clientConfig" tfsdk:"client_config"`
Processing MeshPlatformMeteringProcessingConfig `json:"processing" tfsdk:"processing"`
}
type AksPlatformConfig ¶ added in v0.12.0
type AksPlatformConfig struct {
BaseUrl string `json:"baseUrl" tfsdk:"base_url"`
DisableSslValidation bool `json:"disableSslValidation" tfsdk:"disable_ssl_validation"`
Replication *AksReplicationConfig `json:"replication" tfsdk:"replication"`
Metering *AksMeteringConfig `json:"metering,omitempty" tfsdk:"metering"`
}
type AksPlatformProperties ¶ added in v0.11.0
type AksPlatformProperties struct {
KubernetesRoleMappings []KubernetesRoleMapping `json:"kubernetesRoleMappings" tfsdk:"kubernetes_role_mappings"`
}
type AksReplicationConfig ¶ added in v0.12.0
type AksReplicationConfig struct {
AccessToken types.Secret `json:"accessToken" tfsdk:"access_token"`
NamespaceNamePattern string `json:"namespaceNamePattern" tfsdk:"namespace_name_pattern"`
GroupNamePattern string `json:"groupNamePattern" tfsdk:"group_name_pattern"`
ServicePrincipal AksServicePrincipalConfig `json:"servicePrincipal" tfsdk:"service_principal"`
AksSubscriptionId string `json:"aksSubscriptionId" tfsdk:"aks_subscription_id"`
AksClusterName string `json:"aksClusterName" tfsdk:"aks_cluster_name"`
AksResourceGroup string `json:"aksResourceGroup" tfsdk:"aks_resource_group"`
RedirectUrl *string `json:"redirectUrl,omitempty" tfsdk:"redirect_url"`
SendAzureInvitationMail bool `json:"sendAzureInvitationMail" tfsdk:"send_azure_invitation_mail"`
UserLookupStrategy string `json:"userLookUpStrategy" tfsdk:"user_lookup_strategy"`
AdministrativeUnitId *string `json:"administrativeUnitId,omitempty" tfsdk:"administrative_unit_id"`
}
type AksServicePrincipalConfig ¶ added in v0.13.0
type AksServicePrincipalConfig struct {
EntraTenant string `json:"entraTenant" tfsdk:"entra_tenant"`
ObjectId string `json:"objectId" tfsdk:"object_id"`
ClientId string `json:"clientId" tfsdk:"client_id"`
Auth AzureAuthConfig `json:"auth" tfsdk:"auth"`
}
type ApiKeyPermissions ¶ added in v0.20.6
type ApiKeyPermissions [][][]ApiPermission
ApiKeyPermissions is a 3D structure:
- outer: groups (e.g. "Building Blocks", "Projects")
- middle: suffix groups within a group (e.g. DELETE, LIST, SAVE variants together)
- inner: scope variants (e.g. [TENANT_DELETE, ADM_TENANT_DELETE])
Each permission is listed exactly as it appears in the API, no prefix derivation.
func (ApiKeyPermissions) AllCodes ¶ added in v0.20.6
func (p ApiKeyPermissions) AllCodes() []string
AllCodes returns all valid API key permission shortcodes (flattened).
func (ApiKeyPermissions) MarkdownString ¶ added in v0.20.6
func (p ApiKeyPermissions) MarkdownString() string
MarkdownString returns an unordered markdown list of all permissions grouped by resource. Each bullet shows workspace codes, then MANAGED_ codes, then ADM_ codes separated by " and ".
func (ApiKeyPermissions) WorkspaceCodes ¶ added in v0.20.6
func (p ApiKeyPermissions) WorkspaceCodes() []string
WorkspaceCodes returns only non-ADM_ permission shortcodes (workspace + platform builder scoped).
type ApiPermission ¶ added in v0.18.0
type ApiPermission string
ApiPermission is a permission shortcode string used for JSON serialization.
type AppliedQuotaValue ¶ added in v0.24.3
type AppliedQuotaValue struct {
Value int64 `json:"value" tfsdk:"value"`
}
AppliedQuotaValue is a tenant quota value as actually applied by the backend. See RequestQuotaValue for why the two are not a single type.
type Authorization ¶ added in v0.20.7
type Authorization = internal.Authorization
func NewApiKeyAuthorization ¶ added in v0.20.7
func NewApiKeyAuthorization(apiKey, apiSecret string) Authorization
func NewApiTokenAuthorization ¶ added in v0.20.7
func NewApiTokenAuthorization(apiToken string) Authorization
type AwsAccessConfig ¶ added in v0.12.0
type AwsAccessConfig struct {
OrganizationRootAccountRole string `json:"organizationRootAccountRole" tfsdk:"organization_root_account_role"`
OrganizationRootAccountExternalId *string `json:"organizationRootAccountExternalId,omitempty" tfsdk:"organization_root_account_external_id"`
Auth AwsAuth `json:"auth" tfsdk:"auth"`
}
type AwsAuth ¶ added in v0.16.0
type AwsAuth struct {
Type string `json:"type" tfsdk:"type"`
Credential *AwsServiceUserCredential `json:"credential,omitempty" tfsdk:"credential"`
WorkloadIdentity *AwsWorkloadIdentityCredential `json:"workloadIdentity,omitempty" tfsdk:"workload_identity"`
}
type AwsEnrollmentConfiguration ¶ added in v0.12.0
type AwsIdentityStoreConfig ¶ added in v0.20.0
type AwsIdentityStoreConfig struct {
IdentityStoreId string `json:"identityStoreId" tfsdk:"identity_store_id"`
Arn string `json:"arn" tfsdk:"arn"`
GroupNamePattern string `json:"groupNamePattern" tfsdk:"group_name_pattern"`
AwsRoleMappings types.Set[AwsIdentityStoreRoleMapping] `json:"awsRoleMappings" tfsdk:"aws_role_mappings"`
SignInUrl string `json:"signInUrl" tfsdk:"sign_in_url"`
}
type AwsIdentityStoreRoleMapping ¶ added in v0.20.0
type AwsMeteringConfig ¶ added in v0.13.0
type AwsMeteringConfig struct {
AccessConfig AwsAccessConfig `json:"accessConfig" tfsdk:"access_config"`
Filter string `json:"filter" tfsdk:"filter"`
ReservedInstanceFairChargeback bool `json:"reservedInstanceFairChargeback" tfsdk:"reserved_instance_fair_chargeback"`
SavingsPlanFairChargeback bool `json:"savingsPlanFairChargeback" tfsdk:"savings_plan_fair_chargeback"`
Processing MeshPlatformMeteringProcessingConfig `json:"processing" tfsdk:"processing"`
}
type AwsPlatformConfig ¶ added in v0.12.0
type AwsPlatformConfig struct {
Region string `json:"region,omitempty" tfsdk:"region"`
Replication *AwsReplicationConfig `json:"replication,omitempty" tfsdk:"replication"`
Metering *AwsMeteringConfig `json:"metering,omitempty" tfsdk:"metering"`
}
type AwsPlatformProperties ¶ added in v0.11.0
type AwsPlatformProperties struct {
AwsTargetOrgUnitId string `json:"awsTargetOrgUnitId" tfsdk:"aws_target_org_unit_id"`
AwsEnrollAccount bool `json:"awsEnrollAccount" tfsdk:"aws_enroll_account"`
AwsLambdaArn *string `json:"awsLambdaArn" tfsdk:"aws_lambda_arn"`
AwsRoleMappings []AwsRoleMapping `json:"awsRoleMappings" tfsdk:"aws_role_mappings"`
}
type AwsReplicationConfig ¶ added in v0.12.0
type AwsReplicationConfig struct {
AccessConfig AwsAccessConfig `json:"accessConfig" tfsdk:"access_config"`
WaitForExternalAvm bool `json:"waitForExternalAvm" tfsdk:"wait_for_external_avm"`
AutomationAccountRole string `json:"automationAccountRole" tfsdk:"automation_account_role"`
AutomationAccountExternalId *string `json:"automationAccountExternalId,omitempty" tfsdk:"automation_account_external_id"`
AccountAccessRole string `json:"accountAccessRole" tfsdk:"account_access_role"`
AccountAliasPattern string `json:"accountAliasPattern" tfsdk:"account_alias_pattern"`
EnforceAccountAlias bool `json:"enforceAccountAlias" tfsdk:"enforce_account_alias"`
AccountEmailPattern string `json:"accountEmailPattern" tfsdk:"account_email_pattern"`
TenantTags *MeshTenantTags `json:"tenantTags,omitempty" tfsdk:"tenant_tags"`
AwsSso *AwsSsoConfig `json:"awsSso,omitempty" tfsdk:"aws_sso"`
AwsIdentityStore *AwsIdentityStoreConfig `json:"awsIdentityStore,omitempty" tfsdk:"aws_identity_store"`
EnrollmentConfiguration *AwsEnrollmentConfiguration `json:"enrollmentConfiguration,omitempty" tfsdk:"enrollment_configuration"`
SelfDowngradeAccessRole bool `json:"selfDowngradeAccessRole" tfsdk:"self_downgrade_access_role"`
SkipUserGroupPermissionCleanup bool `json:"skipUserGroupPermissionCleanup" tfsdk:"skip_user_group_permission_cleanup"`
AllowHierarchicalOrganizationalUnitAssignment bool `json:"allowHierarchicalOrganizationalUnitAssignment" tfsdk:"allow_hierarchical_organizational_unit_assignment"`
}
type AwsRoleMapping ¶ added in v0.11.0
type AwsServiceUserCredential ¶ added in v0.16.0
type AwsSsoConfig ¶ added in v0.12.0
type AwsSsoConfig struct {
ScimEndpoint string `json:"scimEndpoint" tfsdk:"scim_endpoint"`
Arn string `json:"arn" tfsdk:"arn"`
GroupNamePattern string `json:"groupNamePattern" tfsdk:"group_name_pattern"`
SsoAccessToken types.Secret `json:"ssoAccessToken" tfsdk:"sso_access_token"`
AwsRoleMappings types.Set[AwsSsoRoleMapping] `json:"awsRoleMappings" tfsdk:"aws_role_mappings"`
SignInUrl string `json:"signInUrl" tfsdk:"sign_in_url"`
}
type AwsSsoRoleMapping ¶ added in v0.12.0
type AwsWorkloadIdentityCredential ¶ added in v0.16.0
type AwsWorkloadIdentityCredential struct {
RoleArn string `json:"roleArn" tfsdk:"role_arn"`
}
type AzureAuthConfig ¶ added in v0.16.0
type AzureCustomerAgreementConfig ¶ added in v0.13.0
type AzureCustomerAgreementConfig struct {
SourceServicePrincipal AzureGraphApiCredentials `json:"sourceServicePrincipal" tfsdk:"source_service_principal"`
DestinationEntraId string `json:"destinationEntraId" tfsdk:"destination_entra_id"`
SourceEntraTenant string `json:"sourceEntraTenant" tfsdk:"source_entra_tenant"`
BillingScope string `json:"billingScope" tfsdk:"billing_scope"`
SubscriptionCreationErrorCooldownSec *int64 `json:"subscriptionCreationErrorCooldownSec,omitempty" tfsdk:"subscription_creation_error_cooldown_sec"`
}
type AzureEnterpriseEnrollmentConfig ¶ added in v0.13.0
type AzureEnterpriseEnrollmentConfig struct {
EnrollmentAccountId string `json:"enrollmentAccountId" tfsdk:"enrollment_account_id"`
SubscriptionOfferType string `json:"subscriptionOfferType" tfsdk:"subscription_offer_type"`
UseLegacySubscriptionEnrollment bool `json:"useLegacySubscriptionEnrollment" tfsdk:"use_legacy_subscription_enrollment"`
SubscriptionCreationErrorCooldownSec *int64 `json:"subscriptionCreationErrorCooldownSec,omitempty" tfsdk:"subscription_creation_error_cooldown_sec"`
}
type AzureFunction ¶ added in v0.11.0
type AzureGraphApiCredentials ¶ added in v0.13.0
type AzureGraphApiCredentials struct {
ClientId string `json:"clientId" tfsdk:"client_id"`
Auth AzureAuthConfig `json:"auth" tfsdk:"auth"`
}
type AzureInviteB2BUserConfig ¶ added in v0.13.0
type AzureMeteringConfig ¶ added in v0.13.0
type AzureMeteringConfig struct {
ServicePrincipal AzureServicePrincipalConfig `json:"servicePrincipal" tfsdk:"service_principal"`
Processing MeshPlatformMeteringProcessingConfig `json:"processing" tfsdk:"processing"`
}
type AzurePlatformConfig ¶ added in v0.12.0
type AzurePlatformConfig struct {
EntraTenant string `json:"entraTenant" tfsdk:"entra_tenant"`
Replication *AzureReplicationConfig `json:"replication,omitempty" tfsdk:"replication"`
Metering *AzureMeteringConfig `json:"metering,omitempty" tfsdk:"metering"`
}
type AzurePlatformProperties ¶ added in v0.11.0
type AzurePlatformProperties struct {
AzureRoleMappings []AzureRoleMappingProperty `json:"azureRoleMappings" tfsdk:"azure_role_mappings"`
AzureManagementGroupId string `json:"azureManagementGroupId" tfsdk:"azure_management_group_id"`
}
type AzurePreProvisionedSubscriptionConfig ¶ added in v0.13.0
type AzurePreProvisionedSubscriptionConfig struct {
UnusedSubscriptionNamePrefix string `json:"unusedSubscriptionNamePrefix" tfsdk:"unused_subscription_name_prefix"`
}
type AzureReplicationConfig ¶ added in v0.12.0
type AzureReplicationConfig struct {
ServicePrincipal AzureServicePrincipalConfig `json:"servicePrincipal" tfsdk:"service_principal"`
UpdateSubscriptionName bool `json:"updateSubscriptionName" tfsdk:"update_subscription_name"`
Provisioning *AzureSubscriptionProvisioningConfig `json:"provisioning,omitempty" tfsdk:"provisioning"`
B2bUserInvitation *AzureInviteB2BUserConfig `json:"b2bUserInvitation,omitempty" tfsdk:"b2b_user_invitation"`
SubscriptionNamePattern string `json:"subscriptionNamePattern" tfsdk:"subscription_name_pattern"`
GroupNamePattern string `json:"groupNamePattern" tfsdk:"group_name_pattern"`
AzureRoleMappings types.Set[AzureRoleMapping] `json:"azureRoleMappings" tfsdk:"azure_role_mappings"`
TenantTags *MeshTenantTags `json:"tenantTags,omitempty" tfsdk:"tenant_tags"`
UserLookUpStrategy string `json:"userLookUpStrategy" tfsdk:"user_lookup_strategy"`
SkipUserGroupPermissionCleanup bool `json:"skipUserGroupPermissionCleanup" tfsdk:"skip_user_group_permission_cleanup"`
AdministrativeUnitId *string `json:"administrativeUnitId,omitempty" tfsdk:"administrative_unit_id"`
AllowHierarchicalManagementGroupAssignment bool `json:"allowHierarchicalManagementGroupAssignment" tfsdk:"allow_hierarchical_management_group_assignment"`
}
type AzureRgPlatformConfig ¶ added in v0.12.0
type AzureRgPlatformConfig struct {
EntraTenant string `json:"entraTenant" tfsdk:"entra_tenant"`
Replication *AzureRgReplicationConfig `json:"replication,omitempty" tfsdk:"replication"`
}
type AzureRgPlatformProperties ¶ added in v0.11.0
type AzureRgPlatformProperties struct {
AzureRgLocation string `json:"azureRgLocation" tfsdk:"azure_rg_location"`
AzureRgRoleMappings []AzureRgRoleMapping `json:"azureRgRoleMappings" tfsdk:"azure_rg_role_mappings"`
AzureFunction *AzureFunction `json:"azureFunction,omitempty" tfsdk:"azure_function"`
}
type AzureRgReplicationConfig ¶ added in v0.12.0
type AzureRgReplicationConfig struct {
ServicePrincipal AzureServicePrincipalConfig `json:"servicePrincipal" tfsdk:"service_principal"`
Subscription string `json:"subscription" tfsdk:"subscription"`
ResourceGroupNamePattern string `json:"resourceGroupNamePattern" tfsdk:"resource_group_name_pattern"`
UserGroupNamePattern string `json:"userGroupNamePattern" tfsdk:"user_group_name_pattern"`
B2bUserInvitation *AzureInviteB2BUserConfig `json:"b2bUserInvitation,omitempty" tfsdk:"b2b_user_invitation"`
UserLookUpStrategy string `json:"userLookUpStrategy" tfsdk:"user_lookup_strategy"`
TenantTags *MeshTenantTags `json:"tenantTags,omitempty" tfsdk:"tenant_tags"`
SkipUserGroupPermissionCleanup bool `json:"skipUserGroupPermissionCleanup" tfsdk:"skip_user_group_permission_cleanup"`
AdministrativeUnitId *string `json:"administrativeUnitId,omitempty" tfsdk:"administrative_unit_id"`
}
type AzureRgRoleMapping ¶ added in v0.11.0
type AzureRoleDefinition ¶ added in v0.11.0
type AzureRoleMapping ¶ added in v0.11.0
type AzureRoleMappingProperty ¶ added in v0.13.0
type AzureRoleMappingProperty struct {
MeshProjectRoleRef NamedRef `json:"projectRoleRef" tfsdk:"project_role_ref"`
AzureGroupSuffix string `json:"azureGroupSuffix" tfsdk:"azure_group_suffix"`
AzureRoleDefinitions []AzureRoleDefinition `json:"azureRoleDefinitions" tfsdk:"azure_role_definitions"`
}
type AzureServicePrincipalConfig ¶ added in v0.12.0
type AzureServicePrincipalConfig struct {
ClientId string `json:"clientId" tfsdk:"client_id"`
ObjectId string `json:"objectId" tfsdk:"object_id"`
Auth AzureAuthConfig `json:"auth" tfsdk:"auth"`
}
type AzureSubscriptionProvisioningConfig ¶ added in v0.13.0
type AzureSubscriptionProvisioningConfig struct {
SubscriptionOwnerObjectIds types.Set[string] `json:"subscriptionOwnerObjectIds" tfsdk:"subscription_owner_object_ids"`
EnterpriseEnrollment *AzureEnterpriseEnrollmentConfig `json:"enterpriseEnrollment,omitempty" tfsdk:"enterprise_enrollment"`
CustomerAgreement *AzureCustomerAgreementConfig `json:"customerAgreement,omitempty" tfsdk:"customer_agreement"`
PreProvisioned *AzurePreProvisionedSubscriptionConfig `json:"preProvisioned,omitempty" tfsdk:"pre_provisioned"`
}
type BuildingBlockDeletionMode ¶ added in v0.18.0
type BuildingBlockDeletionMode string
type BuildingBlockLifecycleState ¶ added in v0.23.0
type BuildingBlockLifecycleState string
type BuildingBlockStatus ¶ added in v0.23.0
type BuildingBlockStatus string
type Client ¶ added in v0.17.0
type Client struct {
ApiKey MeshApiKeyClient
BuildingBlock MeshBuildingBlockClient
BuildingBlockV2 MeshBuildingBlockV2Client
BuildingBlockRun MeshBuildingBlockRunClient
BuildingBlockDefinition MeshBuildingBlockDefinitionClient
BuildingBlockDefinitionVersion MeshBuildingBlockDefinitionVersionClient
BuildingBlockRunner MeshBuildingBlockRunnerClient
Integration MeshIntegrationClient
LandingZone MeshLandingZoneClient
Location MeshLocationClient
PaymentMethod MeshPaymentMethodClient
Platform MeshPlatformClient
PlatformType MeshPlatformTypeClient
Project MeshProjectClient
ProjectGroupBinding MeshProjectGroupBindingClient
ProjectUserBinding MeshProjectUserBindingClient
ServiceInstance MeshServiceInstanceClient
TagDefinition MeshTagDefinitionClient
Tenant MeshTenantClient
TenantV4 MeshTenantV4Client
Workspace MeshWorkspaceClient
WorkspaceGroupBinding MeshWorkspaceGroupBindingClient
WorkspaceUserBinding MeshWorkspaceUserBindingClient
}
type CustomMeteringConfig ¶ added in v0.17.4
type CustomMeteringConfig struct {
Processing *MeshPlatformMeteringProcessingConfig `json:"processing,omitempty" tfsdk:"processing"`
}
type CustomPlatformConfig ¶ added in v0.17.4
type CustomPlatformConfig struct {
PlatformTypeRef NamedRef `json:"platformTypeRef" tfsdk:"platform_type_ref"`
Metering *CustomMeteringConfig `json:"metering,omitempty" tfsdk:"metering"`
}
type CustomPlatformProperties ¶ added in v0.17.5
type CustomPlatformProperties struct {
}
type GcpMeteringConfig ¶ added in v0.13.0
type GcpMeteringConfig struct {
ServiceAccount GcpServiceAccountConfig `json:"serviceAccount" tfsdk:"service_account"`
BigqueryTable string `json:"bigqueryTable" tfsdk:"bigquery_table"`
BigqueryTableForCarbonFootprint *string `json:"bigqueryTableForCarbonFootprint,omitempty" tfsdk:"bigquery_table_for_carbon_footprint"`
CarbonFootprintDataCollectionStartMonth *string `json:"carbonFootprintDataCollectionStartMonth,omitempty" tfsdk:"carbon_footprint_data_collection_start_month"`
PartitionTimeColumn string `json:"partitionTimeColumn" tfsdk:"partition_time_column"`
AdditionalFilter *string `json:"additionalFilter,omitempty" tfsdk:"additional_filter"`
Processing MeshPlatformMeteringProcessingConfig `json:"processing" tfsdk:"processing"`
}
type GcpPlatformConfig ¶ added in v0.12.0
type GcpPlatformConfig struct {
Replication *GcpReplicationConfig `json:"replication,omitempty" tfsdk:"replication"`
Metering *GcpMeteringConfig `json:"metering,omitempty" tfsdk:"metering"`
}
type GcpPlatformProperties ¶ added in v0.11.0
type GcpPlatformProperties struct {
GcpCloudFunctionUrl *string `json:"gcpCloudFunctionUrl,omitempty" tfsdk:"gcp_cloud_function_url"`
GcpFolderId *string `json:"gcpFolderId,omitempty" tfsdk:"gcp_folder_id"`
GcpRoleMappings []GcpRoleMapping `json:"gcpRoleMappings" tfsdk:"gcp_role_mappings"`
}
type GcpPlatformRoleMapping ¶ added in v0.12.0
type GcpReplicationConfig ¶ added in v0.12.0
type GcpReplicationConfig struct {
ServiceAccount GcpServiceAccountConfig `json:"serviceAccount" tfsdk:"service_account"`
Domain string `json:"domain" tfsdk:"domain"`
CustomerId string `json:"customerId" tfsdk:"customer_id"`
GroupNamePattern string `json:"groupNamePattern" tfsdk:"group_name_pattern"`
ProjectNamePattern string `json:"projectNamePattern" tfsdk:"project_name_pattern"`
ProjectIdPattern string `json:"projectIdPattern" tfsdk:"project_id_pattern"`
BillingAccountId string `json:"billingAccountId" tfsdk:"billing_account_id"`
UserLookupStrategy string `json:"userLookupStrategy" tfsdk:"user_lookup_strategy"`
UsedExternalIdType *string `json:"usedExternalIdType,omitempty" tfsdk:"used_external_id_type"`
GcpRoleMappings types.Set[GcpPlatformRoleMapping] `json:"gcpRoleMappings" tfsdk:"gcp_role_mappings"`
AllowHierarchicalFolderAssignment bool `json:"allowHierarchicalFolderAssignment" tfsdk:"allow_hierarchical_folder_assignment"`
TenantTags *MeshTenantTags `json:"tenantTags,omitempty" tfsdk:"tenant_tags"`
SkipUserGroupPermissionCleanup bool `json:"skipUserGroupPermissionCleanup" tfsdk:"skip_user_group_permission_cleanup"`
}
type GcpRoleMapping ¶ added in v0.11.0
type GcpServiceAccountConfig ¶ added in v0.12.0
type GcpServiceAccountConfig struct {
Type string `json:"type" tfsdk:"type"`
Credential *types.Secret `json:"credential,omitempty" tfsdk:"credential"`
WorkloadIdentity *GcpServiceAccountWorkloadIdentityConfig `json:"workloadIdentity,omitempty" tfsdk:"workload_identity"`
}
type GcpServiceAccountWorkloadIdentityConfig ¶ added in v0.12.0
type HttpError ¶ added in v0.20.6
HttpError represents an HTTP error response with status code. This error is returned when an HTTP request fails with a non-2XX status code.
type KubernetesClientConfig ¶ added in v0.12.0
type KubernetesMeteringConfig ¶ added in v0.13.0
type KubernetesMeteringConfig struct {
ClientConfig KubernetesClientConfig `json:"clientConfig" tfsdk:"client_config"`
Processing MeshPlatformMeteringProcessingConfig `json:"processing" tfsdk:"processing"`
}
type KubernetesPlatformConfig ¶ added in v0.12.0
type KubernetesPlatformConfig struct {
BaseUrl string `json:"baseUrl" tfsdk:"base_url"`
DisableSslValidation bool `json:"disableSslValidation" tfsdk:"disable_ssl_validation"`
Replication *KubernetesReplicationConfig `json:"replication" tfsdk:"replication"`
Metering *KubernetesMeteringConfig `json:"metering,omitempty" tfsdk:"metering"`
}
type KubernetesPlatformProperties ¶ added in v0.11.0
type KubernetesPlatformProperties struct {
KubernetesRoleMappings []KubernetesRoleMapping `json:"kubernetesRoleMappings" tfsdk:"kubernetes_role_mappings"`
}
type KubernetesReplicationConfig ¶ added in v0.12.0
type KubernetesReplicationConfig struct {
ClientConfig KubernetesClientConfig `json:"clientConfig" tfsdk:"client_config"`
NamespaceNamePattern string `json:"namespaceNamePattern" tfsdk:"namespace_name_pattern"`
}
type KubernetesRoleMapping ¶ added in v0.11.0
type Logger ¶ added in v0.17.0
Logger exposes logging for client operations within this package (including internal).
type MeshApiKey ¶ added in v0.20.6
type MeshApiKey struct {
Metadata MeshApiKeyMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshApiKeySpec `json:"spec" tfsdk:"spec"`
Status *MeshApiKeyStatus `json:"status,omitempty" tfsdk:"status"`
}
type MeshApiKeyClient ¶ added in v0.20.6
type MeshApiKeyClient interface {
Create(ctx context.Context, apiKey *MeshApiKey) (*MeshApiKey, error)
Read(ctx context.Context, uuid string) (*MeshApiKey, error)
Update(ctx context.Context, uuid string, apiKey *MeshApiKey) (*MeshApiKey, error)
Delete(ctx context.Context, uuid string) error
}
type MeshApiKeyMetadata ¶ added in v0.20.6
type MeshApiKeySpec ¶ added in v0.20.6
type MeshApiKeySpec struct {
DisplayName string `json:"displayName" tfsdk:"display_name"`
Permissions types.Set[ApiPermission] `json:"permissions" tfsdk:"permissions"`
ExpiresAt *string `json:"expiresAt,omitempty" tfsdk:"expires_at"`
}
type MeshApiKeyStatus ¶ added in v0.20.6
type MeshAwsWifProvider ¶ added in v0.16.0
type MeshBuildingBlock ¶
type MeshBuildingBlock struct {
Metadata MeshBuildingBlockMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshBuildingBlockSpec `json:"spec" tfsdk:"spec"`
Status MeshBuildingBlockStatus `json:"status" tfsdk:"status"`
}
type MeshBuildingBlockClient ¶ added in v0.17.0
type MeshBuildingBlockClient interface {
Read(ctx context.Context, uuid string) (*MeshBuildingBlock, error)
Create(ctx context.Context, bb *MeshBuildingBlockCreate) (*MeshBuildingBlock, error)
Delete(ctx context.Context, uuid string) error
}
type MeshBuildingBlockCreate ¶ added in v0.5.0
type MeshBuildingBlockCreate struct {
Metadata MeshBuildingBlockCreateMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshBuildingBlockSpec `json:"spec" tfsdk:"spec"`
}
type MeshBuildingBlockCreateMetadata ¶ added in v0.5.0
type MeshBuildingBlockDefinition ¶ added in v0.18.0
type MeshBuildingBlockDefinition struct {
Metadata MeshBuildingBlockDefinitionMetadata `json:"metadata"`
Spec MeshBuildingBlockDefinitionSpec `json:"spec"`
Status *MeshBuildingBlockDefinitionStatus `json:"status,omitempty"`
}
type MeshBuildingBlockDefinitionAzureDevOpsPipelineImplementation ¶ added in v0.18.0
type MeshBuildingBlockDefinitionAzureDevOpsPipelineImplementation struct {
Project string `json:"project" tfsdk:"project"`
PipelineID string `json:"pipelineId" tfsdk:"pipeline_id"`
RefName *string `json:"refName,omitempty" tfsdk:"ref_name"`
Async bool `json:"async" tfsdk:"async"`
IntegrationRef UuidRef `json:"integrationRef" tfsdk:"integration_ref"`
}
type MeshBuildingBlockDefinitionClient ¶ added in v0.18.0
type MeshBuildingBlockDefinitionClient interface {
List(ctx context.Context, workspaceIdentifier *string) ([]MeshBuildingBlockDefinition, error)
Read(ctx context.Context, uuid string) (*MeshBuildingBlockDefinition, error)
Create(ctx context.Context, definition MeshBuildingBlockDefinition) (*MeshBuildingBlockDefinition, error)
Update(ctx context.Context, uuid string, definition MeshBuildingBlockDefinition) (*MeshBuildingBlockDefinition, error)
Delete(ctx context.Context, uuid string) error
}
type MeshBuildingBlockDefinitionGitHubWorkflowsImplementation ¶ added in v0.18.0
type MeshBuildingBlockDefinitionGitHubWorkflowsImplementation struct {
Repository string `json:"repository" tfsdk:"repository"`
Branch string `json:"branch" tfsdk:"branch"`
ApplyWorkflow string `json:"applyWorkflow" tfsdk:"apply_workflow"`
DestroyWorkflow *string `json:"destroyWorkflow" tfsdk:"destroy_workflow"`
Async bool `json:"async" tfsdk:"async"`
OmitRunObjectInput bool `json:"omitRunObjectInput" tfsdk:"omit_run_object_input"`
IntegrationRef UuidRef `json:"integrationRef" tfsdk:"integration_ref"`
}
type MeshBuildingBlockDefinitionGitLabPipelineImplementation ¶ added in v0.18.0
type MeshBuildingBlockDefinitionGitLabPipelineImplementation struct {
ProjectID string `json:"projectId" tfsdk:"project_id"`
RefName string `json:"refName" tfsdk:"ref_name"`
IntegrationRef UuidRef `json:"integrationRef" tfsdk:"integration_ref"`
PipelineTriggerToken types.Secret `json:"pipelineTriggerToken" tfsdk:"pipeline_trigger_token"`
}
type MeshBuildingBlockDefinitionImplementation ¶ added in v0.18.0
type MeshBuildingBlockDefinitionImplementation struct {
Type enum.Entry[MeshBuildingBlockImplementationType] `json:"type" tfsdk:"-"`
Manual *MeshBuildingBlockDefinitionManualImplementation `json:"manual,omitempty" tfsdk:"manual"`
GithubWorkflows *MeshBuildingBlockDefinitionGitHubWorkflowsImplementation `json:"githubWorkflows,omitempty" tfsdk:"github_workflows"`
AzureDevOpsPipeline *MeshBuildingBlockDefinitionAzureDevOpsPipelineImplementation `json:"azureDevOpsPipeline,omitempty" tfsdk:"azure_devops_pipeline"`
GitlabPipeline *MeshBuildingBlockDefinitionGitLabPipelineImplementation `json:"gitlabPipeline,omitempty" tfsdk:"gitlab_pipeline"`
Terraform *MeshBuildingBlockDefinitionTerraformImplementation `json:"terraform,omitempty" tfsdk:"terraform"`
}
func (MeshBuildingBlockDefinitionImplementation) InferTypeFromNonNilField ¶ added in v0.18.0
func (m MeshBuildingBlockDefinitionImplementation) InferTypeFromNonNilField() (result enum.Entry[MeshBuildingBlockImplementationType])
func (MeshBuildingBlockDefinitionImplementation) MarshalJSON ¶ added in v0.18.0
func (m MeshBuildingBlockDefinitionImplementation) MarshalJSON() ([]byte, error)
func (*MeshBuildingBlockDefinitionImplementation) UnmarshalJSON ¶ added in v0.18.0
func (m *MeshBuildingBlockDefinitionImplementation) UnmarshalJSON(bytes []byte) error
type MeshBuildingBlockDefinitionInput ¶ added in v0.18.0
type MeshBuildingBlockDefinitionInput struct {
DisplayName string `json:"displayName" tfsdk:"display_name"`
Type MeshBuildingBlockIOType `json:"type" tfsdk:"type"`
AssignmentType MeshBuildingBlockInputAssignmentType `json:"assignmentType" tfsdk:"assignment_type"`
IsEnvironment bool `json:"isEnvironment" tfsdk:"is_environment"`
IsSensitive bool `json:"isSensitive" tfsdk:"-"`
// If IsSensitive is true, the [types.Variant] (typedef [types.SecretOrAny]) for fields
// MeshBuildingBlockDefinitionInputAdapter.Argument and
// MeshBuildingBlockDefinitionInputAdapter.DefaultValue
// is of [types.Secret] (case [types.Variant.X]).
// Otherwise, the [types.Variant] is of [types.Any] (case [types.Variant.Y]).
// As this is a fallback detection when JSON (un)marshaling,
// types.Any must go second as [types.Variant] intentionally prefers X over Y.
Argument types.SecretOrAny `json:"argument" tfsdk:"argument"`
DefaultValue types.SecretOrAny `json:"defaultValue" tfsdk:"default_value"`
UpdateableByConsumer bool `json:"updateableByConsumer" tfsdk:"updateable_by_consumer"`
SelectableValues types.Set[string] `json:"selectableValues,omitempty" tfsdk:"selectable_values"`
Description *string `json:"description,omitempty" tfsdk:"description"`
ValueValidationRegex *string `json:"valueValidationRegex,omitempty" tfsdk:"value_validation_regex"`
ValidationRegexErrorMessage *string `json:"validationRegexErrorMessage,omitempty" tfsdk:"validation_regex_error_message"`
// No omitempty: a 0 (the schema default, and what an unknown plan value collapses to) must be sent so
// the backend stores it verbatim. With omitempty the 0 would be dropped and the backend would assign
// a position itself, making the applied value differ from the plan.
DisplayOrder int64 `json:"displayOrder" tfsdk:"display_order"`
}
func (*MeshBuildingBlockDefinitionInput) UnmarshalJSON ¶ added in v0.18.0
func (m *MeshBuildingBlockDefinitionInput) UnmarshalJSON(bytes []byte) error
type MeshBuildingBlockDefinitionManualImplementation ¶ added in v0.18.0
type MeshBuildingBlockDefinitionManualImplementation struct {
}
type MeshBuildingBlockDefinitionMetadata ¶ added in v0.18.0
type MeshBuildingBlockDefinitionOutput ¶ added in v0.18.0
type MeshBuildingBlockDefinitionOutput struct {
DisplayName string `json:"displayName" tfsdk:"display_name"`
Type MeshBuildingBlockIOType `json:"type" tfsdk:"type"`
AssignmentType MeshBuildingBlockDefinitionOutputAssignmentType `json:"assignmentType" tfsdk:"assignment_type"`
// No omitempty so a 0 is sent, not dropped (see MeshBuildingBlockDefinitionInput.DisplayOrder).
DisplayOrder int64 `json:"displayOrder" tfsdk:"display_order"`
}
type MeshBuildingBlockDefinitionOutputAssignmentType ¶ added in v0.18.0
type MeshBuildingBlockDefinitionOutputAssignmentType string
type MeshBuildingBlockDefinitionSpec ¶ added in v0.18.0
type MeshBuildingBlockDefinitionSpec struct {
DisplayName string `json:"displayName" tfsdk:"display_name"`
TargetType MeshBuildingBlockType `json:"targetType" tfsdk:"target_type"`
Description string `json:"description" tfsdk:"description"`
Readme *string `json:"readme,omitempty" tfsdk:"readme"`
RunTransparency bool `json:"runTransparency" tfsdk:"run_transparency"`
UseInLandingZonesOnly bool `json:"useInLandingZonesOnly" tfsdk:"use_in_landing_zones_only"`
SupportURL *string `json:"supportUrl,omitempty" tfsdk:"support_url"`
DocumentationURL *string `json:"documentationUrl,omitempty" tfsdk:"documentation_url"`
// NotificationSubscribers can also specify emails with prefix 'email:', so it's not only usernames (as the JSON field name suggests)!
NotificationSubscribers types.Set[string] `json:"notificationSubscriberUsernames,omitempty" tfsdk:"notification_subscribers"`
Symbol *string `json:"symbol,omitempty" tfsdk:"symbol"`
SupportedPlatforms types.Set[NamedRef] `json:"supportedPlatforms" tfsdk:"supported_platforms"`
}
type MeshBuildingBlockDefinitionSshKnownHost ¶ added in v0.18.0
type MeshBuildingBlockDefinitionStatus ¶ added in v0.18.0
type MeshBuildingBlockDefinitionStatus struct {
UsageCount *int64 `json:"usageCount"`
Versions []MeshBuildingBlockDefinitionStatusVersion `json:"versions"`
LatestVersion int64 `json:"latestVersion"`
LatestVersionUuid string `json:"latestVersionUuid"`
LatestReleasedVersion *int64 `json:"latestReleasedVersion"`
LatestReleasedVersionUuid *string `json:"latestReleasedVersionUuid"`
}
type MeshBuildingBlockDefinitionStatusVersion ¶ added in v0.18.0
type MeshBuildingBlockDefinitionStatusVersion struct {
VersionUuid string `json:"versionUuid"`
VersionNumber int64 `json:"versionNumber"`
State MeshBuildingBlockDefinitionVersionState `json:"state"`
}
type MeshBuildingBlockDefinitionTerraformImplementation ¶ added in v0.18.0
type MeshBuildingBlockDefinitionTerraformImplementation struct {
TerraformVersion string `json:"terraformVersion" tfsdk:"terraform_version"`
RepositoryURL string `json:"repositoryUrl" tfsdk:"repository_url"`
Async bool `json:"async" tfsdk:"async"`
RepositoryPath *string `json:"repositoryPath,omitempty" tfsdk:"repository_path"`
RefName *string `json:"refName,omitempty" tfsdk:"ref_name"`
SSHKnownHost *MeshBuildingBlockDefinitionSshKnownHost `json:"sshKnownHost,omitempty" tfsdk:"ssh_known_host"`
UseMeshHTTPBackendFallback bool `json:"useMeshHttpBackendFallback" tfsdk:"use_mesh_http_backend_fallback"`
SSHPrivateKey *types.Secret `json:"sshPrivateKey,omitempty" tfsdk:"ssh_private_key"`
PreRunScript *string `json:"preRunScript,omitempty" tfsdk:"pre_run_script"`
}
type MeshBuildingBlockDefinitionVersion ¶ added in v0.18.0
type MeshBuildingBlockDefinitionVersion struct {
Metadata MeshBuildingBlockDefinitionVersionMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshBuildingBlockDefinitionVersionSpec `json:"spec" tfsdk:"spec"`
Status *MeshBuildingBlockDefinitionVersionStatus `json:"status,omitempty" tfsdk:"status"`
}
type MeshBuildingBlockDefinitionVersionClient ¶ added in v0.18.0
type MeshBuildingBlockDefinitionVersionClient interface {
List(ctx context.Context, buildingBlockDefinitionUuid string) ([]MeshBuildingBlockDefinitionVersion, error)
Create(ctx context.Context, ownedByWorkspace string, versionSpec MeshBuildingBlockDefinitionVersionSpec) (*MeshBuildingBlockDefinitionVersion, error)
Update(ctx context.Context, uuid, ownedByWorkspace string, versionSpec MeshBuildingBlockDefinitionVersionSpec) (*MeshBuildingBlockDefinitionVersion, error)
}
MeshBuildingBlockDefinitionVersionClient manages a version of a building block definition. As such a version is tightly coupled to the definition, there's no single Get or Delete implemented. A Get is not required as we always expose all versions of a definition anyway, and a Delete happens together when the definition is deleted.
type MeshBuildingBlockDefinitionVersionMetadata ¶ added in v0.18.0
type MeshBuildingBlockDefinitionVersionSpec ¶ added in v0.18.0
type MeshBuildingBlockDefinitionVersionSpec struct {
BuildingBlockDefinitionRef *UuidRef `json:"buildingBlockDefinitionRef" tfsdk:"-"`
OnlyApplyOncePerTenant bool `json:"onlyApplyOncePerTenant" tfsdk:"only_apply_once_per_tenant"`
DeletionMode BuildingBlockDeletionMode `json:"deletionMode" tfsdk:"deletion_mode"`
Permissions types.Set[ApiPermission] `json:"permissions,omitempty" tfsdk:"permissions"`
Outputs map[string]MeshBuildingBlockDefinitionOutput `json:"outputs" tfsdk:"outputs"`
VersionNumber *int64 `json:"versionNumber,omitempty" tfsdk:"version_number"`
State *MeshBuildingBlockDefinitionVersionState `json:"state,omitempty" tfsdk:"state"`
RunnerRef *UuidRef `json:"runnerRef" tfsdk:"runner_ref"`
// Replaces the deprecated bare-UUID dependencyDefinitionUuids; requires a backend serving it.
DependencyDefinitionRefs types.Set[UuidRef] `json:"dependencyDefinitionRefs,omitempty" tfsdk:"dependency_refs"`
Implementation MeshBuildingBlockDefinitionImplementation `json:"implementation" tfsdk:"implementation"`
Inputs map[string]*MeshBuildingBlockDefinitionInput `json:"inputs" tfsdk:"inputs"`
}
type MeshBuildingBlockDefinitionVersionState ¶ added in v0.18.0
type MeshBuildingBlockDefinitionVersionState string
type MeshBuildingBlockDefinitionVersionStatus ¶ added in v0.18.0
type MeshBuildingBlockDefinitionVersionStatus struct {
State MeshBuildingBlockDefinitionVersionState `json:"state" tfsdk:"state"`
UsageCount int64 `json:"usageCount" tfsdk:"usage_count"`
}
type MeshBuildingBlockIO ¶
type MeshBuildingBlockIOType ¶ added in v0.18.0
type MeshBuildingBlockIOType string
type MeshBuildingBlockImplementationType ¶ added in v0.18.0
type MeshBuildingBlockImplementationType string
type MeshBuildingBlockInput ¶ added in v0.23.0
type MeshBuildingBlockInput struct {
Value types.SecretOrAny `json:"value" tfsdk:"value"`
ValueType *enum.Entry[MeshBuildingBlockIOType] `json:"valueType,omitempty" tfsdk:"-"`
AssignmentType enum.Entry[MeshBuildingBlockInputAssignmentType] `json:"assignmentType,omitempty" tfsdk:"-"`
// If IsSensitive is true, the [types.Variant] (typedef [types.SecretOrAny]) for Value field
// is of [types.Secret] (case [types.Variant.X]).
// Otherwise, the [types.Variant] is of [types.Any] (case [types.Variant.Y]).
// As this is a fallback detection when JSON (un)marshaling,
// types.Any must go second as [types.Variant] intentionally prefers X over Y.
IsSensitive bool `json:"isSensitive" tfsdk:"-"`
}
func (*MeshBuildingBlockInput) UnmarshalJSON ¶ added in v0.23.0
func (m *MeshBuildingBlockInput) UnmarshalJSON(bytes []byte) error
type MeshBuildingBlockInputAssignmentType ¶ added in v0.18.0
type MeshBuildingBlockInputAssignmentType string
type MeshBuildingBlockMetadata ¶
type MeshBuildingBlockMetadata struct {
Uuid string `json:"uuid" tfsdk:"uuid"`
DefinitionUuid string `json:"definitionUuid" tfsdk:"definition_uuid"`
DefinitionVersion int64 `json:"definitionVersion" tfsdk:"definition_version"`
TenantIdentifier string `json:"tenantIdentifier" tfsdk:"tenant_identifier"`
ForcePurge bool `json:"forcePurge" tfsdk:"force_purge"`
CreatedOn string `json:"createdOn" tfsdk:"created_on"`
MarkedForDeletionOn *string `json:"markedForDeletionOn" tfsdk:"marked_for_deletion_on"`
MarkedForDeletionBy *string `json:"markedForDeletionBy" tfsdk:"marked_for_deletion_by"`
}
type MeshBuildingBlockOutput ¶ added in v0.23.0
type MeshBuildingBlockOutput struct {
Value types.Any `json:"value" tfsdk:"value"`
ValueType enum.Entry[MeshBuildingBlockIOType] `json:"valueType" tfsdk:"value_type"`
AssignmentType enum.Entry[MeshBuildingBlockDefinitionOutputAssignmentType] `json:"assignmentType" tfsdk:"assignment_type"`
}
type MeshBuildingBlockParent ¶
type MeshBuildingBlockRun ¶ added in v0.23.0
type MeshBuildingBlockRun struct {
Metadata MeshBuildingBlockRunMetadata `json:"metadata"`
Spec MeshBuildingBlockRunSpec `json:"spec"`
Status string `json:"status"`
}
type MeshBuildingBlockRunClient ¶ added in v0.23.0
type MeshBuildingBlockRunClient interface {
GetLogs(ctx context.Context, runUuid string) (MeshBuildingBlockRunLogs, error)
}
type MeshBuildingBlockRunLogs ¶ added in v0.23.0
type MeshBuildingBlockRunLogs struct {
Steps []MeshBuildingBlockRunStepLog `json:"steps"`
}
MeshBuildingBlockRunLogs is the response from the download-logs actions endpoint.
type MeshBuildingBlockRunMetadata ¶ added in v0.23.0
type MeshBuildingBlockRunSpec ¶ added in v0.23.0
type MeshBuildingBlockRunStepLog ¶ added in v0.23.0
type MeshBuildingBlockRunStepLog struct {
DisplayName string `json:"displayName"`
Status string `json:"status"`
UserMessage *string `json:"userMessage"`
SystemMessage *string `json:"systemMessage"`
}
MeshBuildingBlockRunStepLog represents a single step's log data.
type MeshBuildingBlockRunner ¶ added in v0.20.12
type MeshBuildingBlockRunner struct {
Metadata MeshBuildingBlockRunnerMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshBuildingBlockRunnerSpec `json:"spec" tfsdk:"spec"`
}
type MeshBuildingBlockRunnerClient ¶ added in v0.20.12
type MeshBuildingBlockRunnerClient interface {
Create(ctx context.Context, runner MeshBuildingBlockRunner) (*MeshBuildingBlockRunner, error)
Read(ctx context.Context, uuid string) (*MeshBuildingBlockRunner, error)
Update(ctx context.Context, runner MeshBuildingBlockRunner) (*MeshBuildingBlockRunner, error)
Delete(ctx context.Context, uuid string) error
}
type MeshBuildingBlockRunnerImplementationType ¶ added in v0.20.12
type MeshBuildingBlockRunnerImplementationType string
const ( MeshBuildingBlockRunnerImplementationTypeTerraform MeshBuildingBlockRunnerImplementationType = "TERRAFORM" MeshBuildingBlockRunnerImplementationTypeGithubWorkflow MeshBuildingBlockRunnerImplementationType = "GITHUB_WORKFLOW" MeshBuildingBlockRunnerImplementationTypeGitlabPipeline MeshBuildingBlockRunnerImplementationType = "GITLAB_PIPELINE" MeshBuildingBlockRunnerImplementationTypeAzureDevopsPipeline MeshBuildingBlockRunnerImplementationType = "AZURE_DEVOPS_PIPELINE" MeshBuildingBlockRunnerImplementationTypeManual MeshBuildingBlockRunnerImplementationType = "MANUAL" MeshBuildingBlockRunnerImplementationTypeAll MeshBuildingBlockRunnerImplementationType = "ALL" )
type MeshBuildingBlockRunnerMetadata ¶ added in v0.20.12
type MeshBuildingBlockRunnerMetadata struct {
Uuid *string `json:"uuid,omitempty" tfsdk:"uuid"`
OwnedByWorkspace string `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
CreatedOn *string `json:"createdOn,omitempty" tfsdk:"created_on"`
LastSeen *string `json:"lastSeen,omitempty" tfsdk:"last_seen"`
}
type MeshBuildingBlockRunnerSpec ¶ added in v0.20.12
type MeshBuildingBlockRunnerSpec struct {
DisplayName string `json:"displayName" tfsdk:"display_name"`
PublicKey string `json:"publicKey" tfsdk:"public_key"`
ImplementationType string `json:"implementationType" tfsdk:"implementation_type"`
Restriction *string `json:"restriction,omitempty" tfsdk:"restriction"`
IsSelfHosted *bool `json:"isSelfHosted,omitempty" tfsdk:"is_self_hosted"`
WorkloadIdentityFederation *MeshRunnerWorkloadIdentityFed `json:"workloadIdentityFederation,omitempty" tfsdk:"workload_identity_federation"`
}
type MeshBuildingBlockSpec ¶
type MeshBuildingBlockSpec struct {
DisplayName string `json:"displayName" tfsdk:"display_name"`
Inputs []MeshBuildingBlockIO `json:"inputs" tfsdk:"inputs"`
ParentBuildingBlocks []MeshBuildingBlockParent `json:"parentBuildingBlocks" tfsdk:"parent_building_blocks"`
}
type MeshBuildingBlockStatus ¶
type MeshBuildingBlockStatus struct {
Status string `json:"status" tfsdk:"status"`
Outputs []MeshBuildingBlockIO `json:"outputs" tfsdk:"outputs"`
}
type MeshBuildingBlockType ¶ added in v0.18.0
type MeshBuildingBlockType string
type MeshBuildingBlockV2 ¶ added in v0.7.0
type MeshBuildingBlockV2 struct {
Metadata MeshBuildingBlockV2Metadata `json:"metadata" tfsdk:"metadata"`
Spec MeshBuildingBlockV2Spec `json:"spec" tfsdk:"spec"`
Status *MeshBuildingBlockV2Status `json:"status" tfsdk:"status"`
}
func (*MeshBuildingBlockV2) CreateSuccessful ¶ added in v0.17.0
func (bb *MeshBuildingBlockV2) CreateSuccessful() (done bool, err error)
func (*MeshBuildingBlockV2) DeletionSuccessful ¶ added in v0.17.0
func (bb *MeshBuildingBlockV2) DeletionSuccessful() (done bool, err error)
func (*MeshBuildingBlockV2) IsWaitingForInput ¶ added in v0.23.0
func (bb *MeshBuildingBlockV2) IsWaitingForInput() bool
IsWaitingForInput reports whether the building block run is paused awaiting human input, a dependency, or an approval. Such a run will not progress on its own, so polling callers treat it as a terminal (but non-fatal) state and surface a warning.
type MeshBuildingBlockV2Client ¶ added in v0.17.0
type MeshBuildingBlockV2Client interface {
Read(ctx context.Context, uuid string) (*MeshBuildingBlockV2, error)
ReadFunc(uuid string) func(ctx context.Context) (*MeshBuildingBlockV2, error)
List(ctx context.Context, filter MeshBuildingBlockV2ListFilter) ([]MeshBuildingBlockV2, error)
Create(ctx context.Context, bb *MeshBuildingBlockV2) (*MeshBuildingBlockV2, error)
Update(ctx context.Context, bb *MeshBuildingBlockV2) (*MeshBuildingBlockV2, error)
Delete(ctx context.Context, uuid string, purge bool) error
TriggerRun(ctx context.Context, uuid string) error
}
type MeshBuildingBlockV2DefinitionVersionRef ¶ added in v0.7.0
type MeshBuildingBlockV2DefinitionVersionRef struct {
UuidRef
// ContentHash is a Terraform-only field (json:"-", never sent to or returned by the backend).
// It lets a config signal that the referenced version's content changed so a rerun is triggered
// even though the version uuid is unchanged. The building_block (v3) resource honors it via the
// shared rerunNeeded predicate used by both ModifyPlan and Update.
ContentHash *string `json:"-" tfsdk:"content_hash"`
}
type MeshBuildingBlockV2Lifecycle ¶ added in v0.20.9
type MeshBuildingBlockV2Lifecycle struct {
State enum.Entry[BuildingBlockLifecycleState] `json:"state" tfsdk:"state"`
}
type MeshBuildingBlockV2ListFilter ¶ added in v0.23.0
type MeshBuildingBlockV2ListFilter struct {
WorkspaceIdentifier *string `json:"workspaceIdentifier"`
ProjectIdentifier *string `json:"projectIdentifier"`
PlatformIdentifier *string `json:"platformIdentifier"`
Name *string `json:"name"`
// DefinitionUuid filters by the owning building block definition's UUID (not a version).
DefinitionUuid *string `json:"definitionUuid"`
// VersionUuid filters by a specific building block definition version UUID.
VersionUuid *string `json:"versionUuid"`
// VersionNumber filters by the literal definition version number. The backend parses it
// leniently, so both "v1" and "1" match version 1.
VersionNumber *string `json:"versionNumber"`
TenantUuid *string `json:"tenantUuid"`
// TargetKind filters by target ref kind, one of meshTenant or meshWorkspace.
TargetKind *string `json:"targetRefKind"`
Status *string `json:"status"`
// ManagedByWorkspaceIdentifier and ManagedByDefinitionUuid select the platform-operator
// (managed) permission scope: building blocks created from definitions owned by the given
// workspace / definition. Requires the MANAGED_BUILDINGBLOCK_LIST authority.
ManagedByWorkspaceIdentifier *string `json:"managedByWorkspaceIdentifier"`
ManagedByDefinitionUuid *string `json:"managedByDefinitionUuid"`
}
MeshBuildingBlockV2ListFilter holds the optional query filters for listing building blocks via the v2-preview list endpoint. All scalar fields are nil when unset (omitted from the query). The backend returns only active building blocks; soft-deleted ones are not listed. MeshBuildingBlockV2ListFilter holds the optional filters for the V2 building block list endpoint. The json tags are the query param names and must match the backend fetchBuildingBlocksV2 @RequestParam names exactly; a typo silently disables the filter.
type MeshBuildingBlockV2Metadata ¶ added in v0.7.0
type MeshBuildingBlockV2Spec ¶ added in v0.7.0
type MeshBuildingBlockV2Spec struct {
BuildingBlockDefinitionVersionRef MeshBuildingBlockV2DefinitionVersionRef `json:"buildingBlockDefinitionVersionRef" tfsdk:"building_block_definition_version_ref"`
TargetRef MeshBuildingBlockV2TargetRef `json:"targetRef" tfsdk:"target_ref"`
DisplayName string `json:"displayName" tfsdk:"display_name"`
// Inputs as pointer MeshBuildingBlockInput to support mocking secret responses.
Inputs map[string]*MeshBuildingBlockInput `json:"inputs" tfsdk:"inputs"`
ParentBuildingBlocks types.Set[MeshBuildingBlockParent] `json:"parentBuildingBlocks" tfsdk:"parent_building_blocks"`
}
type MeshBuildingBlockV2Status ¶ added in v0.7.0
type MeshBuildingBlockV2Status struct {
Status enum.Entry[BuildingBlockStatus] `json:"status" tfsdk:"status"`
Outputs map[string]MeshBuildingBlockOutput `json:"outputs" tfsdk:"outputs"`
ForcePurge bool `json:"forcePurge" tfsdk:"force_purge"`
Lifecycle MeshBuildingBlockV2Lifecycle `json:"lifecycle" tfsdk:"-"`
// LatestRunUuid is nil if permissions don't allow reading the run (e.g. because run_transparency is false).
// It tracks the latest *modifying* (apply/destroy) run and excludes dry runs.
LatestRunUuid *string `json:"latestRunUuid" tfsdk:"latest_run_uuid"`
// LatestDryRunUuid is the latest dry (DETECT) run, but only when it is the newest run; nil otherwise.
// Same permission gating and nullability caveat as LatestRunUuid.
LatestDryRunUuid *string `json:"latestDryRunUuid" tfsdk:"latest_dry_run_uuid"`
}
type MeshBuildingBlockV2TargetRef ¶ added in v0.7.0
type MeshIntegration ¶ added in v0.16.0
type MeshIntegration struct {
Metadata MeshIntegrationMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshIntegrationSpec `json:"spec" tfsdk:"spec"`
Status *MeshIntegrationStatus `json:"status" tfsdk:"status"`
}
type MeshIntegrationAzureDevopsConfig ¶ added in v0.16.0
type MeshIntegrationAzureDevopsConfig struct {
BaseUrl string `json:"baseUrl" tfsdk:"base_url"`
Organization string `json:"organization" tfsdk:"organization"`
PersonalAccessToken types.Secret `json:"personalAccessToken" tfsdk:"personal_access_token"`
RunnerRef *UuidRef `json:"runnerRef" tfsdk:"runner_ref"`
}
type MeshIntegrationClient ¶ added in v0.17.0
type MeshIntegrationClient interface {
Create(ctx context.Context, integration MeshIntegration) (*MeshIntegration, error)
Read(ctx context.Context, uuid string) (*MeshIntegration, error)
Update(ctx context.Context, integration MeshIntegration) (*MeshIntegration, error)
Delete(ctx context.Context, uuid string) error
List(ctx context.Context) ([]MeshIntegration, error)
}
type MeshIntegrationConfig ¶ added in v0.16.0
type MeshIntegrationConfig struct {
Type enum.Entry[MeshIntegrationConfigType] `json:"type" tfsdk:"-"`
Github *MeshIntegrationGithubConfig `json:"github,omitempty" tfsdk:"github"`
Gitlab *MeshIntegrationGitlabConfig `json:"gitlab,omitempty" tfsdk:"gitlab"`
AzureDevops *MeshIntegrationAzureDevopsConfig `json:"azuredevops,omitempty" tfsdk:"azuredevops"`
EntraId *MeshIntegrationEntraIdConfig `json:"entraid,omitempty" tfsdk:"entraid"`
}
func (MeshIntegrationConfig) InferTypeFromNonNilField ¶ added in v0.18.0
func (m MeshIntegrationConfig) InferTypeFromNonNilField() (result enum.Entry[MeshIntegrationConfigType])
func (MeshIntegrationConfig) MarshalJSON ¶ added in v0.18.0
func (m MeshIntegrationConfig) MarshalJSON() ([]byte, error)
func (*MeshIntegrationConfig) UnmarshalJSON ¶ added in v0.18.0
func (m *MeshIntegrationConfig) UnmarshalJSON(bytes []byte) error
type MeshIntegrationConfigType ¶ added in v0.18.0
type MeshIntegrationConfigType string
type MeshIntegrationEntraIdConfig ¶ added in v0.22.1
type MeshIntegrationGithubConfig ¶ added in v0.16.0
type MeshIntegrationGithubConfig struct {
Owner string `json:"owner" tfsdk:"owner"`
BaseUrl string `json:"baseUrl" tfsdk:"base_url"`
AppId string `json:"appId" tfsdk:"app_id"`
AppPrivateKey types.Secret `json:"appPrivateKey" tfsdk:"app_private_key"`
RunnerRef *UuidRef `json:"runnerRef" tfsdk:"runner_ref"`
}
type MeshIntegrationGitlabConfig ¶ added in v0.16.0
type MeshIntegrationMetadata ¶ added in v0.16.0
type MeshIntegrationSpec ¶ added in v0.16.0
type MeshIntegrationSpec struct {
DisplayName string `json:"displayName" tfsdk:"display_name"`
Config MeshIntegrationConfig `json:"config" tfsdk:"config"`
}
type MeshIntegrationStatus ¶ added in v0.16.0
type MeshIntegrationStatus struct {
IsBuiltIn bool `json:"isBuiltIn" tfsdk:"is_built_in"`
WorkloadIdentityFederation *MeshWorkloadIdentityFederation `json:"workloadIdentityFederation" tfsdk:"workload_identity_federation"`
}
type MeshLandingZone ¶ added in v0.11.0
type MeshLandingZone struct {
Metadata MeshLandingZoneMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshLandingZoneSpec `json:"spec" tfsdk:"spec"`
Status MeshLandingZoneStatus `json:"status" tfsdk:"status"`
}
type MeshLandingZoneClient ¶ added in v0.17.0
type MeshLandingZoneClient interface {
Read(ctx context.Context, name string) (*MeshLandingZone, error)
List(ctx context.Context, query MeshLandingZoneListQuery) ([]MeshLandingZone, error)
Create(ctx context.Context, landingZone *MeshLandingZoneCreate) (*MeshLandingZone, error)
Update(ctx context.Context, name string, landingZone *MeshLandingZoneCreate) (*MeshLandingZone, error)
Delete(ctx context.Context, name string) error
}
type MeshLandingZoneCreate ¶ added in v0.11.0
type MeshLandingZoneCreate struct {
Metadata MeshLandingZoneMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshLandingZoneSpec `json:"spec" tfsdk:"spec"`
}
type MeshLandingZoneListQuery ¶ added in v0.24.3
type MeshLandingZoneListQuery struct {
PlatformUuid *string `json:"platformUuid"`
Identifier *string `json:"identifier"`
DisplayName *string `json:"displayName"`
Restricted *bool `json:"restricted"`
OwnedByWorkspace *string `json:"ownedByWorkspace"`
}
MeshLandingZoneListQuery holds the optional filters for the V1 landing zone list endpoint. The json tags name the query params; unset (nil/zero) fields are dropped by WithUrlQuery.
type MeshLandingZoneMetadata ¶ added in v0.11.0
type MeshLandingZonePlatformProperties ¶ added in v0.13.0
type MeshLandingZonePlatformProperties struct {
Type string `json:"type" tfsdk:"type"`
Aws *AwsPlatformProperties `json:"aws" tfsdk:"aws"`
Aks *AksPlatformProperties `json:"aks" tfsdk:"aks"`
Azure *AzurePlatformProperties `json:"azure" tfsdk:"azure"`
AzureRg *AzureRgPlatformProperties `json:"azurerg" tfsdk:"azurerg"`
Custom *CustomPlatformProperties `json:"custom" tfsdk:"custom"`
Gcp *GcpPlatformProperties `json:"gcp" tfsdk:"gcp"`
Kubernetes *KubernetesPlatformProperties `json:"kubernetes" tfsdk:"kubernetes"`
OpenShift *OpenShiftPlatformProperties `json:"openshift" tfsdk:"openshift"`
}
type MeshLandingZoneQuota ¶ added in v0.13.0
type MeshLandingZoneSpec ¶ added in v0.11.0
type MeshLandingZoneSpec struct {
DisplayName string `json:"displayName" tfsdk:"display_name"`
Description string `json:"description" tfsdk:"description"`
AutomateDeletionApproval bool `json:"automateDeletionApproval" tfsdk:"automate_deletion_approval"`
AutomateDeletionReplication bool `json:"automateDeletionReplication" tfsdk:"automate_deletion_replication"`
InfoLink *string `json:"infoLink,omitempty" tfsdk:"info_link"`
PlatformRef UuidRef `json:"platformRef" tfsdk:"platform_ref"`
PlatformProperties *MeshLandingZonePlatformProperties `json:"platformProperties,omitempty" tfsdk:"platform_properties"`
Quotas []MeshLandingZoneQuota `json:"quotas" tfsdk:"quotas"`
MandatoryBuildingBlockRefs []UuidRef `json:"mandatoryBuildingBlockRefs" tfsdk:"mandatory_building_block_refs"`
RecommendedBuildingBlockRefs []UuidRef `json:"recommendedBuildingBlockRefs" tfsdk:"recommended_building_block_refs"`
}
type MeshLandingZoneStatus ¶ added in v0.11.0
type MeshLocation ¶ added in v0.16.4
type MeshLocation struct {
Metadata MeshLocationMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshLocationSpec `json:"spec" tfsdk:"spec"`
Status MeshLocationStatus `json:"status" tfsdk:"status"`
}
type MeshLocationClient ¶ added in v0.17.0
type MeshLocationClient interface {
Read(ctx context.Context, name string) (*MeshLocation, error)
Create(ctx context.Context, location *MeshLocationCreate) (*MeshLocation, error)
Update(ctx context.Context, name string, location *MeshLocationCreate) (*MeshLocation, error)
Delete(ctx context.Context, name string) error
}
type MeshLocationCreate ¶ added in v0.16.4
type MeshLocationCreate struct {
Metadata MeshLocationCreateMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshLocationSpec `json:"spec" tfsdk:"spec"`
}
type MeshLocationCreateMetadata ¶ added in v0.16.4
type MeshLocationMetadata ¶ added in v0.16.4
type MeshLocationSpec ¶ added in v0.16.4
type MeshLocationStatus ¶ added in v0.16.4
type MeshLocationStatus struct {
IsPublic bool `json:"isPublic" tfsdk:"is_public"`
}
type MeshPaymentMethod ¶ added in v0.14.0
type MeshPaymentMethod struct {
Metadata MeshPaymentMethodMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshPaymentMethodSpec `json:"spec" tfsdk:"spec"`
}
type MeshPaymentMethodClient ¶ added in v0.17.0
type MeshPaymentMethodClient interface {
Read(ctx context.Context, workspace string, identifier string) (*MeshPaymentMethod, error)
Create(ctx context.Context, paymentMethod *MeshPaymentMethodCreate) (*MeshPaymentMethod, error)
Update(ctx context.Context, identifier string, paymentMethod *MeshPaymentMethodCreate) (*MeshPaymentMethod, error)
Delete(ctx context.Context, identifier string) error
}
type MeshPaymentMethodCreate ¶ added in v0.14.0
type MeshPaymentMethodCreate struct {
Metadata MeshPaymentMethodCreateMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshPaymentMethodSpec `json:"spec" tfsdk:"spec"`
}
type MeshPaymentMethodCreateMetadata ¶ added in v0.14.0
type MeshPaymentMethodMetadata ¶ added in v0.14.0
type MeshPaymentMethodSpec ¶ added in v0.14.0
type MeshPlatform ¶ added in v0.12.0
type MeshPlatform struct {
Metadata MeshPlatformMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshPlatformSpec `json:"spec" tfsdk:"spec"`
}
type MeshPlatformClient ¶ added in v0.17.0
type MeshPlatformClient interface {
Read(ctx context.Context, uuid string) (*MeshPlatform, error)
List(ctx context.Context, query MeshPlatformListQuery) ([]MeshPlatform, error)
Create(ctx context.Context, platform MeshPlatform) (*MeshPlatform, error)
Update(ctx context.Context, uuid string, platform MeshPlatform) (*MeshPlatform, error)
Delete(ctx context.Context, uuid string) error
}
type MeshPlatformListQuery ¶ added in v0.24.3
type MeshPlatformListQuery struct {
OwnedByWorkspace *string `json:"ownedByWorkspace"`
Identifier *string `json:"identifier"`
LocationIdentifier *string `json:"locationIdentifier"`
DisplayName *string `json:"displayName"`
Restriction *string `json:"restriction"`
PublicationState *string `json:"publicationState"`
ContributingWorkspace *string `json:"contributingWorkspace"`
// PlatformTypeIdentifier filters by the platform type's identifier (matched backend-side); the type
// is not carried in the response, and spec.config is redacted for marketplace consumers anyway.
PlatformTypeIdentifier *string `json:"platformTypeIdentifier"`
}
MeshPlatformListQuery holds the optional filters for the V2 platform list endpoint. The json tags name the query params; unset (nil/zero) fields are dropped by WithUrlQuery.
type MeshPlatformMetadata ¶ added in v0.12.0
type MeshPlatformMeteringProcessingConfig ¶ added in v0.13.0
type MeshPlatformSpec ¶ added in v0.12.0
type MeshPlatformSpec struct {
DisplayName string `json:"displayName" tfsdk:"display_name"`
Description string `json:"description" tfsdk:"description"`
Endpoint string `json:"endpoint" tfsdk:"endpoint"`
SupportUrl *string `json:"supportUrl,omitempty" tfsdk:"support_url"`
DocumentationUrl *string `json:"documentationUrl,omitempty" tfsdk:"documentation_url"`
AccessInformation *string `json:"accessInformation,omitempty" tfsdk:"access_information"`
LocationRef NamedRef `json:"locationRef" tfsdk:"location_ref"`
ContributingWorkspaces types.Set[string] `json:"contributingWorkspaces" tfsdk:"contributing_workspaces"`
Availability PlatformAvailability `json:"availability" tfsdk:"availability"`
// Config is nullable in responses: redacted (omitted) for marketplace-consumer callers. Required on write.
Config *PlatformConfig `json:"config,omitempty" tfsdk:"config"`
QuotaDefinitions types.Set[QuotaDefinition] `json:"quotaDefinitions" tfsdk:"quota_definitions"`
}
type MeshPlatformType ¶ added in v0.17.0
type MeshPlatformType struct {
Metadata MeshPlatformTypeMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshPlatformTypeSpec `json:"spec" tfsdk:"spec"`
Status MeshPlatformTypeStatus `json:"status" tfsdk:"status"`
}
type MeshPlatformTypeClient ¶ added in v0.17.0
type MeshPlatformTypeClient interface {
Create(ctx context.Context, platformType *MeshPlatformTypeCreate) (*MeshPlatformType, error)
Read(ctx context.Context, identifier string) (*MeshPlatformType, error)
Update(ctx context.Context, name string, platformType *MeshPlatformTypeCreate) (*MeshPlatformType, error)
Delete(ctx context.Context, name string) error
List(ctx context.Context, category *string, lifecycleStatus *string) ([]MeshPlatformType, error)
}
type MeshPlatformTypeCreate ¶ added in v0.17.0
type MeshPlatformTypeCreate struct {
Metadata MeshPlatformTypeCreateMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshPlatformTypeSpec `json:"spec" tfsdk:"spec"`
}
type MeshPlatformTypeCreateMetadata ¶ added in v0.17.0
type MeshPlatformTypeLifecycle ¶ added in v0.17.0
type MeshPlatformTypeLifecycle struct {
State string `json:"state" tfsdk:"state"`
}
type MeshPlatformTypeMetadata ¶ added in v0.17.0
type MeshPlatformTypeSpec ¶ added in v0.17.0
type MeshPlatformTypeStatus ¶ added in v0.17.0
type MeshPlatformTypeStatus struct {
Lifecycle MeshPlatformTypeLifecycle `json:"lifecycle" tfsdk:"lifecycle"`
}
type MeshProject ¶
type MeshProject struct {
Metadata MeshProjectMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshProjectSpec `json:"spec" tfsdk:"spec"`
}
type MeshProjectBinding ¶ added in v0.4.0
type MeshProjectBinding struct {
Metadata MeshProjectBindingMetadata `json:"metadata" tfsdk:"metadata"`
RoleRef MeshProjectRoleRef `json:"roleRef" tfsdk:"role_ref"`
TargetRef MeshProjectTargetRef `json:"targetRef" tfsdk:"target_ref"`
Subject MeshSubject `json:"subject" tfsdk:"subject"`
}
type MeshProjectBindingMetadata ¶ added in v0.4.0
type MeshProjectBindingMetadata struct {
Name string `json:"name" tfsdk:"name"`
}
type MeshProjectClient ¶ added in v0.17.0
type MeshProjectClient interface {
Read(ctx context.Context, workspace string, name string) (*MeshProject, error)
List(ctx context.Context, workspaceIdentifier string, paymentMethodIdentifier *string) ([]MeshProject, error)
Create(ctx context.Context, project *MeshProjectCreate) (*MeshProject, error)
Update(ctx context.Context, project *MeshProjectCreate) (*MeshProject, error)
Delete(ctx context.Context, workspace string, name string) error
}
type MeshProjectCreate ¶
type MeshProjectCreate struct {
Metadata MeshProjectCreateMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshProjectSpec `json:"spec" tfsdk:"spec"`
}
type MeshProjectGroupBinding ¶ added in v0.4.0
type MeshProjectGroupBinding struct {
MeshProjectBinding
}
type MeshProjectGroupBindingClient ¶ added in v0.17.0
type MeshProjectGroupBindingClient interface {
Read(ctx context.Context, name string) (*MeshProjectGroupBinding, error)
Create(ctx context.Context, binding *MeshProjectGroupBinding) (*MeshProjectGroupBinding, error)
Delete(ctx context.Context, name string) error
}
type MeshProjectMetadata ¶
type MeshProjectRoleRef
deprecated
type MeshProjectRoleRef struct {
Name string `json:"name" tfsdk:"name"`
}
Deprecated: Use NamedRef if possible. The convention is to also provide the `kind`, so this struct should only be used for meshobjects that violate our API conventions.
type MeshProjectSpec ¶
type MeshProjectSpec struct {
DisplayName string `json:"displayName" tfsdk:"display_name"`
Tags map[string][]string `json:"tags" tfsdk:"tags"`
PaymentMethodIdentifier *string `json:"paymentMethodIdentifier" tfsdk:"payment_method_identifier"`
SubstitutePaymentMethodIdentifier *string `json:"substitutePaymentMethodIdentifier" tfsdk:"substitute_payment_method_identifier"`
}
type MeshProjectTargetRef ¶
type MeshProjectUserBinding ¶
type MeshProjectUserBinding struct {
MeshProjectBinding
}
type MeshProjectUserBindingClient ¶ added in v0.17.0
type MeshProjectUserBindingClient interface {
Read(ctx context.Context, name string) (*MeshProjectUserBinding, error)
Create(ctx context.Context, binding *MeshProjectUserBinding) (*MeshProjectUserBinding, error)
Delete(ctx context.Context, name string) error
}
type MeshRunnerWifProviderConfig ¶ added in v0.20.12
type MeshRunnerWorkloadIdentityFed ¶ added in v0.20.12
type MeshRunnerWorkloadIdentityFed struct {
Subject *string `json:"subject,omitempty" tfsdk:"subject"`
Issuer *string `json:"issuer,omitempty" tfsdk:"issuer"`
Gcp *MeshRunnerWifProviderConfig `json:"gcp,omitempty" tfsdk:"gcp"`
Aws *MeshRunnerWifProviderConfig `json:"aws,omitempty" tfsdk:"aws"`
Azure *MeshRunnerWifProviderConfig `json:"azure,omitempty" tfsdk:"azure"`
}
type MeshServiceInstance ¶ added in v0.17.4
type MeshServiceInstance struct {
Metadata MeshServiceInstanceMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshServiceInstanceSpec `json:"spec" tfsdk:"spec"`
}
type MeshServiceInstanceClient ¶ added in v0.17.4
type MeshServiceInstanceClient interface {
Read(ctx context.Context, instanceId string) (*MeshServiceInstance, error)
List(ctx context.Context, filter MeshServiceInstanceFilter) ([]MeshServiceInstance, error)
}
type MeshServiceInstanceFilter ¶ added in v0.17.4
type MeshServiceInstanceFilter struct {
WorkspaceIdentifier *string `json:"workspaceIdentifier"`
ProjectIdentifier *string `json:"projectIdentifier"`
MarketplaceIdentifier *string `json:"marketplaceIdentifier"`
ServiceIdentifier *string `json:"serviceIdentifier"`
PlanIdentifier *string `json:"planIdentifier"`
}
type MeshServiceInstanceMetadata ¶ added in v0.17.4
type MeshServiceInstanceMetadata struct {
OwnedByProject string `json:"ownedByProject" tfsdk:"owned_by_project"`
OwnedByWorkspace string `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
MarketplaceIdentifier string `json:"marketplaceIdentifier" tfsdk:"marketplace_identifier"`
InstanceId string `json:"instanceId" tfsdk:"instance_id"`
}
type MeshServiceInstanceSpec ¶ added in v0.17.4
type MeshServiceInstanceSpec struct {
Creator string `json:"creator" tfsdk:"creator"`
DisplayName string `json:"displayName" tfsdk:"display_name"`
PlanId string `json:"planId" tfsdk:"plan_id"`
ServiceId string `json:"serviceId" tfsdk:"service_id"`
Parameters map[string]types.Any `json:"parameters" tfsdk:"parameters"`
}
type MeshSubject ¶
type MeshSubject struct {
Name string `json:"name" tfsdk:"name"`
}
type MeshTagDefinition ¶ added in v0.6.0
type MeshTagDefinition struct {
Metadata MeshTagDefinitionMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshTagDefinitionSpec `json:"spec" tfsdk:"spec"`
}
type MeshTagDefinitionClient ¶ added in v0.17.0
type MeshTagDefinitionClient interface {
List(ctx context.Context) ([]MeshTagDefinition, error)
Read(ctx context.Context, name string) (*MeshTagDefinition, error)
Create(ctx context.Context, tagDefinition *MeshTagDefinition) (*MeshTagDefinition, error)
Update(ctx context.Context, tagDefinition *MeshTagDefinition) (*MeshTagDefinition, error)
Delete(ctx context.Context, name string) error
}
type MeshTagDefinitionMetadata ¶ added in v0.6.0
type MeshTagDefinitionMetadata struct {
Name string `json:"name" tfsdk:"name"`
}
type MeshTagDefinitionSpec ¶ added in v0.6.0
type MeshTagDefinitionSpec struct {
TargetKind string `json:"targetKind" tfsdk:"target_kind"`
Key string `json:"key" tfsdk:"key"`
ValueType MeshTagDefinitionValueType `json:"valueType" tfsdk:"value_type"`
Description string `json:"description" tfsdk:"description"`
DisplayName string `json:"displayName" tfsdk:"display_name"`
SortOrder int64 `json:"sortOrder" tfsdk:"sort_order"`
Mandatory bool `json:"mandatory" tfsdk:"mandatory"`
Immutable bool `json:"immutable" tfsdk:"immutable"`
Restricted bool `json:"restricted" tfsdk:"restricted"`
ReplicationKey *string `json:"replicationKey,omitempty" tfsdk:"replication_key"`
}
type MeshTagDefinitionValueType ¶ added in v0.6.0
type MeshTagDefinitionValueType struct {
String *TagValueString `json:"string,omitempty" tfsdk:"string"`
Email *TagValueEmail `json:"email,omitempty" tfsdk:"email"`
Integer *TagValueInteger `json:"integer,omitempty" tfsdk:"integer"`
Number *TagValueNumber `json:"number,omitempty" tfsdk:"number"`
SingleSelect *TagValueSingleSelect `json:"singleSelect,omitempty" tfsdk:"single_select"`
MultiSelect *TagValueMultiSelect `json:"multiSelect,omitempty" tfsdk:"multi_select"`
}
type MeshTenant ¶
type MeshTenant struct {
Metadata MeshTenantMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshTenantSpec `json:"spec" tfsdk:"spec"`
Status MeshTenantStatus `json:"status" tfsdk:"status"`
}
func (*MeshTenant) CreationSuccessful ¶ added in v0.24.0
func (tenant *MeshTenant) CreationSuccessful() (done bool, err error)
func (*MeshTenant) DeletionState ¶ added in v0.24.3
func (tenant *MeshTenant) DeletionState() string
func (*MeshTenant) DeletionSuccessful ¶ added in v0.24.0
func (tenant *MeshTenant) DeletionSuccessful() (done bool, err error)
type MeshTenantClient ¶ added in v0.17.0
type MeshTenantClient interface {
Read(ctx context.Context, uuid string) (*MeshTenant, error)
ReadFunc(uuid string) func(ctx context.Context) (*MeshTenant, error)
List(ctx context.Context, query MeshTenantQuery) ([]MeshTenant, error)
Create(ctx context.Context, tenant *MeshTenantCreate) (*MeshTenant, error)
Delete(ctx context.Context, uuid string) error
}
type MeshTenantCreate ¶
type MeshTenantCreate struct {
Metadata MeshTenantCreateMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshTenantCreateSpec `json:"spec" tfsdk:"spec"`
}
type MeshTenantCreateSpec ¶
type MeshTenantCreateSpec struct {
PlatformRef UuidRef `json:"platformRef" tfsdk:"platform_ref"`
LandingZoneRef *NamedRef `json:"landingZoneRef" tfsdk:"landing_zone_ref"`
PlatformTenantId *string `json:"platformTenantId" tfsdk:"platform_tenant_id"`
// RequestedQuotas is the preferred key->value form. Only one of the two quota fields should be
// set — the backend rejects a create that carries both with conflicting values.
RequestedQuotas map[string]RequestQuotaValue `json:"requestedQuotas,omitempty" tfsdk:"requested_quotas"`
// Deprecated: superseded by RequestedQuotas; retained so existing configurations keep working.
Quotas types.Set[MeshTenantQuota] `json:"quotas,omitempty" tfsdk:"quotas"`
}
type MeshTenantLifecycle ¶ added in v0.24.3
type MeshTenantLifecycle struct {
State enum.Entry[TenantLifecycleState] `json:"state" tfsdk:"-"`
MarkedForDeletion *MeshTenantLifecycleAction `json:"markedForDeletion" tfsdk:"-"`
}
type MeshTenantLifecycleAction ¶ added in v0.24.3
type MeshTenantLifecycleAction struct {
Timestamp string `json:"timestamp" tfsdk:"-"`
}
type MeshTenantMetadata ¶
type MeshTenantQuery ¶ added in v0.24.0
type MeshTenantQuery struct {
Workspace string `json:"workspaceIdentifier"`
Project *string `json:"projectIdentifier"`
Platform *string `json:"platformIdentifier"`
PlatformType *string `json:"platformTypeIdentifier"`
LandingZone *string `json:"landingZoneIdentifier"`
PlatformTenant *string `json:"platformTenantId"`
}
type MeshTenantQuota ¶
type MeshTenantQuota struct {
Key string `json:"key" tfsdk:"key"`
Value int64 `json:"value" tfsdk:"value"`
}
MeshTenantQuota is the {key, value} element of the deprecated list-form spec.quotas, superseded by the requested_quotas / applied_quotas maps. It is still the quota shape of the deprecated meshstack_tenant_v4 resource, so it carries no godoc deprecation marker.
type MeshTenantSpec ¶
type MeshTenantSpec struct {
PlatformRef UuidRef `json:"platformRef" tfsdk:"platform_ref"`
PlatformTenantId *string `json:"platformTenantId" tfsdk:"platform_tenant_id"`
LandingZoneRef *NamedRef `json:"landingZoneRef" tfsdk:"landing_zone_ref"`
// RequestedQuotas is the preferred key->value form for requesting quotas at creation, e.g.
// {"limits.cpu": {"value": 4}}. The backend does not return it on read (it is a create-time input),
// so the resource echoes the configured value from state.
RequestedQuotas map[string]RequestQuotaValue `json:"requestedQuotas" tfsdk:"requested_quotas"`
// Deprecated: superseded by RequestedQuotas; retained so existing configurations keep working.
Quotas types.Set[MeshTenantQuota] `json:"quotas" tfsdk:"quotas"`
}
type MeshTenantStatus ¶ added in v0.24.0
type MeshTenantStatus struct {
TenantName string `json:"tenantName" tfsdk:"tenant_name"`
PlatformTypeIdentifier string `json:"platformTypeIdentifier" tfsdk:"platform_type_identifier"`
PlatformWorkspaceId *string `json:"platformWorkspaceId" tfsdk:"platform_workspace_id"`
Tags map[string][]string `json:"tags" tfsdk:"tags"`
// AppliedQuotas are the effective quotas meshStack applied to the tenant as a key->value map, each
// value a structured object (e.g. `{"limits.cpu": {"value": 4}}`). spec.requested_quotas carries
// only the values requested at create (create-only); the effective quotas here can differ once
// landing-zone defaults are merged in or an operator adjusts them, so drift is tracked against these.
AppliedQuotas map[string]AppliedQuotaValue `json:"appliedQuotas" tfsdk:"applied_quotas"`
Lifecycle MeshTenantLifecycle `json:"lifecycle" tfsdk:"-"`
}
type MeshTenantTags ¶ added in v0.13.0
type MeshTenantV4 ¶ added in v0.8.0
type MeshTenantV4 struct {
Metadata MeshTenantV4Metadata `json:"metadata" tfsdk:"metadata"`
Spec MeshTenantV4Spec `json:"spec" tfsdk:"spec"`
Status MeshTenantV4Status `json:"status" tfsdk:"status"`
}
func (*MeshTenantV4) CreationSuccessful ¶ added in v0.17.0
func (tenant *MeshTenantV4) CreationSuccessful() (done bool, err error)
func (*MeshTenantV4) DeletionState ¶ added in v0.24.3
func (tenant *MeshTenantV4) DeletionState() string
func (*MeshTenantV4) DeletionSuccessful ¶ added in v0.17.0
func (tenant *MeshTenantV4) DeletionSuccessful() (done bool, err error)
type MeshTenantV4Client ¶ added in v0.17.0
type MeshTenantV4Client interface {
Read(ctx context.Context, uuid string) (*MeshTenantV4, error)
ReadFunc(uuid string) func(ctx context.Context) (*MeshTenantV4, error)
List(ctx context.Context, query MeshTenantV4Query) ([]MeshTenantV4, error)
Create(ctx context.Context, tenant *MeshTenantV4Create) (*MeshTenantV4, error)
Delete(ctx context.Context, uuid string) error
}
type MeshTenantV4Create ¶ added in v0.8.0
type MeshTenantV4Create struct {
Metadata MeshTenantV4CreateMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshTenantV4CreateSpec `json:"spec" tfsdk:"spec"`
}
type MeshTenantV4CreateMetadata ¶ added in v0.8.0
type MeshTenantV4CreateSpec ¶ added in v0.8.0
type MeshTenantV4CreateSpec struct {
PlatformIdentifier string `json:"platformIdentifier" tfsdk:"platform_identifier"`
LandingZoneIdentifier *string `json:"landingZoneIdentifier" tfsdk:"landing_zone_identifier"`
PlatformTenantId *string `json:"platformTenantId" tfsdk:"platform_tenant_id"`
Quotas *[]MeshTenantQuota `json:"quotas" tfsdk:"quotas"`
}
type MeshTenantV4Metadata ¶ added in v0.8.0
type MeshTenantV4Metadata struct {
Uuid string `json:"uuid" tfsdk:"uuid"`
OwnedByProject string `json:"ownedByProject" tfsdk:"owned_by_project"`
OwnedByWorkspace string `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
CreatedOn string `json:"createdOn" tfsdk:"created_on"`
MarkedForDeletionOn *string `json:"markedForDeletionOn" tfsdk:"marked_for_deletion_on"`
DeletedOn *string `json:"deletedOn" tfsdk:"deleted_on"`
}
type MeshTenantV4Query ¶ added in v0.20.4
type MeshTenantV4Query struct {
Workspace string `json:"workspaceIdentifier"`
Project *string `json:"projectIdentifier"`
Platform *string `json:"platformIdentifier"`
PlatformType *string `json:"platformTypeIdentifier"`
LandingZone *string `json:"landingZoneIdentifier"`
PlatformTenant *string `json:"platformTenantId"`
}
type MeshTenantV4Spec ¶ added in v0.8.0
type MeshTenantV4Spec struct {
PlatformIdentifier string `json:"platformIdentifier" tfsdk:"platform_identifier"`
PlatformTenantId *string `json:"platformTenantId" tfsdk:"platform_tenant_id"`
LandingZoneIdentifier *string `json:"landingZoneIdentifier" tfsdk:"landing_zone_identifier"`
Quotas *[]MeshTenantQuota `json:"quotas" tfsdk:"quotas"`
}
type MeshTenantV4Status ¶ added in v0.8.0
type MeshTenantV4Status struct {
TenantName string `json:"tenantName" tfsdk:"tenant_name"`
PlatformTypeIdentifier string `json:"platformTypeIdentifier" tfsdk:"platform_type_identifier"`
PlatformWorkspaceIdentifier *string `json:"platformWorkspaceIdentifier" tfsdk:"platform_workspace_identifier"`
Tags map[string][]string `json:"tags" tfsdk:"tags"`
// AppliedQuotas are the effective quotas meshStack applied to the tenant as a key->value map,
// distinct from the create-only spec.quotas which carries only the requested values. Each value is a
// structured object (e.g. `{"limits.cpu": {"value": 4}}`) so the preview API can grow per-quota
// fields without a breaking change to the map shape.
AppliedQuotas map[string]AppliedQuotaValue `json:"appliedQuotas" tfsdk:"applied_quotas"`
Lifecycle MeshTenantLifecycle `json:"lifecycle" tfsdk:"-"`
}
type MeshWifProvider ¶ added in v0.16.0
type MeshWifProvider struct {
Audience string `json:"audience" tfsdk:"audience"`
}
type MeshWorkloadIdentityFederation ¶ added in v0.16.0
type MeshWorkloadIdentityFederation struct {
Issuer string `json:"issuer" tfsdk:"issuer"`
Subject string `json:"subject" tfsdk:"subject"`
Gcp *MeshWifProvider `json:"gcp" tfsdk:"gcp"`
Aws *MeshAwsWifProvider `json:"aws" tfsdk:"aws"`
Azure *MeshWifProvider `json:"azure" tfsdk:"azure"`
}
type MeshWorkspace ¶ added in v0.8.0
type MeshWorkspace struct {
Metadata MeshWorkspaceMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshWorkspaceSpec `json:"spec" tfsdk:"spec"`
}
type MeshWorkspaceBinding ¶ added in v0.10.0
type MeshWorkspaceBinding struct {
Metadata MeshWorkspaceBindingMetadata `json:"metadata" tfsdk:"metadata"`
RoleRef MeshWorkspaceRoleRef `json:"roleRef" tfsdk:"role_ref"`
TargetRef MeshWorkspaceTargetRef `json:"targetRef" tfsdk:"target_ref"`
Subject MeshWorkspaceSubject `json:"subject" tfsdk:"subject"`
ExpiryDate *string `json:"expiryDate,omitempty" tfsdk:"expiry_date"`
}
type MeshWorkspaceBindingMetadata ¶ added in v0.10.0
type MeshWorkspaceBindingMetadata struct {
Name string `json:"name" tfsdk:"name"`
}
type MeshWorkspaceClient ¶ added in v0.17.0
type MeshWorkspaceClient interface {
Read(ctx context.Context, name string) (*MeshWorkspace, error)
Create(ctx context.Context, workspace *MeshWorkspaceCreate) (*MeshWorkspace, error)
Update(ctx context.Context, name string, workspace *MeshWorkspaceCreate) (*MeshWorkspace, error)
Delete(ctx context.Context, name string) error
}
type MeshWorkspaceCreate ¶ added in v0.8.0
type MeshWorkspaceCreate struct {
Metadata MeshWorkspaceCreateMetadata `json:"metadata" tfsdk:"metadata"`
Spec MeshWorkspaceSpec `json:"spec" tfsdk:"spec"`
}
type MeshWorkspaceCreateMetadata ¶ added in v0.8.0
type MeshWorkspaceGroupBinding ¶ added in v0.10.0
type MeshWorkspaceGroupBinding struct {
MeshWorkspaceBinding
}
type MeshWorkspaceGroupBindingClient ¶ added in v0.17.0
type MeshWorkspaceGroupBindingClient interface {
Read(ctx context.Context, name string) (*MeshWorkspaceGroupBinding, error)
Create(ctx context.Context, binding *MeshWorkspaceGroupBinding) (*MeshWorkspaceGroupBinding, error)
Delete(ctx context.Context, name string) error
}
type MeshWorkspaceMetadata ¶ added in v0.8.0
type MeshWorkspaceRoleRef ¶ added in v0.10.0
type MeshWorkspaceRoleRef struct {
Name string `json:"name" tfsdk:"name"`
}
type MeshWorkspaceSpec ¶ added in v0.8.0
type MeshWorkspaceSubject ¶ added in v0.10.0
type MeshWorkspaceSubject struct {
Name string `json:"name" tfsdk:"name"`
}
type MeshWorkspaceTargetRef ¶ added in v0.10.0
type MeshWorkspaceTargetRef struct {
Name string `json:"name" tfsdk:"name"`
}
type MeshWorkspaceUserBinding ¶ added in v0.10.0
type MeshWorkspaceUserBinding struct {
MeshWorkspaceBinding
}
type MeshWorkspaceUserBindingClient ¶ added in v0.17.0
type MeshWorkspaceUserBindingClient interface {
Read(ctx context.Context, name string) (*MeshWorkspaceUserBinding, error)
Create(ctx context.Context, binding *MeshWorkspaceUserBinding) (*MeshWorkspaceUserBinding, error)
Delete(ctx context.Context, name string) error
}
type NamedRef ¶ added in v0.24.0
type NamedRef struct {
Name string `json:"name" tfsdk:"name"`
Kind string `json:"kind" tfsdk:"kind"`
}
NamedRef is the client-side DTO for a meshObject reference that identifies its target by name. It is the counterpart to the meshRefByName schema builder in internal/provider (schema_utils.go): every {name, kind} reference block on the wire deserializes into this struct. Refs that carry extra fields embed it.
type OpenShiftMeteringConfig ¶ added in v0.13.0
type OpenShiftMeteringConfig struct {
ClientConfig KubernetesClientConfig `json:"clientConfig" tfsdk:"client_config"`
Processing MeshPlatformMeteringProcessingConfig `json:"processing" tfsdk:"processing"`
}
type OpenShiftPlatformConfig ¶ added in v0.12.0
type OpenShiftPlatformConfig struct {
BaseUrl string `json:"baseUrl" tfsdk:"base_url"`
DisableSslValidation bool `json:"disableSslValidation" tfsdk:"disable_ssl_validation"`
Replication *OpenShiftReplicationConfig `json:"replication" tfsdk:"replication"`
Metering *OpenShiftMeteringConfig `json:"metering,omitempty" tfsdk:"metering"`
}
type OpenShiftPlatformProperties ¶ added in v0.11.0
type OpenShiftPlatformProperties struct {
}
type OpenShiftPlatformRoleMapping ¶ added in v0.12.0
type OpenShiftReplicationConfig ¶ added in v0.12.0
type OpenShiftReplicationConfig struct {
ClientConfig KubernetesClientConfig `json:"clientConfig" tfsdk:"client_config"`
WebConsoleUrl *string `json:"webConsoleUrl,omitempty" tfsdk:"web_console_url"`
ProjectNamePattern string `json:"projectNamePattern" tfsdk:"project_name_pattern"`
OpenshiftRoleMappings types.Set[OpenShiftPlatformRoleMapping] `json:"openshiftRoleMappings" tfsdk:"openshift_role_mappings"`
IdentityProviderName string `json:"identityProviderName" tfsdk:"identity_provider_name"`
TenantTags *MeshTenantTags `json:"tenantTags,omitempty" tfsdk:"tenant_tags"`
}
type PlatformAvailability ¶ added in v0.12.0
type PlatformConfig ¶ added in v0.12.0
type PlatformConfig struct {
Type string `json:"type" tfsdk:"type"`
Custom *CustomPlatformConfig `json:"custom,omitempty" tfsdk:"custom"`
Aws *AwsPlatformConfig `json:"aws,omitempty" tfsdk:"aws"`
Aks *AksPlatformConfig `json:"aks,omitempty" tfsdk:"aks"`
Azure *AzurePlatformConfig `json:"azure,omitempty" tfsdk:"azure"`
AzureRg *AzureRgPlatformConfig `json:"azurerg,omitempty" tfsdk:"azurerg"`
Gcp *GcpPlatformConfig `json:"gcp,omitempty" tfsdk:"gcp"`
Kubernetes *KubernetesPlatformConfig `json:"kubernetes,omitempty" tfsdk:"kubernetes"`
OpenShift *OpenShiftPlatformConfig `json:"openshift,omitempty" tfsdk:"openshift"`
}
type QuotaDefinition ¶ added in v0.12.4
type QuotaDefinition struct {
QuotaKey string `json:"quotaKey" tfsdk:"quota_key"`
MinValue int64 `json:"minValue" tfsdk:"min_value"`
MaxValue int64 `json:"maxValue" tfsdk:"max_value"`
Unit string `json:"unit" tfsdk:"unit"`
AutoApprovalThreshold int64 `json:"autoApprovalThreshold" tfsdk:"auto_approval_threshold"`
Description string `json:"description" tfsdk:"description"`
Label string `json:"label" tfsdk:"label"`
}
type RequestQuotaValue ¶ added in v0.24.3
type RequestQuotaValue struct {
Value int64 `json:"value" tfsdk:"value"`
}
RequestQuotaValue is a tenant quota value as requested at create time. The scalar is wrapped in an object (rather than a bare number) so the v4 preview API can grow per-quota fields — e.g. a unit — without a breaking change to the requested_quotas map shape.
Its shape is identical to AppliedQuotaValue, deliberately so: the resource must echo the configured request in spec while reading effective values from status, and separate types turn mixing the two into a compile error rather than the requested-vs-applied conflation this map form fixes.
type TagValueEmail ¶ added in v0.6.0
type TagValueInteger ¶ added in v0.6.0
type TagValueInteger struct {
DefaultValue *int64 `json:"defaultValue,omitempty" tfsdk:"default_value"`
}
type TagValueMultiSelect ¶ added in v0.6.0
type TagValueNumber ¶ added in v0.6.0
type TagValueNumber struct {
DefaultValue *float64 `json:"defaultValue,omitempty" tfsdk:"default_value"`
}
type TagValueSingleSelect ¶ added in v0.6.0
type TagValueString ¶ added in v0.6.0
type TenantLifecycleState ¶ added in v0.24.3
type TenantLifecycleState string
type UuidRef ¶ added in v0.24.0
type UuidRef struct {
Uuid string `json:"uuid" tfsdk:"uuid"`
Kind string `json:"kind" tfsdk:"kind"`
}
UuidRef is the client-side DTO for a meshObject reference that identifies its target by uuid. It is the counterpart to the meshRefByUuid schema builder in internal/provider (schema_utils.go): every {uuid, kind} reference block on the wire deserializes into this struct. Refs that carry extra fields embed it.
Source Files
¶
- api_key.go
- api_key_permissions.go
- building_block_definition.go
- building_block_definition_version.go
- building_block_definition_version_implementation.go
- building_block_run.go
- building_block_runner.go
- building_block_v2.go
- buildingblock.go
- client.go
- client_kind.go
- client_logging.go
- integration.go
- integration_config.go
- landingzone.go
- location.go
- payment_method.go
- platform.go
- platform_config_aks.go
- platform_config_aws.go
- platform_config_azure.go
- platform_config_azurerg.go
- platform_config_custom.go
- platform_config_gcp.go
- platform_config_kubernetes.go
- platform_config_openshift.go
- platform_properties_aks.go
- platform_properties_aws.go
- platform_properties_azure.go
- platform_properties_azurerg.go
- platform_properties_custom.go
- platform_properties_gcp.go
- platform_properties_kubernetes.go
- platform_properties_openshift.go
- platform_type.go
- project.go
- project_binding.go
- project_group_binding.go
- project_user_binding.go
- refs.go
- service_instance.go
- tag_definition.go
- tenant_v4.go
- workspace.go
- workspace_binding.go
- workspace_group_binding.go
- workspace_user_binding.go