rpothin-powerplatform 0.1.12__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- rpothin_powerplatform-0.1.12/PKG-INFO +47 -0
- rpothin_powerplatform-0.1.12/README.md +26 -0
- rpothin_powerplatform-0.1.12/pyproject.toml +30 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform/__init__.py +35 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform/billing_policy.py +34 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform/dlp_policy.py +30 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform/environment.py +47 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform/environment_backup.py +28 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform/environment_group.py +31 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform/environment_settings.py +36 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform/get_apps.py +12 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform/get_connectors.py +12 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform/get_environments.py +12 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform/get_flows.py +12 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform/isv_contract.py +31 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform/managed_environment.py +23 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform/provider.py +26 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform/role_assignment.py +32 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform.egg-info/PKG-INFO +47 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform.egg-info/SOURCES.txt +22 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform.egg-info/dependency_links.txt +1 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform.egg-info/requires.txt +1 -0
- rpothin_powerplatform-0.1.12/rpothin_powerplatform.egg-info/top_level.txt +1 -0
- rpothin_powerplatform-0.1.12/setup.cfg +4 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: rpothin-powerplatform
|
|
3
|
+
Version: 0.1.12
|
|
4
|
+
Summary: Pulumi SDK for Microsoft Power Platform
|
|
5
|
+
Author: Raphael Pothin
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/rpothin/pulumi-powerplatform
|
|
8
|
+
Project-URL: Repository, https://github.com/rpothin/pulumi-powerplatform
|
|
9
|
+
Project-URL: Issues, https://github.com/rpothin/pulumi-powerplatform/issues
|
|
10
|
+
Keywords: pulumi,power-platform,microsoft,infrastructure-as-code
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Requires-Python: >=3.10
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
Requires-Dist: pulumi<4.0.0,>=3.0.0
|
|
21
|
+
|
|
22
|
+
# Pulumi Power Platform SDK
|
|
23
|
+
|
|
24
|
+
The Pulumi Power Platform SDK allows you to manage [Microsoft Power Platform](https://powerplatform.microsoft.com/) resources using infrastructure as code.
|
|
25
|
+
|
|
26
|
+
## Installation
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
pip install rpothin-powerplatform
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Usage
|
|
33
|
+
|
|
34
|
+
```python
|
|
35
|
+
import rpothin_powerplatform as pp
|
|
36
|
+
|
|
37
|
+
env = pp.Environment(
|
|
38
|
+
"dev",
|
|
39
|
+
display_name="Development",
|
|
40
|
+
location="unitedstates",
|
|
41
|
+
environment_type="Sandbox",
|
|
42
|
+
)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Documentation
|
|
46
|
+
|
|
47
|
+
For full documentation, visit the [GitHub repository](https://github.com/rpothin/pulumi-powerplatform).
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Pulumi Power Platform SDK
|
|
2
|
+
|
|
3
|
+
The Pulumi Power Platform SDK allows you to manage [Microsoft Power Platform](https://powerplatform.microsoft.com/) resources using infrastructure as code.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pip install rpothin-powerplatform
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```python
|
|
14
|
+
import rpothin_powerplatform as pp
|
|
15
|
+
|
|
16
|
+
env = pp.Environment(
|
|
17
|
+
"dev",
|
|
18
|
+
display_name="Development",
|
|
19
|
+
location="unitedstates",
|
|
20
|
+
environment_type="Sandbox",
|
|
21
|
+
)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Documentation
|
|
25
|
+
|
|
26
|
+
For full documentation, visit the [GitHub repository](https://github.com/rpothin/pulumi-powerplatform).
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "rpothin-powerplatform"
|
|
7
|
+
version = "0.1.12"
|
|
8
|
+
description = "Pulumi SDK for Microsoft Power Platform"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = { text = "MIT" }
|
|
11
|
+
requires-python = ">=3.10"
|
|
12
|
+
authors = [
|
|
13
|
+
{ name = "Raphael Pothin" },
|
|
14
|
+
]
|
|
15
|
+
keywords = ["pulumi", "power-platform", "microsoft", "infrastructure-as-code"]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Development Status :: 3 - Alpha",
|
|
18
|
+
"Intended Audience :: Developers",
|
|
19
|
+
"License :: OSI Approved :: MIT License",
|
|
20
|
+
"Programming Language :: Python :: 3",
|
|
21
|
+
"Programming Language :: Python :: 3.10",
|
|
22
|
+
"Programming Language :: Python :: 3.11",
|
|
23
|
+
"Programming Language :: Python :: 3.12",
|
|
24
|
+
]
|
|
25
|
+
dependencies = ["pulumi>=3.0.0,<4.0.0"]
|
|
26
|
+
|
|
27
|
+
[project.urls]
|
|
28
|
+
Homepage = "https://github.com/rpothin/pulumi-powerplatform"
|
|
29
|
+
Repository = "https://github.com/rpothin/pulumi-powerplatform"
|
|
30
|
+
Issues = "https://github.com/rpothin/pulumi-powerplatform/issues"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"""Pulumi SDK for Microsoft Power Platform."""
|
|
2
|
+
|
|
3
|
+
from .provider import Provider
|
|
4
|
+
|
|
5
|
+
from .environment import Environment
|
|
6
|
+
from .environment_group import EnvironmentGroup
|
|
7
|
+
from .environment_settings import EnvironmentSettings
|
|
8
|
+
from .dlp_policy import DlpPolicy
|
|
9
|
+
from .billing_policy import BillingPolicy
|
|
10
|
+
from .managed_environment import ManagedEnvironment
|
|
11
|
+
from .environment_backup import EnvironmentBackup
|
|
12
|
+
from .role_assignment import RoleAssignment
|
|
13
|
+
from .isv_contract import IsvContract
|
|
14
|
+
|
|
15
|
+
from .get_environments import get_environments
|
|
16
|
+
from .get_connectors import get_connectors
|
|
17
|
+
from .get_apps import get_apps
|
|
18
|
+
from .get_flows import get_flows
|
|
19
|
+
|
|
20
|
+
__all__ = [
|
|
21
|
+
"Provider",
|
|
22
|
+
"Environment",
|
|
23
|
+
"EnvironmentGroup",
|
|
24
|
+
"EnvironmentSettings",
|
|
25
|
+
"DlpPolicy",
|
|
26
|
+
"BillingPolicy",
|
|
27
|
+
"ManagedEnvironment",
|
|
28
|
+
"EnvironmentBackup",
|
|
29
|
+
"RoleAssignment",
|
|
30
|
+
"IsvContract",
|
|
31
|
+
"get_environments",
|
|
32
|
+
"get_connectors",
|
|
33
|
+
"get_apps",
|
|
34
|
+
"get_flows",
|
|
35
|
+
]
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"""Power Platform Billing Policy resource."""
|
|
2
|
+
|
|
3
|
+
import pulumi
|
|
4
|
+
from typing import Any, Optional
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class BillingPolicy(pulumi.CustomResource):
|
|
8
|
+
"""Manages a Power Platform billing policy."""
|
|
9
|
+
|
|
10
|
+
name: pulumi.Output[str]
|
|
11
|
+
location: pulumi.Output[str]
|
|
12
|
+
status: pulumi.Output[str]
|
|
13
|
+
billing_instrument: pulumi.Output[Any]
|
|
14
|
+
created_on: pulumi.Output[str]
|
|
15
|
+
last_modified_on: pulumi.Output[str]
|
|
16
|
+
|
|
17
|
+
def __init__(
|
|
18
|
+
self,
|
|
19
|
+
resource_name: str,
|
|
20
|
+
name: Optional[str] = None,
|
|
21
|
+
location: Optional[str] = None,
|
|
22
|
+
status: Optional[str] = None,
|
|
23
|
+
billing_instrument: Optional[Any] = None,
|
|
24
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
25
|
+
):
|
|
26
|
+
props = {
|
|
27
|
+
"name": name,
|
|
28
|
+
"location": location,
|
|
29
|
+
"status": status,
|
|
30
|
+
"billingInstrument": billing_instrument,
|
|
31
|
+
"createdOn": None,
|
|
32
|
+
"lastModifiedOn": None,
|
|
33
|
+
}
|
|
34
|
+
super().__init__("powerplatform:index:BillingPolicy", resource_name, props, opts)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"""Power Platform DLP Policy resource."""
|
|
2
|
+
|
|
3
|
+
import pulumi
|
|
4
|
+
from typing import Any, Optional, Sequence
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class DlpPolicy(pulumi.CustomResource):
|
|
8
|
+
"""Manages a Power Platform Data Loss Prevention (DLP) policy."""
|
|
9
|
+
|
|
10
|
+
name: pulumi.Output[str]
|
|
11
|
+
rule_sets: pulumi.Output[Sequence[Any]]
|
|
12
|
+
tenant_id: pulumi.Output[str]
|
|
13
|
+
last_modified: pulumi.Output[str]
|
|
14
|
+
rule_set_count: pulumi.Output[int]
|
|
15
|
+
|
|
16
|
+
def __init__(
|
|
17
|
+
self,
|
|
18
|
+
resource_name: str,
|
|
19
|
+
name: Optional[str] = None,
|
|
20
|
+
rule_sets: Optional[Sequence[Any]] = None,
|
|
21
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
22
|
+
):
|
|
23
|
+
props = {
|
|
24
|
+
"name": name,
|
|
25
|
+
"ruleSets": rule_sets,
|
|
26
|
+
"tenantId": None,
|
|
27
|
+
"lastModified": None,
|
|
28
|
+
"ruleSetCount": None,
|
|
29
|
+
}
|
|
30
|
+
super().__init__("powerplatform:index:DlpPolicy", resource_name, props, opts)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"""Power Platform Environment resource."""
|
|
2
|
+
|
|
3
|
+
import pulumi
|
|
4
|
+
from typing import Any, Optional
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Environment(pulumi.CustomResource):
|
|
8
|
+
"""Manages a Power Platform environment."""
|
|
9
|
+
|
|
10
|
+
display_name: pulumi.Output[str]
|
|
11
|
+
description: pulumi.Output[str]
|
|
12
|
+
location: pulumi.Output[str]
|
|
13
|
+
environment_type: pulumi.Output[str]
|
|
14
|
+
domain_name: pulumi.Output[str]
|
|
15
|
+
currency_code: pulumi.Output[str]
|
|
16
|
+
language_code: pulumi.Output[str]
|
|
17
|
+
state: pulumi.Output[str]
|
|
18
|
+
url: pulumi.Output[str]
|
|
19
|
+
created_time: pulumi.Output[str]
|
|
20
|
+
last_modified_time: pulumi.Output[str]
|
|
21
|
+
|
|
22
|
+
def __init__(
|
|
23
|
+
self,
|
|
24
|
+
resource_name: str,
|
|
25
|
+
display_name: Optional[str] = None,
|
|
26
|
+
description: Optional[str] = None,
|
|
27
|
+
location: Optional[str] = None,
|
|
28
|
+
environment_type: Optional[str] = None,
|
|
29
|
+
domain_name: Optional[str] = None,
|
|
30
|
+
currency_code: Optional[str] = None,
|
|
31
|
+
language_code: Optional[str] = None,
|
|
32
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
33
|
+
):
|
|
34
|
+
props = {
|
|
35
|
+
"displayName": display_name,
|
|
36
|
+
"description": description,
|
|
37
|
+
"location": location,
|
|
38
|
+
"environmentType": environment_type,
|
|
39
|
+
"domainName": domain_name,
|
|
40
|
+
"currencyCode": currency_code,
|
|
41
|
+
"languageCode": language_code,
|
|
42
|
+
"state": None,
|
|
43
|
+
"url": None,
|
|
44
|
+
"createdTime": None,
|
|
45
|
+
"lastModifiedTime": None,
|
|
46
|
+
}
|
|
47
|
+
super().__init__("powerplatform:index:Environment", resource_name, props, opts)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"""Power Platform Environment Backup resource."""
|
|
2
|
+
|
|
3
|
+
import pulumi
|
|
4
|
+
from typing import Optional
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class EnvironmentBackup(pulumi.CustomResource):
|
|
8
|
+
"""Creates a manual backup of a Power Platform environment."""
|
|
9
|
+
|
|
10
|
+
environment_id: pulumi.Output[str]
|
|
11
|
+
label: pulumi.Output[str]
|
|
12
|
+
backup_point_date_time: pulumi.Output[str]
|
|
13
|
+
backup_expiry_date_time: pulumi.Output[str]
|
|
14
|
+
|
|
15
|
+
def __init__(
|
|
16
|
+
self,
|
|
17
|
+
resource_name: str,
|
|
18
|
+
environment_id: Optional[str] = None,
|
|
19
|
+
label: Optional[str] = None,
|
|
20
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
21
|
+
):
|
|
22
|
+
props = {
|
|
23
|
+
"environmentId": environment_id,
|
|
24
|
+
"label": label,
|
|
25
|
+
"backupPointDateTime": None,
|
|
26
|
+
"backupExpiryDateTime": None,
|
|
27
|
+
}
|
|
28
|
+
super().__init__("powerplatform:index:EnvironmentBackup", resource_name, props, opts)
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"""Power Platform Environment Group resource."""
|
|
2
|
+
|
|
3
|
+
import pulumi
|
|
4
|
+
from typing import Optional
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class EnvironmentGroup(pulumi.CustomResource):
|
|
8
|
+
"""Manages a Power Platform environment group."""
|
|
9
|
+
|
|
10
|
+
display_name: pulumi.Output[str]
|
|
11
|
+
description: pulumi.Output[str]
|
|
12
|
+
parent_group_id: pulumi.Output[str]
|
|
13
|
+
created_time: pulumi.Output[str]
|
|
14
|
+
last_modified_time: pulumi.Output[str]
|
|
15
|
+
|
|
16
|
+
def __init__(
|
|
17
|
+
self,
|
|
18
|
+
resource_name: str,
|
|
19
|
+
display_name: Optional[str] = None,
|
|
20
|
+
description: Optional[str] = None,
|
|
21
|
+
parent_group_id: Optional[str] = None,
|
|
22
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
23
|
+
):
|
|
24
|
+
props = {
|
|
25
|
+
"displayName": display_name,
|
|
26
|
+
"description": description,
|
|
27
|
+
"parentGroupId": parent_group_id,
|
|
28
|
+
"createdTime": None,
|
|
29
|
+
"lastModifiedTime": None,
|
|
30
|
+
}
|
|
31
|
+
super().__init__("powerplatform:index:EnvironmentGroup", resource_name, props, opts)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"""Power Platform Environment Settings resource."""
|
|
2
|
+
|
|
3
|
+
import pulumi
|
|
4
|
+
from typing import Optional
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class EnvironmentSettings(pulumi.CustomResource):
|
|
8
|
+
"""Manages settings on a Power Platform environment."""
|
|
9
|
+
|
|
10
|
+
environment_id: pulumi.Output[str]
|
|
11
|
+
max_upload_file_size: pulumi.Output[str]
|
|
12
|
+
plugin_trace_log_setting: pulumi.Output[str]
|
|
13
|
+
is_audit_enabled: pulumi.Output[str]
|
|
14
|
+
is_user_access_audit_enabled: pulumi.Output[str]
|
|
15
|
+
is_activity_logging_enabled: pulumi.Output[str]
|
|
16
|
+
|
|
17
|
+
def __init__(
|
|
18
|
+
self,
|
|
19
|
+
resource_name: str,
|
|
20
|
+
environment_id: Optional[str] = None,
|
|
21
|
+
max_upload_file_size: Optional[str] = None,
|
|
22
|
+
plugin_trace_log_setting: Optional[str] = None,
|
|
23
|
+
is_audit_enabled: Optional[str] = None,
|
|
24
|
+
is_user_access_audit_enabled: Optional[str] = None,
|
|
25
|
+
is_activity_logging_enabled: Optional[str] = None,
|
|
26
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
27
|
+
):
|
|
28
|
+
props = {
|
|
29
|
+
"environmentId": environment_id,
|
|
30
|
+
"maxUploadFileSize": max_upload_file_size,
|
|
31
|
+
"pluginTraceLogSetting": plugin_trace_log_setting,
|
|
32
|
+
"isAuditEnabled": is_audit_enabled,
|
|
33
|
+
"isUserAccessAuditEnabled": is_user_access_audit_enabled,
|
|
34
|
+
"isActivityLoggingEnabled": is_activity_logging_enabled,
|
|
35
|
+
}
|
|
36
|
+
super().__init__("powerplatform:index:EnvironmentSettings", resource_name, props, opts)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"""Power Platform getApps function."""
|
|
2
|
+
|
|
3
|
+
import pulumi
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def get_apps(environment_id: str, opts: pulumi.InvokeOptions = None):
|
|
7
|
+
"""Lists Power Apps in a Power Platform environment."""
|
|
8
|
+
return pulumi.runtime.invoke(
|
|
9
|
+
"powerplatform:index:getApps",
|
|
10
|
+
{"environmentId": environment_id},
|
|
11
|
+
opts=opts,
|
|
12
|
+
).value
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"""Power Platform getConnectors function."""
|
|
2
|
+
|
|
3
|
+
import pulumi
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def get_connectors(environment_id: str, opts: pulumi.InvokeOptions = None):
|
|
7
|
+
"""Lists connectors available in a Power Platform environment."""
|
|
8
|
+
return pulumi.runtime.invoke(
|
|
9
|
+
"powerplatform:index:getConnectors",
|
|
10
|
+
{"environmentId": environment_id},
|
|
11
|
+
opts=opts,
|
|
12
|
+
).value
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"""Power Platform getEnvironments function."""
|
|
2
|
+
|
|
3
|
+
import pulumi
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def get_environments(filter: str = None, top: int = None, opts: pulumi.InvokeOptions = None):
|
|
7
|
+
"""Lists Power Platform environments."""
|
|
8
|
+
return pulumi.runtime.invoke(
|
|
9
|
+
"powerplatform:index:getEnvironments",
|
|
10
|
+
{"filter": filter, "top": top},
|
|
11
|
+
opts=opts,
|
|
12
|
+
).value
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"""Power Platform getFlows function."""
|
|
2
|
+
|
|
3
|
+
import pulumi
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def get_flows(environment_id: str, opts: pulumi.InvokeOptions = None):
|
|
7
|
+
"""Lists Cloud Flows in a Power Platform environment."""
|
|
8
|
+
return pulumi.runtime.invoke(
|
|
9
|
+
"powerplatform:index:getFlows",
|
|
10
|
+
{"environmentId": environment_id},
|
|
11
|
+
opts=opts,
|
|
12
|
+
).value
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"""Power Platform ISV Contract resource."""
|
|
2
|
+
|
|
3
|
+
import pulumi
|
|
4
|
+
from typing import Optional
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class IsvContract(pulumi.CustomResource):
|
|
8
|
+
"""Manages an ISV (Independent Software Vendor) contract for Power Platform licensing."""
|
|
9
|
+
|
|
10
|
+
name: pulumi.Output[str]
|
|
11
|
+
geo: pulumi.Output[str]
|
|
12
|
+
status: pulumi.Output[str]
|
|
13
|
+
created_on: pulumi.Output[str]
|
|
14
|
+
last_modified_on: pulumi.Output[str]
|
|
15
|
+
|
|
16
|
+
def __init__(
|
|
17
|
+
self,
|
|
18
|
+
resource_name: str,
|
|
19
|
+
name: Optional[str] = None,
|
|
20
|
+
geo: Optional[str] = None,
|
|
21
|
+
status: Optional[str] = None,
|
|
22
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
23
|
+
):
|
|
24
|
+
props = {
|
|
25
|
+
"name": name,
|
|
26
|
+
"geo": geo,
|
|
27
|
+
"status": status,
|
|
28
|
+
"createdOn": None,
|
|
29
|
+
"lastModifiedOn": None,
|
|
30
|
+
}
|
|
31
|
+
super().__init__("powerplatform:index:IsvContract", resource_name, props, opts)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"""Power Platform Managed Environment resource."""
|
|
2
|
+
|
|
3
|
+
import pulumi
|
|
4
|
+
from typing import Optional
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class ManagedEnvironment(pulumi.CustomResource):
|
|
8
|
+
"""Enables managed environment governance on a Power Platform environment."""
|
|
9
|
+
|
|
10
|
+
environment_id: pulumi.Output[str]
|
|
11
|
+
enabled: pulumi.Output[bool]
|
|
12
|
+
|
|
13
|
+
def __init__(
|
|
14
|
+
self,
|
|
15
|
+
resource_name: str,
|
|
16
|
+
environment_id: Optional[str] = None,
|
|
17
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
18
|
+
):
|
|
19
|
+
props = {
|
|
20
|
+
"environmentId": environment_id,
|
|
21
|
+
"enabled": None,
|
|
22
|
+
}
|
|
23
|
+
super().__init__("powerplatform:index:ManagedEnvironment", resource_name, props, opts)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"""Power Platform Pulumi provider resource."""
|
|
2
|
+
|
|
3
|
+
import pulumi
|
|
4
|
+
from typing import Optional
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Provider(pulumi.ProviderResource):
|
|
8
|
+
"""The provider for Power Platform resources."""
|
|
9
|
+
|
|
10
|
+
tenant_id: pulumi.Output[str]
|
|
11
|
+
client_id: pulumi.Output[str]
|
|
12
|
+
|
|
13
|
+
def __init__(
|
|
14
|
+
self,
|
|
15
|
+
resource_name: str,
|
|
16
|
+
tenant_id: Optional[str] = None,
|
|
17
|
+
client_id: Optional[str] = None,
|
|
18
|
+
client_secret: Optional[str] = None,
|
|
19
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
20
|
+
):
|
|
21
|
+
props = {
|
|
22
|
+
"tenantId": tenant_id,
|
|
23
|
+
"clientId": client_id,
|
|
24
|
+
"clientSecret": client_secret,
|
|
25
|
+
}
|
|
26
|
+
super().__init__("powerplatform", resource_name, props, opts)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"""Power Platform Role Assignment resource."""
|
|
2
|
+
|
|
3
|
+
import pulumi
|
|
4
|
+
from typing import Optional
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class RoleAssignment(pulumi.CustomResource):
|
|
8
|
+
"""Assigns a role to a principal at a specified scope."""
|
|
9
|
+
|
|
10
|
+
principal_object_id: pulumi.Output[str]
|
|
11
|
+
principal_type: pulumi.Output[str]
|
|
12
|
+
role_definition_id: pulumi.Output[str]
|
|
13
|
+
scope: pulumi.Output[str]
|
|
14
|
+
created_on: pulumi.Output[str]
|
|
15
|
+
|
|
16
|
+
def __init__(
|
|
17
|
+
self,
|
|
18
|
+
resource_name: str,
|
|
19
|
+
principal_object_id: Optional[str] = None,
|
|
20
|
+
principal_type: Optional[str] = None,
|
|
21
|
+
role_definition_id: Optional[str] = None,
|
|
22
|
+
scope: Optional[str] = None,
|
|
23
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
24
|
+
):
|
|
25
|
+
props = {
|
|
26
|
+
"principalObjectId": principal_object_id,
|
|
27
|
+
"principalType": principal_type,
|
|
28
|
+
"roleDefinitionId": role_definition_id,
|
|
29
|
+
"scope": scope,
|
|
30
|
+
"createdOn": None,
|
|
31
|
+
}
|
|
32
|
+
super().__init__("powerplatform:index:RoleAssignment", resource_name, props, opts)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: rpothin-powerplatform
|
|
3
|
+
Version: 0.1.12
|
|
4
|
+
Summary: Pulumi SDK for Microsoft Power Platform
|
|
5
|
+
Author: Raphael Pothin
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/rpothin/pulumi-powerplatform
|
|
8
|
+
Project-URL: Repository, https://github.com/rpothin/pulumi-powerplatform
|
|
9
|
+
Project-URL: Issues, https://github.com/rpothin/pulumi-powerplatform/issues
|
|
10
|
+
Keywords: pulumi,power-platform,microsoft,infrastructure-as-code
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Requires-Python: >=3.10
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
Requires-Dist: pulumi<4.0.0,>=3.0.0
|
|
21
|
+
|
|
22
|
+
# Pulumi Power Platform SDK
|
|
23
|
+
|
|
24
|
+
The Pulumi Power Platform SDK allows you to manage [Microsoft Power Platform](https://powerplatform.microsoft.com/) resources using infrastructure as code.
|
|
25
|
+
|
|
26
|
+
## Installation
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
pip install rpothin-powerplatform
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Usage
|
|
33
|
+
|
|
34
|
+
```python
|
|
35
|
+
import rpothin_powerplatform as pp
|
|
36
|
+
|
|
37
|
+
env = pp.Environment(
|
|
38
|
+
"dev",
|
|
39
|
+
display_name="Development",
|
|
40
|
+
location="unitedstates",
|
|
41
|
+
environment_type="Sandbox",
|
|
42
|
+
)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Documentation
|
|
46
|
+
|
|
47
|
+
For full documentation, visit the [GitHub repository](https://github.com/rpothin/pulumi-powerplatform).
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
README.md
|
|
2
|
+
pyproject.toml
|
|
3
|
+
rpothin_powerplatform/__init__.py
|
|
4
|
+
rpothin_powerplatform/billing_policy.py
|
|
5
|
+
rpothin_powerplatform/dlp_policy.py
|
|
6
|
+
rpothin_powerplatform/environment.py
|
|
7
|
+
rpothin_powerplatform/environment_backup.py
|
|
8
|
+
rpothin_powerplatform/environment_group.py
|
|
9
|
+
rpothin_powerplatform/environment_settings.py
|
|
10
|
+
rpothin_powerplatform/get_apps.py
|
|
11
|
+
rpothin_powerplatform/get_connectors.py
|
|
12
|
+
rpothin_powerplatform/get_environments.py
|
|
13
|
+
rpothin_powerplatform/get_flows.py
|
|
14
|
+
rpothin_powerplatform/isv_contract.py
|
|
15
|
+
rpothin_powerplatform/managed_environment.py
|
|
16
|
+
rpothin_powerplatform/provider.py
|
|
17
|
+
rpothin_powerplatform/role_assignment.py
|
|
18
|
+
rpothin_powerplatform.egg-info/PKG-INFO
|
|
19
|
+
rpothin_powerplatform.egg-info/SOURCES.txt
|
|
20
|
+
rpothin_powerplatform.egg-info/dependency_links.txt
|
|
21
|
+
rpothin_powerplatform.egg-info/requires.txt
|
|
22
|
+
rpothin_powerplatform.egg-info/top_level.txt
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
pulumi<4.0.0,>=3.0.0
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
rpothin_powerplatform
|