-
-
Notifications
You must be signed in to change notification settings - Fork 346
Expand file tree
/
Copy pathIContainerConfiguration.cs
More file actions
141 lines (117 loc) · 3.6 KB
/
IContainerConfiguration.cs
File metadata and controls
141 lines (117 loc) · 3.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
namespace DotNet.Testcontainers.Configurations
{
using Docker.DotNet.Models;
using DotNet.Testcontainers.Configurations.Containers;
using DotNet.Testcontainers.Containers;
using DotNet.Testcontainers.Images;
using DotNet.Testcontainers.Networks;
using JetBrains.Annotations;
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
/// <summary>
/// A container configuration.
/// </summary>
[PublicAPI]
public interface IContainerConfiguration : IResourceConfiguration<CreateContainerParameters>
{
/// <summary>
/// Gets a value indicating whether Docker removes the container after it exits or not.
/// </summary>
bool? AutoRemove { get; }
/// <summary>
/// Gets a value indicating whether the privileged flag is set or not.
/// </summary>
bool? Privileged { get; }
/// <summary>
/// Gets the image.
/// </summary>
IImage Image { get; }
/// <summary>
/// Gets the image pull policy.
/// </summary>
Func<ImageInspectResponse, bool> ImagePullPolicy { get; }
/// <summary>
/// Gets the name.
/// </summary>
string Name { get; }
/// <summary>
/// Gets the hostname.
/// </summary>
string Hostname { get; }
/// <summary>
/// Gets the MAC address.
/// </summary>
string MacAddress { get; }
/// <summary>
/// Gets the working directory.
/// </summary>
string WorkingDirectory { get; }
/// <summary>
/// Gets the entrypoint.
/// </summary>
IEnumerable<string> Entrypoint { get; }
/// <summary>
/// Gets the command.
/// </summary>
ComposableEnumerable<string> Command { get; }
/// <summary>
/// Gets a dictionary of environment variables.
/// </summary>
IReadOnlyDictionary<string, string> Environments { get; }
/// <summary>
/// Gets a dictionary of exposed ports.
/// </summary>
IReadOnlyDictionary<string, string> ExposedPorts { get; }
/// <summary>
/// Gets a dictionary of port bindings.
/// </summary>
IReadOnlyDictionary<string, string> PortBindings { get; }
/// <summary>
/// Gets a list of resource mappings.
/// </summary>
IEnumerable<IResourceMapping> ResourceMappings { get; }
/// <summary>
/// Gets a list of tar archive mappings.
/// </summary>
IEnumerable<TarArchiveMapping> TarArchiveMappings { get; }
/// <summary>
/// Gets a list of dependent containers.
/// </summary>
IEnumerable<IContainer> Containers { get; }
/// <summary>
/// Gets a list of dependent mounts.
/// </summary>
IEnumerable<IMount> Mounts { get; }
/// <summary>
/// Gets a list of dependent networks.
/// </summary>
IEnumerable<INetwork> Networks { get; }
/// <summary>
/// Gets a list of network-scoped aliases.
/// </summary>
IEnumerable<string> NetworkAliases { get; }
/// <summary>
/// Gets a list of extra hosts.
/// </summary>
IEnumerable<string> ExtraHosts { get; }
/// <summary>
/// Gets the output consumer.
/// </summary>
IOutputConsumer OutputConsumer { get; }
/// <summary>
/// Gets the wait strategies.
/// </summary>
IEnumerable<WaitStrategy> WaitStrategies { get; }
/// <summary>
/// Gets the startup callback.
/// </summary>
Func<IContainer, IContainerConfiguration, CancellationToken, Task> StartupCallback { get; }
/// <summary>
/// Gets the connection string provider.
/// </summary>
IConnectionStringProvider<IContainer, IContainerConfiguration> ConnectionStringProvider { get; }
}
}