github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ram/sharingWithOrganization.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package ram 5 6 import ( 7 "context" 8 "reflect" 9 10 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Manages Resource Access Manager (RAM) Resource Sharing with AWS Organizations. If you enable sharing with your organization, you can share resources without using invitations. Refer to the [AWS RAM user guide](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs) for more details. 15 // 16 // > **NOTE:** Use this resource to manage resource sharing within your organization, **not** the `organizations.Organization` resource with `ram.amazonaws.com` configured in `awsServiceAccessPrincipals`. 17 // 18 // ## Example Usage 19 // 20 // <!--Start PulumiCodeChooser --> 21 // ```go 22 // package main 23 // 24 // import ( 25 // 26 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ram" 27 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 28 // 29 // ) 30 // 31 // func main() { 32 // pulumi.Run(func(ctx *pulumi.Context) error { 33 // _, err := ram.NewSharingWithOrganization(ctx, "example", nil) 34 // if err != nil { 35 // return err 36 // } 37 // return nil 38 // }) 39 // } 40 // 41 // ``` 42 // <!--End PulumiCodeChooser --> 43 // 44 // ## Import 45 // 46 // Using `pulumi import`, import the resource using the current AWS account ID. For example: 47 // 48 // ```sh 49 // $ pulumi import aws:ram/sharingWithOrganization:SharingWithOrganization example 123456789012 50 // ``` 51 type SharingWithOrganization struct { 52 pulumi.CustomResourceState 53 } 54 55 // NewSharingWithOrganization registers a new resource with the given unique name, arguments, and options. 56 func NewSharingWithOrganization(ctx *pulumi.Context, 57 name string, args *SharingWithOrganizationArgs, opts ...pulumi.ResourceOption) (*SharingWithOrganization, error) { 58 if args == nil { 59 args = &SharingWithOrganizationArgs{} 60 } 61 62 opts = internal.PkgResourceDefaultOpts(opts) 63 var resource SharingWithOrganization 64 err := ctx.RegisterResource("aws:ram/sharingWithOrganization:SharingWithOrganization", name, args, &resource, opts...) 65 if err != nil { 66 return nil, err 67 } 68 return &resource, nil 69 } 70 71 // GetSharingWithOrganization gets an existing SharingWithOrganization resource's state with the given name, ID, and optional 72 // state properties that are used to uniquely qualify the lookup (nil if not required). 73 func GetSharingWithOrganization(ctx *pulumi.Context, 74 name string, id pulumi.IDInput, state *SharingWithOrganizationState, opts ...pulumi.ResourceOption) (*SharingWithOrganization, error) { 75 var resource SharingWithOrganization 76 err := ctx.ReadResource("aws:ram/sharingWithOrganization:SharingWithOrganization", name, id, state, &resource, opts...) 77 if err != nil { 78 return nil, err 79 } 80 return &resource, nil 81 } 82 83 // Input properties used for looking up and filtering SharingWithOrganization resources. 84 type sharingWithOrganizationState struct { 85 } 86 87 type SharingWithOrganizationState struct { 88 } 89 90 func (SharingWithOrganizationState) ElementType() reflect.Type { 91 return reflect.TypeOf((*sharingWithOrganizationState)(nil)).Elem() 92 } 93 94 type sharingWithOrganizationArgs struct { 95 } 96 97 // The set of arguments for constructing a SharingWithOrganization resource. 98 type SharingWithOrganizationArgs struct { 99 } 100 101 func (SharingWithOrganizationArgs) ElementType() reflect.Type { 102 return reflect.TypeOf((*sharingWithOrganizationArgs)(nil)).Elem() 103 } 104 105 type SharingWithOrganizationInput interface { 106 pulumi.Input 107 108 ToSharingWithOrganizationOutput() SharingWithOrganizationOutput 109 ToSharingWithOrganizationOutputWithContext(ctx context.Context) SharingWithOrganizationOutput 110 } 111 112 func (*SharingWithOrganization) ElementType() reflect.Type { 113 return reflect.TypeOf((**SharingWithOrganization)(nil)).Elem() 114 } 115 116 func (i *SharingWithOrganization) ToSharingWithOrganizationOutput() SharingWithOrganizationOutput { 117 return i.ToSharingWithOrganizationOutputWithContext(context.Background()) 118 } 119 120 func (i *SharingWithOrganization) ToSharingWithOrganizationOutputWithContext(ctx context.Context) SharingWithOrganizationOutput { 121 return pulumi.ToOutputWithContext(ctx, i).(SharingWithOrganizationOutput) 122 } 123 124 // SharingWithOrganizationArrayInput is an input type that accepts SharingWithOrganizationArray and SharingWithOrganizationArrayOutput values. 125 // You can construct a concrete instance of `SharingWithOrganizationArrayInput` via: 126 // 127 // SharingWithOrganizationArray{ SharingWithOrganizationArgs{...} } 128 type SharingWithOrganizationArrayInput interface { 129 pulumi.Input 130 131 ToSharingWithOrganizationArrayOutput() SharingWithOrganizationArrayOutput 132 ToSharingWithOrganizationArrayOutputWithContext(context.Context) SharingWithOrganizationArrayOutput 133 } 134 135 type SharingWithOrganizationArray []SharingWithOrganizationInput 136 137 func (SharingWithOrganizationArray) ElementType() reflect.Type { 138 return reflect.TypeOf((*[]*SharingWithOrganization)(nil)).Elem() 139 } 140 141 func (i SharingWithOrganizationArray) ToSharingWithOrganizationArrayOutput() SharingWithOrganizationArrayOutput { 142 return i.ToSharingWithOrganizationArrayOutputWithContext(context.Background()) 143 } 144 145 func (i SharingWithOrganizationArray) ToSharingWithOrganizationArrayOutputWithContext(ctx context.Context) SharingWithOrganizationArrayOutput { 146 return pulumi.ToOutputWithContext(ctx, i).(SharingWithOrganizationArrayOutput) 147 } 148 149 // SharingWithOrganizationMapInput is an input type that accepts SharingWithOrganizationMap and SharingWithOrganizationMapOutput values. 150 // You can construct a concrete instance of `SharingWithOrganizationMapInput` via: 151 // 152 // SharingWithOrganizationMap{ "key": SharingWithOrganizationArgs{...} } 153 type SharingWithOrganizationMapInput interface { 154 pulumi.Input 155 156 ToSharingWithOrganizationMapOutput() SharingWithOrganizationMapOutput 157 ToSharingWithOrganizationMapOutputWithContext(context.Context) SharingWithOrganizationMapOutput 158 } 159 160 type SharingWithOrganizationMap map[string]SharingWithOrganizationInput 161 162 func (SharingWithOrganizationMap) ElementType() reflect.Type { 163 return reflect.TypeOf((*map[string]*SharingWithOrganization)(nil)).Elem() 164 } 165 166 func (i SharingWithOrganizationMap) ToSharingWithOrganizationMapOutput() SharingWithOrganizationMapOutput { 167 return i.ToSharingWithOrganizationMapOutputWithContext(context.Background()) 168 } 169 170 func (i SharingWithOrganizationMap) ToSharingWithOrganizationMapOutputWithContext(ctx context.Context) SharingWithOrganizationMapOutput { 171 return pulumi.ToOutputWithContext(ctx, i).(SharingWithOrganizationMapOutput) 172 } 173 174 type SharingWithOrganizationOutput struct{ *pulumi.OutputState } 175 176 func (SharingWithOrganizationOutput) ElementType() reflect.Type { 177 return reflect.TypeOf((**SharingWithOrganization)(nil)).Elem() 178 } 179 180 func (o SharingWithOrganizationOutput) ToSharingWithOrganizationOutput() SharingWithOrganizationOutput { 181 return o 182 } 183 184 func (o SharingWithOrganizationOutput) ToSharingWithOrganizationOutputWithContext(ctx context.Context) SharingWithOrganizationOutput { 185 return o 186 } 187 188 type SharingWithOrganizationArrayOutput struct{ *pulumi.OutputState } 189 190 func (SharingWithOrganizationArrayOutput) ElementType() reflect.Type { 191 return reflect.TypeOf((*[]*SharingWithOrganization)(nil)).Elem() 192 } 193 194 func (o SharingWithOrganizationArrayOutput) ToSharingWithOrganizationArrayOutput() SharingWithOrganizationArrayOutput { 195 return o 196 } 197 198 func (o SharingWithOrganizationArrayOutput) ToSharingWithOrganizationArrayOutputWithContext(ctx context.Context) SharingWithOrganizationArrayOutput { 199 return o 200 } 201 202 func (o SharingWithOrganizationArrayOutput) Index(i pulumi.IntInput) SharingWithOrganizationOutput { 203 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SharingWithOrganization { 204 return vs[0].([]*SharingWithOrganization)[vs[1].(int)] 205 }).(SharingWithOrganizationOutput) 206 } 207 208 type SharingWithOrganizationMapOutput struct{ *pulumi.OutputState } 209 210 func (SharingWithOrganizationMapOutput) ElementType() reflect.Type { 211 return reflect.TypeOf((*map[string]*SharingWithOrganization)(nil)).Elem() 212 } 213 214 func (o SharingWithOrganizationMapOutput) ToSharingWithOrganizationMapOutput() SharingWithOrganizationMapOutput { 215 return o 216 } 217 218 func (o SharingWithOrganizationMapOutput) ToSharingWithOrganizationMapOutputWithContext(ctx context.Context) SharingWithOrganizationMapOutput { 219 return o 220 } 221 222 func (o SharingWithOrganizationMapOutput) MapIndex(k pulumi.StringInput) SharingWithOrganizationOutput { 223 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SharingWithOrganization { 224 return vs[0].(map[string]*SharingWithOrganization)[vs[1].(string)] 225 }).(SharingWithOrganizationOutput) 226 } 227 228 func init() { 229 pulumi.RegisterInputType(reflect.TypeOf((*SharingWithOrganizationInput)(nil)).Elem(), &SharingWithOrganization{}) 230 pulumi.RegisterInputType(reflect.TypeOf((*SharingWithOrganizationArrayInput)(nil)).Elem(), SharingWithOrganizationArray{}) 231 pulumi.RegisterInputType(reflect.TypeOf((*SharingWithOrganizationMapInput)(nil)).Elem(), SharingWithOrganizationMap{}) 232 pulumi.RegisterOutputType(SharingWithOrganizationOutput{}) 233 pulumi.RegisterOutputType(SharingWithOrganizationArrayOutput{}) 234 pulumi.RegisterOutputType(SharingWithOrganizationMapOutput{}) 235 }