import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Resource for managing an AWS Resilience Hub V2 Service. * * A service is the primary building block in Resilience Hub. It comprises AWS resources, code, and observability that together deliver a specific capability. Services can be associated with a resilience policy and a permission model for resource discovery. * * ## Example Usage * * ### Basic Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.resiliencehub.V2Service("example", { * permissionModel: { * invokerRoleName: "AWSResilienceHubAssessmentRole", * }, * name: "example-service", * regions: ["us-west-2"], * }); * ``` * * ### With Policy * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.resiliencehub.V2Policy("example", { * availabilitySlo: { * target: 99.9, * }, * name: "example-policy", * }); * const exampleV2Service = new aws.resiliencehub.V2Service("example", { * permissionModel: { * invokerRoleName: "AWSResilienceHubAssessmentRole", * }, * name: "example-service", * description: "Production API service", * policyArn: example.arn, * regions: [ * "us-west-2", * "us-east-1", * ], * tags: { * Environment: "production", * }, * }); * ``` * * ### With Associated Systems * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.resiliencehub.V2System("example", {name: "example-system"}); * const exampleV2Service = new aws.resiliencehub.V2Service("example", { * permissionModel: { * invokerRoleName: "AWSResilienceHubAssessmentRole", * }, * associatedSystems: [{ * systemArn: example.arn, * }], * name: "example-service", * regions: ["us-west-2"], * }); * ``` * * ## Import * * ### Identity Schema * * #### Required * * - `arn` (String) ARN of the Resilience Hub V2 Service. * * Using `pulumi import`, import Resilience Hub V2 Service using the `arn`. For example: * * ```sh * $ pulumi import aws:resiliencehub/v2Service:V2Service example arn:aws:resiliencehub:us-west-2:123456789012:service/example-service:abc123 * ``` */ export declare class V2Service extends pulumi.CustomResource { /** * Get an existing V2Service 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, state?: V2ServiceState, opts?: pulumi.CustomResourceOptions): V2Service; /** * Returns true if the given object is an instance of V2Service. 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 V2Service; /** * ARN of the service. */ readonly arn: pulumi.Output; /** * Systems to associate with the service. See `associatedSystem` Block below. */ readonly associatedSystems: pulumi.Output; /** * Dependency discovery. Valid values: `ENABLED`, `DISABLED`. */ readonly dependencyDiscovery: pulumi.Output; /** * Description of the service. */ readonly description: pulumi.Output; /** * KMS key ARN. */ readonly kmsKeyId: pulumi.Output; /** * Name of the service. Changing this value requires creating a new resource. */ readonly name: pulumi.Output; /** * Permission model for resource discovery. See `permissionModel` Block below. */ readonly permissionModel: pulumi.Output; /** * ARN of the resilience policy to associate with this service. */ readonly policyArn: pulumi.Output; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ readonly region: pulumi.Output; /** * List of AWS regions where the service operates. * * The following arguments are optional: */ readonly regions: pulumi.Output; /** * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ readonly tagsAll: pulumi.Output<{ [key: string]: string; }>; /** * Create a V2Service 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: V2ServiceArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering V2Service resources. */ export interface V2ServiceState { /** * ARN of the service. */ arn?: pulumi.Input; /** * Systems to associate with the service. See `associatedSystem` Block below. */ associatedSystems?: pulumi.Input[] | undefined>; /** * Dependency discovery. Valid values: `ENABLED`, `DISABLED`. */ dependencyDiscovery?: pulumi.Input; /** * Description of the service. */ description?: pulumi.Input; /** * KMS key ARN. */ kmsKeyId?: pulumi.Input; /** * Name of the service. Changing this value requires creating a new resource. */ name?: pulumi.Input; /** * Permission model for resource discovery. See `permissionModel` Block below. */ permissionModel?: pulumi.Input; /** * ARN of the resilience policy to associate with this service. */ policyArn?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * List of AWS regions where the service operates. * * The following arguments are optional: */ regions?: pulumi.Input[] | undefined>; /** * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ tagsAll?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } /** * The set of arguments for constructing a V2Service resource. */ export interface V2ServiceArgs { /** * Systems to associate with the service. See `associatedSystem` Block below. */ associatedSystems?: pulumi.Input[] | undefined>; /** * Dependency discovery. Valid values: `ENABLED`, `DISABLED`. */ dependencyDiscovery?: pulumi.Input; /** * Description of the service. */ description?: pulumi.Input; /** * KMS key ARN. */ kmsKeyId?: pulumi.Input; /** * Name of the service. Changing this value requires creating a new resource. */ name?: pulumi.Input; /** * Permission model for resource discovery. See `permissionModel` Block below. */ permissionModel: pulumi.Input; /** * ARN of the resilience policy to associate with this service. */ policyArn?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * List of AWS regions where the service operates. * * The following arguments are optional: */ regions: pulumi.Input[]>; /** * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } //# sourceMappingURL=v2service.d.ts.map