@pulumi/harness
Version:
A Pulumi package for creating and managing Harness resources.
186 lines (185 loc) • 6.58 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Resource for creating an AWS cloud provider. This resource uses the config-as-code API's. When updating the `name` or `path` of this resource you should typically also set the `createBeforeDestroy = true` lifecycle setting.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as harness from "@pulumi/harness";
*
* const _default = harness.getSecretManager({
* "default": true,
* });
* const awsAccessKey = new harness.EncryptedText("aws_access_key", {
* name: "aws_access_key",
* value: "<ACCESS_KEY_ID>",
* secretManagerId: _default.then(_default => _default.id),
* });
* const awsSecretKey = new harness.EncryptedText("aws_secret_key", {
* name: "aws_secret_key",
* value: "<SECRET_KEY_ID>",
* secretManagerId: _default.then(_default => _default.id),
* });
* const aws = new harness.cloudprovider.Aws("aws", {
* name: "Example aws cloud provider",
* accessKeyIdSecretName: awsAccessKey.name,
* secretAccessKeySecretName: awsSecretKey.name,
* });
* ```
*
* ## Import
*
* The `pulumi import` command can be used, for example:
*
* Import using the Harness aws cloud provider id.
*
* ```sh
* $ pulumi import harness:cloudprovider/aws:Aws example <provider_id>
* ```
*/
export declare class Aws extends pulumi.CustomResource {
/**
* Get an existing Aws resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AwsState, opts?: pulumi.CustomResourceOptions): Aws;
/**
* Returns true if the given object is an instance of Aws. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Aws;
/**
* The plain text AWS access key id.
*/
readonly accessKeyId: pulumi.Output<string | undefined>;
/**
* The name of the Harness secret containing the AWS access key id
*/
readonly accessKeyIdSecretName: pulumi.Output<string | undefined>;
/**
* Configuration for assuming a cross account role.
*/
readonly assumeCrossAccountRole: pulumi.Output<outputs.cloudprovider.AwsAssumeCrossAccountRole | undefined>;
/**
* Select the Delegate to use via one of its Selectors.
*/
readonly delegateSelector: pulumi.Output<string | undefined>;
/**
* The name of the cloud provider.
*/
readonly name: pulumi.Output<string>;
/**
* The name of the Harness secret containing the AWS secret access key.
*/
readonly secretAccessKeySecretName: pulumi.Output<string | undefined>;
/**
* This block is used for scoping the resource to a specific set of applications or environments.
*/
readonly usageScopes: pulumi.Output<outputs.cloudprovider.AwsUsageScope[] | undefined>;
/**
* Use the EC2 Instance Profile for Service Accounts.
*/
readonly useEc2IamCredentials: pulumi.Output<boolean | undefined>;
/**
* Use the AWS IAM Role for Service Accounts.
*/
readonly useIrsa: pulumi.Output<boolean | undefined>;
/**
* Create a Aws resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: AwsArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Aws resources.
*/
export interface AwsState {
/**
* The plain text AWS access key id.
*/
accessKeyId?: pulumi.Input<string>;
/**
* The name of the Harness secret containing the AWS access key id
*/
accessKeyIdSecretName?: pulumi.Input<string>;
/**
* Configuration for assuming a cross account role.
*/
assumeCrossAccountRole?: pulumi.Input<inputs.cloudprovider.AwsAssumeCrossAccountRole>;
/**
* Select the Delegate to use via one of its Selectors.
*/
delegateSelector?: pulumi.Input<string>;
/**
* The name of the cloud provider.
*/
name?: pulumi.Input<string>;
/**
* The name of the Harness secret containing the AWS secret access key.
*/
secretAccessKeySecretName?: pulumi.Input<string>;
/**
* This block is used for scoping the resource to a specific set of applications or environments.
*/
usageScopes?: pulumi.Input<pulumi.Input<inputs.cloudprovider.AwsUsageScope>[]>;
/**
* Use the EC2 Instance Profile for Service Accounts.
*/
useEc2IamCredentials?: pulumi.Input<boolean>;
/**
* Use the AWS IAM Role for Service Accounts.
*/
useIrsa?: pulumi.Input<boolean>;
}
/**
* The set of arguments for constructing a Aws resource.
*/
export interface AwsArgs {
/**
* The plain text AWS access key id.
*/
accessKeyId?: pulumi.Input<string>;
/**
* The name of the Harness secret containing the AWS access key id
*/
accessKeyIdSecretName?: pulumi.Input<string>;
/**
* Configuration for assuming a cross account role.
*/
assumeCrossAccountRole?: pulumi.Input<inputs.cloudprovider.AwsAssumeCrossAccountRole>;
/**
* Select the Delegate to use via one of its Selectors.
*/
delegateSelector?: pulumi.Input<string>;
/**
* The name of the cloud provider.
*/
name?: pulumi.Input<string>;
/**
* The name of the Harness secret containing the AWS secret access key.
*/
secretAccessKeySecretName?: pulumi.Input<string>;
/**
* This block is used for scoping the resource to a specific set of applications or environments.
*/
usageScopes?: pulumi.Input<pulumi.Input<inputs.cloudprovider.AwsUsageScope>[]>;
/**
* Use the EC2 Instance Profile for Service Accounts.
*/
useEc2IamCredentials?: pulumi.Input<boolean>;
/**
* Use the AWS IAM Role for Service Accounts.
*/
useIrsa?: pulumi.Input<boolean>;
}