1. Packages
  2. Harness
  3. API Docs
  4. platform
  5. AwsCCConnector
Harness v0.0.6 published on Saturday, Jul 1, 2023 by lbrlabs

harness.platform.AwsCCConnector

Explore with Pulumi AI

harness logo
Harness v0.0.6 published on Saturday, Jul 1, 2023 by lbrlabs

    Resource for creating an AWS Cloud Cost connector.

    Example Usage

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Harness = Lbrlabs.PulumiPackage.Harness;
    
    return await Deployment.RunAsync(() => 
    {
        var test = new Harness.Platform.AwsCCConnector("test", new()
        {
            AccountId = "account_id",
            CrossAccountAccess = new Harness.Platform.Inputs.AwsCCConnectorCrossAccountAccessArgs
            {
                ExternalId = "external_id",
                RoleArn = "role_arn",
            },
            Description = "test",
            FeaturesEnableds = new[]
            {
                "OPTIMIZATION",
                "VISIBILITY",
                "BILLING",
            },
            Identifier = "identifier",
            ReportName = "report_name",
            S3Bucket = "s3bucket",
            Tags = new[]
            {
                "foo:bar",
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/lbrlabs/pulumi-harness/sdk/go/harness/platform"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := platform.NewAwsCCConnector(ctx, "test", &platform.AwsCCConnectorArgs{
    			AccountId: pulumi.String("account_id"),
    			CrossAccountAccess: &platform.AwsCCConnectorCrossAccountAccessArgs{
    				ExternalId: pulumi.String("external_id"),
    				RoleArn:    pulumi.String("role_arn"),
    			},
    			Description: pulumi.String("test"),
    			FeaturesEnableds: pulumi.StringArray{
    				pulumi.String("OPTIMIZATION"),
    				pulumi.String("VISIBILITY"),
    				pulumi.String("BILLING"),
    			},
    			Identifier: pulumi.String("identifier"),
    			ReportName: pulumi.String("report_name"),
    			S3Bucket:   pulumi.String("s3bucket"),
    			Tags: pulumi.StringArray{
    				pulumi.String("foo:bar"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.harness.platform.AwsCCConnector;
    import com.pulumi.harness.platform.AwsCCConnectorArgs;
    import com.pulumi.harness.platform.inputs.AwsCCConnectorCrossAccountAccessArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var test = new AwsCCConnector("test", AwsCCConnectorArgs.builder()        
                .accountId("account_id")
                .crossAccountAccess(AwsCCConnectorCrossAccountAccessArgs.builder()
                    .externalId("external_id")
                    .roleArn("role_arn")
                    .build())
                .description("test")
                .featuresEnableds(            
                    "OPTIMIZATION",
                    "VISIBILITY",
                    "BILLING")
                .identifier("identifier")
                .reportName("report_name")
                .s3Bucket("s3bucket")
                .tags("foo:bar")
                .build());
    
        }
    }
    
    import pulumi
    import lbrlabs_pulumi_harness as harness
    
    test = harness.platform.AwsCCConnector("test",
        account_id="account_id",
        cross_account_access=harness.platform.AwsCCConnectorCrossAccountAccessArgs(
            external_id="external_id",
            role_arn="role_arn",
        ),
        description="test",
        features_enableds=[
            "OPTIMIZATION",
            "VISIBILITY",
            "BILLING",
        ],
        identifier="identifier",
        report_name="report_name",
        s3_bucket="s3bucket",
        tags=["foo:bar"])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as harness from "@lbrlabs/pulumi-harness";
    
    const test = new harness.platform.AwsCCConnector("test", {
        accountId: "account_id",
        crossAccountAccess: {
            externalId: "external_id",
            roleArn: "role_arn",
        },
        description: "test",
        featuresEnableds: [
            "OPTIMIZATION",
            "VISIBILITY",
            "BILLING",
        ],
        identifier: "identifier",
        reportName: "report_name",
        s3Bucket: "s3bucket",
        tags: ["foo:bar"],
    });
    
    resources:
      test:
        type: harness:platform:AwsCCConnector
        properties:
          accountId: account_id
          crossAccountAccess:
            externalId: external_id
            roleArn: role_arn
          description: test
          featuresEnableds:
            - OPTIMIZATION
            - VISIBILITY
            - BILLING
          identifier: identifier
          reportName: report_name
          s3Bucket: s3bucket
          tags:
            - foo:bar
    

    Create AwsCCConnector Resource

    new AwsCCConnector(name: string, args: AwsCCConnectorArgs, opts?: CustomResourceOptions);
    @overload
    def AwsCCConnector(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       account_id: Optional[str] = None,
                       cross_account_access: Optional[AwsCCConnectorCrossAccountAccessArgs] = None,
                       description: Optional[str] = None,
                       features_enableds: Optional[Sequence[str]] = None,
                       identifier: Optional[str] = None,
                       name: Optional[str] = None,
                       org_id: Optional[str] = None,
                       project_id: Optional[str] = None,
                       report_name: Optional[str] = None,
                       s3_bucket: Optional[str] = None,
                       tags: Optional[Sequence[str]] = None)
    @overload
    def AwsCCConnector(resource_name: str,
                       args: AwsCCConnectorArgs,
                       opts: Optional[ResourceOptions] = None)
    func NewAwsCCConnector(ctx *Context, name string, args AwsCCConnectorArgs, opts ...ResourceOption) (*AwsCCConnector, error)
    public AwsCCConnector(string name, AwsCCConnectorArgs args, CustomResourceOptions? opts = null)
    public AwsCCConnector(String name, AwsCCConnectorArgs args)
    public AwsCCConnector(String name, AwsCCConnectorArgs args, CustomResourceOptions options)
    
    type: harness:platform:AwsCCConnector
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args AwsCCConnectorArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args AwsCCConnectorArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args AwsCCConnectorArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AwsCCConnectorArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AwsCCConnectorArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    AwsCCConnector Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The AwsCCConnector resource accepts the following input properties:

    AccountId string

    The AWS account id.

    CrossAccountAccess Lbrlabs.PulumiPackage.Harness.Platform.Inputs.AwsCCConnectorCrossAccountAccess

    Harness uses the secure cross-account role to access your AWS account. The role includes a restricted policy to access the cost and usage reports and resources for the sole purpose of cost analysis and cost optimization.

    FeaturesEnableds List<string>

    The features enabled for the connector. Valid values are BILLING, OPTIMIZATION, VISIBILITY.

    Identifier string

    Unique identifier of the resource.

    ReportName string

    The cost and usage report name. Provided in the delivery options when the template is opened in the AWS console.

    S3Bucket string

    The name of s3 bucket.

    Description string

    Description of the resource.

    Name string

    Name of the resource.

    OrgId string

    Unique identifier of the organization.

    ProjectId string

    Unique identifier of the project.

    Tags List<string>

    Tags to associate with the resource.

    AccountId string

    The AWS account id.

    CrossAccountAccess AwsCCConnectorCrossAccountAccessArgs

    Harness uses the secure cross-account role to access your AWS account. The role includes a restricted policy to access the cost and usage reports and resources for the sole purpose of cost analysis and cost optimization.

    FeaturesEnableds []string

    The features enabled for the connector. Valid values are BILLING, OPTIMIZATION, VISIBILITY.

    Identifier string

    Unique identifier of the resource.

    ReportName string

    The cost and usage report name. Provided in the delivery options when the template is opened in the AWS console.

    S3Bucket string

    The name of s3 bucket.

    Description string

    Description of the resource.

    Name string

    Name of the resource.

    OrgId string

    Unique identifier of the organization.

    ProjectId string

    Unique identifier of the project.

    Tags []string

    Tags to associate with the resource.

    accountId String

    The AWS account id.

    crossAccountAccess AwsCCConnectorCrossAccountAccess

    Harness uses the secure cross-account role to access your AWS account. The role includes a restricted policy to access the cost and usage reports and resources for the sole purpose of cost analysis and cost optimization.

    featuresEnableds List<String>

    The features enabled for the connector. Valid values are BILLING, OPTIMIZATION, VISIBILITY.

    identifier String

    Unique identifier of the resource.

    reportName String

    The cost and usage report name. Provided in the delivery options when the template is opened in the AWS console.

    s3Bucket String

    The name of s3 bucket.

    description String

    Description of the resource.

    name String

    Name of the resource.

    orgId String

    Unique identifier of the organization.

    projectId String

    Unique identifier of the project.

    tags List<String>

    Tags to associate with the resource.

    accountId string

    The AWS account id.

    crossAccountAccess AwsCCConnectorCrossAccountAccess

    Harness uses the secure cross-account role to access your AWS account. The role includes a restricted policy to access the cost and usage reports and resources for the sole purpose of cost analysis and cost optimization.

    featuresEnableds string[]

    The features enabled for the connector. Valid values are BILLING, OPTIMIZATION, VISIBILITY.

    identifier string

    Unique identifier of the resource.

    reportName string

    The cost and usage report name. Provided in the delivery options when the template is opened in the AWS console.

    s3Bucket string

    The name of s3 bucket.

    description string

    Description of the resource.

    name string

    Name of the resource.

    orgId string

    Unique identifier of the organization.

    projectId string

    Unique identifier of the project.

    tags string[]

    Tags to associate with the resource.

    account_id str

    The AWS account id.

    cross_account_access AwsCCConnectorCrossAccountAccessArgs

    Harness uses the secure cross-account role to access your AWS account. The role includes a restricted policy to access the cost and usage reports and resources for the sole purpose of cost analysis and cost optimization.

    features_enableds Sequence[str]

    The features enabled for the connector. Valid values are BILLING, OPTIMIZATION, VISIBILITY.

    identifier str

    Unique identifier of the resource.

    report_name str

    The cost and usage report name. Provided in the delivery options when the template is opened in the AWS console.

    s3_bucket str

    The name of s3 bucket.

    description str

    Description of the resource.

    name str

    Name of the resource.

    org_id str

    Unique identifier of the organization.

    project_id str

    Unique identifier of the project.

    tags Sequence[str]

    Tags to associate with the resource.

    accountId String

    The AWS account id.

    crossAccountAccess Property Map

    Harness uses the secure cross-account role to access your AWS account. The role includes a restricted policy to access the cost and usage reports and resources for the sole purpose of cost analysis and cost optimization.

    featuresEnableds List<String>

    The features enabled for the connector. Valid values are BILLING, OPTIMIZATION, VISIBILITY.

    identifier String

    Unique identifier of the resource.

    reportName String

    The cost and usage report name. Provided in the delivery options when the template is opened in the AWS console.

    s3Bucket String

    The name of s3 bucket.

    description String

    Description of the resource.

    name String

    Name of the resource.

    orgId String

    Unique identifier of the organization.

    projectId String

    Unique identifier of the project.

    tags List<String>

    Tags to associate with the resource.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the AwsCCConnector resource produces the following output properties:

    Id string

    The provider-assigned unique ID for this managed resource.

    Id string

    The provider-assigned unique ID for this managed resource.

    id String

    The provider-assigned unique ID for this managed resource.

    id string

    The provider-assigned unique ID for this managed resource.

    id str

    The provider-assigned unique ID for this managed resource.

    id String

    The provider-assigned unique ID for this managed resource.

    Look up Existing AwsCCConnector Resource

    Get an existing AwsCCConnector resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: AwsCCConnectorState, opts?: CustomResourceOptions): AwsCCConnector
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            account_id: Optional[str] = None,
            cross_account_access: Optional[AwsCCConnectorCrossAccountAccessArgs] = None,
            description: Optional[str] = None,
            features_enableds: Optional[Sequence[str]] = None,
            identifier: Optional[str] = None,
            name: Optional[str] = None,
            org_id: Optional[str] = None,
            project_id: Optional[str] = None,
            report_name: Optional[str] = None,
            s3_bucket: Optional[str] = None,
            tags: Optional[Sequence[str]] = None) -> AwsCCConnector
    func GetAwsCCConnector(ctx *Context, name string, id IDInput, state *AwsCCConnectorState, opts ...ResourceOption) (*AwsCCConnector, error)
    public static AwsCCConnector Get(string name, Input<string> id, AwsCCConnectorState? state, CustomResourceOptions? opts = null)
    public static AwsCCConnector get(String name, Output<String> id, AwsCCConnectorState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AccountId string

    The AWS account id.

    CrossAccountAccess Lbrlabs.PulumiPackage.Harness.Platform.Inputs.AwsCCConnectorCrossAccountAccess

    Harness uses the secure cross-account role to access your AWS account. The role includes a restricted policy to access the cost and usage reports and resources for the sole purpose of cost analysis and cost optimization.

    Description string

    Description of the resource.

    FeaturesEnableds List<string>

    The features enabled for the connector. Valid values are BILLING, OPTIMIZATION, VISIBILITY.

    Identifier string

    Unique identifier of the resource.

    Name string

    Name of the resource.

    OrgId string

    Unique identifier of the organization.

    ProjectId string

    Unique identifier of the project.

    ReportName string

    The cost and usage report name. Provided in the delivery options when the template is opened in the AWS console.

    S3Bucket string

    The name of s3 bucket.

    Tags List<string>

    Tags to associate with the resource.

    AccountId string

    The AWS account id.

    CrossAccountAccess AwsCCConnectorCrossAccountAccessArgs

    Harness uses the secure cross-account role to access your AWS account. The role includes a restricted policy to access the cost and usage reports and resources for the sole purpose of cost analysis and cost optimization.

    Description string

    Description of the resource.

    FeaturesEnableds []string

    The features enabled for the connector. Valid values are BILLING, OPTIMIZATION, VISIBILITY.

    Identifier string

    Unique identifier of the resource.

    Name string

    Name of the resource.

    OrgId string

    Unique identifier of the organization.

    ProjectId string

    Unique identifier of the project.

    ReportName string

    The cost and usage report name. Provided in the delivery options when the template is opened in the AWS console.

    S3Bucket string

    The name of s3 bucket.

    Tags []string

    Tags to associate with the resource.

    accountId String

    The AWS account id.

    crossAccountAccess AwsCCConnectorCrossAccountAccess

    Harness uses the secure cross-account role to access your AWS account. The role includes a restricted policy to access the cost and usage reports and resources for the sole purpose of cost analysis and cost optimization.

    description String

    Description of the resource.

    featuresEnableds List<String>

    The features enabled for the connector. Valid values are BILLING, OPTIMIZATION, VISIBILITY.

    identifier String

    Unique identifier of the resource.

    name String

    Name of the resource.

    orgId String

    Unique identifier of the organization.

    projectId String

    Unique identifier of the project.

    reportName String

    The cost and usage report name. Provided in the delivery options when the template is opened in the AWS console.

    s3Bucket String

    The name of s3 bucket.

    tags List<String>

    Tags to associate with the resource.

    accountId string

    The AWS account id.

    crossAccountAccess AwsCCConnectorCrossAccountAccess

    Harness uses the secure cross-account role to access your AWS account. The role includes a restricted policy to access the cost and usage reports and resources for the sole purpose of cost analysis and cost optimization.

    description string

    Description of the resource.

    featuresEnableds string[]

    The features enabled for the connector. Valid values are BILLING, OPTIMIZATION, VISIBILITY.

    identifier string

    Unique identifier of the resource.

    name string

    Name of the resource.

    orgId string

    Unique identifier of the organization.

    projectId string

    Unique identifier of the project.

    reportName string

    The cost and usage report name. Provided in the delivery options when the template is opened in the AWS console.

    s3Bucket string

    The name of s3 bucket.

    tags string[]

    Tags to associate with the resource.

    account_id str

    The AWS account id.

    cross_account_access AwsCCConnectorCrossAccountAccessArgs

    Harness uses the secure cross-account role to access your AWS account. The role includes a restricted policy to access the cost and usage reports and resources for the sole purpose of cost analysis and cost optimization.

    description str

    Description of the resource.

    features_enableds Sequence[str]

    The features enabled for the connector. Valid values are BILLING, OPTIMIZATION, VISIBILITY.

    identifier str

    Unique identifier of the resource.

    name str

    Name of the resource.

    org_id str

    Unique identifier of the organization.

    project_id str

    Unique identifier of the project.

    report_name str

    The cost and usage report name. Provided in the delivery options when the template is opened in the AWS console.

    s3_bucket str

    The name of s3 bucket.

    tags Sequence[str]

    Tags to associate with the resource.

    accountId String

    The AWS account id.

    crossAccountAccess Property Map

    Harness uses the secure cross-account role to access your AWS account. The role includes a restricted policy to access the cost and usage reports and resources for the sole purpose of cost analysis and cost optimization.

    description String

    Description of the resource.

    featuresEnableds List<String>

    The features enabled for the connector. Valid values are BILLING, OPTIMIZATION, VISIBILITY.

    identifier String

    Unique identifier of the resource.

    name String

    Name of the resource.

    orgId String

    Unique identifier of the organization.

    projectId String

    Unique identifier of the project.

    reportName String

    The cost and usage report name. Provided in the delivery options when the template is opened in the AWS console.

    s3Bucket String

    The name of s3 bucket.

    tags List<String>

    Tags to associate with the resource.

    Supporting Types

    AwsCCConnectorCrossAccountAccess, AwsCCConnectorCrossAccountAccessArgs

    ExternalId string

    The external id of the role to use for cross-account access. This is a random unique value to provide additional secure authentication.

    RoleArn string

    The ARN of the role to use for cross-account access.

    ExternalId string

    The external id of the role to use for cross-account access. This is a random unique value to provide additional secure authentication.

    RoleArn string

    The ARN of the role to use for cross-account access.

    externalId String

    The external id of the role to use for cross-account access. This is a random unique value to provide additional secure authentication.

    roleArn String

    The ARN of the role to use for cross-account access.

    externalId string

    The external id of the role to use for cross-account access. This is a random unique value to provide additional secure authentication.

    roleArn string

    The ARN of the role to use for cross-account access.

    external_id str

    The external id of the role to use for cross-account access. This is a random unique value to provide additional secure authentication.

    role_arn str

    The ARN of the role to use for cross-account access.

    externalId String

    The external id of the role to use for cross-account access. This is a random unique value to provide additional secure authentication.

    roleArn String

    The ARN of the role to use for cross-account access.

    Import

    Import account level aws cloud cost connector

     $ pulumi import harness:platform/awsCCConnector:AwsCCConnector example <connector_id>
    

    Import org level aws cloud cost connector

     $ pulumi import harness:platform/awsCCConnector:AwsCCConnector example <ord_id>/<connector_id>
    

    Import project level aws cloud cost connector

     $ pulumi import harness:platform/awsCCConnector:AwsCCConnector example <org_id>/<project_id>/<connector_id>
    

    Package Details

    Repository
    harness lbrlabs/pulumi-harness
    License
    Apache-2.0
    Notes

    This Pulumi package is based on the harness Terraform Provider.

    harness logo
    Harness v0.0.6 published on Saturday, Jul 1, 2023 by lbrlabs