UNPKG

@lbrlabs/pulumi-harness

Version:

A Pulumi package for creating and managing Harness resources.

1,497 lines 126 kB
import * as outputs from "../types/output"; export interface EncryptedTextUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: string; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: string; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: string; } export interface EnvironmentVariableOverride { /** * The name of the variable */ name: string; /** * The name of the service */ serviceName?: string; /** * The type of the service variable. Valid values are `TEXT` and `ENCRYPTED_TEXT` */ type: string; /** * The value of the service variable */ value: string; } export interface GetEncryptedTextUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: string; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: string; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: string; } export interface GetEnvironmentVariableOverride { /** * The name of the variable */ name: string; /** * The name of the service */ serviceName: string; /** * The type of the service variable. Valid values are `TEXT` and `ENCRYPTED_TEXT` */ type: string; /** * The value of the service variable */ value: string; } export interface GetGitConnectorCommitDetail { authorEmailId: string; authorName: string; message: string; } export interface GetSecretManagerUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: string; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: string; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: string; } export interface GetSshCredentialUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: string; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: string; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: string; } export interface GetTriggerCondition { onWebhooks: outputs.GetTriggerConditionOnWebhook[]; triggerConditionType: string; } export interface GetTriggerConditionOnWebhook { webhookDetails: outputs.GetTriggerConditionOnWebhookWebhookDetail[]; } export interface GetTriggerConditionOnWebhookWebhookDetail { header: string; method: string; payload: string; webhookToken: string; webhookUrl: string; } export interface GitConnectorCommitDetails { /** * The email id of the author */ authorEmailId?: string; /** * The name of the author */ authorName?: string; /** * Commit message */ message?: string; } export interface GitConnectorUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: string; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: string; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: string; } export interface InfrastructureDefinitionAwsAmi { /** * The ami deployment type to use. Valid options are AWS_ASG, SPOTINST */ amiDeploymentType: string; /** * Flag to indicate whether the autoscaling group identifies the workload. */ asgIdentifiesWorkload?: boolean; /** * The name of the autoscaling group. */ autoscalingGroupName?: string; /** * The classic load balancers to use. */ classicLoadbalancers?: string[]; /** * The name of the cloud provider to connect with. */ cloudProviderName: string; /** * The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]} */ hostnameConvention?: string; /** * The region to deploy to. */ region: string; /** * The name of the SpotInst cloud provider to connect with. */ spotinstCloudProviderName?: string; /** * The SpotInst configuration to use. */ spotinstConfigJson?: string; /** * The staging classic load balancers to use. */ stageClassicLoadbalancers?: string[]; /** * The staging classic load balancers to use. */ stageTargetGroupArns?: string[]; /** * The ARN's of the target groups. */ targetGroupArns?: string[]; /** * Flag to enable traffic shifting. */ useTrafficShift?: boolean; } export interface InfrastructureDefinitionAwsEcs { /** * Flag to assign a public IP address. */ assignPublicIp?: boolean; /** * The name of the cloud provider to connect with. */ cloudProviderName: string; /** * The name of the ECS cluster to use. */ clusterName: string; /** * The ARN of the role to use for execution. */ executionRole?: string; /** * The type of launch configuration to use. Valid options are FARGATE */ launchType: string; /** * The region to deploy to. */ region: string; /** * The security group ids to apply to the ecs service. */ securityGroupIds?: string[]; /** * The subnet ids to apply to the ecs service. */ subnetIds?: string[]; /** * The VPC ids to use when selecting the instances. */ vpcId?: string; } export interface InfrastructureDefinitionAwsLambda { /** * The name of the cloud provider to connect with. */ cloudProviderName: string; /** * The IAM role to use. */ iamRole?: string; /** * The region to deploy to. */ region: string; /** * The security group ids to apply to the ecs service. */ securityGroupIds?: string[]; /** * The subnet ids to apply to the ecs service. */ subnetIds?: string[]; /** * The VPC ids to use when selecting the instances. */ vpcId?: string; } export interface InfrastructureDefinitionAwsSsh { /** * The name of the autoscaling group. */ autoscalingGroupName?: string; /** * The name of the cloud provider to connect with. */ cloudProviderName: string; /** * The desired capacity of the auto scaling group. */ desiredCapacity?: number; /** * The name of the host connection attributes to use. */ hostConnectionAttrsName?: string; /** * The type of host connection to use. Valid options are PRIVATE*DNS, PUBLIC*DNS, PRIVATE*IP, PUBLIC*IP */ hostConnectionType: string; /** * The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]} */ hostnameConvention?: string; /** * The name of the load balancer to use. */ loadbalancerName?: string; /** * The region to deploy to. */ region: string; /** * The tags to use when selecting the instances. */ tags?: outputs.InfrastructureDefinitionAwsSshTag[]; /** * The VPC ids to use when selecting the instances. */ vpcIds?: string[]; } export interface InfrastructureDefinitionAwsSshTag { key: string; value: string; } export interface InfrastructureDefinitionAwsWinrm { /** * The name of the autoscaling group. */ autoscalingGroupName: string; /** * The name of the cloud provider to connect with. */ cloudProviderName: string; /** * The desired capacity of the autoscaling group. */ desiredCapacity?: number; /** * The name of the host connection attributes to use. */ hostConnectionAttrsName: string; /** * The type of host connection to use. Valid options are PRIVATE*DNS, PUBLIC*DNS, PRIVATE*IP, PUBLIC*IP */ hostConnectionType: string; /** * The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]} */ hostnameConvention?: string; /** * The name of the load balancer to use. */ loadbalancerName?: string; /** * The region to deploy to. */ region: string; } export interface InfrastructureDefinitionAzureVmss { /** * The type of authentication to use. Valid options are SSH*PUBLIC*KEY. */ authType: string; /** * Base name. */ baseName: string; /** * The name of the cloud provider to connect with. */ cloudProviderName: string; /** * The type of deployment. Valid options are NATIVE_VMSS */ deploymentType: string; /** * The name of the host connection attributes to use. */ hostConnectionAttrsName?: string; /** * The name of the resource group. */ resourceGroupName: string; /** * The unique id of the azure subscription. */ subscriptionId: string; /** * The username to connect with. */ username: string; } export interface InfrastructureDefinitionAzureWebapp { /** * The name of the cloud provider to connect with. */ cloudProviderName: string; /** * The name of the resource group. */ resourceGroup: string; /** * The unique id of the azure subscription. */ subscriptionId: string; } export interface InfrastructureDefinitionCustom { /** * The template version */ deploymentTypeTemplateVersion: string; /** * Variables to be used in the service */ variables?: outputs.InfrastructureDefinitionCustomVariable[]; } export interface InfrastructureDefinitionCustomVariable { /** * The name of the infrastructure definition */ name: string; value: string; } export interface InfrastructureDefinitionDatacenterSsh { /** * The name of the cloud provider to connect with. */ cloudProviderName: string; /** * The name of the SSH connection attributes to use. */ hostConnectionAttributesName: string; /** * A list of hosts to deploy to. */ hostnames: string[]; } export interface InfrastructureDefinitionDatacenterWinrm { /** * The name of the cloud provider to connect with. */ cloudProviderName: string; /** * A list of hosts to deploy to. */ hostnames: string[]; /** * The name of the WinRM connection attributes to use. */ winrmConnectionAttributesName: string; } export interface InfrastructureDefinitionKubernetes { /** * The name of the cloud provider to connect with. */ cloudProviderName: string; /** * The namespace in Kubernetes to deploy to. */ namespace: string; /** * The naming convention of the release. When using Helm Native the default is ${infra.kubernetes.infraId}. For standard Kubernetes manifests the default is release-${infra.kubernetes.infraId} */ releaseName: string; } export interface InfrastructureDefinitionKubernetesGcp { /** * The name of the cloud provider to connect with. */ cloudProviderName: string; /** * The name of the cluster being deployed to. */ clusterName: string; /** * The namespace in Kubernetes to deploy to. */ namespace: string; /** * The naming convention of the release. */ releaseName: string; } export interface InfrastructureDefinitionTanzu { /** * The name of the cloud provider to connect with. */ cloudProviderName: string; /** * The PCF organization to use. */ organization: string; /** * The PCF space to deploy to. */ space: string; } export interface PlatformCcmFiltersFilterProperties { /** * Type of CCM filters. */ filterType: string; /** * Tags to associate with the resource. Tags should be in the form `name:value`. */ tags?: string[]; } export interface SshCredentialKerberosAuthentication { /** * Port to use for Kerberos authentication */ port: number; /** * Name of the principal for authentication */ principal: string; /** * Realm associated with the Kerberos authentication */ realm: string; /** * TGT generation method */ tgtGenerationMethod?: outputs.SshCredentialKerberosAuthenticationTgtGenerationMethod; } export interface SshCredentialKerberosAuthenticationTgtGenerationMethod { kerberosPasswordId?: string; keyTabFilePath?: string; } export interface SshCredentialSshAuthentication { /** * Inline SSH authentication configuration. Only ond of `passphraseSecretId` or `sshKeyFileId` should be used */ inlineSsh?: outputs.SshCredentialSshAuthenticationInlineSsh; /** * The port to connect to */ port: number; /** * Server password authentication configuration */ serverPassword?: outputs.SshCredentialSshAuthenticationServerPassword; /** * Use ssh key file for authentication */ sshKeyFile?: outputs.SshCredentialSshAuthenticationSshKeyFile; /** * The username to use when connecting to ssh */ username: string; } export interface SshCredentialSshAuthenticationInlineSsh { passphraseSecretId?: string; sshKeyFileId: string; } export interface SshCredentialSshAuthenticationServerPassword { passwordSecretId: string; } export interface SshCredentialSshAuthenticationSshKeyFile { passphraseSecretId?: string; path: string; } export interface SshCredentialUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: string; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: string; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: string; } export interface UserGroupLdapSettings { /** * The group DN of the LDAP user group. */ groupDn?: string; /** * The group name of the LDAP user group. */ groupName?: string; /** * The ID of the SSO provider. */ ssoProviderId?: string; } export interface UserGroupNotificationSettings { /** * The email addresses of the user group. */ groupEmailAddresses?: string[]; /** * The Microsoft Teams webhook URL of the user group. */ microsoftTeamsWebhookUrl?: string; /** * Indicates whether an email is sent when a new user is added to the group. */ sendMailToNewMembers?: boolean; /** * Enable this setting to have notifications sent to the members of this group. */ sendNotificationsToMembers?: boolean; /** * The Slack channel to send notifications to. */ slackChannel?: string; /** * The Slack webhook URL to send notifications to. */ slackWebhookUrl?: string; } export interface UserGroupPermissions { /** * The account permissions of the user group. Valid options are ADMINISTER*OTHER*ACCOUNT*FUNCTIONS, CREATE*AND*DELETE*APPLICATION, CREATE*CUSTOM*DASHBOARDS, MANAGE*ALERT*NOTIFICATION*RULES, MANAGE*API*KEYS, MANAGE*APPLICATION*STACKS, MANAGE*AUTHENTICATION*SETTINGS, MANAGE*CLOUD*PROVIDERS, MANAGE*CONFIG*AS*CODE, MANAGE*CONNECTORS, MANAGE*CUSTOM*DASHBOARDS, MANAGE*DELEGATE*PROFILES, MANAGE*DELEGATES, MANAGE*DEPLOYMENT*FREEZES, MANAGE*IP*WHITELIST, MANAGE*PIPELINE*GOVERNANCE*STANDARDS, MANAGE*RESTRICTED*ACCESS, MANAGE*SECRET*MANAGERS, MANAGE*SECRETS, MANAGE*SSH*AND*WINRM, MANAGE*TAGS, MANAGE*TEMPLATE*LIBRARY, MANAGE*USER*AND*USER*GROUPS*AND*API*KEYS, MANAGE*USERS*AND*GROUPS, READ*USERS*AND*GROUPS, VIEW*AUDITS, VIEW*USER*AND*USER*GROUPS*AND*API_KEYS */ accountPermissions?: string[]; /** * Application specific permissions */ appPermissions?: outputs.UserGroupPermissionsAppPermissions; } export interface UserGroupPermissionsAppPermissions { /** * The permission to perform actions against all resources. */ alls?: outputs.UserGroupPermissionsAppPermissionsAll[]; /** * Permission configuration to perform actions against deployments. */ deployments?: outputs.UserGroupPermissionsAppPermissionsDeployment[]; /** * Permission configuration to perform actions against workflows. */ environments?: outputs.UserGroupPermissionsAppPermissionsEnvironment[]; /** * Permission configuration to perform actions against pipelines. */ pipelines?: outputs.UserGroupPermissionsAppPermissionsPipeline[]; /** * Permission configuration to perform actions against provisioners. */ provisioners?: outputs.UserGroupPermissionsAppPermissionsProvisioner[]; /** * Permission configuration to perform actions against services. */ services?: outputs.UserGroupPermissionsAppPermissionsService[]; /** * Permission configuration to perform actions against templates. */ templates?: outputs.UserGroupPermissionsAppPermissionsTemplate[]; /** * Permission configuration to perform actions against workflows. */ workflows?: outputs.UserGroupPermissionsAppPermissionsWorkflow[]; } export interface UserGroupPermissionsAppPermissionsAll { actions: string[]; appIds?: string[]; } export interface UserGroupPermissionsAppPermissionsDeployment { actions: string[]; appIds?: string[]; envIds?: string[]; filters?: string[]; } export interface UserGroupPermissionsAppPermissionsEnvironment { actions: string[]; appIds?: string[]; envIds?: string[]; filters?: string[]; } export interface UserGroupPermissionsAppPermissionsPipeline { actions: string[]; appIds?: string[]; envIds?: string[]; filters?: string[]; } export interface UserGroupPermissionsAppPermissionsProvisioner { actions: string[]; appIds?: string[]; provisionerIds?: string[]; } export interface UserGroupPermissionsAppPermissionsService { actions: string[]; appIds?: string[]; serviceIds?: string[]; } export interface UserGroupPermissionsAppPermissionsTemplate { actions: string[]; appIds?: string[]; templateIds?: string[]; } export interface UserGroupPermissionsAppPermissionsWorkflow { actions: string[]; appIds?: string[]; filters?: string[]; } export interface UserGroupSamlSettings { /** * The group name of the SAML user group. */ groupName?: string; /** * The ID of the SSO provider. */ ssoProviderId?: string; } export declare namespace cloudprovider { interface AwsAssumeCrossAccountRole { /** * If the administrator of the account to which the role belongs provided you with an external ID, then enter that value. */ externalId?: string; /** * This is an IAM role in the target deployment AWS account. */ roleArn: string; } interface AwsUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: string; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: string; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: string; } interface DatacenterUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: string; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: string; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: string; } interface GcpUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: string; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: string; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: string; } interface KubernetesAuthentication { /** * Delegate selectors to inherit the GCP credentials from. */ delegateSelectors?: string[]; /** * Service account configuration for connecting to the Kubernetes cluster */ oidc?: outputs.cloudprovider.KubernetesAuthenticationOidc; /** * Username and password for authentication to the cluster */ serviceAccount?: outputs.cloudprovider.KubernetesAuthenticationServiceAccount; /** * Username and password for authentication to the cluster */ usernamePassword?: outputs.cloudprovider.KubernetesAuthenticationUsernamePassword; } interface KubernetesAuthenticationOidc { clientIdSecretName: string; clientSecretSecretName?: string; identityProviderUrl: string; masterUrl: string; passwordSecretName: string; scopes?: string[]; username: string; } interface KubernetesAuthenticationServiceAccount { caCertificateSecretName?: string; masterUrl: string; serviceAccountTokenSecretName: string; } interface KubernetesAuthenticationUsernamePassword { masterUrl: string; passwordSecretName: string; username?: string; usernameSecretName?: string; } interface KubernetesUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: string; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: string; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: string; } } export declare namespace platform { interface AppDynamicsConnectorApiToken { /** * The client id used for connecting to App Dynamics. */ clientId: string; /** * Reference to the Harness secret containing the App Dynamics client secret. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ clientSecretRef: string; } interface AppDynamicsConnectorUsernamePassword { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: string; /** * Username to use for authentication. */ username: string; } interface ArtifactoryConnectorCredentials { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: string; /** * Username to use for authentication. */ username?: string; /** * Reference to a secret containing the username to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: string; } interface AwsCCConnectorCrossAccountAccess { /** * The external id of the role to use for cross-account access. This is a random unique value to provide additional secure authentication. */ externalId: string; /** * The ARN of the role to use for cross-account access. */ roleArn: string; } interface AwsConnectorCrossAccountAccess { /** * If the administrator of the account to which the role belongs provided you with an external ID, then enter that value. */ externalId?: string; /** * The Amazon Resource Name (ARN) of the role that you want to assume. This is an IAM role in the target AWS account. */ roleArn: string; } interface AwsConnectorEqualJitterBackoffStrategy { /** * Base delay. */ baseDelay?: number; /** * Max BackOff Time. */ maxBackoffTime?: number; /** * Retry Count. */ retryCount?: number; } interface AwsConnectorFixedDelayBackoffStrategy { /** * Fixed Backoff. */ fixedBackoff?: number; /** * Retry Count. */ retryCount?: number; } interface AwsConnectorFullJitterBackoffStrategy { /** * Base delay. */ baseDelay?: number; /** * Max BackOff Time. */ maxBackoffTime?: number; /** * Retry Count. */ retryCount?: number; } interface AwsConnectorInheritFromDelegate { /** * The delegates to inherit the credentials from. */ delegateSelectors: string[]; } interface AwsConnectorIrsa { /** * The delegates to inherit the credentials from. */ delegateSelectors: string[]; } interface AwsConnectorManual { /** * AWS access key. */ accessKey?: string; /** * Reference to the Harness secret containing the aws access key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ accessKeyRef?: string; /** * Connect only use delegates with these tags. */ delegateSelectors?: string[]; /** * Reference to the Harness secret containing the aws secret key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ secretKeyRef: string; } interface AwsKmsConnectorCredentials { /** * Connect using STS assume role. */ assumeRole?: outputs.platform.AwsKmsConnectorCredentialsAssumeRole; /** * Inherit the credentials from from the delegate. */ inheritFromDelegate?: boolean; /** * Specify the AWS key and secret used for authenticating. */ manual?: outputs.platform.AwsKmsConnectorCredentialsManual; } interface AwsKmsConnectorCredentialsAssumeRole { duration: number; externalId?: string; roleArn: string; } interface AwsKmsConnectorCredentialsManual { accessKeyRef: string; secretKeyRef: string; } interface AwsSecretManagerConnectorCredentials { /** * Connect using STS assume role. */ assumeRole?: outputs.platform.AwsSecretManagerConnectorCredentialsAssumeRole; /** * Inherit the credentials from from the delegate. */ inheritFromDelegate?: boolean; /** * Specify the AWS key and secret used for authenticating. */ manual?: outputs.platform.AwsSecretManagerConnectorCredentialsManual; } interface AwsSecretManagerConnectorCredentialsAssumeRole { duration: number; externalId?: string; roleArn: string; } interface AwsSecretManagerConnectorCredentialsManual { accessKeyRef: string; secretKeyRef: string; } interface AzureCloudCostConnectorBillingExportSpec { /** * Name of the container. */ containerName: string; /** * Name of the directory. */ directoryName: string; /** * Name of the report. */ reportName: string; /** * Name of the storage account. */ storageAccountName: string; /** * Subsription Id. */ subscriptionId: string; } interface AzureCloudProviderConnectorCredentials { /** * Authenticate to Azure Cloud Provider using details inheriting from delegate. */ azureInheritFromDelegateDetails?: outputs.platform.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetails; /** * Authenticate to Azure Cloud Provider using manual details. */ azureManualDetails?: outputs.platform.AzureCloudProviderConnectorCredentialsAzureManualDetails; /** * Type can either be InheritFromDelegate or ManualConfig. */ type: string; } interface AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetails { auth?: outputs.platform.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuth; } interface AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuth { azureMsiAuthUa?: outputs.platform.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthAzureMsiAuthUa; type: string; } interface AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthAzureMsiAuthUa { clientId?: string; } interface AzureCloudProviderConnectorCredentialsAzureManualDetails { applicationId?: string; auth?: outputs.platform.AzureCloudProviderConnectorCredentialsAzureManualDetailsAuth; tenantId?: string; } interface AzureCloudProviderConnectorCredentialsAzureManualDetailsAuth { azureClientKeyCert?: outputs.platform.AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientKeyCert; azureClientSecretKey?: outputs.platform.AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientSecretKey; type?: string; } interface AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientKeyCert { certificateRef?: string; } interface AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientSecretKey { secretRef?: string; } interface BitbucketConnectorApiAuthentication { /** * Personal access token for interacting with the BitBucket api. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ tokenRef: string; /** * The username used for connecting to the api. */ username?: string; /** * The name of the Harness secret containing the username. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: string; } interface BitbucketConnectorCredentials { /** * Authenticate using Username and password over http(s) for the connection. */ http?: outputs.platform.BitbucketConnectorCredentialsHttp; /** * Authenticate using SSH for the connection. */ ssh?: outputs.platform.BitbucketConnectorCredentialsSsh; } interface BitbucketConnectorCredentialsHttp { passwordRef?: string; username?: string; usernameRef?: string; } interface BitbucketConnectorCredentialsSsh { sshKeyRef: string; } interface DockerConnectorCredentials { /** * The reference to the Harness secret containing the password to use for the docker registry. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: string; /** * The username to use for the docker registry. */ username?: string; /** * The reference to the Harness secret containing the username to use for the docker registry. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: string; } interface ElasticsearchConnectorApiToken { /** * The client id used for connecting to ElasticSearch. */ clientId: string; /** * Reference to the Harness secret containing the ElasticSearch client secret. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ clientSecretRef: string; } interface ElasticsearchConnectorNoAuthentication { } interface ElasticsearchConnectorUsernamePassword { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: string; /** * Username to use for authentication. */ username: string; } interface EnvironmentClustersMappingCluster { /** * account Identifier of the account */ identifier?: string; /** * name of the cluster */ name?: string; /** * scope at which the cluster exists in harness gitops, project vs org vs account */ scope?: string; } interface FeatureFlagGitDetails { /** * The commit message to use as part of a gitsync operation */ commitMsg: string; } interface FeatureFlagVariation { /** * The description of the variation */ description: string; /** * The identifier of the variation */ identifier: string; /** * The user friendly name of the variation */ name: string; /** * The value of the variation */ value: string; } interface FiltersFilterProperties { /** * Corresponding Entity of the filter. Currently supported types are {Connector, DelegateProfile, Delegate, EnvironmentGroup, FileStore, Environment}. */ filterType: string; /** * Tags to associate with the resource. Tags should be in the form `name:value`. */ tags?: string[]; } interface GcpCloudCostConnectorBillingExportSpec { /** * Data Set Id. */ dataSetId: string; /** * Table Id. */ tableId: string; } interface GcpConnectorInheritFromDelegate { /** * The delegates to inherit the credentials from. */ delegateSelectors: string[]; } interface GcpConnectorManual { /** * The delegates to connect with. */ delegateSelectors: string[]; /** * Reference to the Harness secret containing the secret key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ secretKeyRef: string; } interface GetAppDynamicsConnectorApiToken { clientId: string; clientSecretRef: string; } interface GetAppDynamicsConnectorUsernamePassword { passwordRef: string; username: string; } interface GetArtifactoryConnectorCredential { passwordRef: string; username: string; usernameRef: string; } interface GetAwsCCConnectorCrossAccountAccess { externalId: string; roleArn: string; } interface GetAwsConnectorCrossAccountAccess { /** * If the administrator of the account to which the role belongs provided you with an external ID, then enter that value. */ externalId: string; /** * The Amazon Resource Name (ARN) of the role that you want to assume. This is an IAM role in the target AWS account. */ roleArn: string; } interface GetAwsConnectorEqualJitterBackoffStrategy { /** * Base delay. */ baseDelay: number; /** * Max BackOff Time. */ maxBackoffTime: number; /** * Retry Count. */ retryCount: number; } interface GetAwsConnectorFixedDelayBackoffStrategy { /** * Fixed Backoff. */ fixedBackoff: number; /** * Retry Count. */ retryCount: number; } interface GetAwsConnectorFullJitterBackoffStrategy { /** * Base delay. */ baseDelay: number; /** * Max BackOff Time. */ maxBackoffTime: number; /** * Retry Count. */ retryCount: number; } interface GetAwsConnectorInheritFromDelegate { /** * The delegates to inherit the credentials from. */ delegateSelectors: string[]; } interface GetAwsConnectorIrsa { /** * The delegates to inherit the credentials from. */ delegateSelectors: string[]; } interface GetAwsConnectorManual { /** * AWS access key. */ accessKey: string; /** * Reference to the Harness secret containing the aws access key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ accessKeyRef: string; /** * Connect only use delegates with these tags. */ delegateSelectors: string[]; /** * Reference to the Harness secret containing the aws secret key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ secretKeyRef: string; } interface GetAwsKmsConnectorCredential { assumeRoles: outputs.platform.GetAwsKmsConnectorCredentialAssumeRole[]; inheritFromDelegate: boolean; manuals: outputs.platform.GetAwsKmsConnectorCredentialManual[]; } interface GetAwsKmsConnectorCredentialAssumeRole { duration: number; externalId: string; roleArn: string; } interface GetAwsKmsConnectorCredentialManual { accessKeyRef: string; secretKeyRef: string; } interface GetAwsSecretManagerConnectorCredential { assumeRoles: outputs.platform.GetAwsSecretManagerConnectorCredentialAssumeRole[]; inheritFromDelegate: boolean; manuals: outputs.platform.GetAwsSecretManagerConnectorCredentialManual[]; } interface GetAwsSecretManagerConnectorCredentialAssumeRole { duration: number; externalId: string; roleArn: string; } interface GetAwsSecretManagerConnectorCredentialManual { accessKeyRef: string; secretKeyRef: string; } interface GetAzureCloudCostConnectorBillingExportSpec { containerName: string; directoryName: string; reportName: string; storageAccountName: string; /** * Subsription id. */ subscriptionId: string; } interface GetAzureCloudProviderConnectorCredential { azureInheritFromDelegateDetails: outputs.platform.GetAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetail[]; azureManualDetails: outputs.platform.GetAzureCloudProviderConnectorCredentialAzureManualDetail[]; type: string; } interface GetAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetail { auths: outputs.platform.GetAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetailAuth[]; } interface GetAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetailAuth { azureMsiAuthUas: outputs.platform.GetAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetailAuthAzureMsiAuthUa[]; type: string; } interface GetAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetailAuthAzureMsiAuthUa { clientId: string; } interface GetAzureCloudProviderConnectorCredentialAzureManualDetail { applicationId: string; auths: outputs.platform.GetAzureCloudProviderConnectorCredentialAzureManualDetailAuth[]; tenantId: string; } interface GetAzureCloudProviderConnectorCredentialAzureManualDetailAuth { azureClientKeyCerts: outputs.platform.GetAzureCloudProviderConnectorCredentialAzureManualDetailAuthAzureClientKeyCert[]; azureClientSecretKeys: outputs.platform.GetAzureCloudProviderConnectorCredentialAzureManualDetailAuthAzureClientSecretKey[]; type: string; } interface GetAzureCloudProviderConnectorCredentialAzureManualDetailAuthAzureClientKeyCert { certificateRef: string; } interface GetAzureCloudProviderConnectorCredentialAzureManualDetailAuthAzureClientSecretKey { secretRef: string; } interface GetBitbucketConnectorApiAuthentication { tokenRef: string; username: string; usernameRef: string; } interface GetBitbucketConnectorCredential { https: outputs.platform.GetBitbucketConnectorCredentialHttp[]; sshes: outputs.platform.GetBitbucketConnectorCredentialSsh[]; } interface GetBitbucketConnectorCredentialHttp { passwordRef: string; username: string; usernameRef: string; } interface GetBitbucketConnectorCredentialSsh { sshKeyRef: string; } interface GetCcmFiltersFilterProperty { filterType: string; tags: string[]; } interface GetDockerConnectorCredential { passwordRef: string; username: string; usernameRef: string; } interface GetElasticsearchConnectorApiToken { /** * The client id used for connecting to ElasticSearch. */ clientId: string; /** * Reference to the Harness secret containing the ElasticSearch client secret. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ clientSecretRef: string; } interface GetElasticsearchConnectorUsernamePassword { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: string; /** * Username to use for authentication. */ username: string; } interface GetFiltersFilterProperty { filterType: string; tags: string[]; } interface GetGcpCloudCostConnectorBillingExportSpec { dataSetId: string; tableId: string; } interface GetGcpConnectorInheritFromDelegate { delegateSelectors: string[]; } interface GetGcpConnectorManual { delegateSelectors: string[]; secretKeyRef: string; } interface GetGitConnectorCredential { https: outputs.platform.GetGitConnectorCredentialHttp[]; sshes: outputs.platform.GetGitConnectorCredentialSsh[]; } interface GetGitConnectorCredentialHttp { passwordRef: string; username: string; usernameRef: string; } interface GetGitConnectorCredentialSsh { sshKeyRef: string; } interface GetGithubConnectorApiAuthentication { githubApps: outputs.platform.GetGithubConnectorApiAuthenticationGithubApp[]; tokenRef: string; } interface GetGithubConnectorApiAuthenticationGithubApp { applicationId: string; applicationIdRef: string; installationId: string; installationIdRef: string; privateKeyRef: string; } interface GetGithubConnectorCredential { https: outputs.platform.GetGithubConnectorCredentialHttp[]; sshes: outputs.platform.GetGithubConnectorCredentialSsh[]; } interface GetGithubConnectorCredentialHttp { tokenRef: string; username: string; usernameRef: string; } interface GetGithubConnectorCredentialSsh { sshKeyRef: string; } interface GetGitlabConnectorApiAuthentication { tokenRef: string; } interface GetGitlabConnectorCredential { https: outputs.platform.GetGitlabConnectorCredentialHttp[]; sshes: outputs.platform.GetGitlabConnectorCredentialSsh[]; } interface GetGitlabConnectorCredentialHttp { passwordRef: string; tokenRef: string; username: string; usernameRef: string; } interface GetGitlabConnectorCredentialSsh { sshKeyRef: string; } interface GetGitopsAgentMetadata { highAvailability: boolean; namespace: string; } interface GetGitopsApplicationsApplication { /** * Metadata corresponding to the resources. This includes all the objects a user must create. */ metadatas?: outputs.platform.GetGitopsApplicationsApplicationMetadata[]; /** * Specifications of the GitOps application. This includes the repository URL, application definition, source, destination and sync policy. */ specs?: outputs.platform.GetGitopsApplicationsApplicationSpec[]; } interface GetGitopsApplicationsApplicationMetadata { annotations: { [key: string]: string; }; clusterName?: string; finalizers: string[]; generateName?: string; generation: string; labels: { [key: string]: string; }; /** * Name of the GitOps application. */ name?: string; namespace: string; ownerReferences?: outputs.platform.GetGitopsApplicationsApplicationMetadataOwnerReference[]; uid: string; } interface GetGitopsApplicationsApplicationMetadataOwnerReference { apiVersion?: string; blockOwnerDeletion?: boolean; controller?: boolean; /** * Kind of the GitOps application. */ kind?: string; /** * Name of the GitOps application. */ name?: string; uid?: string; } interface GetGitopsApplicationsApplicationSpec { destinations?: outputs.platform.GetGitopsApplicationsApplicationSpecDestination[]; sources?: outputs.platform.GetGitopsAp