client

package
v0.19.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 24, 2026 License: MPL-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
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"
)
View Source
const (
	// Building Block Status Constants.
	BUILDING_BLOCK_STATUS_WAITING_FOR_DEPENDENT_INPUT = "WAITING_FOR_DEPENDENT_INPUT"
	BUILDING_BLOCK_STATUS_WAITING_FOR_OPERATOR_INPUT  = "WAITING_FOR_OPERATOR_INPUT"
	BUILDING_BLOCK_STATUS_PENDING                     = "PENDING"
	BUILDING_BLOCK_STATUS_IN_PROGRESS                 = "IN_PROGRESS"
	BUILDING_BLOCK_STATUS_SUCCEEDED                   = "SUCCEEDED"
	BUILDING_BLOCK_STATUS_FAILED                      = "FAILED"
)
View Source
const API_VERSION_TAG_DEFINITION = "v1"

Variables

View Source
var (
	WorkspacePermissions = enum.Enum[ApiPermission]{}

	PermissionBuildingBlockDefinitionDelete = WorkspacePermissions.Entry("BUILDINGBLOCKDEFINITION_DELETE")
	PermissionBuildingBlockDefinitionList   = WorkspacePermissions.Entry("BUILDINGBLOCKDEFINITION_LIST")
	PermissionBuildingBlockDefinitionSave   = WorkspacePermissions.Entry("BUILDINGBLOCKDEFINITION_SAVE")

	PermissionBuildingBlockRunnerDelete = WorkspacePermissions.Entry("BUILDINGBLOCKRUNNER_DELETE")
	PermissionBuildingBlockRunnerList   = WorkspacePermissions.Entry("BUILDINGBLOCKRUNNER_LIST")
	PermissionBuildingBlockRunnerSave   = WorkspacePermissions.Entry("BUILDINGBLOCKRUNNER_SAVE")

	PermissionBuildingBlockDelete = WorkspacePermissions.Entry("BUILDINGBLOCK_DELETE")
	PermissionBuildingBlockList   = WorkspacePermissions.Entry("BUILDINGBLOCK_LIST")
	PermissionBuildingBlockSave   = WorkspacePermissions.Entry("BUILDINGBLOCK_SAVE")

	PermissionCommunicationDefinitionDelete = WorkspacePermissions.Entry("COMMUNICATIONDEFINITION_DELETE")
	PermissionCommunicationDefinitionList   = WorkspacePermissions.Entry("COMMUNICATIONDEFINITION_LIST")
	PermissionCommunicationDefinitionSave   = WorkspacePermissions.Entry("COMMUNICATIONDEFINITION_SAVE")

	PermissionCommunicationDelete = WorkspacePermissions.Entry("COMMUNICATION_DELETE")
	PermissionCommunicationList   = WorkspacePermissions.Entry("COMMUNICATION_LIST")
	PermissionCommunicationSave   = WorkspacePermissions.Entry("COMMUNICATION_SAVE")

	PermissionEventLogList = WorkspacePermissions.Entry("EVENTLOG_LIST")

	PermissionIntegrationDelete = WorkspacePermissions.Entry("INTEGRATION_DELETE")
	PermissionIntegrationList   = WorkspacePermissions.Entry("INTEGRATION_LIST")
	PermissionIntegrationSave   = WorkspacePermissions.Entry("INTEGRATION_SAVE")

	PermissionLandingZoneDelete = WorkspacePermissions.Entry("LANDINGZONE_DELETE")
	PermissionLandingZoneList   = WorkspacePermissions.Entry("LANDINGZONE_LIST")
	PermissionLandingZoneSave   = WorkspacePermissions.Entry("LANDINGZONE_SAVE")

	PermissionManagedBuildingBlockRunSourceSave = WorkspacePermissions.Entry("MANAGED_BUILDINGBLOCKRUNSOURCE_SAVE")
	PermissionManagedBuildingBlockRunList       = WorkspacePermissions.Entry("MANAGED_BUILDINGBLOCKRUN_LIST")
	PermissionManagedBuildingBlockRunSave       = WorkspacePermissions.Entry("MANAGED_BUILDINGBLOCKRUN_SAVE")
	PermissionManagedBuildingBlockList          = WorkspacePermissions.Entry("MANAGED_BUILDINGBLOCK_LIST")
	PermissionManagedTenantImport               = WorkspacePermissions.Entry("MANAGED_TENANT_IMPORT")

	PermissionPaymentMethodList = WorkspacePermissions.Entry("PAYMENTMETHOD_LIST")

	PermissionPlatformInstanceDelete = WorkspacePermissions.Entry("PLATFORMINSTANCE_DELETE")
	PermissionPlatformInstanceList   = WorkspacePermissions.Entry("PLATFORMINSTANCE_LIST")
	PermissionPlatformInstanceSave   = WorkspacePermissions.Entry("PLATFORMINSTANCE_SAVE")

	PermissionProjectPrincipalRoleDelete = WorkspacePermissions.Entry("PROJECTPRINCIPALROLE_DELETE")
	PermissionProjectPrincipalRoleList   = WorkspacePermissions.Entry("PROJECTPRINCIPALROLE_LIST")
	PermissionProjectPrincipalRoleSave   = WorkspacePermissions.Entry("PROJECTPRINCIPALROLE_SAVE")

	PermissionProjectDelete = WorkspacePermissions.Entry("PROJECT_DELETE")
	PermissionProjectList   = WorkspacePermissions.Entry("PROJECT_LIST")
	PermissionProjectSave   = WorkspacePermissions.Entry("PROJECT_SAVE")

	PermissionServiceInstanceDelete = WorkspacePermissions.Entry("SERVICEINSTANCE_DELETE")
	PermissionServiceInstanceList   = WorkspacePermissions.Entry("SERVICEINSTANCE_LIST")
	PermissionServiceInstanceSave   = WorkspacePermissions.Entry("SERVICEINSTANCE_SAVE")

	PermissionTenantDelete = WorkspacePermissions.Entry("TENANT_DELETE")
	PermissionTenantList   = WorkspacePermissions.Entry("TENANT_LIST")
	PermissionTenantSave   = WorkspacePermissions.Entry("TENANT_SAVE")

	PermissionTfStateDelete = WorkspacePermissions.Entry("TFSTATE_DELETE")
	PermissionTfStateList   = WorkspacePermissions.Entry("TFSTATE_LIST")
	PermissionTfStateSave   = WorkspacePermissions.Entry("TFSTATE_SAVE")

	PermissionWorkspacePrincipalBindingDelete = WorkspacePermissions.Entry("WORKSPACEPRINCIPALBINDING_DELETE")
	PermissionWorkspacePrincipalBindingList   = WorkspacePermissions.Entry("WORKSPACEPRINCIPALBINDING_LIST")
	PermissionWorkspacePrincipalBindingSave   = WorkspacePermissions.Entry("WORKSPACEPRINCIPALBINDING_SAVE")

	PermissionWorkspaceUserGroupList = WorkspacePermissions.Entry("WORKSPACEUSERGROUP_LIST")

	PermissionWorkspaceDelete = WorkspacePermissions.Entry("WORKSPACE_DELETE")
	PermissionWorkspaceList   = WorkspacePermissions.Entry("WORKSPACE_LIST")
	PermissionWorkspaceSave   = WorkspacePermissions.Entry("WORKSPACE_SAVE")
)

