UNPKG

@lbrlabs/pulumi-harness

Version:

A Pulumi package for creating and managing Harness resources.

1,339 lines 133 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; export interface EncryptedTextUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input<string>; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input<string>; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input<string>; } export interface EnvironmentVariableOverride { /** * The name of the variable */ name: pulumi.Input<string>; /** * The name of the service */ serviceName?: pulumi.Input<string>; /** * The type of the service variable. Valid values are `TEXT` and `ENCRYPTED_TEXT` */ type: pulumi.Input<string>; /** * The value of the service variable */ value: pulumi.Input<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 GetEncryptedTextUsageScopeArgs { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input<string>; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input<string>; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input<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 GetEnvironmentVariableOverrideArgs { /** * The name of the variable */ name?: pulumi.Input<string>; /** * The name of the service */ serviceName?: pulumi.Input<string>; /** * The type of the service variable. Valid values are `TEXT` and `ENCRYPTED_TEXT` */ type?: pulumi.Input<string>; /** * The value of the service variable */ value?: pulumi.Input<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 GetSecretManagerUsageScopeArgs { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input<string>; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input<string>; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input<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 GetSshCredentialUsageScopeArgs { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input<string>; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input<string>; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input<string>; } export interface GitConnectorCommitDetails { /** * The email id of the author */ authorEmailId?: pulumi.Input<string>; /** * The name of the author */ authorName?: pulumi.Input<string>; /** * Commit message */ message?: pulumi.Input<string>; } export interface GitConnectorUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input<string>; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input<string>; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input<string>; } export interface InfrastructureDefinitionAwsAmi { /** * The ami deployment type to use. Valid options are AWS_ASG, SPOTINST */ amiDeploymentType: pulumi.Input<string>; /** * Flag to indicate whether the autoscaling group identifies the workload. */ asgIdentifiesWorkload?: pulumi.Input<boolean>; /** * The name of the autoscaling group. */ autoscalingGroupName?: pulumi.Input<string>; /** * The classic load balancers to use. */ classicLoadbalancers?: pulumi.Input<pulumi.Input<string>[]>; /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input<string>; /** * The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]} */ hostnameConvention?: pulumi.Input<string>; /** * The region to deploy to. */ region: pulumi.Input<string>; /** * The name of the SpotInst cloud provider to connect with. */ spotinstCloudProviderName?: pulumi.Input<string>; /** * The SpotInst configuration to use. */ spotinstConfigJson?: pulumi.Input<string>; /** * The staging classic load balancers to use. */ stageClassicLoadbalancers?: pulumi.Input<pulumi.Input<string>[]>; /** * The staging classic load balancers to use. */ stageTargetGroupArns?: pulumi.Input<pulumi.Input<string>[]>; /** * The ARN's of the target groups. */ targetGroupArns?: pulumi.Input<pulumi.Input<string>[]>; /** * Flag to enable traffic shifting. */ useTrafficShift?: pulumi.Input<boolean>; } export interface InfrastructureDefinitionAwsEcs { /** * Flag to assign a public IP address. */ assignPublicIp?: pulumi.Input<boolean>; /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input<string>; /** * The name of the ECS cluster to use. */ clusterName: pulumi.Input<string>; /** * The ARN of the role to use for execution. */ executionRole?: pulumi.Input<string>; /** * The type of launch configuration to use. Valid options are FARGATE */ launchType: pulumi.Input<string>; /** * The region to deploy to. */ region: pulumi.Input<string>; /** * The security group ids to apply to the ecs service. */ securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>; /** * The subnet ids to apply to the ecs service. */ subnetIds?: pulumi.Input<pulumi.Input<string>[]>; /** * The VPC ids to use when selecting the instances. */ vpcId?: pulumi.Input<string>; } export interface InfrastructureDefinitionAwsLambda { /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input<string>; /** * The IAM role to use. */ iamRole?: pulumi.Input<string>; /** * The region to deploy to. */ region: pulumi.Input<string>; /** * The security group ids to apply to the ecs service. */ securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>; /** * The subnet ids to apply to the ecs service. */ subnetIds?: pulumi.Input<pulumi.Input<string>[]>; /** * The VPC ids to use when selecting the instances. */ vpcId?: pulumi.Input<string>; } export interface InfrastructureDefinitionAwsSsh { /** * The name of the autoscaling group. */ autoscalingGroupName?: pulumi.Input<string>; /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input<string>; /** * The desired capacity of the auto scaling group. */ desiredCapacity?: pulumi.Input<number>; /** * The name of the host connection attributes to use. */ hostConnectionAttrsName?: pulumi.Input<string>; /** * The type of host connection to use. Valid options are PRIVATE*DNS, PUBLIC*DNS, PRIVATE*IP, PUBLIC*IP */ hostConnectionType: pulumi.Input<string>; /** * The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]} */ hostnameConvention?: pulumi.Input<string>; /** * The name of the load balancer to use. */ loadbalancerName?: pulumi.Input<string>; /** * The region to deploy to. */ region: pulumi.Input<string>; /** * The tags to use when selecting the instances. */ tags?: pulumi.Input<pulumi.Input<inputs.InfrastructureDefinitionAwsSshTag>[]>; /** * The VPC ids to use when selecting the instances. */ vpcIds?: pulumi.Input<pulumi.Input<string>[]>; } export interface InfrastructureDefinitionAwsSshTag { key: pulumi.Input<string>; value: pulumi.Input<string>; } export interface InfrastructureDefinitionAwsWinrm { /** * The name of the autoscaling group. */ autoscalingGroupName: pulumi.Input<string>; /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input<string>; /** * The desired capacity of the autoscaling group. */ desiredCapacity?: pulumi.Input<number>; /** * The name of the host connection attributes to use. */ hostConnectionAttrsName: pulumi.Input<string>; /** * The type of host connection to use. Valid options are PRIVATE*DNS, PUBLIC*DNS, PRIVATE*IP, PUBLIC*IP */ hostConnectionType: pulumi.Input<string>; /** * The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]} */ hostnameConvention?: pulumi.Input<string>; /** * The name of the load balancer to use. */ loadbalancerName?: pulumi.Input<string>; /** * The region to deploy to. */ region: pulumi.Input<string>; } export interface InfrastructureDefinitionAzureVmss { /** * The type of authentication to use. Valid options are SSH*PUBLIC*KEY. */ authType: pulumi.Input<string>; /** * Base name. */ baseName: pulumi.Input<string>; /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input<string>; /** * The type of deployment. Valid options are NATIVE_VMSS */ deploymentType: pulumi.Input<string>; /** * The name of the host connection attributes to use. */ hostConnectionAttrsName?: pulumi.Input<string>; /** * The name of the resource group. */ resourceGroupName: pulumi.Input<string>; /** * The unique id of the azure subscription. */ subscriptionId: pulumi.Input<string>; /** * The username to connect with. */ username: pulumi.Input<string>; } export interface InfrastructureDefinitionAzureWebapp { /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input<string>; /** * The name of the resource group. */ resourceGroup: pulumi.Input<string>; /** * The unique id of the azure subscription. */ subscriptionId: pulumi.Input<string>; } export interface InfrastructureDefinitionCustom { /** * The template version */ deploymentTypeTemplateVersion: pulumi.Input<string>; /** * Variables to be used in the service */ variables?: pulumi.Input<pulumi.Input<inputs.InfrastructureDefinitionCustomVariable>[]>; } export interface InfrastructureDefinitionCustomVariable { /** * The name of the infrastructure definition */ name: pulumi.Input<string>; value: pulumi.Input<string>; } export interface InfrastructureDefinitionDatacenterSsh { /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input<string>; /** * The name of the SSH connection attributes to use. */ hostConnectionAttributesName: pulumi.Input<string>; /** * A list of hosts to deploy to. */ hostnames: pulumi.Input<pulumi.Input<string>[]>; } export interface InfrastructureDefinitionDatacenterWinrm { /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input<string>; /** * A list of hosts to deploy to. */ hostnames: pulumi.Input<pulumi.Input<string>[]>; /** * The name of the WinRM connection attributes to use. */ winrmConnectionAttributesName: pulumi.Input<string>; } export interface InfrastructureDefinitionKubernetes { /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input<string>; /** * The namespace in Kubernetes to deploy to. */ namespace: pulumi.Input<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: pulumi.Input<string>; } export interface InfrastructureDefinitionKubernetesGcp { /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input<string>; /** * The name of the cluster being deployed to. */ clusterName: pulumi.Input<string>; /** * The namespace in Kubernetes to deploy to. */ namespace: pulumi.Input<string>; /** * The naming convention of the release. */ releaseName: pulumi.Input<string>; } export interface InfrastructureDefinitionTanzu { /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input<string>; /** * The PCF organization to use. */ organization: pulumi.Input<string>; /** * The PCF space to deploy to. */ space: pulumi.Input<string>; } export interface PlatformCcmFiltersFilterProperties { /** * Type of CCM filters. */ filterType: pulumi.Input<string>; /** * Tags to associate with the resource. Tags should be in the form `name:value`. */ tags?: pulumi.Input<pulumi.Input<string>[]>; } export interface SshCredentialKerberosAuthentication { /** * Port to use for Kerberos authentication */ port: pulumi.Input<number>; /** * Name of the principal for authentication */ principal: pulumi.Input<string>; /** * Realm associated with the Kerberos authentication */ realm: pulumi.Input<string>; /** * TGT generation method */ tgtGenerationMethod?: pulumi.Input<inputs.SshCredentialKerberosAuthenticationTgtGenerationMethod>; } export interface SshCredentialKerberosAuthenticationTgtGenerationMethod { kerberosPasswordId?: pulumi.Input<string>; keyTabFilePath?: pulumi.Input<string>; } export interface SshCredentialSshAuthentication { /** * Inline SSH authentication configuration. Only ond of `passphraseSecretId` or `sshKeyFileId` should be used */ inlineSsh?: pulumi.Input<inputs.SshCredentialSshAuthenticationInlineSsh>; /** * The port to connect to */ port: pulumi.Input<number>; /** * Server password authentication configuration */ serverPassword?: pulumi.Input<inputs.SshCredentialSshAuthenticationServerPassword>; /** * Use ssh key file for authentication */ sshKeyFile?: pulumi.Input<inputs.SshCredentialSshAuthenticationSshKeyFile>; /** * The username to use when connecting to ssh */ username: pulumi.Input<string>; } export interface SshCredentialSshAuthenticationInlineSsh { passphraseSecretId?: pulumi.Input<string>; sshKeyFileId: pulumi.Input<string>; } export interface SshCredentialSshAuthenticationServerPassword { passwordSecretId: pulumi.Input<string>; } export interface SshCredentialSshAuthenticationSshKeyFile { passphraseSecretId?: pulumi.Input<string>; path: pulumi.Input<string>; } export interface SshCredentialUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input<string>; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input<string>; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input<string>; } export interface UserGroupLdapSettings { /** * The group DN of the LDAP user group. */ groupDn?: pulumi.Input<string>; /** * The group name of the LDAP user group. */ groupName?: pulumi.Input<string>; /** * The ID of the SSO provider. */ ssoProviderId?: pulumi.Input<string>; } export interface UserGroupNotificationSettings { /** * The email addresses of the user group. */ groupEmailAddresses?: pulumi.Input<pulumi.Input<string>[]>; /** * The Microsoft Teams webhook URL of the user group. */ microsoftTeamsWebhookUrl?: pulumi.Input<string>; /** * Indicates whether an email is sent when a new user is added to the group. */ sendMailToNewMembers?: pulumi.Input<boolean>; /** * Enable this setting to have notifications sent to the members of this group. */ sendNotificationsToMembers?: pulumi.Input<boolean>; /** * The Slack channel to send notifications to. */ slackChannel?: pulumi.Input<string>; /** * The Slack webhook URL to send notifications to. */ slackWebhookUrl?: pulumi.Input<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?: pulumi.Input<pulumi.Input<string>[]>; /** * Application specific permissions */ appPermissions?: pulumi.Input<inputs.UserGroupPermissionsAppPermissions>; } export interface UserGroupPermissionsAppPermissions { /** * The permission to perform actions against all resources. */ alls?: pulumi.Input<pulumi.Input<inputs.UserGroupPermissionsAppPermissionsAll>[]>; /** * Permission configuration to perform actions against deployments. */ deployments?: pulumi.Input<pulumi.Input<inputs.UserGroupPermissionsAppPermissionsDeployment>[]>; /** * Permission configuration to perform actions against workflows. */ environments?: pulumi.Input<pulumi.Input<inputs.UserGroupPermissionsAppPermissionsEnvironment>[]>; /** * Permission configuration to perform actions against pipelines. */ pipelines?: pulumi.Input<pulumi.Input<inputs.UserGroupPermissionsAppPermissionsPipeline>[]>; /** * Permission configuration to perform actions against provisioners. */ provisioners?: pulumi.Input<pulumi.Input<inputs.UserGroupPermissionsAppPermissionsProvisioner>[]>; /** * Permission configuration to perform actions against services. */ services?: pulumi.Input<pulumi.Input<inputs.UserGroupPermissionsAppPermissionsService>[]>; /** * Permission configuration to perform actions against templates. */ templates?: pulumi.Input<pulumi.Input<inputs.UserGroupPermissionsAppPermissionsTemplate>[]>; /** * Permission configuration to perform actions against workflows. */ workflows?: pulumi.Input<pulumi.Input<inputs.UserGroupPermissionsAppPermissionsWorkflow>[]>; } export interface UserGroupPermissionsAppPermissionsAll { actions: pulumi.Input<pulumi.Input<string>[]>; appIds?: pulumi.Input<pulumi.Input<string>[]>; } export interface UserGroupPermissionsAppPermissionsDeployment { actions: pulumi.Input<pulumi.Input<string>[]>; appIds?: pulumi.Input<pulumi.Input<string>[]>; envIds?: pulumi.Input<pulumi.Input<string>[]>; filters?: pulumi.Input<pulumi.Input<string>[]>; } export interface UserGroupPermissionsAppPermissionsEnvironment { actions: pulumi.Input<pulumi.Input<string>[]>; appIds?: pulumi.Input<pulumi.Input<string>[]>; envIds?: pulumi.Input<pulumi.Input<string>[]>; filters?: pulumi.Input<pulumi.Input<string>[]>; } export interface UserGroupPermissionsAppPermissionsPipeline { actions: pulumi.Input<pulumi.Input<string>[]>; appIds?: pulumi.Input<pulumi.Input<string>[]>; envIds?: pulumi.Input<pulumi.Input<string>[]>; filters?: pulumi.Input<pulumi.Input<string>[]>; } export interface UserGroupPermissionsAppPermissionsProvisioner { actions: pulumi.Input<pulumi.Input<string>[]>; appIds?: pulumi.Input<pulumi.Input<string>[]>; provisionerIds?: pulumi.Input<pulumi.Input<string>[]>; } export interface UserGroupPermissionsAppPermissionsService { actions: pulumi.Input<pulumi.Input<string>[]>; appIds?: pulumi.Input<pulumi.Input<string>[]>; serviceIds?: pulumi.Input<pulumi.Input<string>[]>; } export interface UserGroupPermissionsAppPermissionsTemplate { actions: pulumi.Input<pulumi.Input<string>[]>; appIds?: pulumi.Input<pulumi.Input<string>[]>; templateIds?: pulumi.Input<pulumi.Input<string>[]>; } export interface UserGroupPermissionsAppPermissionsWorkflow { actions: pulumi.Input<pulumi.Input<string>[]>; appIds?: pulumi.Input<pulumi.Input<string>[]>; filters?: pulumi.Input<pulumi.Input<string>[]>; } export interface UserGroupSamlSettings { /** * The group name of the SAML user group. */ groupName?: pulumi.Input<string>; /** * The ID of the SSO provider. */ ssoProviderId?: pulumi.Input<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?: pulumi.Input<string>; /** * This is an IAM role in the target deployment AWS account. */ roleArn: pulumi.Input<string>; } interface AwsUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input<string>; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input<string>; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input<string>; } interface DatacenterUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input<string>; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input<string>; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input<string>; } interface GcpUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input<string>; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input<string>; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input<string>; } interface KubernetesAuthentication { /** * Delegate selectors to inherit the GCP credentials from. */ delegateSelectors?: pulumi.Input<pulumi.Input<string>[]>; /** * Service account configuration for connecting to the Kubernetes cluster */ oidc?: pulumi.Input<inputs.cloudprovider.KubernetesAuthenticationOidc>; /** * Username and password for authentication to the cluster */ serviceAccount?: pulumi.Input<inputs.cloudprovider.KubernetesAuthenticationServiceAccount>; /** * Username and password for authentication to the cluster */ usernamePassword?: pulumi.Input<inputs.cloudprovider.KubernetesAuthenticationUsernamePassword>; } interface KubernetesAuthenticationOidc { clientIdSecretName: pulumi.Input<string>; clientSecretSecretName?: pulumi.Input<string>; identityProviderUrl: pulumi.Input<string>; masterUrl: pulumi.Input<string>; passwordSecretName: pulumi.Input<string>; scopes?: pulumi.Input<pulumi.Input<string>[]>; username: pulumi.Input<string>; } interface KubernetesAuthenticationServiceAccount { caCertificateSecretName?: pulumi.Input<string>; masterUrl: pulumi.Input<string>; serviceAccountTokenSecretName: pulumi.Input<string>; } interface KubernetesAuthenticationUsernamePassword { masterUrl: pulumi.Input<string>; passwordSecretName: pulumi.Input<string>; username?: pulumi.Input<string>; usernameSecretName?: pulumi.Input<string>; } interface KubernetesUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input<string>; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input<string>; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input<string>; } } export declare namespace platform { interface AppDynamicsConnectorApiToken { /** * The client id used for connecting to App Dynamics. */ clientId: pulumi.Input<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: pulumi.Input<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: pulumi.Input<string>; /** * Username to use for authentication. */ username: pulumi.Input<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: pulumi.Input<string>; /** * Username to use for authentication. */ username?: pulumi.Input<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?: pulumi.Input<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: pulumi.Input<string>; /** * The ARN of the role to use for cross-account access. */ roleArn: pulumi.Input<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?: pulumi.Input<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: pulumi.Input<string>; } interface AwsConnectorEqualJitterBackoffStrategy { /** * Base delay. */ baseDelay?: pulumi.Input<number>; /** * Max BackOff Time. */ maxBackoffTime?: pulumi.Input<number>; /** * Retry Count. */ retryCount?: pulumi.Input<number>; } interface AwsConnectorFixedDelayBackoffStrategy { /** * Fixed Backoff. */ fixedBackoff?: pulumi.Input<number>; /** * Retry Count. */ retryCount?: pulumi.Input<number>; } interface AwsConnectorFullJitterBackoffStrategy { /** * Base delay. */ baseDelay?: pulumi.Input<number>; /** * Max BackOff Time. */ maxBackoffTime?: pulumi.Input<number>; /** * Retry Count. */ retryCount?: pulumi.Input<number>; } interface AwsConnectorInheritFromDelegate { /** * The delegates to inherit the credentials from. */ delegateSelectors: pulumi.Input<pulumi.Input<string>[]>; } interface AwsConnectorIrsa { /** * The delegates to inherit the credentials from. */ delegateSelectors: pulumi.Input<pulumi.Input<string>[]>; } interface AwsConnectorManual { /** * AWS access key. */ accessKey?: pulumi.Input<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?: pulumi.Input<string>; /** * Connect only use delegates with these tags. */ delegateSelectors?: pulumi.Input<pulumi.Input<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: pulumi.Input<string>; } interface AwsKmsConnectorCredentials { /** * Connect using STS assume role. */ assumeRole?: pulumi.Input<inputs.platform.AwsKmsConnectorCredentialsAssumeRole>; /** * Inherit the credentials from from the delegate. */ inheritFromDelegate?: pulumi.Input<boolean>; /** * Specify the AWS key and secret used for authenticating. */ manual?: pulumi.Input<inputs.platform.AwsKmsConnectorCredentialsManual>; } interface AwsKmsConnectorCredentialsAssumeRole { duration: pulumi.Input<number>; externalId?: pulumi.Input<string>; roleArn: pulumi.Input<string>; } interface AwsKmsConnectorCredentialsManual { accessKeyRef: pulumi.Input<string>; secretKeyRef: pulumi.Input<string>; } interface AwsSecretManagerConnectorCredentials { /** * Connect using STS assume role. */ assumeRole?: pulumi.Input<inputs.platform.AwsSecretManagerConnectorCredentialsAssumeRole>; /** * Inherit the credentials from from the delegate. */ inheritFromDelegate?: pulumi.Input<boolean>; /** * Specify the AWS key and secret used for authenticating. */ manual?: pulumi.Input<inputs.platform.AwsSecretManagerConnectorCredentialsManual>; } interface AwsSecretManagerConnectorCredentialsAssumeRole { duration: pulumi.Input<number>; externalId?: pulumi.Input<string>; roleArn: pulumi.Input<string>; } interface AwsSecretManagerConnectorCredentialsManual { accessKeyRef: pulumi.Input<string>; secretKeyRef: pulumi.Input<string>; } interface AzureCloudCostConnectorBillingExportSpec { /** * Name of the container. */ containerName: pulumi.Input<string>; /** * Name of the directory. */ directoryName: pulumi.Input<string>; /** * Name of the report. */ reportName: pulumi.Input<string>; /** * Name of the storage account. */ storageAccountName: pulumi.Input<string>; /** * Subsription Id. */ subscriptionId: pulumi.Input<string>; } interface AzureCloudProviderConnectorCredentials { /** * Authenticate to Azure Cloud Provider using details inheriting from delegate. */ azureInheritFromDelegateDetails?: pulumi.Input<inputs.platform.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetails>; /** * Authenticate to Azure Cloud Provider using manual details. */ azureManualDetails?: pulumi.Input<inputs.platform.AzureCloudProviderConnectorCredentialsAzureManualDetails>; /** * Type can either be InheritFromDelegate or ManualConfig. */ type: pulumi.Input<string>; } interface AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetails { auth?: pulumi.Input<inputs.platform.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuth>; } interface AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuth { azureMsiAuthUa?: pulumi.Input<inputs.platform.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthAzureMsiAuthUa>; type: pulumi.Input<string>; } interface AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthAzureMsiAuthUa { clientId?: pulumi.Input<string>; } interface AzureCloudProviderConnectorCredentialsAzureManualDetails { applicationId?: pulumi.Input<string>; auth?: pulumi.Input<inputs.platform.AzureCloudProviderConnectorCredentialsAzureManualDetailsAuth>; tenantId?: pulumi.Input<string>; } interface AzureCloudProviderConnectorCredentialsAzureManualDetailsAuth { azureClientKeyCert?: pulumi.Input<inputs.platform.AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientKeyCert>; azureClientSecretKey?: pulumi.Input<inputs.platform.AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientSecretKey>; type?: pulumi.Input<string>; } interface AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientKeyCert { certificateRef?: pulumi.Input<string>; } interface AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientSecretKey { secretRef?: pulumi.Input<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: pulumi.Input<string>; /** * The username used for connecting to the api. */ username?: pulumi.Input<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?: pulumi.Input<string>; } interface BitbucketConnectorCredentials { /** * Authenticate using Username and password over http(s) for the connection. */ http?: pulumi.Input<inputs.platform.BitbucketConnectorCredentialsHttp>; /** * Authenticate using SSH for the connection. */ ssh?: pulumi.Input<inputs.platform.BitbucketConnectorCredentialsSsh>; } interface BitbucketConnectorCredentialsHttp { passwordRef?: pulumi.Input<string>; username?: pulumi.Input<string>; usernameRef?: pulumi.Input<string>; } interface BitbucketConnectorCredentialsSsh { sshKeyRef: pulumi.Input<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: pulumi.Input<string>; /** * The username to use for the docker registry. */ username?: pulumi.Input<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?: pulumi.Input<string>; } interface ElasticsearchConnectorApiToken { /** * The client id used for connecting to ElasticSearch. */ clientId: pulumi.Input<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: pulumi.Input<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: pulumi.Input<string>; /** * Username to use for authentication. */ username: pulumi.Input<string>; } interface EnvironmentClustersMappingCluster { /** * account Identifier of the account */ identifier?: pulumi.Input<string>; /** * name of the cluster */ name?: pulumi.Input<string>; /** * scope at which the cluster exists in harness gitops, project vs org vs account */ scope?: pulumi.Input<string>; } interface FeatureFlagGitDetails { /** * The commit message to use as part of a gitsync operation */ commitMsg: pulumi.Input<string>; } interface FeatureFlagVariation { /** * The description of the variation */ description: pulumi.Input<string>; /** * The identifier of the variation */ identifier: pulumi.Input<string>; /** * The user friendly name of the variation */ name: pulumi.Input<string>; /** * The value of the variation */ value: pulumi.Input<string>; } interface FiltersFilterProperties { /** * Corresponding Entity of the filter. Currently supported types are {Connector, DelegateProfile, Delegate, EnvironmentGroup, FileStore, Environment}. */ filterType: pulumi.Input<string>; /** * Tags to associate with the resource. Tags should be in the form `name:value`. */ tags?: pulumi.Input<pulumi.Input<string>[]>; } interface GcpCloudCostConnectorBillingExportSpec { /** * Data Set Id. */ dataSetId: pulumi.Input<string>; /** * Table Id. */ tableId: pulumi.Input<string>; } interface GcpConnectorInheritFromDelegate { /** * The delegates to inherit the credentials from. */ delegateSelectors: pulumi.Input<pulumi.Input<string>[]>; } interface GcpConnectorManual { /** * The delegates to connect with. */ delegateSelectors: pulumi.Input<pulumi.Input<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: pulumi.Input<string>; } interface GetGitopsApplicationsApplication { /** * Metadata corresponding to the resources. This includes all the objects a user must create. */ metadatas?: inputs.platform.GetGitopsApplicationsApplicationMetadata[]; /** * Specifications of the GitOps application. This includes the repository URL, application definition, source, destination and sync policy. */ specs?: inputs.platform.GetGitopsApplicationsApplicationSpec[]; } interface GetGitopsApplicationsApplicationArgs { /** * Metadata corresponding to the resources. This includes all the objects a user must create. */ metadatas?: pulumi.Input<pulumi.Input<inputs.platform.GetGitopsApplicationsApplicationMetadataArgs>[]>; /** * Specifications of the GitOps application. This includes the repository URL, application definition, source, destination and sync policy. */ specs?: pulumi.Input<pulumi.Input<inputs.platform.GetGitopsApplicationsApplicationSpecArgs>[]>; } 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?: inputs.platform.GetGitopsApplicationsApplicationMetadataOwnerReference[]; uid?: string; } interface GetGitopsApplicationsApplicationMetadataArgs { annotations?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; clusterName?: pulumi.Input<string>; finalizers?: pulumi.Input<pulumi.Input<string>[]>; generateName?: pulumi.Input<string>; generation?: pulumi.Input<string>; labels?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * Name of the GitOps application. */ name?: pulumi.Input<string>; namespace?: pulumi.Input<string>; ownerReferences?: pulumi.Input<pulumi.Input<inputs.platform.GetGitopsApplicationsApplicationMetadataOwnerReferenceArgs>[]>; uid?: pulumi.Input<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 GetGitopsApplicationsApplicationMetadataOwnerReferenceArgs { apiVersion?: pulumi.Input<string>; blockOwnerDeletion?: pulumi.Input<boolean>; controller?: pulumi.Input<boolean>; /** * Kind of the GitOps application. */ kind?: pulumi.Input<string>; /** * Name of the GitOps application. */ name?: pulumi.Input<string>; uid?: pulumi.Input<string>; } interface GetGitopsApplicationsApplicationSpec { destinations?: inputs.platform.GetGitopsApplicationsApplicationSpecDestination[]; sources?: inputs.platform.GetGitopsApplicationsApplicationSpecSource[]; syncPolicies?: inputs.platform.GetGitopsApplicationsApplicationSpecSyncPolicy[]; } interface GetGitopsApplicationsApplicationSpecArgs { destinations?: pulumi.Input<pulumi.Input<inputs.platform.GetGitopsApplicationsApplicationSpecDestinationArgs>[]>; sources?: pulumi.Input<pulumi.Input<inputs.platform.GetGitopsApplicationsApplicationSpecSourceArgs>[]>; syncPolicies?: pulumi.Input<pulumi.Input<inputs.platform.GetGitopsApplicationsApplicationSpecSyncPolicyArgs>[]>; } interface GetGitopsApplicationsApplicationSpecDestination { /** * Name of the GitOps application. */ name?: string; namespace?: string; server?: string; } interface GetGitopsApplicationsApplicationSpecDestinationArgs { /** * Name of the GitOps application. */ name?: pulumi.Input<string>; namespace?: pulumi.Input<string>; server?: pulumi.Input<string>; } interface GetGitopsApplicationsApplicationSpecSource { chart?: string; directories?: inputs.platform.GetGitopsApplicationsApplicationSpecSourceDirectory[]; helms?: inputs.platform.GetGitopsApplicationsApplicationSpecSourceHelm[]; ksonnets?: inputs.platform.GetGitopsApplicationsApplicationSpecSourceKsonnet[]; kustomizes?: inputs.platform.GetGitopsApplicationsApplicationSpecSourceKustomize[]; path?: string; plugins?: inputs.platform.GetGitopsApplicationsApplicationSpecSourcePlugin[]; repoUrl?: string; targetRevision?: string; } interface GetGitopsApplicationsApplicationSpecSourceArgs { chart?: pulumi.Input<string>; directories?: pulumi.Input<pulumi.Input<inputs.platform.GetGitopsApplicationsApplication