diff options
Diffstat (limited to 'python-pulumi-terraform.spec')
-rw-r--r-- | python-pulumi-terraform.spec | 372 |
1 files changed, 372 insertions, 0 deletions
diff --git a/python-pulumi-terraform.spec b/python-pulumi-terraform.spec new file mode 100644 index 0000000..242c693 --- /dev/null +++ b/python-pulumi-terraform.spec @@ -0,0 +1,372 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pulumi-terraform +Version: 5.12.2 +Release: 1 +Summary: A Pulumi package for consuming Terraform Remote State resources. +License: Apache-2.0 +URL: https://pulumi.io +Source0: https://mirrors.aliyun.com/pypi/web/packages/fc/c0/4b29d1df4d1320455e8d078952e46c8496e82b4597af600b86df5feddb6c/pulumi_terraform-5.12.2.tar.gz +BuildArch: noarch + + +%description +# Pulumi Terraform Provider + +The Terraform resource provider for Pulumi lets you consume the outputs +contained in Terraform state files from your Pulumi programs. The package +provides a `RemoteStateReference` resource which acts like a native Pulumi +[`StackReference`][stackreference]. + +To use this package, please [install the Pulumi CLI first][pulumicli]. + +## Installing + +### Node.js (JavaScript/TypeScript) + +To use from JavaScript or TypeScript in Node.js, install using either `npm`: + + $ npm install @pulumi/terraform + +or `yarn`: + + $ yarn add @pulumi/terraform + +### Python + +To use from Python, install using `pip`: + + $ pip install pulumi-terraform + +## Concepts + +The `@pulumi/terraform` package provides a resource named `RemoteStateReference` +which is used to read outputs from a Terraform state file stored in one of the +supported Terraform remote state backends. + +## Examples + +### S3 + +The following program will read a Terraform state file stored in S3: + +```typescript +import * as tf from "@pulumi/terraform"; + +const remoteState = new tf.state.RemoteStateReference("s3state", { + backendType: "s3", + bucket: "pulumi-terraform-state-test", + key: "test/terraform.tfstate", + region: "us-west-2" +}); + +// Use the getOutput function on the resource to access root outputs +const vpcId= remoteState.getOutput("vpc_id"); +``` + +### Local file + +The following program will read a Terraform state file stored locally in the +filesystem: + +```typescript +import * as tf from "@pulumi/terraform"; + +const remotestate = new tf.state.RemoteStateReference("localstate", { + backendType: "local", + path: path.join(__dirname, "terraform.tfstate"), +}); + +// Use the getOutput function on the resource to access root outputs +const vpcId= remoteState.getOutput("vpc_id"); +``` + +### Terraform Enterprise + +For state stored in Terraform Enterprise, the authentication token must be set +via the Pulumi configuration system - for example, using: + + pulumi config set --secret terraformEnterpriseToken <value> + +The following program will read a Terraform state file stored in Terraform +Enterprise, using the value of `terraformEnterpriseToken` from above: + +```typescript +import * as pulumi from "@pulumi/pulumi"; +import * as tf from "@pulumi/terraform"; + +const config = new pulumi.Config(); + +const ref = new tf.state.RemoteStateReference("remote", { + backendType: "remote", + organization: "pulumi", + token: config.requireSecret("terraformEnterpriseToken"), + workspaces: { + name: "test-state-file" + } +}); + +// Use the getOutput function on the resource to access root outputs +const vpcId= remoteState.getOutput("vpc_id"); +``` + +[stackreference]: https://www.pulumi.com/docs/reference/organizing-stacks-projects/#inter-stack-dependencies +[pulumicli]: https://pulumi.com/ + +%package -n python3-pulumi-terraform +Summary: A Pulumi package for consuming Terraform Remote State resources. +Provides: python-pulumi-terraform +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pulumi-terraform +# Pulumi Terraform Provider + +The Terraform resource provider for Pulumi lets you consume the outputs +contained in Terraform state files from your Pulumi programs. The package +provides a `RemoteStateReference` resource which acts like a native Pulumi +[`StackReference`][stackreference]. + +To use this package, please [install the Pulumi CLI first][pulumicli]. + +## Installing + +### Node.js (JavaScript/TypeScript) + +To use from JavaScript or TypeScript in Node.js, install using either `npm`: + + $ npm install @pulumi/terraform + +or `yarn`: + + $ yarn add @pulumi/terraform + +### Python + +To use from Python, install using `pip`: + + $ pip install pulumi-terraform + +## Concepts + +The `@pulumi/terraform` package provides a resource named `RemoteStateReference` +which is used to read outputs from a Terraform state file stored in one of the +supported Terraform remote state backends. + +## Examples + +### S3 + +The following program will read a Terraform state file stored in S3: + +```typescript +import * as tf from "@pulumi/terraform"; + +const remoteState = new tf.state.RemoteStateReference("s3state", { + backendType: "s3", + bucket: "pulumi-terraform-state-test", + key: "test/terraform.tfstate", + region: "us-west-2" +}); + +// Use the getOutput function on the resource to access root outputs +const vpcId= remoteState.getOutput("vpc_id"); +``` + +### Local file + +The following program will read a Terraform state file stored locally in the +filesystem: + +```typescript +import * as tf from "@pulumi/terraform"; + +const remotestate = new tf.state.RemoteStateReference("localstate", { + backendType: "local", + path: path.join(__dirname, "terraform.tfstate"), +}); + +// Use the getOutput function on the resource to access root outputs +const vpcId= remoteState.getOutput("vpc_id"); +``` + +### Terraform Enterprise + +For state stored in Terraform Enterprise, the authentication token must be set +via the Pulumi configuration system - for example, using: + + pulumi config set --secret terraformEnterpriseToken <value> + +The following program will read a Terraform state file stored in Terraform +Enterprise, using the value of `terraformEnterpriseToken` from above: + +```typescript +import * as pulumi from "@pulumi/pulumi"; +import * as tf from "@pulumi/terraform"; + +const config = new pulumi.Config(); + +const ref = new tf.state.RemoteStateReference("remote", { + backendType: "remote", + organization: "pulumi", + token: config.requireSecret("terraformEnterpriseToken"), + workspaces: { + name: "test-state-file" + } +}); + +// Use the getOutput function on the resource to access root outputs +const vpcId= remoteState.getOutput("vpc_id"); +``` + +[stackreference]: https://www.pulumi.com/docs/reference/organizing-stacks-projects/#inter-stack-dependencies +[pulumicli]: https://pulumi.com/ + +%package help +Summary: Development documents and examples for pulumi-terraform +Provides: python3-pulumi-terraform-doc +%description help +# Pulumi Terraform Provider + +The Terraform resource provider for Pulumi lets you consume the outputs +contained in Terraform state files from your Pulumi programs. The package +provides a `RemoteStateReference` resource which acts like a native Pulumi +[`StackReference`][stackreference]. + +To use this package, please [install the Pulumi CLI first][pulumicli]. + +## Installing + +### Node.js (JavaScript/TypeScript) + +To use from JavaScript or TypeScript in Node.js, install using either `npm`: + + $ npm install @pulumi/terraform + +or `yarn`: + + $ yarn add @pulumi/terraform + +### Python + +To use from Python, install using `pip`: + + $ pip install pulumi-terraform + +## Concepts + +The `@pulumi/terraform` package provides a resource named `RemoteStateReference` +which is used to read outputs from a Terraform state file stored in one of the +supported Terraform remote state backends. + +## Examples + +### S3 + +The following program will read a Terraform state file stored in S3: + +```typescript +import * as tf from "@pulumi/terraform"; + +const remoteState = new tf.state.RemoteStateReference("s3state", { + backendType: "s3", + bucket: "pulumi-terraform-state-test", + key: "test/terraform.tfstate", + region: "us-west-2" +}); + +// Use the getOutput function on the resource to access root outputs +const vpcId= remoteState.getOutput("vpc_id"); +``` + +### Local file + +The following program will read a Terraform state file stored locally in the +filesystem: + +```typescript +import * as tf from "@pulumi/terraform"; + +const remotestate = new tf.state.RemoteStateReference("localstate", { + backendType: "local", + path: path.join(__dirname, "terraform.tfstate"), +}); + +// Use the getOutput function on the resource to access root outputs +const vpcId= remoteState.getOutput("vpc_id"); +``` + +### Terraform Enterprise + +For state stored in Terraform Enterprise, the authentication token must be set +via the Pulumi configuration system - for example, using: + + pulumi config set --secret terraformEnterpriseToken <value> + +The following program will read a Terraform state file stored in Terraform +Enterprise, using the value of `terraformEnterpriseToken` from above: + +```typescript +import * as pulumi from "@pulumi/pulumi"; +import * as tf from "@pulumi/terraform"; + +const config = new pulumi.Config(); + +const ref = new tf.state.RemoteStateReference("remote", { + backendType: "remote", + organization: "pulumi", + token: config.requireSecret("terraformEnterpriseToken"), + workspaces: { + name: "test-state-file" + } +}); + +// Use the getOutput function on the resource to access root outputs +const vpcId= remoteState.getOutput("vpc_id"); +``` + +[stackreference]: https://www.pulumi.com/docs/reference/organizing-stacks-projects/#inter-stack-dependencies +[pulumicli]: https://pulumi.com/ + +%prep +%autosetup -n pulumi_terraform-5.12.2 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-pulumi-terraform -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu Jun 08 2023 Python_Bot <Python_Bot@openeuler.org> - 5.12.2-1 +- Package Spec generated |