Workspace Permissions (non-admin).

View Source
var (
	MeshBuildingBlockTypes              = enum.Enum[MeshBuildingBlockType]{}
	MeshBuildingBlockTypeTenantLevel    = MeshBuildingBlockTypes.Entry("TENANT_LEVEL")
	MeshBuildingBlockTypeWorkspaceLevel = MeshBuildingBlockTypes.Entry("WORKSPACE_LEVEL")
)
View Source
var (
	MeshBuildingBlockDefinitionVersionStates        = enum.Enum[MeshBuildingBlockDefinitionVersionState]{}
	MeshBuildingBlockDefinitionVersionStateDraft    = MeshBuildingBlockDefinitionVersionStates.Entry("DRAFT")
	MeshBuildingBlockDefinitionVersionStateReleased = MeshBuildingBlockDefinitionVersionStates.Entry("RELEASED")
)
View Source
var (
	BuildingBlockDeletionModes      = enum.Enum[BuildingBlockDeletionMode]{}
	BuildingBlockDeletionModeDelete = BuildingBlockDeletionModes.Entry("DELETE")
	BuildingBlockDeletionModePurge  = BuildingBlockDeletionModes.Entry("PURGE")
)
View Source
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")
)
View Source
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")
	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")
)
View Source
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")
)
View Source
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")
)
View Source
var (
	MeshIntegrationConfigTypes           = enum.Enum[MeshIntegrationConfigType]{}
	MeshIntegrationConfigTypeGithub      = MeshIntegrationConfigTypes.Entry("github")
	MeshIntegrationConfigTypeGitlab      = MeshIntegrationConfigTypes.Entry("gitlab")
	MeshIntegrationConfigTypeAzureDevops = MeshIntegrationConfigTypes.Entry("azuredevops")
)
View Source
var MinMeshStackVersion = version.MustParse("2026.7.0")

Functions

func SetLogger added in v0.17.0

func SetLogger(logger Logger)

SetLogger allows setting the client logger. By default, no logging happens.

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 ApiPermission added in v0.18.0

type ApiPermission string

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 AwsEnrollmentConfiguration struct {
	ManagementAccountId     string `json:"managementAccountId" tfsdk:"management_account_id"`
	AccountFactoryProductId string `json:"accountFactoryProductId" tfsdk:"account_factory_product_id"`
}

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"`
	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 AwsRoleMapping struct {
	MeshProjectRoleRef MeshProjectRoleRefV2 `json:"projectRoleRef" tfsdk:"project_role_ref"`
	PlatformRole       string               `json:"platformRole" tfsdk:"platform_role"`
	Policies           []string             `json:"policies" tfsdk:"policies"`
}

type AwsServiceUserCredential added in v0.16.0

type AwsServiceUserCredential struct {
	AccessKey string       `json:"accessKey" tfsdk:"access_key"`
	SecretKey types.Secret `json:"secretKey" tfsdk:"secret_key"`
}

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  []AwsSsoRoleMapping `json:"awsRoleMappings" tfsdk:"aws_role_mappings"`
	SignInUrl        string              `json:"signInUrl" tfsdk:"sign_in_url"`
}

type AwsSsoRoleMapping added in v0.12.0

type AwsSsoRoleMapping struct {
	MeshProjectRoleRef MeshProjectRoleRefV2 `json:"projectRoleRef" tfsdk:"project_role_ref"`
	AwsRole            string               `json:"awsRole" tfsdk:"aws_role"`
	PermissionSetArns  []string             `json:"permissionSetArns" tfsdk:"permission_set_arns"`
}

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 AzureAuthConfig struct {
	Type       string        `json:"type" tfsdk:"type"`
	Credential *types.Secret `json:"credential,omitempty" tfsdk:"credential"`
}

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 AzureFunction struct {
	AzureFunctionUrl   string `json:"azureFunctionUrl" tfsdk:"azure_function_url"`
	AzureFunctionScope string `json:"azureFunctionScope" tfsdk:"azure_function_scope"`
}

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 AzureInviteB2BUserConfig struct {
	RedirectUrl             string `json:"redirectUrl" tfsdk:"redirect_url"`
	SendAzureInvitationMail bool   `json:"sendAzureInvitationMail" tfsdk:"send_azure_invitation_mail"`
}

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"`
	BlueprintServicePrincipal                  string                               `json:"blueprintServicePrincipal" tfsdk:"blueprint_service_principal"`
	BlueprintLocation                          string                               `json:"blueprintLocation" tfsdk:"blueprint_location"`
	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"`
	AllowHierarchicalManagementGroupAssignment bool                        `json:"allowHierarchicalManagementGroupAssignment" tfsdk:"allow_hierarchical_management_group_assignment"`
}

type AzureRgRoleMapping added in v0.11.0

type AzureRgRoleMapping struct {
	MeshProjectRoleRef     MeshProjectRoleRefV2 `json:"projectRoleRef" tfsdk:"project_role_ref"`
	AzureGroupSuffix       string               `json:"azureGroupSuffix" tfsdk:"azure_group_suffix"`
	AzureRoleDefinitionIds []string             `json:"azureRoleDefinitionIds" tfsdk:"azure_role_definition_ids"`
}

