From c200aa11aecacf92ada3006771a835d8ef85afda Mon Sep 17 00:00:00 2001 From: Ignacio Anaya Date: Wed, 6 Jul 2022 16:37:36 -0300 Subject: [PATCH] feat: sync with tf provider v1.6.1 --- .../cmd/pulumi-resource-checkly/schema.json | 9 +-- provider/go.mod | 3 +- provider/go.sum | 4 +- sdk/dotnet/CheckGroup.cs | 4 +- sdk/dotnet/PrivateLocation.cs | 22 ++++++ sdk/dotnet/version.txt | 2 +- sdk/go/checkly/checkGroup.go | 6 -- sdk/go/checkly/privateLocation.go | 23 ++++++ sdk/nodejs/checkGroup.ts | 14 ++-- sdk/nodejs/privateLocation.ts | 14 ++++ sdk/python/README.md | 8 ++- sdk/python/pulumi_checkly/check_group.py | 70 +++++++++---------- sdk/python/pulumi_checkly/private_location.py | 26 ++++++- 13 files changed, 135 insertions(+), 70 deletions(-) diff --git a/provider/cmd/pulumi-resource-checkly/schema.json b/provider/cmd/pulumi-resource-checkly/schema.json index ca71a5e..116dc8e 100644 --- a/provider/cmd/pulumi-resource-checkly/schema.json +++ b/provider/cmd/pulumi-resource-checkly/schema.json @@ -1506,9 +1506,7 @@ "alertSettings", "apiCheckDefaults", "concurrency", - "locations", - "name", - "privateLocations" + "name" ], "inputProperties": { "activated": { @@ -1598,9 +1596,7 @@ }, "requiredInputs": [ "activated", - "concurrency", - "locations", - "privateLocations" + "concurrency" ], "stateInputs": { "description": "Input properties used for looking up and filtering CheckGroup resources.\n", @@ -2005,6 +2001,7 @@ } }, "checkly:index/privateLocation:PrivateLocation": { + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as checkly from \"@pulumi/checkly\";\n\n// Simple Private Location example\nconst location = new checkly.PrivateLocation(\"location\", {\n icon: \"location\",\n slugName: \"new-private-location\",\n});\n```\n```python\nimport pulumi\nimport pulumi_checkly as checkly\n\n# Simple Private Location example\nlocation = checkly.PrivateLocation(\"location\",\n icon=\"location\",\n slug_name=\"new-private-location\")\n```\n```csharp\nusing Pulumi;\nusing Checkly = Pulumi.Checkly;\n\nclass MyStack : Stack\n{\n public MyStack()\n {\n // Simple Private Location example\n var location = new Checkly.PrivateLocation(\"location\", new Checkly.PrivateLocationArgs\n {\n Icon = \"location\",\n SlugName = \"new-private-location\",\n });\n }\n\n}\n```\n```go\npackage main\n\nimport (\n\t\"github.com/checkly/pulumi-checkly/sdk/go/checkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := checkly.NewPrivateLocation(ctx, \"location\", \u0026checkly.PrivateLocationArgs{\n\t\t\tIcon: pulumi.String(\"location\"),\n\t\t\tSlugName: pulumi.String(\"new-private-location\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "icon": { "type": "string", diff --git a/provider/go.mod b/provider/go.mod index ba2c725..83a8dd0 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -3,13 +3,12 @@ module github.com/checkly/pulumi-checkly/provider go 1.16 replace ( - // github.com/checkly/terraform-provider-checkly v1.4.2 => ../../terraform-provider-checkly github.com/hashicorp/go-getter v1.5.0 => github.com/hashicorp/go-getter v1.4.0 github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20210629210550-59d24255d71f ) require ( - github.com/checkly/terraform-provider-checkly v1.6.0-rc1 + github.com/checkly/terraform-provider-checkly v1.6.1 github.com/hashicorp/terraform-plugin-sdk v1.9.1 // indirect github.com/pulumi/pulumi-terraform-bridge/v3 v3.19.3 github.com/pulumi/pulumi/sdk/v3 v3.25.0 diff --git a/provider/go.sum b/provider/go.sum index fac1666..9c4e375 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -221,8 +221,8 @@ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghf github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/checkly/checkly-go-sdk v1.6.1 h1:R504wAr5hjqYCnEiU25UOW9v5l7N9cMF6izbmg36uA4= github.com/checkly/checkly-go-sdk v1.6.1/go.mod h1:a1I5B287Fd06TL1C+V/9szb3ZU4+0Di100Zn8h+CDgg= -github.com/checkly/terraform-provider-checkly v1.6.0-rc1 h1:fD6Ngh+9Ri0FrozE2yKLDTy7pcVoOO+IU1Jjltm9cdg= -github.com/checkly/terraform-provider-checkly v1.6.0-rc1/go.mod h1:8uka+24KgQ/syQcF3Xu+Jdv1qeMsdgl/klVp28OK/mA= +github.com/checkly/terraform-provider-checkly v1.6.1 h1:LJe8BGj2jA0y+67QMpDZM99shD6Jr0/Dz0bJvuHLf2g= +github.com/checkly/terraform-provider-checkly v1.6.1/go.mod h1:8uka+24KgQ/syQcF3Xu+Jdv1qeMsdgl/klVp28OK/mA= github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= github.com/cheggaaa/pb v1.0.18/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= github.com/cheggaaa/pb v1.0.27 h1:wIkZHkNfC7R6GI5w7l/PdAdzXzlrbcI3p8OAlnkTsnc= diff --git a/sdk/dotnet/CheckGroup.cs b/sdk/dotnet/CheckGroup.cs index dd29967..8ecb36d 100644 --- a/sdk/dotnet/CheckGroup.cs +++ b/sdk/dotnet/CheckGroup.cs @@ -356,7 +356,7 @@ public InputMap EnvironmentVariables [Input("localTeardownScript")] public Input? LocalTeardownScript { get; set; } - [Input("locations", required: true)] + [Input("locations")] private InputList? _locations; /// @@ -380,7 +380,7 @@ public InputList Locations [Input("name")] public Input? Name { get; set; } - [Input("privateLocations", required: true)] + [Input("privateLocations")] private InputList? _privateLocations; /// diff --git a/sdk/dotnet/PrivateLocation.cs b/sdk/dotnet/PrivateLocation.cs index fa5f16e..77de603 100644 --- a/sdk/dotnet/PrivateLocation.cs +++ b/sdk/dotnet/PrivateLocation.cs @@ -9,6 +9,28 @@ namespace Pulumi.Checkly { + /// + /// ## Example Usage + /// + /// ```csharp + /// using Pulumi; + /// using Checkly = Pulumi.Checkly; + /// + /// class MyStack : Stack + /// { + /// public MyStack() + /// { + /// // Simple Private Location example + /// var location = new Checkly.PrivateLocation("location", new Checkly.PrivateLocationArgs + /// { + /// Icon = "location", + /// SlugName = "new-private-location", + /// }); + /// } + /// + /// } + /// ``` + /// [ChecklyResourceType("checkly:index/privateLocation:PrivateLocation")] public partial class PrivateLocation : Pulumi.CustomResource { diff --git a/sdk/dotnet/version.txt b/sdk/dotnet/version.txt index 9084fa2..524cb55 100644 --- a/sdk/dotnet/version.txt +++ b/sdk/dotnet/version.txt @@ -1 +1 @@ -1.1.0 +1.1.1 diff --git a/sdk/go/checkly/checkGroup.go b/sdk/go/checkly/checkGroup.go index 9b68f34..cf6bf47 100644 --- a/sdk/go/checkly/checkGroup.go +++ b/sdk/go/checkly/checkGroup.go @@ -188,12 +188,6 @@ func NewCheckGroup(ctx *pulumi.Context, if args.Concurrency == nil { return nil, errors.New("invalid value for required argument 'Concurrency'") } - if args.Locations == nil { - return nil, errors.New("invalid value for required argument 'Locations'") - } - if args.PrivateLocations == nil { - return nil, errors.New("invalid value for required argument 'PrivateLocations'") - } if args.ApiCheckDefaults != nil { args.ApiCheckDefaults = args.ApiCheckDefaults.ToCheckGroupApiCheckDefaultsPtrOutput().ApplyT(func(v *CheckGroupApiCheckDefaults) *CheckGroupApiCheckDefaults { return v.Defaults() }).(CheckGroupApiCheckDefaultsPtrOutput) } diff --git a/sdk/go/checkly/privateLocation.go b/sdk/go/checkly/privateLocation.go index 8b70aad..1ce9bca 100644 --- a/sdk/go/checkly/privateLocation.go +++ b/sdk/go/checkly/privateLocation.go @@ -11,6 +11,29 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +// ## Example Usage +// +// ```go +// package main +// +// import ( +// "github.com/checkly/pulumi-checkly/sdk/go/checkly" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := checkly.NewPrivateLocation(ctx, "location", &checkly.PrivateLocationArgs{ +// Icon: pulumi.String("location"), +// SlugName: pulumi.String("new-private-location"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` type PrivateLocation struct { pulumi.CustomResourceState diff --git a/sdk/nodejs/checkGroup.ts b/sdk/nodejs/checkGroup.ts index 4ba17da..4263b40 100644 --- a/sdk/nodejs/checkGroup.ts +++ b/sdk/nodejs/checkGroup.ts @@ -153,7 +153,7 @@ export class CheckGroup extends pulumi.CustomResource { /** * An array of one or more data center locations where to run the checks. */ - public readonly locations!: pulumi.Output; + public readonly locations!: pulumi.Output; /** * Determines if any notifications will be sent out when a check in this group fails and/or recovers. */ @@ -165,7 +165,7 @@ export class CheckGroup extends pulumi.CustomResource { /** * An array of one or more private locations slugs. */ - public readonly privateLocations!: pulumi.Output; + public readonly privateLocations!: pulumi.Output; /** * The id of the runtime to use for this group. */ @@ -226,12 +226,6 @@ export class CheckGroup extends pulumi.CustomResource { if ((!args || args.concurrency === undefined) && !opts.urn) { throw new Error("Missing required property 'concurrency'"); } - if ((!args || args.locations === undefined) && !opts.urn) { - throw new Error("Missing required property 'locations'"); - } - if ((!args || args.privateLocations === undefined) && !opts.urn) { - throw new Error("Missing required property 'privateLocations'"); - } resourceInputs["activated"] = args ? args.activated : undefined; resourceInputs["alertChannelSubscriptions"] = args ? args.alertChannelSubscriptions : undefined; resourceInputs["alertSettings"] = args ? args.alertSettings : undefined; @@ -363,7 +357,7 @@ export interface CheckGroupArgs { /** * An array of one or more data center locations where to run the checks. */ - locations: pulumi.Input[]>; + locations?: pulumi.Input[]>; /** * Determines if any notifications will be sent out when a check in this group fails and/or recovers. */ @@ -375,7 +369,7 @@ export interface CheckGroupArgs { /** * An array of one or more private locations slugs. */ - privateLocations: pulumi.Input[]>; + privateLocations?: pulumi.Input[]>; /** * The id of the runtime to use for this group. */ diff --git a/sdk/nodejs/privateLocation.ts b/sdk/nodejs/privateLocation.ts index 246ff1e..c37b2a2 100644 --- a/sdk/nodejs/privateLocation.ts +++ b/sdk/nodejs/privateLocation.ts @@ -4,6 +4,20 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; +/** + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as checkly from "@pulumi/checkly"; + * + * // Simple Private Location example + * const location = new checkly.PrivateLocation("location", { + * icon: "location", + * slugName: "new-private-location", + * }); + * ``` + */ export class PrivateLocation extends pulumi.CustomResource { /** * Get an existing PrivateLocation resource's state with the given name, ID, and optional extra diff --git a/sdk/python/README.md b/sdk/python/README.md index 91926a6..9a5b8a1 100644 --- a/sdk/python/README.md +++ b/sdk/python/README.md @@ -51,7 +51,7 @@ Once you generated the `API Key` there are two ways to communicate your authoriz ## Getting Started -1. Open your terminal and run `$ pulumi new` to create a new Pulumi project, chose the `javascript` template and the target stack. +1. Open your terminal and run `$ pulumi new javascript` to create a new Pulumi project with the `javascript` template. 1. Install the Checkly Pulumi provider using npm: `$ npm i @checkly/pulumi`. 1. Look for `index.js` file in the root of your project and replace content with the following code: @@ -117,13 +117,15 @@ Once you generated the `API Key` there are two ways to communicate your authoriz ``` 1. You are ready to go, run `$ pulumi up` to deploy your stack 🚀 -> Check the [examples directory](https://github.com/checkly/pulumi-checkly/tree/main/examples) for more detailed code samples. +## Examples + +Find working JavaScript and TypeScript code samples in the [`./examples`](https://github.com/checkly/pulumi-checkly/tree/main/examples) directory. ## Learn More For documentation and example usage see: 1. [Checkly's documentation](https://www.checklyhq.com/docs/integrations/pulumi/). 2. [The official provider documentation](https://www.pulumi.com/registry/packages/checkly/api-docs/) -3. [Working Examples](https://github.com/checkly/pulumi-checkly/examples). +3. [Working Examples](https://github.com/checkly/pulumi-checkly/tree/main/examples). ## Questions For questions and support please open a new [discussion](https://github.com/checkly/pulumi-checkly/discussions). The issue list of this repo is exclusively for bug reports and feature/docs requests. diff --git a/sdk/python/pulumi_checkly/check_group.py b/sdk/python/pulumi_checkly/check_group.py index 34618e1..531cf75 100644 --- a/sdk/python/pulumi_checkly/check_group.py +++ b/sdk/python/pulumi_checkly/check_group.py @@ -17,8 +17,6 @@ class CheckGroupArgs: def __init__(__self__, *, activated: pulumi.Input[bool], concurrency: pulumi.Input[int], - locations: pulumi.Input[Sequence[pulumi.Input[str]]], - private_locations: pulumi.Input[Sequence[pulumi.Input[str]]], alert_channel_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input['CheckGroupAlertChannelSubscriptionArgs']]]] = None, alert_settings: Optional[pulumi.Input['CheckGroupAlertSettingsArgs']] = None, api_check_defaults: Optional[pulumi.Input['CheckGroupApiCheckDefaultsArgs']] = None, @@ -26,8 +24,10 @@ def __init__(__self__, *, environment_variables: Optional[pulumi.Input[Mapping[str, Any]]] = None, local_setup_script: Optional[pulumi.Input[str]] = None, local_teardown_script: Optional[pulumi.Input[str]] = None, + locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, muted: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, + private_locations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, runtime_id: Optional[pulumi.Input[str]] = None, setup_snippet_id: Optional[pulumi.Input[int]] = None, tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -37,16 +37,16 @@ def __init__(__self__, *, The set of arguments for constructing a CheckGroup resource. :param pulumi.Input[bool] activated: Determines if the checks in the group are running or not. :param pulumi.Input[int] concurrency: Determines how many checks are run concurrently when triggering a check group from CI/CD or through the API. - :param pulumi.Input[Sequence[pulumi.Input[str]]] locations: An array of one or more data center locations where to run the checks. - :param pulumi.Input[Sequence[pulumi.Input[str]]] private_locations: An array of one or more private locations slugs. :param pulumi.Input[bool] double_check: Setting this to `true` will trigger a retry when a check fails from the failing region and another, randomly selected region before marking the check as failed. :param pulumi.Input[Mapping[str, Any]] environment_variables: Key/value pairs for setting environment variables during check execution. These are only relevant for browser checks. Use global environment variables whenever possible. :param pulumi.Input[str] local_setup_script: A valid piece of Node.js code to run in the setup phase of an API check in this group. :param pulumi.Input[str] local_teardown_script: A valid piece of Node.js code to run in the teardown phase of an API check in this group. + :param pulumi.Input[Sequence[pulumi.Input[str]]] locations: An array of one or more data center locations where to run the checks. :param pulumi.Input[bool] muted: Determines if any notifications will be sent out when a check in this group fails and/or recovers. :param pulumi.Input[str] name: The name of the check group. + :param pulumi.Input[Sequence[pulumi.Input[str]]] private_locations: An array of one or more private locations slugs. :param pulumi.Input[str] runtime_id: The id of the runtime to use for this group. :param pulumi.Input[int] setup_snippet_id: An ID reference to a snippet to use in the setup phase of an API check. :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags for organizing and filtering checks. @@ -55,8 +55,6 @@ def __init__(__self__, *, """ pulumi.set(__self__, "activated", activated) pulumi.set(__self__, "concurrency", concurrency) - pulumi.set(__self__, "locations", locations) - pulumi.set(__self__, "private_locations", private_locations) if alert_channel_subscriptions is not None: pulumi.set(__self__, "alert_channel_subscriptions", alert_channel_subscriptions) if alert_settings is not None: @@ -71,10 +69,14 @@ def __init__(__self__, *, pulumi.set(__self__, "local_setup_script", local_setup_script) if local_teardown_script is not None: pulumi.set(__self__, "local_teardown_script", local_teardown_script) + if locations is not None: + pulumi.set(__self__, "locations", locations) if muted is not None: pulumi.set(__self__, "muted", muted) if name is not None: pulumi.set(__self__, "name", name) + if private_locations is not None: + pulumi.set(__self__, "private_locations", private_locations) if runtime_id is not None: pulumi.set(__self__, "runtime_id", runtime_id) if setup_snippet_id is not None: @@ -110,30 +112,6 @@ def concurrency(self) -> pulumi.Input[int]: def concurrency(self, value: pulumi.Input[int]): pulumi.set(self, "concurrency", value) - @property - @pulumi.getter - def locations(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - """ - An array of one or more data center locations where to run the checks. - """ - return pulumi.get(self, "locations") - - @locations.setter - def locations(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "locations", value) - - @property - @pulumi.getter(name="privateLocations") - def private_locations(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - """ - An array of one or more private locations slugs. - """ - return pulumi.get(self, "private_locations") - - @private_locations.setter - def private_locations(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "private_locations", value) - @property @pulumi.getter(name="alertChannelSubscriptions") def alert_channel_subscriptions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CheckGroupAlertChannelSubscriptionArgs']]]]: @@ -211,6 +189,18 @@ def local_teardown_script(self) -> Optional[pulumi.Input[str]]: def local_teardown_script(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "local_teardown_script", value) + @property + @pulumi.getter + def locations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + An array of one or more data center locations where to run the checks. + """ + return pulumi.get(self, "locations") + + @locations.setter + def locations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "locations", value) + @property @pulumi.getter def muted(self) -> Optional[pulumi.Input[bool]]: @@ -235,6 +225,18 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="privateLocations") + def private_locations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + An array of one or more private locations slugs. + """ + return pulumi.get(self, "private_locations") + + @private_locations.setter + def private_locations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "private_locations", value) + @property @pulumi.getter(name="runtimeId") def runtime_id(self) -> Optional[pulumi.Input[str]]: @@ -866,13 +868,9 @@ def _internal_init(__self__, __props__.__dict__["environment_variables"] = environment_variables __props__.__dict__["local_setup_script"] = local_setup_script __props__.__dict__["local_teardown_script"] = local_teardown_script - if locations is None and not opts.urn: - raise TypeError("Missing required property 'locations'") __props__.__dict__["locations"] = locations __props__.__dict__["muted"] = muted __props__.__dict__["name"] = name - if private_locations is None and not opts.urn: - raise TypeError("Missing required property 'private_locations'") __props__.__dict__["private_locations"] = private_locations __props__.__dict__["runtime_id"] = runtime_id __props__.__dict__["setup_snippet_id"] = setup_snippet_id @@ -1023,7 +1021,7 @@ def local_teardown_script(self) -> pulumi.Output[Optional[str]]: @property @pulumi.getter - def locations(self) -> pulumi.Output[Sequence[str]]: + def locations(self) -> pulumi.Output[Optional[Sequence[str]]]: """ An array of one or more data center locations where to run the checks. """ @@ -1047,7 +1045,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="privateLocations") - def private_locations(self) -> pulumi.Output[Sequence[str]]: + def private_locations(self) -> pulumi.Output[Optional[Sequence[str]]]: """ An array of one or more private locations slugs. """ diff --git a/sdk/python/pulumi_checkly/private_location.py b/sdk/python/pulumi_checkly/private_location.py index 72d09cc..d768c54 100644 --- a/sdk/python/pulumi_checkly/private_location.py +++ b/sdk/python/pulumi_checkly/private_location.py @@ -147,7 +147,18 @@ def __init__(__self__, slug_name: Optional[pulumi.Input[str]] = None, __props__=None): """ - Create a PrivateLocation resource with the given unique name, props, and options. + ## Example Usage + + ```python + import pulumi + import pulumi_checkly as checkly + + # Simple Private Location example + location = checkly.PrivateLocation("location", + icon="location", + slug_name="new-private-location") + ``` + :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] icon: Icon assigned to the private location. @@ -161,7 +172,18 @@ def __init__(__self__, args: PrivateLocationArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Create a PrivateLocation resource with the given unique name, props, and options. + ## Example Usage + + ```python + import pulumi + import pulumi_checkly as checkly + + # Simple Private Location example + location = checkly.PrivateLocation("location", + icon="location", + slug_name="new-private-location") + ``` + :param str resource_name: The name of the resource. :param PrivateLocationArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource.