@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
114 lines • 3.9 kB
JavaScript
;
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.getOrganizationOutput = exports.getOrganization = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
/**
* Get information about the organization that the users account belongs to.
*
* ## Example Usage
*
* ### Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = aws.organizations.getOrganization({});
* export const accountIds = example.then(example => example.accounts.map(__item => __item.id));
* ```
*
* ### Limit SNS Topic Access to an Organization
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = aws.organizations.getOrganization({});
* const snsTopic = new aws.sns.Topic("sns_topic", {name: "my-sns-topic"});
* const snsTopicPolicy = pulumi.all([example, snsTopic.arn]).apply(([example, arn]) => aws.iam.getPolicyDocumentOutput({
* statements: [{
* effect: "Allow",
* actions: [
* "SNS:Subscribe",
* "SNS:Publish",
* ],
* conditions: [{
* test: "StringEquals",
* variable: "aws:PrincipalOrgID",
* values: [example.id],
* }],
* principals: [{
* type: "AWS",
* identifiers: ["*"],
* }],
* resources: [arn],
* }],
* }));
* const snsTopicPolicyTopicPolicy = new aws.sns.TopicPolicy("sns_topic_policy", {
* arn: snsTopic.arn,
* policy: snsTopicPolicy.apply(snsTopicPolicy => snsTopicPolicy.json),
* });
* ```
*/
function getOrganization(opts) {
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
return pulumi.runtime.invoke("aws:organizations/getOrganization:getOrganization", {}, opts);
}
exports.getOrganization = getOrganization;
/**
* Get information about the organization that the users account belongs to.
*
* ## Example Usage
*
* ### Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = aws.organizations.getOrganization({});
* export const accountIds = example.then(example => example.accounts.map(__item => __item.id));
* ```
*
* ### Limit SNS Topic Access to an Organization
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = aws.organizations.getOrganization({});
* const snsTopic = new aws.sns.Topic("sns_topic", {name: "my-sns-topic"});
* const snsTopicPolicy = pulumi.all([example, snsTopic.arn]).apply(([example, arn]) => aws.iam.getPolicyDocumentOutput({
* statements: [{
* effect: "Allow",
* actions: [
* "SNS:Subscribe",
* "SNS:Publish",
* ],
* conditions: [{
* test: "StringEquals",
* variable: "aws:PrincipalOrgID",
* values: [example.id],
* }],
* principals: [{
* type: "AWS",
* identifiers: ["*"],
* }],
* resources: [arn],
* }],
* }));
* const snsTopicPolicyTopicPolicy = new aws.sns.TopicPolicy("sns_topic_policy", {
* arn: snsTopic.arn,
* policy: snsTopicPolicy.apply(snsTopicPolicy => snsTopicPolicy.json),
* });
* ```
*/
function getOrganizationOutput(opts) {
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
return pulumi.runtime.invokeOutput("aws:organizations/getOrganization:getOrganization", {}, opts);
}
exports.getOrganizationOutput = getOrganizationOutput;
//# sourceMappingURL=getOrganization.js.map