type AzureRole added in v0.13.0

type AzureRole struct {
	Alias string `json:"alias" tfsdk:"alias"`
	Id    string `json:"id" tfsdk:"id"`
}

type AzureRoleDefinition added in v0.11.0

type AzureRoleDefinition struct {
	AzureRoleDefinitionId string  `json:"azureRoleDefinitionId" tfsdk:"azure_role_definition_id"`
	AbacCondition         *string `json:"abacCondition" tfsdk:"abac_condition"`
}

type AzureRoleMapping added in v0.11.0

type AzureRoleMapping struct {
	MeshProjectRoleRef MeshProjectRoleRefV2 `json:"projectRoleRef" tfsdk:"project_role_ref"`
	AzureRole          AzureRole            `json:"azureRole" tfsdk:"azure_role"`
}

type AzureRoleMappingProperty added in v0.13.0

type AzureRoleMappingProperty struct {
	MeshProjectRoleRef   MeshProjectRoleRefV2  `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 BuildingBlockDefinitionRef added in v0.18.0

type BuildingBlockDefinitionRef struct {
	Uuid string `json:"uuid"`
	Kind string `json:"kind"`
}

type BuildingBlockDefinitionSupportedPlatform added in v0.18.0

type BuildingBlockDefinitionSupportedPlatform string

type BuildingBlockDeletionMode added in v0.18.0

type BuildingBlockDeletionMode string

type BuildingBlockDependencyRef added in v0.18.0

type BuildingBlockDependencyRef string

type BuildingBlockRunnerRef added in v0.16.0

type BuildingBlockRunnerRef struct {
	Uuid string `json:"uuid" tfsdk:"uuid"`
	Kind string `json:"kind" tfsdk:"kind"`
}

type Client added in v0.17.0

type Client struct {
	BuildingBlock                  MeshBuildingBlockClient
	BuildingBlockV2                MeshBuildingBlockV2Client
	BuildingBlockDefinition        MeshBuildingBlockDefinitionClient
	BuildingBlockDefinitionVersion MeshBuildingBlockDefinitionVersionClient
	Integration                    MeshIntegrationClient
	LandingZone                    MeshLandingZoneClient
	Location                       MeshLocationClient
	PaymentMethod                  MeshPaymentMethodClient
	Platform                       MeshPlatformClient
	Project                        MeshProjectClient
	ProjectGroupBinding            MeshProjectGroupBindingClient
	ProjectUserBinding             MeshProjectUserBindingClient
	ServiceInstance                MeshServiceInstanceClient
	TagDefinition                  MeshTagDefinitionClient
	Tenant                         MeshTenantClient
	TenantV4                       MeshTenantV4Client
	Workspace                      MeshWorkspaceClient
	WorkspaceGroupBinding          MeshWorkspaceGroupBindingClient
	WorkspaceUserBinding           MeshWorkspaceUserBindingClient
	PlatformType                   MeshPlatformTypeClient
}

func New added in v0.17.0

func New(ctx context.Context, rootUrl *url.URL, userAgent, apiKey, apiSecret string, apiToken string) (Client, error)

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 PlatformTypeRef       `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 GcpPlatformRoleMapping struct {
	MeshProjectRoleRef MeshProjectRoleRefV2 `json:"projectRoleRef" tfsdk:"project_role_ref"`
	GcpRole            string               `json:"gcpRole" tfsdk:"gcp_role"`
}

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                   []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 GcpRoleMapping struct {
	MeshProjectRoleRef MeshProjectRoleRefV2 `json:"projectRoleRef" tfsdk:"project_role_ref"`
	PlatformRoles      []string             `json:"platformRoles" tfsdk:"platform_roles"`
}

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 GcpServiceAccountWorkloadIdentityConfig struct {
	Audience            string `json:"audience" tfsdk:"audience"`
	ServiceAccountEmail string `json:"serviceAccountEmail" tfsdk:"service_account_email"`
}

type KubernetesClientConfig added in v0.12.0

type KubernetesClientConfig struct {
	AccessToken types.Secret `json:"accessToken" tfsdk:"access_token"`
}

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 KubernetesRoleMapping struct {
	MeshProjectRoleRef MeshProjectRoleRefV2 `json:"projectRoleRef" tfsdk:"project_role_ref"`
	PlatformRoles      []string             `json:"platformRoles" tfsdk:"platform_roles"`
}

type LocationRef added in v0.12.0

type LocationRef struct {
	Kind string `json:"kind" tfsdk:"kind"`
	Name string `json:"name" tfsdk:"name"`
}

type Logger added in v0.17.0

type Logger = internal.Logger

Logger exposes logging for client operations within this package (including internal).

type MeshAwsWifProvider added in v0.16.0

type MeshAwsWifProvider struct {
	Audience   string `json:"audience" tfsdk:"audience"`
	Thumbprint string `json:"thumbprint" tfsdk:"thumbprint"`
}

type MeshBuildingBlock

type MeshBuildingBlock struct {
	ApiVersion string                    `json:"apiVersion" tfsdk:"api_version"`
	Kind       string                    `json:"kind" tfsdk:"kind"`
	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 struct {
	// contains filtered or unexported fields
}

func (MeshBuildingBlockClient) Create added in v0.17.0

func (MeshBuildingBlockClient) Delete added in v0.17.0

func (c MeshBuildingBlockClient) Delete(ctx context.Context, uuid string) error

func (MeshBuildingBlockClient) Read added in v0.17.0

type MeshBuildingBlockCreate added in v0.5.0

type MeshBuildingBlockCreate struct {
	ApiVersion string                          `json:"apiVersion" tfsdk:"api_version"`
	Kind       string                          `json:"kind" tfsdk:"kind"`
	Metadata   MeshBuildingBlockCreateMetadata `json:"metadata" tfsdk:"metadata"`
	Spec       MeshBuildingBlockSpec           `json:"spec" tfsdk:"spec"`
}

type MeshBuildingBlockCreateMetadata added in v0.5.0

type MeshBuildingBlockCreateMetadata struct {
	DefinitionUuid    string `json:"definitionUuid" tfsdk:"definition_uuid"`
	DefinitionVersion int64  `json:"definitionVersion" tfsdk:"definition_version"`
	TenantIdentifier  string `json:"tenantIdentifier" tfsdk:"tenant_identifier"`
}

type MeshBuildingBlockDefinition added in v0.18.0

type MeshBuildingBlockDefinition struct {
	ApiVersion string                              `json:"apiVersion"`
	Kind       string                              `json:"kind"`
	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"`
	Async          bool               `json:"async" tfsdk:"async"`
	IntegrationRef MeshIntegrationRef `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     MeshIntegrationRef `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       MeshIntegrationRef `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 (MeshBuildingBlockDefinitionImplementation) MarshalJSON added in v0.18.0

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,omitempty" tfsdk:"argument"`
	DefaultValue                types.SecretOrAny `json:"defaultValue,omitempty" 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"`
}

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 MeshBuildingBlockDefinitionMetadata struct {
	Uuid             *string             `json:"uuid,omitempty" tfsdk:"uuid"`
	OwnedByWorkspace string              `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
	Tags             map[string][]string `json:"tags" tfsdk:"tags"`
}

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"`
}

type MeshBuildingBlockDefinitionOutputAssignmentType added in v0.18.0

type MeshBuildingBlockDefinitionOutputAssignmentType string

type MeshBuildingBlockDefinitionRef added in v0.16.6

type MeshBuildingBlockDefinitionRef struct {
	Kind string `json:"kind" tfsdk:"kind"`
	Uuid string `json:"uuid" tfsdk:"uuid"`
}

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 are currently platform types only. Specifying single platforms is currently unsupported.
	// Have this list of string with a dedicated type, to convert it to/from Platform Type refs.
	SupportedPlatforms types.Set[BuildingBlockDefinitionSupportedPlatform] `json:"supportedPlatforms" tfsdk:"supported_platforms"`
}

type MeshBuildingBlockDefinitionSshKnownHost added in v0.18.0

type MeshBuildingBlockDefinitionSshKnownHost struct {
	Host     string `json:"host" tfsdk:"host"`
	KeyType  string `json:"keyType" tfsdk:"key_type"`
	KeyValue string `json:"keyValue" tfsdk:"key_value"`
}

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"`
}

type MeshBuildingBlockDefinitionVersion added in v0.18.0

type MeshBuildingBlockDefinitionVersion struct {
	ApiVersion string                                     `json:"apiVersion" tfsdk:"api_version"`
	Kind       string                                     `json:"kind" tfsdk:"kind"`
	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 MeshBuildingBlockDefinitionVersionMetadata struct {
	Uuid             string `json:"uuid"`
	OwnedByWorkspace string `json:"ownedByWorkspace"`
	CreatedOn        string `json:"createdOn"`
}

type MeshBuildingBlockDefinitionVersionSpec added in v0.18.0

type MeshBuildingBlockDefinitionVersionSpec struct {
	BuildingBlockDefinitionRef *BuildingBlockDefinitionRef                  `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                  *BuildingBlockRunnerRef                      `json:"runnerRef" tfsdk:"runner_ref"`
	DependencyDefinitionUUIDs  types.Set[BuildingBlockDependencyRef]        `json:"dependencyDefinitionUuids,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 MeshBuildingBlockIO struct {
	Key       string `json:"key" tfsdk:"key"`
	Value     any    `json:"value" tfsdk:"value"`
	ValueType string `json:"valueType" tfsdk:"value_type"`
}

type MeshBuildingBlockIOType added in v0.18.0

type MeshBuildingBlockIOType string

type MeshBuildingBlockImplementationType added in v0.18.0

type MeshBuildingBlockImplementationType string

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 MeshBuildingBlockParent

type MeshBuildingBlockParent struct {
	BuildingBlockUuid string `json:"buildingBlockUuid" tfsdk:"buildingblock_uuid"`
	DefinitionUuid    string `json:"definitionUuid" tfsdk:"definition_uuid"`
}

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 {
	ApiVersion string                      `json:"apiVersion" tfsdk:"api_version"`
	Kind       string                      `json:"kind" tfsdk:"kind"`
	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)

type MeshBuildingBlockV2Client added in v0.17.0

type MeshBuildingBlockV2Client struct {
	// contains filtered or unexported fields
}

func (MeshBuildingBlockV2Client) Create added in v0.17.0

func (MeshBuildingBlockV2Client) Delete added in v0.17.0

func (MeshBuildingBlockV2Client) Read added in v0.17.0

func (MeshBuildingBlockV2Client) ReadFunc added in v0.17.0

type MeshBuildingBlockV2Create added in v0.7.0

type MeshBuildingBlockV2Create struct {
	ApiVersion string                  `json:"apiVersion" tfsdk:"api_version"`
	Kind       string                  `json:"kind" tfsdk:"kind"`
	Spec       MeshBuildingBlockV2Spec `json:"spec" tfsdk:"spec"`
}

type MeshBuildingBlockV2DefinitionVersionRef added in v0.7.0

type MeshBuildingBlockV2DefinitionVersionRef struct {
	Uuid string `json:"uuid" tfsdk:"uuid"`
}

type MeshBuildingBlockV2Metadata added in v0.7.0

type MeshBuildingBlockV2Metadata struct {
	Uuid                string  `json:"uuid" tfsdk:"uuid"`
	OwnedByWorkspace    string  `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
	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 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               []MeshBuildingBlockIO     `json:"inputs" tfsdk:"inputs"`
	ParentBuildingBlocks []MeshBuildingBlockParent `json:"parentBuildingBlocks" tfsdk:"parent_building_blocks"`
}

type MeshBuildingBlockV2Status added in v0.7.0

type MeshBuildingBlockV2Status struct {
	Status     string                `json:"status" tfsdk:"status"`
	Outputs    []MeshBuildingBlockIO `json:"outputs" tfsdk:"outputs"`
	ForcePurge bool                  `json:"forcePurge" tfsdk:"force_purge"`
}

type MeshBuildingBlockV2TargetRef added in v0.7.0

type MeshBuildingBlockV2TargetRef struct {
	Kind       string  `json:"kind" tfsdk:"kind"`
	Uuid       *string `json:"uuid" tfsdk:"uuid"`
	Identifier *string `json:"identifier" tfsdk:"identifier"`
}

type MeshIntegration added in v0.16.0

type MeshIntegration struct {
	ApiVersion string                  `json:"apiVersion" tfsdk:"-"`
	Kind       string                  `json:"kind" tfsdk:"-"`
	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           *BuildingBlockRunnerRef `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"`
}

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 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     *BuildingBlockRunnerRef `json:"runnerRef" tfsdk:"runner_ref"`
}

type MeshIntegrationGitlabConfig added in v0.16.0

type MeshIntegrationGitlabConfig struct {
	BaseUrl   string                  `json:"baseUrl" tfsdk:"base_url"`
	RunnerRef *BuildingBlockRunnerRef `json:"runnerRef" tfsdk:"runner_ref"`
}

type MeshIntegrationMetadata added in v0.16.0

type MeshIntegrationMetadata struct {
	Uuid             *string `json:"uuid,omitempty" tfsdk:"uuid"`
	OwnedByWorkspace string  `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
}

type MeshIntegrationRef added in v0.18.0

type MeshIntegrationRef struct {
	Uuid string `json:"uuid" tfsdk:"uuid"`
	Kind string `json:"kind" tfsdk:"kind"`
}

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 {
	ApiVersion string                  `json:"apiVersion" tfsdk:"-"`
	Kind       string                  `json:"kind" tfsdk:"-"`
	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 struct {
	// contains filtered or unexported fields
}

func (MeshLandingZoneClient) Create added in v0.17.0

func (MeshLandingZoneClient) Delete added in v0.17.0

func (c MeshLandingZoneClient) Delete(ctx context.Context, name string) error

func (MeshLandingZoneClient) Read added in v0.17.0

func (MeshLandingZoneClient) Update added in v0.17.0

type MeshLandingZoneCreate added in v0.11.0

type MeshLandingZoneCreate struct {
	ApiVersion string                  `json:"apiVersion" tfsdk:"-"`
	Metadata   MeshLandingZoneMetadata `json:"metadata" tfsdk:"metadata"`
	Spec       MeshLandingZoneSpec     `json:"spec" tfsdk:"spec"`
}

type MeshLandingZoneMetadata added in v0.11.0

type MeshLandingZoneMetadata struct {
	Name             string              `json:"name" tfsdk:"name"`
	OwnedByWorkspace string              `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
	Tags             map[string][]string `json:"tags" tfsdk:"tags"`
}

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 MeshLandingZonePlatformRef added in v0.13.0

type MeshLandingZonePlatformRef struct {
	Uuid string `json:"uuid" tfsdk:"uuid"`
	Kind string `json:"kind" tfsdk:"kind"`
}

type MeshLandingZoneQuota added in v0.13.0

type MeshLandingZoneQuota struct {
	Key   string `json:"key" tfsdk:"key"`
	Value int64  `json:"value" tfsdk:"value"`
}

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                  MeshLandingZonePlatformRef         `json:"platformRef" tfsdk:"platform_ref"`
	PlatformProperties           *MeshLandingZonePlatformProperties `json:"platformProperties,omitempty" tfsdk:"platform_properties"`
	Quotas                       []MeshLandingZoneQuota             `json:"quotas" tfsdk:"quotas"`
	MandatoryBuildingBlockRefs   []MeshBuildingBlockDefinitionRef   `json:"mandatoryBuildingBlockRefs" tfsdk:"mandatory_building_block_refs"`
	RecommendedBuildingBlockRefs []MeshBuildingBlockDefinitionRef   `json:"recommendedBuildingBlockRefs" tfsdk:"recommended_building_block_refs"`
}

type MeshLandingZoneStatus added in v0.11.0

type MeshLandingZoneStatus struct {
	Disabled   bool `json:"disabled" tfsdk:"disabled"`
	Restricted bool `json:"restricted" tfsdk:"restricted"`
}

type MeshLocation added in v0.16.4

type MeshLocation struct {
	ApiVersion string               `json:"apiVersion" tfsdk:"-"`
	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 {
	ApiVersion string                     `json:"apiVersion" tfsdk:"-"`
	Metadata   MeshLocationCreateMetadata `json:"metadata" tfsdk:"metadata"`
	Spec       MeshLocationSpec           `json:"spec" tfsdk:"spec"`
}

type MeshLocationCreateMetadata added in v0.16.4

type MeshLocationCreateMetadata struct {
	Name             string `json:"name" tfsdk:"name"`
	OwnedByWorkspace string `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
}

type MeshLocationMetadata added in v0.16.4

type MeshLocationMetadata struct {
	Name             string `json:"name" tfsdk:"name"`
	OwnedByWorkspace string `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
	Uuid             string `json:"uuid" tfsdk:"uuid"`
}

type MeshLocationSpec added in v0.16.4

type MeshLocationSpec struct {
	DisplayName string `json:"displayName" tfsdk:"display_name"`
	Description string `json:"description" tfsdk:"description"`
}

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 {
	ApiVersion string                    `json:"apiVersion" tfsdk:"api_version"`
	Kind       string                    `json:"kind" tfsdk:"kind"`
	Metadata   MeshPaymentMethodMetadata `json:"metadata" tfsdk:"metadata"`
	Spec       MeshPaymentMethodSpec     `json:"spec" tfsdk:"spec"`
}

type MeshPaymentMethodClient added in v0.17.0

type MeshPaymentMethodClient struct {
	// contains filtered or unexported fields
}

func (MeshPaymentMethodClient) Create added in v0.17.0

func (MeshPaymentMethodClient) Delete added in v0.17.0

func (c MeshPaymentMethodClient) Delete(ctx context.Context, identifier string) error

func (MeshPaymentMethodClient) Read added in v0.17.0

func (c MeshPaymentMethodClient) Read(ctx context.Context, workspace string, identifier string) (*MeshPaymentMethod, error)

func (MeshPaymentMethodClient) Update added in v0.17.0

func (c MeshPaymentMethodClient) Update(ctx context.Context, identifier string, paymentMethod *MeshPaymentMethodCreate) (*MeshPaymentMethod, error)

type MeshPaymentMethodCreate added in v0.14.0

type MeshPaymentMethodCreate struct {
	ApiVersion string                          `json:"apiVersion" tfsdk:"api_version"`
	Metadata   MeshPaymentMethodCreateMetadata `json:"metadata" tfsdk:"metadata"`
	Spec       MeshPaymentMethodSpec           `json:"spec" tfsdk:"spec"`
}

type MeshPaymentMethodCreateMetadata added in v0.14.0

type MeshPaymentMethodCreateMetadata struct {
	Name             string `json:"name" tfsdk:"name"`
	OwnedByWorkspace string `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
}

type MeshPaymentMethodMetadata added in v0.14.0

type MeshPaymentMethodMetadata struct {
	Name             string  `json:"name" tfsdk:"name"`
	OwnedByWorkspace string  `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
	CreatedOn        string  `json:"createdOn" tfsdk:"created_on"`
	DeletedOn        *string `json:"deletedOn" tfsdk:"deleted_on"`
}

type MeshPaymentMethodSpec added in v0.14.0

type MeshPaymentMethodSpec struct {
	DisplayName    string              `json:"displayName" tfsdk:"display_name"`
	ExpirationDate *string             `json:"expirationDate,omitempty" tfsdk:"expiration_date"`
	Amount         *int64              `json:"amount,omitempty" tfsdk:"amount"`
	Tags           map[string][]string `json:"tags,omitempty" tfsdk:"tags"`
}

type MeshPlatform added in v0.12.0

type MeshPlatform struct {
	ApiVersion string               `json:"apiVersion" tfsdk:"-"`
	Kind       string               `json:"kind" tfsdk:"-"`
	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)
	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 MeshPlatformMetadata added in v0.12.0

type MeshPlatformMetadata struct {
	Name             string  `json:"name" tfsdk:"name"`
	OwnedByWorkspace string  `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
	Uuid             *string `json:"uuid,omitempty" tfsdk:"uuid"`
}

type MeshPlatformMeteringProcessingConfig added in v0.13.0

type MeshPlatformMeteringProcessingConfig struct {
	CompactTimelinesAfterDays int64 `json:"compactTimelinesAfterDays" tfsdk:"compact_timelines_after_days"`
	DeleteRawDataAfterDays    int64 `json:"deleteRawDataAfterDays" tfsdk:"delete_raw_data_after_days"`
}

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"`
	LocationRef            LocationRef                `json:"locationRef" tfsdk:"location_ref"`
	ContributingWorkspaces types.Set[string]          `json:"contributingWorkspaces" tfsdk:"contributing_workspaces"`
	Availability           PlatformAvailability       `json:"availability" tfsdk:"availability"`
	Config                 PlatformConfig             `json:"config" tfsdk:"config"`
	QuotaDefinitions       types.Set[QuotaDefinition] `json:"quotaDefinitions" tfsdk:"quota_definitions"`
}

type MeshPlatformType added in v0.17.0

type MeshPlatformType struct {
	ApiVersion string                   `json:"apiVersion" tfsdk:"-"`
	Kind       string                   `json:"kind" tfsdk:"-"`
	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 {
	ApiVersion string                         `json:"apiVersion" tfsdk:"-"`
	Kind       string                         `json:"kind" tfsdk:"-"`
	Metadata   MeshPlatformTypeCreateMetadata `json:"metadata" tfsdk:"metadata"`
	Spec       MeshPlatformTypeSpec           `json:"spec" tfsdk:"spec"`
}

type MeshPlatformTypeCreateMetadata added in v0.17.0

type MeshPlatformTypeCreateMetadata struct {
	Name             string `json:"name" tfsdk:"name"`
	OwnedByWorkspace string `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
}

type MeshPlatformTypeLifecycle added in v0.17.0

type MeshPlatformTypeLifecycle struct {
	State string `json:"state" tfsdk:"state"`
}

type MeshPlatformTypeMetadata added in v0.17.0

type MeshPlatformTypeMetadata struct {
	Name             string  `json:"name" tfsdk:"name"`
	OwnedByWorkspace string  `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
	Uuid             *string `json:"uuid,omitempty" tfsdk:"uuid"`
}

type MeshPlatformTypeSpec added in v0.17.0

type MeshPlatformTypeSpec struct {
	DisplayName     string  `json:"displayName" tfsdk:"display_name"`
	Category        string  `json:"category" tfsdk:"category"`
	DefaultEndpoint *string `json:"defaultEndpoint,omitempty" tfsdk:"default_endpoint"`
	Icon            string  `json:"icon" tfsdk:"icon"`
}

type MeshPlatformTypeStatus added in v0.17.0

type MeshPlatformTypeStatus struct {
	Lifecycle MeshPlatformTypeLifecycle `json:"lifecycle" tfsdk:"lifecycle"`
}

type MeshProject

type MeshProject struct {
	ApiVersion string              `json:"apiVersion" tfsdk:"api_version"`
	Kind       string              `json:"kind" tfsdk:"kind"`
	Metadata   MeshProjectMetadata `json:"metadata" tfsdk:"metadata"`
	Spec       MeshProjectSpec     `json:"spec" tfsdk:"spec"`
}

type MeshProjectBinding added in v0.4.0

type MeshProjectBinding struct {
	ApiVersion string                     `json:"apiVersion" tfsdk:"api_version"`
	Kind       string                     `json:"kind" tfsdk:"kind"`
	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 struct {
	// contains filtered or unexported fields
}

func (MeshProjectClient) Create added in v0.17.0

func (MeshProjectClient) Delete added in v0.17.0

func (c MeshProjectClient) Delete(ctx context.Context, workspace string, name string) error

func (MeshProjectClient) List added in v0.17.0

func (c MeshProjectClient) List(ctx context.Context, workspaceIdentifier string, paymentMethodIdentifier *string) ([]MeshProject, error)

func (MeshProjectClient) Read added in v0.17.0

func (c MeshProjectClient) Read(ctx context.Context, workspace string, name string) (*MeshProject, error)

func (MeshProjectClient) Update added in v0.17.0

type MeshProjectCreate

type MeshProjectCreate struct {
	Metadata MeshProjectCreateMetadata `json:"metadata" tfsdk:"metadata"`
	Spec     MeshProjectSpec           `json:"spec" tfsdk:"spec"`
}

type MeshProjectCreateMetadata

type MeshProjectCreateMetadata struct {
	Name             string `json:"name" tfsdk:"name"`
	OwnedByWorkspace string `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
}

type MeshProjectGroupBinding added in v0.4.0

type MeshProjectGroupBinding struct {
	MeshProjectBinding
}

type MeshProjectGroupBindingClient added in v0.17.0

type MeshProjectGroupBindingClient struct {
	// contains filtered or unexported fields
}

func (MeshProjectGroupBindingClient) Create added in v0.17.0

func (MeshProjectGroupBindingClient) Delete added in v0.17.0

func (MeshProjectGroupBindingClient) Read added in v0.17.0

type MeshProjectMetadata

type MeshProjectMetadata struct {
	Name             string  `json:"name" tfsdk:"name"`
	OwnedByWorkspace string  `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
	CreatedOn        string  `json:"createdOn" tfsdk:"created_on"`
	DeletedOn        *string `json:"deletedOn" tfsdk:"deleted_on"`
}

type MeshProjectRoleRef deprecated

type MeshProjectRoleRef struct {
	Name string `json:"name" tfsdk:"name"`
}

Deprecated: Use MeshProjectRoleRefV2 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 MeshProjectRoleRefV2 added in v0.11.0

type MeshProjectRoleRefV2 struct {
	Name string `json:"name" tfsdk:"name"`
	Kind string `json:"kind" tfsdk:"kind"`
}

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 MeshProjectTargetRef struct {
	Name             string `json:"name" tfsdk:"name"`
	OwnedByWorkspace string `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
}

type MeshProjectUserBinding

type MeshProjectUserBinding struct {
	MeshProjectBinding
}

type MeshProjectUserBindingClient added in v0.17.0

type MeshProjectUserBindingClient struct {
	// contains filtered or unexported fields
}

func (MeshProjectUserBindingClient) Create added in v0.17.0

func (MeshProjectUserBindingClient) Delete added in v0.17.0

func (MeshProjectUserBindingClient) Read added in v0.17.0

type MeshServiceInstance added in v0.17.4

type MeshServiceInstance struct {
	ApiVersion string                      `json:"apiVersion" tfsdk:"api_version"`
	Kind       string                      `json:"kind" tfsdk:"kind"`
	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
	ProjectIdentifier     *string
	MarketplaceIdentifier *string
	ServiceIdentifier     *string
	PlanIdentifier        *string
}

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 {
	ApiVersion string                    `json:"apiVersion" tfsdk:"api_version"`
	Kind       string                    `json:"kind" tfsdk:"kind"`
	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 {
	ApiVersion string             `json:"apiVersion" tfsdk:"api_version"`
	Kind       string             `json:"kind" tfsdk:"kind"`
	Metadata   MeshTenantMetadata `json:"metadata" tfsdk:"metadata"`
	Spec       MeshTenantSpec     `json:"spec" tfsdk:"spec"`
}

type MeshTenantClient added in v0.17.0

type MeshTenantClient struct {
	// contains filtered or unexported fields
}

func (MeshTenantClient) Create added in v0.17.0

func (c MeshTenantClient) Create(ctx context.Context, tenant *MeshTenantCreate) (*MeshTenant, error)

func (MeshTenantClient) Delete added in v0.17.0

func (c MeshTenantClient) Delete(ctx context.Context, workspace string, project string, platform string) error

func (MeshTenantClient) Read added in v0.17.0

func (c MeshTenantClient) Read(ctx context.Context, workspace string, project string, platform string) (*MeshTenant, error)

type MeshTenantCreate

type MeshTenantCreate struct {
	Metadata MeshTenantCreateMetadata `json:"metadata" tfsdk:"metadata"`
	Spec     MeshTenantCreateSpec     `json:"spec" tfsdk:"spec"`
}

type MeshTenantCreateMetadata

type MeshTenantCreateMetadata struct {
	OwnedByProject     string `json:"ownedByProject" tfsdk:"owned_by_project"`
	OwnedByWorkspace   string `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
	PlatformIdentifier string `json:"platformIdentifier" tfsdk:"platform_identifier"`
}

type MeshTenantCreateSpec

type MeshTenantCreateSpec struct {
	LocalId               *string            `json:"localId" tfsdk:"local_id"`
	LandingZoneIdentifier *string            `json:"landingZoneIdentifier" tfsdk:"landing_zone_identifier"`
	Quotas                *[]MeshTenantQuota `json:"quotas" tfsdk:"quotas"`
}

type MeshTenantMetadata

type MeshTenantMetadata struct {
	OwnedByProject     string              `json:"ownedByProject" tfsdk:"owned_by_project"`
	OwnedByWorkspace   string              `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
	PlatformIdentifier string              `json:"platformIdentifier" tfsdk:"platform_identifier"`
	AssignedTags       map[string][]string `json:"assignedTags" tfsdk:"assigned_tags"`
	DeletedOn          *string             `json:"deletedOn" tfsdk:"deleted_on"`
}

type MeshTenantQuota

type MeshTenantQuota struct {
	Key   string `json:"key" tfsdk:"key"`
	Value int64  `json:"value" tfsdk:"value"`
}

type MeshTenantSpec

type MeshTenantSpec struct {
	LocalId               *string           `json:"localId" tfsdk:"local_id"`
	LandingZoneIdentifier string            `json:"landingZoneIdentifier" tfsdk:"landing_zone_identifier"`
	Quotas                []MeshTenantQuota `json:"quotas" tfsdk:"quotas"`
}

type MeshTenantTags added in v0.13.0

type MeshTenantTags struct {
	NamespacePrefix string               `json:"namespacePrefix" tfsdk:"namespace_prefix"`
	TagMappers      types.Set[TagMapper] `json:"tagMappers" tfsdk:"tag_mappers"`
}

type MeshTenantV4 added in v0.8.0

type MeshTenantV4 struct {
	ApiVersion string               `json:"apiVersion" tfsdk:"api_version"`
	Kind       string               `json:"kind" tfsdk:"kind"`
	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) DeletionSuccessful added in v0.17.0

func (tenant *MeshTenantV4) DeletionSuccessful() (done bool, err error)

type MeshTenantV4Client added in v0.17.0

type MeshTenantV4Client struct {
	// contains filtered or unexported fields
}

func (MeshTenantV4Client) Create added in v0.17.0

func (MeshTenantV4Client) Delete added in v0.17.0

func (c MeshTenantV4Client) Delete(ctx context.Context, uuid string) error

func (MeshTenantV4Client) Read added in v0.17.0

func (MeshTenantV4Client) ReadFunc added in v0.17.0

func (c MeshTenantV4Client) ReadFunc(uuid string) func(ctx context.Context) (*MeshTenantV4, 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 MeshTenantV4CreateMetadata struct {
	OwnedByProject   string `json:"ownedByProject" tfsdk:"owned_by_project"`
	OwnedByWorkspace string `json:"ownedByWorkspace" tfsdk:"owned_by_workspace"`
}

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 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"`
}

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 {
	ApiVersion string                `json:"apiVersion" tfsdk:"api_version"`
	Kind       string                `json:"kind" tfsdk:"kind"`
	Metadata   MeshWorkspaceMetadata `json:"metadata" tfsdk:"metadata"`
	Spec       MeshWorkspaceSpec     `json:"spec" tfsdk:"spec"`
}

type MeshWorkspaceBinding added in v0.10.0

type MeshWorkspaceBinding struct {
	ApiVersion string                       `json:"apiVersion" tfsdk:"api_version"`
	Kind       string                       `json:"kind" tfsdk:"kind"`
	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"`
}

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 struct {
	// contains filtered or unexported fields
}

func (MeshWorkspaceClient) Create added in v0.17.0

func (MeshWorkspaceClient) Delete added in v0.17.0

func (c MeshWorkspaceClient) Delete(ctx context.Context, name string) error

func (MeshWorkspaceClient) Read added in v0.17.0

func (MeshWorkspaceClient) Update added in v0.17.0

func (c MeshWorkspaceClient) Update(ctx context.Context, name string, workspace *MeshWorkspaceCreate) (*MeshWorkspace, error)

type MeshWorkspaceCreate added in v0.8.0

type MeshWorkspaceCreate struct {
	ApiVersion string                      `json:"apiVersion" tfsdk:"api_version"`
	Metadata   MeshWorkspaceCreateMetadata `json:"metadata" tfsdk:"metadata"`
	Spec       MeshWorkspaceSpec           `json:"spec" tfsdk:"spec"`
}

type MeshWorkspaceCreateMetadata added in v0.8.0

type MeshWorkspaceCreateMetadata struct {
	Name string              `json:"name" tfsdk:"name"`
	Tags map[string][]string `json:"tags" tfsdk:"tags"`
}

type MeshWorkspaceGroupBinding added in v0.10.0

type MeshWorkspaceGroupBinding struct {
	MeshWorkspaceBinding
}

type MeshWorkspaceGroupBindingClient added in v0.17.0

type MeshWorkspaceGroupBindingClient struct {
	// contains filtered or unexported fields
}

func (MeshWorkspaceGroupBindingClient) Create added in v0.17.0

func (MeshWorkspaceGroupBindingClient) Delete added in v0.17.0

func (MeshWorkspaceGroupBindingClient) Read added in v0.17.0

type MeshWorkspaceMetadata added in v0.8.0

type MeshWorkspaceMetadata struct {
	Name      string              `json:"name" tfsdk:"name"`
	CreatedOn string              `json:"createdOn" tfsdk:"created_on"`
	DeletedOn *string             `json:"deletedOn" tfsdk:"deleted_on"`
	Tags      map[string][]string `json:"tags" tfsdk:"tags"`
}

type MeshWorkspaceRoleRef added in v0.10.0

type MeshWorkspaceRoleRef struct {
	Name string `json:"name" tfsdk:"name"`
}

type MeshWorkspaceSpec added in v0.8.0

type MeshWorkspaceSpec struct {
	DisplayName                  string `json:"displayName" tfsdk:"display_name"`
	PlatformBuilderAccessEnabled *bool  `json:"platformBuilderAccessEnabled,omitempty" tfsdk:"platform_builder_access_enabled"`
}

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 struct {
	// contains filtered or unexported fields
}

func (MeshWorkspaceUserBindingClient) Create added in v0.17.0

func (MeshWorkspaceUserBindingClient) Delete added in v0.17.0

func (MeshWorkspaceUserBindingClient) Read added in v0.17.0

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 {
	OpenShiftTemplate *string `json:"openShiftTemplate,omitempty" tfsdk:"openshift_template"`
}

type OpenShiftPlatformRoleMapping added in v0.12.0

type OpenShiftPlatformRoleMapping struct {
	MeshProjectRoleRef MeshProjectRoleRefV2 `json:"projectRoleRef" tfsdk:"project_role_ref"`
	OpenshiftRole      string               `json:"openshiftRole" tfsdk:"openshift_role"`
}

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"`
	EnableTemplateInstantiation bool                                    `json:"enableTemplateInstantiation" tfsdk:"enable_template_instantiation"`
	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 PlatformAvailability struct {
	Restriction            string            `json:"restriction" tfsdk:"restriction"`
	PublicationState       string            `json:"publicationState" tfsdk:"publication_state"`
	RestrictedToWorkspaces types.Set[string] `json:"restrictedToWorkspaces,omitempty" tfsdk:"restricted_to_workspaces"`
}

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 PlatformTypeRef added in v0.17.4

type PlatformTypeRef struct {
	Name string `json:"name" tfsdk:"name"`
	Kind string `json:"kind" tfsdk:"kind"`
}

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 TagMapper added in v0.13.0

type TagMapper struct {
	Key          string `json:"key" tfsdk:"key"`
	ValuePattern string `json:"valuePattern" tfsdk:"value_pattern"`
}

type TagValueEmail added in v0.6.0

type TagValueEmail struct {
	DefaultValue    *string `json:"defaultValue,omitempty" tfsdk:"default_value"`
	ValidationRegex *string `json:"validationRegex,omitempty" tfsdk:"validation_regex"`
}

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 TagValueMultiSelect struct {
	Options      []string  `json:"options,omitempty" tfsdk:"options"`
	DefaultValue *[]string `json:"defaultValue,omitempty" tfsdk:"default_value"`
}

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 TagValueSingleSelect struct {
	Options      []string `json:"options,omitempty" tfsdk:"options"`
	DefaultValue *string  `json:"defaultValue,omitempty" tfsdk:"default_value"`
}

type TagValueString added in v0.6.0

type TagValueString struct {
	DefaultValue    *string `json:"defaultValue,omitempty" tfsdk:"default_value"`
	ValidationRegex *string `json:"validationRegex,omitempty" tfsdk:"validation_regex"`
}

Directories

Path Synopsis
ptr

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL