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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
9558
9559
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711
9712
9713
9714
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900
9901
9902
9903
9904
9905
9906
9907
9908
9909
9910
9911
9912
9913
9914
9915
9916
9917
9918
9919
9920
9921
9922
9923
9924
9925
9926
9927
9928
9929
9930
9931
9932
9933
9934
9935
9936
9937
9938
9939
9940
9941
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951
9952
9953
9954
9955
9956
9957
9958
9959
9960
9961
9962
9963
9964
9965
9966
9967
9968
9969
9970
9971
9972
9973
9974
9975
9976
9977
9978
9979
9980
9981
9982
9983
9984
9985
9986
9987
9988
9989
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314
11315
11316
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335
11336
11337
11338
11339
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
11431
11432
11433
11434
11435
11436
11437
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
11505
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
11564
11565
11566
11567
11568
11569
11570
11571
11572
11573
11574
11575
11576
11577
11578
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717
11718
11719
11720
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11889
11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
11995
11996
11997
11998
11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015
12016
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027
12028
12029
12030
12031
12032
12033
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
12050
12051
12052
12053
12054
12055
12056
12057
12058
12059
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12071
12072
12073
12074
12075
12076
12077
12078
12079
12080
12081
12082
12083
12084
12085
12086
12087
12088
12089
12090
12091
12092
12093
12094
12095
12096
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12109
12110
12111
12112
12113
12114
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12138
12139
12140
12141
12142
12143
12144
12145
12146
12147
12148
12149
12150
12151
12152
12153
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187
12188
12189
12190
12191
12192
12193
12194
12195
12196
12197
12198
12199
12200
12201
12202
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
12225
12226
12227
12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
12238
12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
12249
12250
12251
12252
12253
12254
12255
12256
12257
12258
12259
12260
12261
12262
12263
12264
12265
12266
12267
12268
12269
12270
12271
12272
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300
12301
12302
12303
12304
12305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12354
12355
12356
12357
12358
12359
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
12394
12395
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415
12416
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12428
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498
12499
12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
12596
12597
12598
12599
12600
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
12763
12764
12765
12766
12767
12768
12769
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12793
12794
12795
12796
12797
12798
12799
12800
12801
12802
12803
12804
12805
12806
12807
12808
12809
12810
12811
12812
12813
12814
12815
12816
12817
12818
12819
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12832
12833
12834
12835
12836
12837
12838
12839
12840
12841
12842
12843
12844
12845
12846
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857
12858
12859
12860
12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12871
12872
12873
12874
12875
12876
12877
12878
12879
12880
12881
12882
12883
12884
12885
12886
12887
12888
12889
12890
12891
12892
12893
12894
12895
12896
12897
12898
12899
12900
12901
12902
12903
12904
12905
12906
12907
12908
12909
12910
12911
12912
12913
12914
12915
12916
12917
12918
12919
12920
12921
12922
12923
12924
12925
12926
12927
12928
12929
12930
12931
12932
12933
12934
12935
12936
12937
12938
12939
12940
12941
12942
12943
12944
12945
12946
12947
12948
12949
12950
12951
12952
12953
12954
12955
12956
12957
12958
12959
12960
12961
12962
12963
12964
12965
12966
12967
12968
12969
12970
12971
12972
12973
12974
12975
12976
12977
12978
12979
12980
12981
12982
12983
12984
12985
12986
12987
12988
12989
12990
12991
12992
12993
12994
12995
12996
12997
12998
12999
13000
13001
13002
13003
13004
13005
13006
13007
13008
13009
13010
13011
13012
13013
13014
13015
13016
13017
13018
13019
13020
13021
13022
13023
13024
13025
13026
13027
13028
13029
13030
13031
13032
13033
13034
13035
13036
13037
13038
13039
13040
13041
13042
13043
13044
13045
13046
13047
13048
13049
13050
13051
13052
13053
13054
13055
13056
13057
13058
13059
13060
13061
13062
13063
13064
13065
13066
13067
13068
13069
13070
13071
13072
13073
13074
13075
13076
13077
13078
13079
13080
13081
13082
13083
13084
13085
13086
13087
13088
13089
13090
13091
13092
13093
13094
13095
13096
13097
13098
13099
13100
13101
13102
13103
13104
13105
13106
13107
13108
13109
13110
13111
13112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146
13147
13148
13149
13150
13151
13152
13153
13154
13155
13156
13157
13158
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
13179
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
13198
13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
13212
13213
13214
13215
13216
13217
13218
13219
13220
13221
13222
13223
13224
13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259
13260
13261
13262
13263
13264
13265
13266
13267
13268
13269
13270
13271
13272
13273
13274
13275
13276
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295
13296
13297
13298
13299
13300
13301
13302
13303
13304
13305
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318
13319
13320
13321
13322
13323
13324
13325
13326
13327
13328
13329
13330
13331
13332
13333
13334
13335
13336
13337
13338
13339
13340
13341
13342
13343
13344
13345
13346
13347
13348
13349
13350
13351
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426
13427
13428
13429
13430
13431
13432
13433
13434
13435
13436
13437
13438
13439
13440
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
13472
13473
13474
13475
13476
13477
13478
13479
13480
13481
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
13572
13573
13574
13575
13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621
13622
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635
13636
13637
13638
13639
13640
13641
13642
13643
13644
13645
13646
13647
13648
13649
13650
13651
13652
13653
13654
13655
13656
13657
13658
13659
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670
13671
13672
13673
13674
13675
13676
13677
13678
13679
13680
13681
13682
13683
13684
13685
13686
13687
13688
13689
13690
13691
13692
13693
13694
13695
13696
13697
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
13724
13725
13726
13727
13728
13729
13730
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746
13747
13748
13749
13750
13751
13752
13753
13754
13755
13756
13757
13758
13759
13760
13761
13762
13763
13764
13765
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785
13786
13787
13788
13789
13790
13791
13792
13793
13794
13795
13796
13797
13798
13799
13800
13801
13802
13803
13804
13805
13806
13807
13808
13809
13810
13811
13812
13813
13814
13815
13816
13817
13818
13819
13820
13821
13822
13823
13824
13825
13826
13827
13828
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
13952
13953
13954
13955
13956
13957
13958
13959
13960
13961
13962
13963
13964
13965
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989
13990
13991
13992
13993
13994
13995
13996
13997
13998
13999
14000
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
14145
14146
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157
14158
14159
14160
14161
14162
14163
14164
14165
14166
14167
14168
14169
14170
14171
14172
14173
14174
14175
14176
14177
14178
14179
14180
14181
14182
14183
14184
14185
14186
14187
14188
14189
14190
14191
14192
14193
14194
14195
14196
14197
14198
14199
14200
14201
14202
14203
14204
14205
14206
14207
14208
14209
14210
14211
14212
14213
14214
14215
14216
14217
14218
14219
14220
14221
14222
14223
14224
14225
14226
14227
14228
14229
14230
14231
14232
14233
14234
14235
14236
14237
14238
14239
14240
14241
14242
14243
14244
14245
14246
14247
14248
14249
14250
14251
14252
14253
14254
14255
14256
14257
14258
14259
14260
14261
14262
14263
14264
14265
14266
14267
14268
14269
14270
14271
14272
14273
14274
14275
14276
14277
14278
14279
14280
14281
14282
14283
14284
14285
14286
14287
14288
14289
14290
14291
14292
14293
14294
14295
14296
14297
14298
14299
14300
14301
14302
14303
14304
14305
14306
14307
14308
14309
14310
14311
14312
14313
14314
14315
14316
14317
14318
14319
14320
14321
14322
14323
14324
14325
14326
14327
14328
14329
14330
14331
14332
14333
14334
14335
14336
14337
14338
14339
14340
14341
14342
14343
14344
14345
14346
14347
14348
14349
14350
14351
14352
14353
14354
14355
14356
14357
14358
14359
14360
14361
14362
14363
14364
14365
14366
14367
14368
14369
14370
14371
14372
14373
14374
14375
14376
14377
14378
14379
14380
14381
14382
14383
14384
14385
14386
14387
14388
14389
14390
14391
14392
14393
14394
14395
14396
14397
14398
14399
14400
14401
14402
14403
14404
14405
14406
14407
14408
14409
14410
14411
14412
14413
14414
14415
14416
14417
14418
14419
14420
14421
14422
14423
14424
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494
14495
14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510
14511
14512
14513
14514
14515
14516
14517
14518
14519
14520
14521
14522
14523
14524
14525
14526
14527
14528
14529
14530
14531
14532
14533
14534
14535
14536
14537
14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
14573
14574
14575
14576
14577
14578
14579
14580
14581
14582
14583
14584
14585
14586
14587
14588
14589
14590
14591
14592
14593
14594
14595
14596
14597
14598
14599
14600
14601
14602
14603
14604
14605
14606
14607
14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621
14622
14623
14624
14625
14626
14627
14628
14629
14630
14631
14632
14633
14634
14635
14636
14637
14638
14639
14640
14641
14642
14643
14644
14645
14646
14647
14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670
14671
14672
14673
14674
14675
14676
14677
14678
14679
14680
14681
14682
14683
14684
14685
14686
14687
14688
14689
14690
14691
14692
14693
14694
14695
14696
14697
14698
14699
14700
14701
14702
14703
14704
14705
14706
14707
14708
14709
14710
14711
14712
14713
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724
14725
14726
14727
14728
14729
14730
14731
14732
14733
14734
14735
14736
14737
14738
14739
14740
14741
14742
14743
14744
14745
14746
14747
14748
14749
14750
14751
14752
14753
14754
14755
14756
14757
14758
14759
14760
14761
14762
14763
14764
14765
14766
14767
14768
14769
14770
14771
14772
14773
14774
14775
14776
14777
14778
14779
14780
14781
14782
14783
14784
14785
14786
14787
14788
14789
14790
14791
14792
14793
14794
14795
14796
14797
14798
14799
14800
14801
14802
14803
14804
14805
14806
14807
14808
14809
14810
14811
14812
14813
14814
14815
14816
14817
14818
14819
14820
14821
14822
14823
14824
14825
14826
14827
14828
14829
14830
14831
14832
14833
14834
14835
14836
14837
14838
14839
14840
14841
14842
14843
14844
14845
14846
14847
14848
14849
14850
14851
14852
14853
14854
14855
14856
14857
14858
14859
14860
14861
14862
14863
14864
14865
14866
14867
14868
14869
14870
14871
14872
14873
14874
14875
14876
14877
14878
14879
14880
14881
14882
14883
14884
14885
14886
14887
14888
14889
14890
14891
14892
14893
14894
14895
14896
14897
14898
14899
14900
14901
14902
14903
14904
14905
14906
14907
14908
14909
14910
14911
14912
14913
14914
14915
14916
14917
14918
14919
14920
14921
14922
14923
14924
14925
14926
14927
14928
14929
14930
14931
14932
14933
14934
14935
14936
14937
14938
14939
14940
14941
14942
14943
14944
14945
14946
14947
14948
14949
14950
14951
14952
14953
14954
14955
14956
14957
14958
14959
14960
14961
14962
14963
14964
14965
14966
14967
14968
14969
14970
14971
14972
14973
14974
14975
14976
14977
14978
14979
14980
14981
14982
14983
14984
14985
14986
14987
14988
14989
14990
14991
14992
14993
14994
14995
14996
14997
14998
14999
15000
15001
15002
15003
15004
15005
15006
15007
15008
15009
15010
15011
15012
15013
15014
15015
15016
15017
15018
15019
15020
15021
15022
15023
15024
15025
15026
15027
15028
15029
15030
15031
15032
15033
15034
15035
15036
15037
15038
15039
15040
15041
15042
15043
15044
15045
15046
15047
15048
15049
15050
15051
15052
15053
15054
15055
15056
15057
15058
15059
15060
15061
15062
15063
15064
15065
15066
15067
15068
15069
15070
15071
15072
15073
15074
15075
15076
15077
15078
15079
15080
15081
15082
15083
15084
15085
15086
15087
15088
15089
15090
15091
15092
15093
15094
15095
15096
15097
15098
15099
15100
15101
15102
15103
15104
15105
15106
15107
15108
15109
15110
15111
15112
15113
15114
15115
15116
15117
15118
15119
15120
15121
15122
15123
15124
15125
15126
15127
15128
15129
15130
15131
15132
15133
15134
15135
15136
15137
15138
15139
15140
15141
15142
15143
15144
15145
15146
15147
15148
15149
15150
15151
15152
15153
15154
15155
15156
15157
15158
15159
15160
15161
15162
15163
15164
15165
15166
15167
15168
15169
15170
15171
15172
15173
15174
15175
15176
15177
15178
15179
15180
15181
15182
15183
15184
15185
15186
15187
15188
15189
15190
15191
15192
15193
15194
15195
15196
15197
15198
15199
15200
15201
15202
15203
15204
15205
15206
15207
15208
15209
15210
15211
15212
15213
15214
15215
15216
15217
15218
15219
15220
15221
15222
15223
15224
15225
15226
15227
15228
15229
15230
15231
15232
15233
15234
15235
15236
15237
15238
15239
15240
15241
15242
15243
15244
15245
15246
15247
15248
15249
15250
15251
15252
15253
15254
15255
15256
15257
15258
15259
15260
15261
15262
15263
15264
15265
15266
15267
15268
15269
15270
15271
15272
15273
15274
15275
15276
15277
15278
15279
15280
15281
15282
15283
15284
15285
15286
15287
15288
15289
15290
15291
15292
15293
15294
15295
15296
15297
15298
15299
15300
15301
15302
15303
15304
15305
15306
15307
15308
15309
15310
15311
15312
15313
15314
15315
15316
15317
15318
15319
15320
15321
15322
15323
15324
15325
15326
15327
15328
15329
15330
15331
15332
15333
15334
15335
15336
15337
15338
15339
15340
15341
15342
15343
15344
15345
15346
15347
15348
15349
15350
15351
15352
15353
15354
15355
15356
15357
15358
15359
15360
15361
15362
15363
15364
15365
15366
15367
15368
15369
15370
15371
15372
15373
15374
15375
15376
15377
15378
15379
15380
15381
15382
15383
15384
15385
15386
15387
15388
15389
15390
15391
15392
15393
15394
15395
15396
15397
15398
15399
15400
15401
15402
15403
15404
15405
15406
15407
15408
15409
15410
15411
15412
15413
15414
15415
15416
15417
15418
15419
15420
15421
15422
15423
15424
15425
15426
15427
15428
15429
15430
15431
15432
15433
15434
15435
15436
15437
15438
15439
15440
15441
15442
15443
15444
15445
15446
15447
15448
15449
15450
15451
15452
15453
15454
15455
15456
15457
15458
15459
15460
15461
15462
15463
15464
15465
15466
15467
15468
15469
15470
15471
15472
15473
15474
15475
15476
15477
15478
15479
15480
15481
15482
15483
15484
15485
15486
15487
15488
15489
15490
15491
15492
15493
15494
15495
15496
15497
15498
15499
15500
15501
15502
15503
15504
15505
15506
15507
15508
15509
15510
15511
15512
15513
15514
15515
15516
15517
15518
15519
15520
15521
15522
15523
15524
15525
15526
15527
15528
15529
15530
15531
15532
15533
15534
15535
15536
15537
15538
15539
15540
15541
15542
15543
15544
15545
15546
15547
15548
15549
15550
15551
15552
15553
15554
15555
15556
15557
15558
15559
15560
15561
15562
15563
15564
15565
15566
15567
15568
15569
15570
15571
15572
15573
15574
15575
15576
15577
15578
15579
15580
15581
15582
15583
15584
15585
15586
15587
15588
15589
15590
15591
15592
15593
15594
15595
15596
15597
15598
15599
15600
15601
15602
15603
15604
15605
15606
15607
15608
15609
15610
15611
15612
15613
15614
15615
15616
15617
15618
15619
15620
15621
15622
15623
15624
15625
15626
15627
15628
15629
15630
15631
15632
15633
15634
15635
15636
15637
15638
15639
15640
15641
15642
15643
15644
15645
15646
15647
15648
15649
15650
15651
15652
15653
15654
15655
15656
15657
15658
15659
15660
15661
15662
15663
15664
15665
15666
15667
15668
15669
15670
15671
15672
15673
15674
15675
15676
15677
15678
15679
15680
15681
15682
15683
15684
15685
15686
15687
15688
15689
15690
15691
15692
15693
15694
15695
15696
15697
15698
15699
15700
15701
15702
15703
15704
15705
15706
15707
15708
15709
15710
15711
15712
15713
15714
15715
15716
15717
15718
15719
15720
15721
15722
15723
15724
15725
15726
15727
15728
15729
15730
15731
15732
15733
15734
15735
15736
15737
15738
15739
15740
15741
15742
15743
15744
15745
15746
15747
15748
15749
15750
15751
15752
15753
15754
15755
15756
15757
15758
15759
15760
15761
15762
15763
15764
15765
15766
15767
15768
15769
15770
15771
15772
15773
15774
15775
15776
15777
15778
15779
15780
15781
15782
15783
15784
15785
15786
15787
15788
15789
15790
15791
15792
15793
15794
15795
15796
15797
15798
15799
15800
15801
15802
15803
15804
15805
15806
15807
15808
15809
15810
15811
15812
15813
15814
15815
15816
15817
15818
15819
15820
15821
15822
15823
15824
15825
15826
15827
15828
15829
15830
15831
15832
15833
15834
15835
15836
15837
15838
|
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2021 Red Hat, Inc.
# This file is distributed under the same license as the Ansible package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
#
msgid ""
msgstr ""
"Project-Id-Version: Ansible devel\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-05 09:34+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.1\n"
#: ../../rst/dev_guide/ansible_index.rst:5 ../../rst/dev_guide/core_index.rst:5
msgid "Developer Guide"
msgstr "éçºè
ã¬ã€ã"
#: ../../rst/dev_guide/ansible_index.rst:9 ../../rst/dev_guide/core_index.rst:9
msgid "**Making Open Source More Inclusive**"
msgstr "**å€æ§æ§ãåãå
¥ãããªãŒãã³ãœãŒã¹ã®åŒ·å**"
#: ../../rst/dev_guide/ansible_index.rst:11
#: ../../rst/dev_guide/core_index.rst:11
msgid "Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. We ask that you open an issue or pull request if you come upon a term that we have missed. For more details, see `our CTO Chris Wright's message <https://www.redhat.com/en/blog/making-open-source-more-inclusive-eradicating-problematic-language>`_."
msgstr "Red Hat ã§ã¯ãã³ãŒããããã¥ã¡ã³ããWeb ããããã£ãŒã«ãããé
æ
®ã«æ¬ ããçšèªã®çœ®ãæãã«åãçµãã§ããŸãããŸãã¯ããã¹ã¿ãŒ (master)ãã¹ã¬ãŒã (slave)ããã©ãã¯ãªã¹ã (blacklist)ããã¯ã€ããªã¹ã (whitelist) ã® 4 ã€ã®çšèªã®çœ®ãæãããå§ããŸããåé¡ã®ããçšèªãèŠã€ããå Žåã¯ãåé¡ãäœæãããããã«èŠæ±ãäœæããŠãã ããã詳现ã¯ã`åŒç€Ÿ ã® CTOãChris Wright ã®ã¡ãã»ãŒãž <https://www.redhat.com/en/blog/making-open-source-more-inclusive-eradicating-problematic-language>`_ ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/ansible_index.rst:13
#: ../../rst/dev_guide/core_index.rst:13
msgid "Welcome to the Ansible Developer Guide!"
msgstr "Ansible éçºè
ã¬ã€ãã«ãããã!"
#: ../../rst/dev_guide/ansible_index.rst:15
#: ../../rst/dev_guide/core_index.rst:15
msgid "**Who should use this guide?**"
msgstr "**æ¬ã¬ã€ãã®å¯Ÿè±¡è
**"
#: ../../rst/dev_guide/ansible_index.rst:17
#: ../../rst/dev_guide/core_index.rst:17
msgid "If you want to extend Ansible by using a custom module or plugin locally, creating a module or plugin, adding functionality to an existing module, or expanding test coverage, this guide is for you. We've included detailed information for developers on how to test and document modules, as well as the prerequisites for getting your module or plugin accepted into the main Ansible repository."
msgstr "ã«ã¹ã¿ã ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ã®ããŒã«ã«ã§ã®äœ¿çšãã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ã®äœæãæ¢åã®ã¢ãžã¥ãŒã«ãžã®æ©èœã®è¿œå ããã¹ãç¯å²ã®æ¡åŒµãè¡ã£ãŠ Ansible ãæ¡åŒµããå Žåã¯ããã®ã¬ã€ãããå©çšã«ãªããŸããã¢ãžã¥ãŒã«ã®ãã¹ãããã³ããã¥ã¡ã³ãåã«é¢ããæ¹æ³ã«ã€ããŠã®éçºè
åãã®è©³çŽ°æ
å ±ãããã³äž»ãª Ansible ãªããžããªãŒã«åãå
¥ããããã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ãååŸããããã®åææ¡ä»¶ãèšèŒãããŠããŸãã"
#: ../../rst/dev_guide/ansible_index.rst:19
#: ../../rst/dev_guide/core_index.rst:19
msgid "Find the task that best describes what you want to do:"
msgstr "以äžã®äžãããã客æ§ã®ããŒãºã«æãé©ããã¿ã¹ã¯ãéžãã§ãã ããã"
#: ../../rst/dev_guide/ansible_index.rst:21
#: ../../rst/dev_guide/core_index.rst:21
msgid "I'm looking for a way to address a use case:"
msgstr "ãŠãŒã¹ã±ãŒã¹ã«å¯Ÿå¿ããæ¹æ³ãæ¢ããŠããã"
#: ../../rst/dev_guide/ansible_index.rst:23
#: ../../rst/dev_guide/core_index.rst:23
msgid "I want to :ref:`add a custom plugin or module locally <developing_locally>`."
msgstr ":ref:`ã«ã¹ã¿ã ãã©ã°ã€ã³ãŸãã¯ã¢ãžã¥ãŒã«ãããŒã«ã«ã«è¿œå <developing_locally>` ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:24
#: ../../rst/dev_guide/core_index.rst:24
msgid "I want to figure out if :ref:`developing a module is the right approach <module_dev_should_you>` for my use case."
msgstr "éžæãããŠãŒã¹ã±ãŒã¹ã§ã¯ã:ref:`ã¢ãžã¥ãŒã«ã®éçºãé©åãªã¢ãããŒãã§ãã <module_dev_should_you>` ãã©ããã確èªãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:25
#: ../../rst/dev_guide/core_index.rst:25
msgid "I want to :ref:`develop a collection <developing_collections>`."
msgstr ":ref:`ã³ã¬ã¯ã·ã§ã³ãéçº <developing_collections>` ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:26
#: ../../rst/dev_guide/core_index.rst:26
msgid "I want to :ref:`contribute to an Ansible-maintained collection <contributing_maintained_collections>`."
msgstr ":ref:`Ansible ã管çããã³ã¬ã¯ã·ã§ã³ã«è²¢ç® <contributing_maintained_collections>` ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:27
#: ../../rst/dev_guide/core_index.rst:27
msgid "I want to :ref:`contribute to a community-maintained collection <hacking_collections>`."
msgstr ":ref:`ã³ãã¥ããã£ãŒã管çããã³ã¬ã¯ã·ã§ã³ã«è²¢ç® <hacking_collections>` ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:28
#: ../../rst/dev_guide/core_index.rst:28
msgid "I want to :ref:`migrate a role to a collection <migrating_roles>`."
msgstr ":ref:`ããŒã«ãã³ã¬ã¯ã·ã§ã³ã«ç§»è¡ <migrating_roles>` ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:30
#: ../../rst/dev_guide/core_index.rst:30
msgid "I've read the info above, and I'm sure I want to develop a module:"
msgstr "äžèšã®æ
å ±ãèªãã§ãã¢ãžã¥ãŒã«ãéçºãããã"
#: ../../rst/dev_guide/ansible_index.rst:32
#: ../../rst/dev_guide/core_index.rst:32
msgid "What do I need to know before I start coding?"
msgstr "ã³ãŒãã£ã³ã°ãå§ããåã«äœãç¥ã£ãŠããã¹ãã§ããããã"
#: ../../rst/dev_guide/ansible_index.rst:33
#: ../../rst/dev_guide/core_index.rst:33
msgid "I want to :ref:`set up my Python development environment <environment_setup>`."
msgstr ":ref:`Python éçºç°å¢ãã»ããã¢ãã <environment_setup>` ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:34
#: ../../rst/dev_guide/core_index.rst:34
msgid "I want to :ref:`get started writing a module <developing_modules_general>`."
msgstr ":ref:`ã¢ãžã¥ãŒã«ã®èšè¿°ãéå§ <developing_modules_general>` ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:40
#: ../../rst/dev_guide/core_index.rst:36
msgid "I want to write a specific kind of module:"
msgstr "ç¹å®ã®ã¢ãžã¥ãŒã«ãäœæãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:36
#: ../../rst/dev_guide/core_index.rst:36
msgid "a :ref:`network module <developing_modules_network>`"
msgstr ":ref:`ãããã¯ãŒã¯ã¢ãžã¥ãŒã« <developing_modules_network>`"
#: ../../rst/dev_guide/ansible_index.rst:37
#: ../../rst/dev_guide/core_index.rst:37
msgid "a :ref:`Windows module <developing_modules_general_windows>`."
msgstr ":ref:`Windows ã¢ãžã¥ãŒã« <developing_modules_general_windows>`"
#: ../../rst/dev_guide/ansible_index.rst:38
msgid "an :ref:`Amazon module <ansible_collections.amazon.aws.docsite.dev_guide_intro>`."
msgstr ":ref:`Amazon module <ansible_collections.amazon.aws.docsite.dev_guide_intro>`."
#: ../../rst/dev_guide/ansible_index.rst:39
msgid "an :ref:`OpenStack module <OpenStack_module_development>`."
msgstr ":ref:`OpenStack ã¢ãžã¥ãŒã« <OpenStack_module_development>`"
#: ../../rst/dev_guide/ansible_index.rst:40
msgid "an :ref:`oVirt/RHV module <oVirt_module_development>`."
msgstr ":ref:`oVirt/RHV ã¢ãžã¥ãŒã« <oVirt_module_development>`"
#: ../../rst/dev_guide/ansible_index.rst:41
msgid "a :ref:`VMware module <ansible_collections.community.vmware.docsite.vmware_ansible_devguide>`."
msgstr ":ref:`VMware module <ansible_collections.community.vmware.docsite.vmware_ansible_devguide>`"
#: ../../rst/dev_guide/ansible_index.rst:42
#: ../../rst/dev_guide/core_index.rst:38
msgid "I want to :ref:`write a series of related modules <developing_modules_in_groups>` that integrate Ansible with a new product (for example, a database, cloud provider, network platform, and so on)."
msgstr "Ansible ãæ°èŠè£œå (äŸ: ããŒã¿ããŒã¹ãã¯ã©ãŠããããã€ããŒããããã¯ãŒã¯ãã©ãããã©ãŒã ) ãšçµ±åãã :ref:`äžé£ã®é¢é£ã¢ãžã¥ãŒã«ãèšè¿° <developing_modules_in_groups>` ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:44
#: ../../rst/dev_guide/core_index.rst:40
msgid "I want to refine my code:"
msgstr "ã³ãŒããæ¹è¯ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:46
#: ../../rst/dev_guide/core_index.rst:42
msgid "I want to :ref:`debug my module code <debugging_modules>`."
msgstr ":ref:`ã¢ãžã¥ãŒã«ã³ãŒãããããã° <debugging_modules>` ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:47
#: ../../rst/dev_guide/core_index.rst:43
msgid "I want to :ref:`add tests <developing_testing>`."
msgstr ":ref:`ãã¹ããè¿œå <developing_testing>` ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:48
#: ../../rst/dev_guide/core_index.rst:44
msgid "I want to :ref:`document my module <module_documenting>`."
msgstr ":ref:`ã¢ãžã¥ãŒã«ãããã¥ã¡ã³ãå <module_documenting>` ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:49
#: ../../rst/dev_guide/core_index.rst:45
msgid "I want to :ref:`document my set of modules for a network platform <documenting_modules_network>`."
msgstr ":ref:`ãããã¯ãŒã¯ãã©ãããã©ãŒã ã®ã¢ãžã¥ãŒã«ã»ãããææžå <documenting_modules_network>` ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:50
#: ../../rst/dev_guide/core_index.rst:46
msgid "I want to follow :ref:`conventions and tips for clean, usable module code <developing_modules_best_practices>`."
msgstr ":ref:`ã¯ãªãŒã³ã§äœ¿ããããã¢ãžã¥ãŒã«ã³ãŒãã®ããã®èŠåãšãã³ã <developing_modules_best_practices>` ãé©çšãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:51
#: ../../rst/dev_guide/core_index.rst:47
msgid "I want to :ref:`make sure my code runs on Python 2 and Python 3 <developing_python_3>`."
msgstr ":ref:`äœæããã³ãŒãã Python 2 ããã³ Python 3 ã§å®è¡ãã <developing_python_3>` ããã«ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:53
#: ../../rst/dev_guide/core_index.rst:49
msgid "I want to work on other development projects:"
msgstr "ä»ã®éçºãããžã§ã¯ãã§äœæ¥ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:55
#: ../../rst/dev_guide/core_index.rst:51
msgid "I want to :ref:`write a plugin <developing_plugins>`."
msgstr ":ref:`ãã©ã°ã€ã³ãèšè¿° <developing_plugins>` ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:56
#: ../../rst/dev_guide/core_index.rst:52
msgid "I want to :ref:`connect Ansible to a new source of inventory <developing_inventory>`."
msgstr ":ref:`Ansible ãæ°ããã€ã³ãã³ããªãŒãœãŒã¹ã«æ¥ç¶ <developing_inventory>` ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:57
#: ../../rst/dev_guide/core_index.rst:53
msgid "I want to :ref:`deprecate an outdated module <deprecating_modules>`."
msgstr ":ref:`å€ãã¢ãžã¥ãŒã«ãéæšå¥š <deprecating_modules>` ã«ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:59
#: ../../rst/dev_guide/core_index.rst:55
msgid "I want to contribute back to the Ansible project:"
msgstr "Ansible ãããžã§ã¯ãã«è²¢ç®ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:61
#: ../../rst/dev_guide/core_index.rst:57
msgid "I want to :ref:`understand how to contribute to Ansible <ansible_community_guide>`."
msgstr ":ref:`Ansible ãžã®è²¢ç®æ¹æ³ãç解 <ansible_community_guide>` ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:62
#: ../../rst/dev_guide/core_index.rst:58
msgid "I want to :ref:`contribute my module or plugin <developing_modules_checklist>`."
msgstr ":ref:`ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ã«è²¢ç® <developing_modules_checklist>` ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:63
#: ../../rst/dev_guide/core_index.rst:59
msgid "I want to :ref:`understand the license agreement <contributor_license_agreement>` for contributions to Ansible."
msgstr "Ansible ã«åå ããããã® :ref:`䜿çšèš±è«Ÿå¥çŽãç解 <contributor_license_agreement>` ãããã§ãã"
#: ../../rst/dev_guide/ansible_index.rst:65
#: ../../rst/dev_guide/core_index.rst:61
msgid "If you prefer to read the entire guide, here's a list of the pages in order."
msgstr "æ¬ã¬ã€ãããã¹ãŠèªãå Žåã¯ã以äžã«ç€ºãé çªã§ããŒãžã衚瀺ããŠãã ããã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:5
msgid "Collection Galaxy metadata structure"
msgstr "ã³ã¬ã¯ã·ã§ã³ Galaxy ã¡ã¿ããŒã¿æ§é "
#: ../../rst/dev_guide/collections_galaxy_meta.rst:7
msgid "A key component of an Ansible collection is the ``galaxy.yml`` file placed in the root directory of a collection. This file contains the metadata of the collection that is used to generate a collection artifact."
msgstr "Ansible ã³ã¬ã¯ã·ã§ã³ã®äž»ãªã³ã³ããŒãã³ãã¯ãã³ã¬ã¯ã·ã§ã³ã®ã«ãŒããã£ã¬ã¯ããªãŒã«çœ®ããŠãã ``galaxy.yml`` ãã¡ã€ã«ã§ãããã®ãã¡ã€ã«ã«ã¯ãã³ã¬ã¯ã·ã§ã³ã¢ãŒãã£ãã¡ã¯ãã®çæã«äœ¿çšãããã³ã¬ã¯ã·ã§ã³ã®ã¡ã¿ããŒã¿ãå«ãŸããŸãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:11
msgid "Structure"
msgstr "æ§é "
#: ../../rst/dev_guide/collections_galaxy_meta.rst:13
msgid "The ``galaxy.yml`` file must contain the following keys in valid YAML:"
msgstr "``galaxy.yml`` ãã¡ã€ã«ã®æå¹ãª YAML ã«ä»¥äžã®ããŒãå«ãŸããŠããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:22
msgid "Key"
msgstr "ããŒ"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:23
msgid "Comment"
msgstr "ã³ã¡ã³ã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:27
msgid "namespace |br|"
msgstr "namespace |br|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:31
#: ../../rst/dev_guide/collections_galaxy_meta.rst:55
#: ../../rst/dev_guide/collections_galaxy_meta.rst:77
#: ../../rst/dev_guide/collections_galaxy_meta.rst:99
#: ../../rst/dev_guide/collections_galaxy_meta.rst:143
#: ../../rst/dev_guide/collections_galaxy_meta.rst:175
#: ../../rst/dev_guide/collections_galaxy_meta.rst:229
#: ../../rst/dev_guide/collections_galaxy_meta.rst:243
#: ../../rst/dev_guide/collections_galaxy_meta.rst:257
#: ../../rst/dev_guide/collections_galaxy_meta.rst:271
msgid "string |_|"
msgstr "æåå |_|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:35
#: ../../rst/dev_guide/collections_galaxy_meta.rst:59
#: ../../rst/dev_guide/collections_galaxy_meta.rst:81
#: ../../rst/dev_guide/collections_galaxy_meta.rst:103
#: ../../rst/dev_guide/collections_galaxy_meta.rst:125
msgid "/ |_|"
msgstr "/ |_|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:39
#: ../../rst/dev_guide/collections_galaxy_meta.rst:63
#: ../../rst/dev_guide/collections_galaxy_meta.rst:85
#: ../../rst/dev_guide/collections_galaxy_meta.rst:107
#: ../../rst/dev_guide/collections_galaxy_meta.rst:129
#: ../../rst/dev_guide/developing_modules_documenting.rst
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "required"
msgstr "å¿
é "
#: ../../rst/dev_guide/collections_galaxy_meta.rst:41
msgid "The namespace of the collection."
msgstr "ã³ã¬ã¯ã·ã§ã³ã®åå空éã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:43
msgid "This can be a company/brand/organization or product namespace under which all content lives."
msgstr "ããã«ã¯ãäŒæ¥/ãã©ã³ã/çµç¹ããŸãã¯ãã¹ãŠã®ã³ã³ãã³ãã眮ããã補åã®åå空éãæå®ã§ããŸãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:45
msgid "May only contain alphanumeric lowercase characters and underscores. Namespaces cannot start with underscores or numbers and cannot contain consecutive underscores."
msgstr "è±æ°å (å°æå) ãšã¢ã³ããŒã¹ã³ã¢ã®ã¿ã䜿çšã§ããŸããåå空éã¯ã¢ã³ããŒã¹ã³ã¢ãæ°åã§éå§ã§ãããé£ç¶ããã¢ã³ããŒã¹ã³ã¢ãå«ããããšã¯ã§ããŸããã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:51
msgid "name |br|"
msgstr "name |br|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:65
msgid "The name of the collection."
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ååã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:67
msgid "Has the same character restrictions as \\ :literal:`namespace`\\ ."
msgstr "\\ :literal:`namespace`\\ ãšåãæåå¶éããããŸãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:73
msgid "version |br|"
msgstr "version |br|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:87
msgid "The version of the collection."
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ããŒãžã§ã³ã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:89
msgid "Must be compatible with semantic versioning."
msgstr "ã»ãã³ãã£ãã¯ããŒãžã§ãã³ã°ãšäºææ§ãããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:95
msgid "readme |br|"
msgstr "readme |br|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:109
msgid "The path to the Markdown (.md) readme file."
msgstr "ããŒã¯ããŠã³ (.md) readme ãã¡ã€ã«ãžã®ãã¹ã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:111
#: ../../rst/dev_guide/collections_galaxy_meta.rst:181
msgid "This path is relative to the root of the collection."
msgstr "ãã®ãã¹ã¯ãã³ã¬ã¯ã·ã§ã³ã®ã«ãŒãã«çžå¯ŸããŸãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:117
msgid "authors |br|"
msgstr "authors |br|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:121
#: ../../rst/dev_guide/collections_galaxy_meta.rst:157
#: ../../rst/dev_guide/collections_galaxy_meta.rst:193
#: ../../rst/dev_guide/collections_galaxy_meta.rst:285
msgid "list |_|"
msgstr "ãªã¹ã |_|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:131
msgid "A list of the collection's content authors."
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ã³ã³ãã³ãäœæè
ã®äžèŠ§ã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:133
msgid "Can be just the name or in the format 'Full Name <email> (url) @nicks:irc/im.site#channel'."
msgstr "ååãŸãã¯åœ¢åŒã«ã¯ããæ°å <email> (url) @nicks:irc/im.site#channelãã®åœ¢åŒããæå®ã§ããŸããã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:139
msgid "description |br|"
msgstr "description |br|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:147
msgid "A short summary description of the collection."
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ç°¡åãªèª¬æã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:153
msgid "license |br|"
msgstr "license |br|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:161
msgid "Either a single license or a list of licenses for content inside of a collection."
msgstr "ã³ã¬ã¯ã·ã§ã³å
ã® 1 ã€ã®ã©ã€ã»ã³ã¹ãŸãã¯ã³ã³ãã³ãã®ã©ã€ã»ã³ã¹ã®äžèŠ§ã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:163
msgid "Ansible Galaxy currently only accepts \\ `SPDX <https://spdx.org/licenses/>`__\\ licenses"
msgstr "çŸåš Ansible Galaxy 㯠\\ `SPDX <https://spdx.org/licenses/>`__\\ ã©ã€ã»ã³ã¹ã®ã¿åãä»ããŸãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:165
msgid "This key is mutually exclusive with \\ :literal:`license\\_file`\\ ."
msgstr "ãã®ããŒã¯ã\\ :literal:`license\\_file`\\ ãšçžäºã«æä»çã§ãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:171
msgid "license_file |br|"
msgstr "license_file |br|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:179
msgid "The path to the license file for the collection."
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ã©ã€ã»ã³ã¹ãã¡ã€ã«ãžã®ãã¹ã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:183
msgid "This key is mutually exclusive with \\ :literal:`license`\\ ."
msgstr "ãã®ããŒã¯ã\\ :literal:`license`\\ ãšçžäºã«æä»çã§ãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:189
msgid "tags |br|"
msgstr "tags |br|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:197
msgid "A list of tags you want to associate with the collection for indexing/searching."
msgstr "ã€ã³ããã¯ã¹å/æ€çŽ¢ã®ã³ã¬ã¯ã·ã§ã³ã«é¢é£ä»ããã¿ã°ã®äžèŠ§ã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:199
msgid "A tag name has the same character requirements as \\ :literal:`namespace`\\ and \\ :literal:`name`\\ ."
msgstr "ã¿ã°åã«ã¯ã\\ :literal:`namespace`\\ ããã³ \\ :literal:`name`\\ ãšåãæåèŠä»¶ããããŸãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:205
msgid "dependencies |br|"
msgstr "dependencies |br|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:209
msgid "dictionary |_|"
msgstr "ãã£ã¯ã·ã§ããªãŒ |_|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:213
msgid "Collections that this collection requires to be installed for it to be usable."
msgstr "å©çšã§ããããã«ããã®ã³ã¬ã¯ã·ã§ã³ãã€ã³ã¹ããŒã«ããå¿
èŠãããã³ã¬ã¯ã·ã§ã³ã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:215
msgid "The key of the dict is the collection label \\ :literal:`namespace.name`\\ ."
msgstr "ãã£ã¯ã·ã§ããªãŒã®ããŒã¯ã³ã¬ã¯ã·ã§ã³ã©ãã« \\ :literal:`namespace.name`\\ ã§ãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:217
msgid "The value is a version range \\ `specifiers <https://python-semanticversion.readthedocs.io/en/latest/#requirement-specification>`__\\ ."
msgstr "ãã®å€ã¯ã\\ `specifiers <https://python-semanticversion.readthedocs.io/en/latest/#requirement-specification>`__\\ ã®ããŒãžã§ã³ç¯å²ã§ãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:219
msgid "Multiple version range specifiers can be set and are separated by \\ :literal:`,`\\ ."
msgstr "è€æ°ã®ããŒãžã§ã³ç¯å²æå®åãèšå®ã§ãã\\ :literal:`,`\\ ã§åºåãããšãã§ããŸãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:225
msgid "repository |br|"
msgstr "repository |br|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:233
msgid "The URL of the originating SCM repository."
msgstr "å
ã® SCM ãªããžããªãŒã® URLã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:239
msgid "documentation |br|"
msgstr "documentation |br|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:247
msgid "The URL to any online docs."
msgstr "ãªã³ã©ã€ã³ããã¥ã¡ã³ããžã® URLã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:253
msgid "homepage |br|"
msgstr "homepage |br|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:261
msgid "The URL to the homepage of the collection/project."
msgstr "ã³ã¬ã¯ã·ã§ã³/ãããžã§ã¯ãã®ããŒã ããŒãžãžã® URLã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:267
msgid "issues |br|"
msgstr "issues |br|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:275
msgid "The URL to the collection issue tracker."
msgstr "ã³ã¬ã¯ã·ã§ã³ã®åé¡ãã©ãã«ãŒãžã® URLã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:281
msgid "build_ignore |br|"
msgstr "build_ignore |br|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:290
msgid "|br| version_added: 2.10"
msgstr "|br| version_added: 2.10"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:292
#: ../../rst/dev_guide/collections_galaxy_meta.rst:318
msgid "|_|"
msgstr "|_|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:293
msgid "A list of file glob-like patterns used to filter any files or directories that should not be included in the build artifact."
msgstr "ãã«ãã¢ãŒãã£ãã¡ã¯ãã«å«ãŸããªããã¡ã€ã«ããã£ã¬ã¯ããªãŒããã£ã«ã¿ãªã³ã°ããã®ã«äœ¿çšããããã¡ã€ã«ã°ããã®ãããªãã¿ãŒã³ã®äžèŠ§ã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:295
msgid "A pattern is matched from the relative path of the file or directory of the collection directory."
msgstr "ãã¿ãŒã³ã¯ãã³ã¬ã¯ã·ã§ã³ãã£ã¬ã¯ããªãŒã®ãã¡ã€ã«ãŸãã¯ãã£ã¬ã¯ããªãŒã®çžå¯Ÿãã¹ããç
§åãããŸãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:297
msgid "This uses \\ :literal:`fnmatch`\\ to match the files or directories."
msgstr "ããã§ã¯ã\\ :literal:`fnmatch`\\ ã䜿çšããŠãã¡ã€ã«ãŸãã¯ãã£ã¬ã¯ããªãŒãç
§åããŸãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:299
msgid "Some directories and files like \\ :literal:`galaxy.yml`\\ , \\ :literal:`\\*.pyc`\\ , \\ :literal:`\\*.retry`\\ , and \\ :literal:`.git`\\ are always filtered."
msgstr "\\ :literal:`galaxy.yml`\\ã\\ :literal:`\\*.pyc`\\ã\\ :literal:`\\*.retry`\\ã\\ :literal:`.git`\\ ãªã©äžéšã®ãã£ã¬ã¯ããªãŒããã¡ã€ã«ã¯åžžã«ãã£ã«ã¿ãªã³ã°ãããŸãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:301
msgid "Mutually exclusive with \\ :literal:`manifest`\\"
msgstr " \\ :literal:`manifest`\\ ãšäœµçšã§ããŸããã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:307
msgid "manifest |br|"
msgstr "manifest |br|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:311
msgid "sentinel |_|"
msgstr "sentinel |_|"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:316
msgid "|br| version_added: 2.14"
msgstr "|br| version_added: 2.14"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:319
msgid "A dict controlling use of manifest directives used in building the collection artifact."
msgstr "ã³ã¬ã¯ã·ã§ã³ã¢ãŒãã£ãã¡ã¯ãã®æ§ç¯ã«äœ¿çšããããããã§ã¹ããã£ã¬ã¯ãã£ãã®äœ¿çšãå¶åŸ¡ããèŸæžã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:321
msgid "The key \\ :literal:`directives`\\ is a list of MANIFEST.in style \\ `directives <https://packaging.python.org/en/latest/guides/using-manifest-in/#manifest-in-commands>`__\\"
msgstr "ã㌠\\ :literal:`directives`\\ 㯠MANIFEST.in style \\ `directives <https://packaging.python.org/en/latest/guides/using-manifest-in/#manifest-in-commands>`__\\ ã®ãªã¹ãã§ãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:323
msgid "The key \\ :literal:`omit\\_default\\_directives`\\ is a boolean that controls whether the default directives are used"
msgstr "ã㌠\\ :literal:`omit\\_default\\_directives`\\ ã¯ãããã©ã«ãã®ãã£ã¬ã¯ãã£ãã䜿çšãããã©ãããå¶åŸ¡ããããŒã«å€ã§ãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:325
msgid "Mutually exclusive with \\ :literal:`build\\_ignore`\\"
msgstr "\\ :literal:`build\\_ignore`\\ ãšäœµçšã§ããŸããã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:330
msgid "Examples"
msgstr "äŸ"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:355
msgid ":ref:`developing_collections`"
msgstr ":ref:`developing_collections`"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:356
msgid "Develop or modify a collection."
msgstr "ã³ã¬ã¯ã·ã§ã³ãéçºãããããŸãã¯å€æŽããŸãã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:357
#: ../../rst/dev_guide/developing_api.rst:40
#: ../../rst/dev_guide/developing_inventory.rst:475
#: ../../rst/dev_guide/developing_plugins.rst:544
#: ../../rst/dev_guide/testing_units_modules.rst:571
msgid ":ref:`developing_modules_general`"
msgstr ":ref:`developing_modules_general`"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:358
#: ../../rst/dev_guide/developing_plugins.rst:545
msgid "Learn about how to write Ansible modules"
msgstr "Ansible ã¢ãžã¥ãŒã«ã®äœææ¹æ³ã«ã€ããŠ"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:359
#: ../../rst/dev_guide/developing_collections.rst:40
#: ../../rst/dev_guide/developing_collections_changelogs.rst:75
#: ../../rst/dev_guide/developing_collections_contributing.rst:58
#: ../../rst/dev_guide/developing_collections_creating.rst:54
#: ../../rst/dev_guide/developing_collections_distributing.rst:397
#: ../../rst/dev_guide/developing_collections_migrating.rst:129
#: ../../rst/dev_guide/developing_collections_shared.rst:87
msgid ":ref:`collections`"
msgstr ":ref:`collections`"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:360
#: ../../rst/dev_guide/developing_collections_changelogs.rst:76
#: ../../rst/dev_guide/developing_collections_contributing.rst:59
#: ../../rst/dev_guide/developing_collections_creating.rst:55
#: ../../rst/dev_guide/developing_collections_distributing.rst:398
#: ../../rst/dev_guide/developing_collections_migrating.rst:130
#: ../../rst/dev_guide/developing_collections_shared.rst:88
msgid "Learn how to install and use collections."
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ã€ã³ã¹ããŒã«æ¹æ³ããã³äœ¿çšæ¹æ³ã¯ãã¡ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:361
#: ../../rst/dev_guide/developing_collections.rst:46
#: ../../rst/dev_guide/developing_collections_changelogs.rst:79
#: ../../rst/dev_guide/developing_collections_contributing.rst:62
#: ../../rst/dev_guide/developing_collections_creating.rst:58
#: ../../rst/dev_guide/developing_collections_distributing.rst:401
#: ../../rst/dev_guide/developing_collections_migrating.rst:133
#: ../../rst/dev_guide/developing_collections_shared.rst:91
#: ../../rst/dev_guide/developing_collections_structure.rst:290
#: ../../rst/dev_guide/developing_collections_testing.rst:96
#: ../../rst/dev_guide/developing_core.rst:19
#: ../../rst/dev_guide/developing_modules.rst:48
#: ../../rst/dev_guide/developing_plugins.rst:546
msgid "`Mailing List <https://groups.google.com/group/ansible-devel>`_"
msgstr "`ã¡ãŒãªã³ã°ãªã¹ã <https://groups.google.com/group/ansible-devel>`_"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:362
#: ../../rst/dev_guide/developing_collections.rst:47
#: ../../rst/dev_guide/developing_collections_changelogs.rst:80
#: ../../rst/dev_guide/developing_collections_contributing.rst:63
#: ../../rst/dev_guide/developing_collections_creating.rst:59
#: ../../rst/dev_guide/developing_collections_distributing.rst:402
#: ../../rst/dev_guide/developing_collections_migrating.rst:134
#: ../../rst/dev_guide/developing_collections_shared.rst:92
#: ../../rst/dev_guide/developing_collections_structure.rst:291
#: ../../rst/dev_guide/developing_collections_testing.rst:97
#: ../../rst/dev_guide/developing_core.rst:20
#: ../../rst/dev_guide/developing_plugins.rst:547
msgid "The development mailing list"
msgstr "éçºã¡ãŒãªã³ã°ãªã¹ã"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:363
msgid "`irc.libera.chat <https://libera.chat/>`_"
msgstr "`irc.libera.chat <https://libera.chat/>`_"
#: ../../rst/dev_guide/collections_galaxy_meta.rst:364
msgid "#ansible IRC chat channel"
msgstr "IRC ãã£ãããã£ã³ãã« (#ansible)"
#: ../../rst/dev_guide/core_branches_and_tags.rst:5
msgid "``ansible-core`` project branches and tags"
msgstr "``ansible-core`` ãããžã§ã¯ãã®ãã©ã³ããšã¿ã°"
#: ../../rst/dev_guide/core_branches_and_tags.rst:8
msgid "``devel`` branch"
msgstr "``devel`` ãã©ã³ã"
#: ../../rst/dev_guide/core_branches_and_tags.rst:10
msgid "All new development on the next version of ``ansible-core`` occurs exclusively in the ``devel`` branch, and all bugfixes to prior releases must first be merged to devel before being backported to one or more stable branches for inclusion in servicing releases. Around the Beta 1 milestone, a new ``stable-X.Y`` branch is cut from ``devel``, which is then updated to host development of the ``X.Y+1`` release. External automated testing of Ansible content from ``devel`` is not generally recommended."
msgstr "次ã®ããŒãžã§ã³ã® ``ansible-core`` ã«ãããæ°ããéçºã¯ãã¹ãŠã``devel`` ãã©ã³ãã§ã®ã¿è¡ããã以åã®ãªãªãŒã¹ã«å¯Ÿãããã¹ãŠã®ãã°ä¿®æ£ã¯ãŸã devel ã«ããŒãžããŠããããµãŒãã¹ãªãªãŒã¹ã«å«ããããã« 1 ã€ä»¥äžã®å®å®ãããã©ã³ãã«ããã¯ããŒããããå¿
èŠããããŸããããŒã¿ 1 ãã€ã«ã¹ããŒã³ã§ã¯ãæ°ãã ``stable-X.Y`` ãã©ã³ã㯠``devel`` ããã«ããããããã®åŸ ``X.Y+1`` ãªãªãŒã¹ã®ãã¹ãéçºã«æŽæ°ãããŸãã``devel`` ããã® Ansible ã³ã³ãã³ãã®å€éšèªåãã¹ãã¯ãäžè¬çã«ã¯æšå¥šãããŸããã"
#: ../../rst/dev_guide/core_branches_and_tags.rst:17
msgid "``stable-X.Y`` branches"
msgstr "``stable-X.Y`` ãã©ã³ã"
#: ../../rst/dev_guide/core_branches_and_tags.rst:19
msgid "All ``ansible-core`` ``X.Y.Z`` releases are created from a corresponding ``stable-X.Y`` branch. A release's stable branch is typically cut from ``devel`` around ``X.Y.0 beta 1`` (when the release is feature complete). All further bugfixes (no enhancements!) must be made against ``devel`` and backported to applicable stable branches."
msgstr "``ansible-core`` ``X.Y.Z`` ãªãªãŒã¹ã¯ãã¹ãŠã察å¿ãã ``stable-X.Y`` ãã©ã³ãããäœæãããŸãããªãªãŒã¹ã®å®å®ãããã©ã³ãã¯éåžžã``X.Y.0 beta 1`` ã®åšãã® ``devel`` ããåãé€ãããŸã (ãªãªãŒã¹ã®æ©èœå®äºæã«)ãè¿œå ã®ãã°ä¿®æ£ (æ©èœæ¡åŒµãªã) ã¯ã``devel`` ã«å¯ŸããŠäœæãã該åœããå®å®ãããã©ã³ãã«ããã¯ããŒãããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/core_branches_and_tags.rst:24
msgid "``vX.Y.Z`` tags"
msgstr "``vX.Y.Z`` tags"
#: ../../rst/dev_guide/core_branches_and_tags.rst:26
msgid "Each ``ansible-core vX.Y.Z`` release is tagged from the release commit in the corresponding ``stable-X.Y`` branch, allowing access to the exact source used to create the release. As of ``ansible-core`` 2.13, the auto-generated GitHub tarball of the tag contents is considered the official canonical release artifact."
msgstr "å ``ansible-core vX.Y.Z`` ãªãªãŒã¹ã¯ã察å¿ãã ``stable-X.Y`` ãã©ã³ãã®ãªãªãŒã¹ã³ãããããã¿ã°ä»ãããããªãªãŒã¹ã®äœæã«äœ¿çšãããæ£ç¢ºãªãœãŒã¹ãžã®ã¢ã¯ã»ã¹ãå¯èœã«ãªããŸãã``ansible-core`` 2.13 ã®æç¹ã§ãã¿ã°ã³ã³ãã³ãã®èªåçæããã GitHub tarball ã¯å
¬åŒã®æ£èŠãªãªãŒã¹ã¢ãŒãã£ãã¡ã¯ããšã¿ãªãããŸãã"
#: ../../rst/dev_guide/core_branches_and_tags.rst:34
msgid "``milestone`` branch"
msgstr "``milestone`` branch"
#: ../../rst/dev_guide/core_branches_and_tags.rst:36
msgid "A ``milestone`` branch is a slow-moving stream of the ``devel`` branch, intended for external testing of ``ansible-core`` features under active development. As described in the :ref:`ansible_core_roadmaps` for a given release, development is typically split into three phases of decreasing duration, with larger and more invasive changes targeted to be merged to ``devel`` in earlier phases. The ``milestone`` branch is updated to the contents of ``devel`` at the end of each development phase. This allows testing of semi-stable unreleased features on a predictable schedule without the exposure to the potential instability of the daily commit \"fire hose\" from ``devel``. When a release reaches the Beta 1 milestone, the ``milestone`` branch will be updated to the first ``devel`` commit after the version number has been increased. Further testing of the same release should be done from the new ``stable-X.Y`` branch that was created. If a severe issue that significantly affects community testing or stability is discovered in the ``milestone`` branch, the branch contents may require unscheduled adjustment, but not in a way that prevents fast-forward updates (for example, ``milestone``-only commits will not be created or cherry-picked from ``devel``)."
msgstr "``milestone`` ãã©ã³ãã¯ãåãã®é
ã ``devel`` ãã©ã³ãã®ã¹ããªãŒã ã§ãã¢ã¯ãã£ããªéçºã«ããã ``ansible-core`` æ©èœã®å€éšãã¹ããç®çãšããŠããŸããæå®ããããªãªãŒã¹ã® :ref:`ansible_core_roadmaps` ã§èª¬æãããŠããããã«ãéçºã¯éåžžãæéãçã 3 ã€ã®ãã§ãŒãºã«åå²ãããæ©æã®ãã§ãŒãºã§å€§ãã䟵襲çãªå€åã ``devel`` ã«ããŒãžããããšãç®æšãšããŸãã``milestone`` ãã©ã³ãã¯ãåéçºãã§ãŒãºã®çµäºæã« ``devel`` ã®å
容ã«æŽæ°ãããŸããããã«ããã``devel`` ããã®æ¯æ¥ã®ã³ãããã§ãããfire hoseãã«ãããããããšãªããäºæž¬å¯èœãªã¹ã±ãžã¥ãŒã«ã§ãåå®å®çãªæªãªãªãŒã¹ã®æ©èœããã¹ãã§ããŸãããªãªãŒã¹ã Beta 1 ãã€ã«ã¹ããŒã³ã«å°éãããšã``milestone`` ãã©ã³ãã¯ããŒãžã§ã³çªå·ãå¢ãããããšã§æåã® ``devel`` ã³ãããã«æŽæ°ãããŸããåããªãªãŒã¹ãããã«ãã¹ãããå Žåã¯ãäœæããæ°ãã ``stable-X.Y`` ãã©ã³ãããè¡ãå¿
èŠããããŸããã³ãã¥ããã£ãŒã®ãã¹ããå®å®æ§ã«å€§ãã圱é¿ããé倧ãªåé¡ã ``milestone`` ãã©ã³ãã§æ€åºãããå Žåããã©ã³ãã®å
容ã«ã¯äºå®å€ã®èª¿æŽãå¿
èŠã«ãªãããšããããŸãããFast Forward Upgrade ã劚ããããšã¯ãããŸãã (ããšãã°ã``milestone``ã®ã¿ã®ã³ãããã¯äœæããããã``devel`` ããéžæãããããšã¯ãããŸãã)ã"
#: ../../rst/dev_guide/core_branches_and_tags.rst:48
msgid "The following example is for illustrative purposes only. See the :ref:`ansible_core_roadmaps` for accurate dates. For example, the ``milestone`` branch in 2.13 ``ansible-core`` roadmap updated as follows:"
msgstr "以äžã¯èª¬æã®ããã®äŸã§ããæ£ç¢ºãªæ¥ä»ã¯ã:ref:`ansible_core_roadmaps` ãåç
§ããŠãã ãããããšãã°ã2.13 ``ansible-core`` ããŒããããã® ``milestone`` ã¯ä»¥äžã®ããã«æŽæ°ãããŸãã"
#: ../../rst/dev_guide/core_branches_and_tags.rst:50
msgid "27-Sep-2021: 2.13 Development Phase 1 begins; ``milestone`` contents are updated to 2.12.0b1 with version number set to ``2.13.0.dev0``. Automated content testing that includes version-specific ignore files (e.g., ``ignore-2.12.txt``) should copy them for the current version (e.g., ``ignore-2.13.txt``) before this point to ensure that automated sanity testing against the ``milestone`` branch will continue to pass."
msgstr "2021 幎 9 æ 27 æ¥: 2.13 éçºãã§ãŒãº 1 ãå§ãŸãã``milestone`` ã®å
容㯠2.12.0b1 ã«æŽæ°ãããããŒãžã§ã³çªå·ã¯ ``2.13.0.dev0`` ã«èšå®ãããŸãããããŒãžã§ã³åºæã®ç¡èŠãã¡ã€ã«ãå«ãèªåã³ã³ãã³ããã¹ã (äŸ:``ignore-2.12.txt``) ã¯ããã®æç¹ããåã«ãããçŸåšã®ããŒãžã§ã³çšã«ã³ããŒããå¿
èŠããããŸã (äŸ:``ignore-2.13.txt``)ãããããããšã§ã``milestone`` ãã©ã³ãã«å¯Ÿããèªåå¥å
šæ§ãã¹ãã«åŒãç¶ãééããŸãã"
#: ../../rst/dev_guide/core_branches_and_tags.rst:54
msgid "13-Dec-2021: 2.13 Development Phase 2 begins; ``milestone`` contents are updated to the final commit from Development Phase 1"
msgstr "2021 幎 12 æ 13 æ¥: 2.13 éçºãã§ãŒãº 2 ãå§ãŸããŸãã``milestone`` ã®å
容ã¯éçºãã§ãŒãº 1 ããã®æçµã³ãããã«æŽæ°ãããŸã"
#: ../../rst/dev_guide/core_branches_and_tags.rst:55
msgid "14-Feb-2022: 2.13 Development Phase 3 begins; ``milestone`` contents are updated to the final commit from Development Phase 2"
msgstr "2022 幎 2 æ 14 æ¥: 2.13 éçºãã§ãŒãº 3 ãå§ãŸããŸãã``milestone`` ã®å
容ã¯éçºãã§ãŒãº 2 ããã®æçµã³ãããã«æŽæ°ãããŸã"
#: ../../rst/dev_guide/core_branches_and_tags.rst:56
msgid "11-Apr-2022: ``stable-2.13`` branch created with results from Development Phase 3 and freeze. ``2.13.0b1`` is released from ``stable-2.13``. Automated content testing should continue 2.13 series testing against the new branch. The ``devel`` version number is updated to ``2.14.0.dev0``, and ``milestone`` is updated to that point."
msgstr "2022 幎 4 æ 11 æ¥: éçºãã§ãŒãº 3 ã®çµæã§äœæããã ``stable-2.13`` ãã©ã³ããšããªãŒãºã``2.13.0b1`` ã ``stable-2.13`` ãããªãªãŒã¹ãããŸããèªåã³ã³ãã³ããã¹ãã¯ãæ°ãããã©ã³ãã«å¯Ÿã㊠2.13 ã·ãªãŒãºã®ãã¹ããç¶ç¶ããå¿
èŠããããŸãã``devel`` ããŒãžã§ã³çªå·ã ``2.14.0.dev0`` ã«æŽæ°ããããã®æç¹ãŸã§ ``milestone`` ãæŽæ°ãããŸãã"
#: ../../rst/dev_guide/debugging.rst:5
msgid "Debugging modules"
msgstr "ã¢ãžã¥ãŒã«ã®ãããã°"
#: ../../rst/dev_guide/debugging.rst:13
msgid "Detailed debugging steps"
msgstr "詳现ãªãããã°æé "
#: ../../rst/dev_guide/debugging.rst:15
msgid "Ansible modules are put together as a zip file consisting of the module file and the various Python module boilerplate inside of a wrapper script. To see what is actually happening in the module, you need to extract the file from the wrapper. The wrapper script provides helper methods that let you do that."
msgstr "Ansible ã¢ãžã¥ãŒã«ã¯ãã¢ãžã¥ãŒã«ãã¡ã€ã«ãšã©ãããŒã¹ã¯ãªããå
ã®ããŸããŸãª Python ã¢ãžã¥ãŒã«ã® boilerplate ã§æ§æããã zip ãã¡ã€ã«ãšããŠãŸãšããŠçœ®ãããŸããã¢ãžã¥ãŒã«ã§å®éã«äœãçºçããŠãããã確èªããã«ã¯ãã©ãããŒãããã¡ã€ã«ãæœåºããå¿
èŠããããŸããã©ãããŒã¹ã¯ãªããã¯ããããå¯èœã«ãããã«ããŒã¡ãœãããæäŸããŸãã"
#: ../../rst/dev_guide/debugging.rst:17
msgid "The following steps use ``localhost`` as the target host, but you can use the same steps to debug against remote hosts as well. For a simpler approach to debugging without using the temporary files, see :ref:`simple debugging <simple_debugging>`."
msgstr "以äžã®æé ã§ã¯ãã¿ãŒã²ãããã¹ãã« ``localhost`` ã䜿çšããŠããŸãããåãæé ã䜿çšããŠãªã¢ãŒããã¹ãã«å¯ŸããŠãããã°ããããšãã§ããŸããäžæãã¡ã€ã«ã䜿çšããã«ãããã°ãè¡ãç°¡åãªæ¹æ³ã¯ãã:ref:`ç°¡åãªãããã° <simple_debugging>`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/debugging.rst:20
msgid "Set :envvar:`ANSIBLE_KEEP_REMOTE_FILES` to ``1`` on the control host so Ansible will keep the remote module files instead of deleting them after the module finishes executing. Use the ``-vvv`` option to make Ansible more verbose. This will display the file name of the temporary module file."
msgstr "ã³ã³ãããŒã«ãã¹ã㧠:envvar:`ANSIBLE_KEEP_REMOTE_FILES` ã ``1`` ã«èšå®ããŸããããã«ãããAnsible ã¯ã¢ãžã¥ãŒã«å®è¡åŸãåé€ããã«ãªã¢ãŒãã¢ãžã¥ãŒã«ãã¡ã€ã«ãç¶æããŸãã``-vvv`` ãªãã·ã§ã³ã䜿çšãããšãAnsible ã®è©³çŽ°ã衚瀺ãããŸããäžæã¢ãžã¥ãŒã«ãã¡ã€ã«ã®ãã¡ã€ã«åã衚瀺ãããŸãã"
#: ../../rst/dev_guide/debugging.rst:40
msgid "Navigate to the temporary directory from the previous step. If the previous command was run against a remote host, connect to that host first before trying to navigate to the temporary directory."
msgstr "åã®æé ããäžæãã£ã¬ã¯ããªãŒã«ç§»åããŸããåã®ã³ãã³ãããªã¢ãŒããã¹ãã«å¯ŸããŠå®è¡ããå Žåã¯ãæåã«ãã®ãã¹ãã«æ¥ç¶ããŸããäžæãã£ã¬ã¯ããªãŒã«ç§»åããåã«ããã®ãã¹ãã«æ¥ç¶ããŸãã"
#: ../../rst/dev_guide/debugging.rst:47
msgid "Run the wrapper's ``explode`` command to turn the string into some Python files that you can work with."
msgstr "ã©ãããŒã® ``explode`` ã³ãã³ããå®è¡ããŠãæååã䜿çšå¯èœãª Python ãã¡ã€ã«ã«å€æããŸãã"
#: ../../rst/dev_guide/debugging.rst:55
msgid "If you want to examine the wrapper file you can. It will show a small Python script with a large base64 encoded string. The string contains the module to execute."
msgstr "ã©ãããŒãã¡ã€ã«ã調ã¹ããå Žåã¯ãå°ãã Python ã¹ã¯ãªããã«ã倧ã㪠base64 ã§ãšã³ã³ãŒããããæååãèšèŒãããŸããæååã«ã¯ãå®è¡ããã¢ãžã¥ãŒã«ãå«ãŸããŸãã"
#: ../../rst/dev_guide/debugging.rst:57
msgid "When you look into the temporary directory you'll see a structure like this:"
msgstr "äžæãã£ã¬ã¯ããªãŒã確èªãããšã以äžã®ãããªæ§é ã衚瀺ãããŸãã"
#: ../../rst/dev_guide/debugging.rst:80
msgid "``AnsiballZ_ping.py`` is the Python script with the module code stored in a base64 encoded string. It contains various helper functions for executing the module."
msgstr "``AnsiballZ_ping.py`` base64 ã§ãšã³ã³ãŒããããæååã«ä¿åãããã¢ãžã¥ãŒã«ã³ãŒããå«ã Python ã¹ã¯ãªããã§ãã¢ãžã¥ãŒã«ãå®è¡ããããã®ããŸããŸãªãã«ããŒé¢æ°ãå«ãŸããŸãã"
#: ../../rst/dev_guide/debugging.rst:82
msgid "``ping.py`` is the code for the module itself. You can modify this code to see what effect it would have on your module, or for debugging purposes."
msgstr "``ping.py`` ã¯ãã¢ãžã¥ãŒã«èªäœã®ã³ãŒãã§ãããã®ã³ãŒããå€æŽããŠãã¢ãžã¥ãŒã«ãŸãã¯ãããã°ã®ç®çã確èªããããšãã§ããŸãã"
#: ../../rst/dev_guide/debugging.rst:84
msgid "The ``args`` file contains a JSON string. The string is a dictionary containing the module arguments and other variables that Ansible passes into the module to change its behavior. Modify this file to change the parameters passed to the module."
msgstr "``args`` ãã¡ã€ã«ã«ã¯ JSON æååãå«ãŸããŠããŸãããã®æååã¯ãã¢ãžã¥ãŒã«åŒæ°ããã³ãAnsible ãã¢ãžã¥ãŒã«ã«æž¡ããã®ä»ã®å€æ°ãå«ããã£ã¯ã·ã§ããªãŒã§ãåäœãå€æŽããŸãããã®ãã¡ã€ã«ãå€æŽããŠãã¢ãžã¥ãŒã«ã«æž¡ããããã©ã¡ãŒã¿ãŒãå€æŽããŸãã"
#: ../../rst/dev_guide/debugging.rst:86
msgid "The ``ansible`` directory contains the module code in ``modules`` as well as code from :mod:`ansible.module_utils` that is used by the module. Ansible includes files for any :mod:`ansible.module_utils` imports in the module but not any files from any other module. If your module uses :mod:`ansible.module_utils.url` Ansible will include it for you. But if your module includes `requests <https://requests.readthedocs.io/en/latest/api/>`_, then you'll have to make sure that the Python `requests library <https://pypi.org/project/requests/>`_ is installed on the system before running the module."
msgstr "``ansible`` ãã£ã¬ã¯ããªãŒã«ã¯ã``modules`` ã®ã¢ãžã¥ãŒã«ã³ãŒããšãã¢ãžã¥ãŒã«ã«äœ¿çšããã :mod:`ansible.module_utils` ã®ã³ãŒããå«ãŸããŠããŸããAnsible ã«ã¯ãã¢ãžã¥ãŒã«å
ã® :mod:`ansible.module_utils` ã€ã³ããŒãã®ãã¡ã€ã«ãå«ãŸããŸãããä»ã®ã¢ãžã¥ãŒã«ããã®ãã¡ã€ã«ã¯å«ãŸããŸãããã¢ãžã¥ãŒã«ã§ :mod:`ansible.module_utils.url` ã䜿çšãããå Žåã¯ãAnsible ã«ãããå«ãŸããŸãããã ããã¢ãžã¥ãŒã«ã« `requests <https://requests.readthedocs.io/en/latest/api/>`_ ãå«ãŸããå Žåã¯ãã¢ãžã¥ãŒã«ãå®è¡ããåã« Python `requests library <https://pypi.org/project/requests/>`_ ãã·ã¹ãã ã«ã€ã³ã¹ããŒã«ãããŠããããšã確èªããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/debugging.rst:88
msgid "You can modify files in this directory if you suspect that the module is having a problem in some of this boilerplate code rather than in the module code you have written."
msgstr "äœæããã¢ãžã¥ãŒã«ã³ãŒãã§ã¯ãªããã¢ãžã¥ãŒã«ã®ãã® boilerplate ã³ãŒãã®äžéšã«åé¡ããããšæãããå Žåã¯ããã®ãã£ã¬ã¯ããªãŒã®ãã¡ã€ã«ãå€æŽã§ããŸãã"
#: ../../rst/dev_guide/debugging.rst:90
msgid "Once you edit the code or arguments in the exploded tree, use the ``execute`` subcommand to run it:"
msgstr "å±éãããããªãŒã®ã³ãŒããŸãã¯åŒæ°ãç·šéãããã``execute`` ãµãã³ãã³ãã䜿çšããŠãããå®è¡ããŸãã"
#: ../../rst/dev_guide/debugging.rst:97
msgid "This subcommand inserts the absolute path to ``debug_dir`` as the first item in ``sys.path`` and invokes the script using the arguments in the ``args`` file. You can continue to run the module like this until you understand the problem. Then you can copy the changes back into your real module file and test that the real module works via ``ansible`` or ``ansible-playbook``."
msgstr "ãã®ãµãã³ãã³ãã¯ã``sys.path`` ã®æåã®é
ç®ãšã㊠``debug_dir`` ã«çµ¶å¯Ÿãã¹ãæ¿å
¥ãã``args`` ãã¡ã€ã«ã®åŒæ°ã䜿çšããŠã¹ã¯ãªãããåŒã³åºããŸããåé¡ãç解ãããŸã§ããã®ã¢ãžã¥ãŒã«ã®å®è¡ãç¶ç¶ã§ããŸããå€æŽãå®éã®ã¢ãžã¥ãŒã«ãã¡ã€ã«ã«ã³ããŒããå®éã®ã¢ãžã¥ãŒã«ã ``ansible`` ãŸã㯠``ansible-playbook`` ã§åäœããããšããã¹ãããããšãã§ããŸãã"
#: ../../rst/dev_guide/debugging.rst:103
msgid "Simple debugging"
msgstr "ç°¡åãªãããã°"
#: ../../rst/dev_guide/debugging.rst:105
msgid "The easiest way to run a debugger in a module, either local or remote, is to use `epdb <https://pypi.org/project/epdb/>`_. Add ``import epdb; epdb.serve()`` in the module code on the control node at the desired break point. To connect to the debugger, run ``epdb.connect()``. See the `epdb documentation <https://pypi.org/project/epdb/>`_ for how to specify the ``host`` and ``port``. If connecting to a remote node, make sure to use a port that is allowed by any firewall between the control node and the remote node."
msgstr "ã¢ãžã¥ãŒã« (ããŒã«ã«ãŸãã¯ãªã¢ãŒãã®ãããã) ã§ãããã¬ãŒãå®è¡ããæãç°¡åãªæ¹æ³ã¯ã`epdb <https://pypi.org/project/epdb/>`_ ã䜿çšããŸããä»»æã®ãã¬ãŒã¯ãã€ã³ãã§ãã³ã³ãããŒã«ããŒãã®ã¢ãžã¥ãŒã«ã³ãŒãã« ``import epdb; epdb.serve()`` ãè¿œå ããŸãããããã¬ãŒã«æ¥ç¶ããã«ã¯ã``epdb.connect()`` ãå®è¡ããŸãã``host`` ããã³ ``port`` ãæå®ããæ¹æ³ã¯ã`epdb ããã¥ã¡ã³ã <https://pypi.org/project/epdb/>`_ ãåç
§ããŠãã ããããªã¢ãŒãããŒãã«æ¥ç¶ããå Žåã¯ãã³ã³ãããŒã«ããŒããšãªã¢ãŒãããŒããšã®éã®ãã¡ã€ã¢ãŠã©ãŒã«ãèš±å¯ãããŠããããŒãã䜿çšããããã«ããŠãã ããã"
#: ../../rst/dev_guide/debugging.rst:107
msgid "This technique should work with any remote debugger, but we do not guarantee any particular remote debugging tool will work."
msgstr "ãã®ææ³ã¯ãªã¢ãŒããããã¬ãŒãšåäœããŸãããç¹å®ã®ãªã¢ãŒããããã°ããŒã«ãæ©èœããä¿èšŒã¯ãããŸããã"
#: ../../rst/dev_guide/debugging.rst:109
msgid "The `q <https://pypi.org/project/q/>`_ library is another very useful debugging tool."
msgstr "`q <https://pypi.org/project/q/>`_ ã©ã€ãã©ãªãŒã¯ããã 1 ã€ã®äŸ¿å©ãªãããã°ããŒã«ã§ãã"
#: ../../rst/dev_guide/debugging.rst:111
msgid "Since ``print()`` statements do not work inside modules, raising an exception is a good approach if you just want to see some specific data. Put ``raise Exception(some_value)`` somewhere in the module and run it normally. Ansible will handle this exception, pass the message back to the control node, and display it."
msgstr "``print()`` ã¹ããŒãã¡ã³ãã¯ã¢ãžã¥ãŒã«å
ã§ã¯æ©èœããªããããç¹å®ã®ããŒã¿ã確èªããå Žåã¯äŸå€ãçºçãããŸããã¢ãžã¥ãŒã«å
ã®ã©ããã« ``raise Exception(some_value)`` ã眮ããéåžžã©ããå®è¡ããŸããAnsible ã¯ãã®äŸå€ãåŠçããã¡ãã»ãŒãžãã³ã³ãããŒã«ããŒãã«æž¡ãã衚瀺ããŸãã"
#: ../../rst/dev_guide/developing_api.rst:5
msgid "Python API"
msgstr "Python API"
#: ../../rst/dev_guide/developing_api.rst:7
#: ../../rst/dev_guide/developing_inventory.rst:17
#: ../../rst/dev_guide/developing_modules_best_practices.rst:9
#: ../../rst/dev_guide/testing_compile.rst:9
#: ../../rst/dev_guide/testing_httptester.rst:7
#: ../../rst/dev_guide/testing_integration.rst:9
#: ../../rst/dev_guide/testing_integration_legacy.rst:9
#: ../../rst/dev_guide/testing_pep8.rst:9
#: ../../rst/dev_guide/testing_sanity.rst:9
#: ../../rst/dev_guide/testing_units.rst:14
#: ../../rst/dev_guide/testing_units_modules.rst:11
#: ../../rst/dev_guide/testing_validate-modules.rst:9
msgid "Topics"
msgstr "ãããã¯"
#: ../../rst/dev_guide/developing_api.rst:9
msgid "This API is intended for internal Ansible use. Ansible may make changes to this API at any time that could break backward compatibility with older versions of the API. Because of this, external use is not supported by Ansible. If you want to use Python API only for executing playbooks or modules, consider `ansible-runner <https://ansible-runner.readthedocs.io/en/latest/>`_ first."
msgstr "ãã® API ã¯ãå
éš Ansible ã®äœ¿çšãç®çãšããŠããŸããAnsible ã¯ãå€ãããŒãžã§ã³ã® API ãšã®åŸæ¹äºææ§ã劚ããå¯èœæ§ãããæç¹ã§ãã® API ã«å€æŽãå ããããšãã§ãããããAnsible ã§ã¯å€éšã®äœ¿çšã¯ãµããŒããããŸãããPlaybook ãŸãã¯ã¢ãžã¥ãŒã«ã®å®è¡ã®ã¿ã« Python API ã䜿çšããå Žåã¯ããŸã `ansible-runner <https://ansible-runner.readthedocs.io/en/latest/>`_ ãèæ
®ããŠãã ããã"
#: ../../rst/dev_guide/developing_api.rst:11
msgid "There are several ways to use Ansible from an API perspective. You can use the Ansible Python API to control nodes, you can extend Ansible to respond to various Python events, you can write plugins, and you can plug in inventory data from external data sources. This document gives a basic overview and examples of the Ansible execution and playbook API."
msgstr "API ããŒã¹ãã¯ãã£ããã Ansible ã䜿çšããæ¹æ³ã¯è€æ°ãããŸããAnsible Python API ã䜿çšããŠããŒããå¶åŸ¡ããAnsible ãæ¡åŒµããŠããŸããŸãª Python ã€ãã³ãã«å¿çã§ãããã©ã°ã€ã³ãäœæããããå€éšããŒã¿ãœãŒã¹ããã®ã€ã³ãã³ããªãŒããŒã¿ãžã®ãã©ã°ã€ã³ãè¡ãããšãã§ããŸããæ¬æžã§ã¯ãAnsible ã®å®è¡ããã³ Playbook API ã®åºæ¬çãªæŠèŠãšäŸã玹ä»ããŸãã"
#: ../../rst/dev_guide/developing_api.rst:16
msgid "If you would like to use Ansible programmatically from a language other than Python, trigger events asynchronously, or have access control and logging demands, please see the `AWX project <https://github.com/ansible/awx/>`_."
msgstr "Python 以å€ã®èšèªã§ Ansible ã䜿çšããŠãã€ãã³ããéåæçã«ããªã¬ãŒããããã¢ã¯ã»ã¹å¶åŸ¡ããã³ãã°èŠæ±ãããå Žåã¯ãã`AWX ãããžã§ã¯ã <https://github.com/ansible/awx/>`_ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_api.rst:19
msgid "Because Ansible relies on forking processes, this API is not thread safe."
msgstr "Ansible ã¯ããã»ã¹ã®ãã©ãŒã¯ã«äŸåããŠããããããã® API ã¯ã¹ã¬ããã»ãŒãã§ã¯ãããŸããã"
#: ../../rst/dev_guide/developing_api.rst:24
msgid "Python API example"
msgstr "Python API ã®äŸ"
#: ../../rst/dev_guide/developing_api.rst:26
msgid "This example is a simple demonstration that shows how to minimally run a couple of tasks:"
msgstr "ãã®äŸã¯ãããã€ãã®ã¿ã¹ã¯ãæå°éã«å®è¡ããæ¹æ³ã瀺ãç°¡åãªãã¢ã§ãã"
#: ../../rst/dev_guide/developing_api.rst:31
msgid "Ansible emits warnings and errors via the display object, which prints directly to stdout, stderr and the Ansible log."
msgstr "Ansible ã¯ã衚瀺ãªããžã§ã¯ããä»ããŠèŠåãšãšã©ãŒãåºåããŸããæšæºåºå (stdout)ãæšæºãšã©ãŒ (stderr)ãAnsible ãã°ã«çŽæ¥åºåããŸãã"
#: ../../rst/dev_guide/developing_api.rst:33
msgid "The source code for the ``ansible`` command line tools (``lib/ansible/cli/``) is `available on GitHub <https://github.com/ansible/ansible/tree/devel/lib/ansible/cli>`_."
msgstr "``ansible`` ã³ãã³ãã©ã€ã³ããŒã«ã®ãœãŒã¹ã³ãŒã (``lib/ansible/cli/``) 㯠`GitHub ã§å©çš <https://github.com/ansible/ansible/tree/devel/lib/ansible/cli>`_ ã§ããŸãã"
#: ../../rst/dev_guide/developing_api.rst:38
#: ../../rst/dev_guide/developing_plugins.rst:542
msgid ":ref:`developing_inventory`"
msgstr ":ref:`developing_inventory`"
#: ../../rst/dev_guide/developing_api.rst:39
msgid "Developing dynamic inventory integrations"
msgstr "åçã€ã³ãã³ããªãŒçµ±åã®éçº"
#: ../../rst/dev_guide/developing_api.rst:41
msgid "Getting started on developing a module"
msgstr "ã¢ãžã¥ãŒã«éçºãå§ãã"
#: ../../rst/dev_guide/developing_api.rst:42
#: ../../rst/dev_guide/developing_core.rst:17
#: ../../rst/dev_guide/developing_inventory.rst:477
msgid ":ref:`developing_plugins`"
msgstr ":ref:`developing_plugins`"
#: ../../rst/dev_guide/developing_api.rst:43
#: ../../rst/dev_guide/developing_inventory.rst:478
msgid "How to develop plugins"
msgstr "ãã©ã°ã€ã³ã®éçºæ¹æ³"
#: ../../rst/dev_guide/developing_api.rst:44
#: ../../rst/dev_guide/developing_inventory.rst:481
#: ../../rst/dev_guide/testing_units_modules.rst:579
msgid "`Development Mailing List <https://groups.google.com/group/ansible-devel>`_"
msgstr "`Development Mailing List <https://groups.google.com/group/ansible-devel>`_"
#: ../../rst/dev_guide/developing_api.rst:45
#: ../../rst/dev_guide/developing_inventory.rst:482
#: ../../rst/dev_guide/testing_units_modules.rst:580
msgid "Mailing list for development topics"
msgstr "éçºãããã¯ã®ã¡ãŒãªã³ã°ãªã¹ã"
#: ../../rst/dev_guide/developing_api.rst:46
#: ../../rst/dev_guide/developing_collections.rst:48
#: ../../rst/dev_guide/developing_collections_changelogs.rst:81
#: ../../rst/dev_guide/developing_collections_contributing.rst:64
#: ../../rst/dev_guide/developing_collections_creating.rst:60
#: ../../rst/dev_guide/developing_collections_distributing.rst:403
#: ../../rst/dev_guide/developing_collections_migrating.rst:135
#: ../../rst/dev_guide/developing_collections_shared.rst:93
#: ../../rst/dev_guide/developing_collections_structure.rst:292
#: ../../rst/dev_guide/developing_collections_testing.rst:98
#: ../../rst/dev_guide/developing_inventory.rst:483
#: ../../rst/dev_guide/developing_modules.rst:50
#: ../../rst/dev_guide/developing_plugins.rst:548
msgid ":ref:`communication_irc`"
msgstr ":ref:`communication_irc`"
#: ../../rst/dev_guide/developing_api.rst:47
#: ../../rst/dev_guide/developing_collections.rst:49
#: ../../rst/dev_guide/developing_collections_changelogs.rst:82
#: ../../rst/dev_guide/developing_collections_contributing.rst:65
#: ../../rst/dev_guide/developing_collections_creating.rst:61
#: ../../rst/dev_guide/developing_collections_distributing.rst:404
#: ../../rst/dev_guide/developing_collections_migrating.rst:136
#: ../../rst/dev_guide/developing_collections_shared.rst:94
#: ../../rst/dev_guide/developing_collections_structure.rst:293
#: ../../rst/dev_guide/developing_collections_testing.rst:99
#: ../../rst/dev_guide/developing_inventory.rst:484
#: ../../rst/dev_guide/developing_modules.rst:51
#: ../../rst/dev_guide/developing_plugins.rst:549
msgid "How to join Ansible chat channels"
msgstr "Ansible ãã£ãããã£ã³ãã«ãžã®åå æ¹æ³"
#: ../../rst/dev_guide/developing_collections.rst:11
msgid "Developing new collections"
msgstr "æ°èŠã³ã¬ã¯ã·ã§ã³ã®éçº"
#: ../../rst/dev_guide/developing_collections.rst:21
msgid "Working with existing collections"
msgstr "æ¢åã³ã¬ã¯ã·ã§ã³ã®äœ¿çš"
#: ../../rst/dev_guide/developing_collections.rst:29
msgid "Collections references"
msgstr "ã³ã¬ã¯ã·ã§ã³ã®åç
§"
#: ../../rst/dev_guide/developing_collections.rst:5
msgid "Developing collections"
msgstr "ã³ã¬ã¯ã·ã§ã³ã®éçº"
#: ../../rst/dev_guide/developing_collections.rst:7
msgid "Collections are a distribution format for Ansible content. You can package and distribute playbooks, roles, modules, and plugins using collections. A typical collection addresses a set of related use cases. For example, the ``cisco.ios`` collection automates management of Cisco IOS devices."
msgstr "ã³ã¬ã¯ã·ã§ã³ã¯ãAnsible ã³ã³ãã³ãã®ãã£ã¹ããªãã¥ãŒã·ã§ã³åœ¢åŒã§ããã³ã¬ã¯ã·ã§ã³ã䜿çšã㊠PlaybookãããŒã«ãã¢ãžã¥ãŒã«ãããã³ãã©ã°ã€ã³ãããã±ãŒãžåããã³åæ£ã§ããŸããäžè¬çãªã³ã¬ã¯ã·ã§ã³ã§ã¯ãé¢é£ããäžé£ã®ãŠãŒã¹ã±ãŒã¹ã«å¯Ÿå¿ããŸããããšãã°ã``cisco.ios`` ã³ã¬ã¯ã·ã§ã³ã¯ Cisco IOS ããã€ã¹ã®ç®¡çãèªååããŸãã"
#: ../../rst/dev_guide/developing_collections.rst:9
msgid "You can create a collection and publish it to `Ansible Galaxy <https://galaxy.ansible.com>`_ or to a private Automation Hub instance. You can publish certified collections to the Red Hat Automation Hub, part of the Red Hat Ansible Automation Platform."
msgstr "ã³ã¬ã¯ã·ã§ã³ãäœæããŠã`Ansible Galaxy <https://galaxy.ansible.com>`_ ãŸãã¯ãã©ã€ããŒã Automation Hub ã€ã³ã¹ã¿ã³ã¹ã«å
¬éã§ããŸããRed Hat Ansible Automation Platform ã®äžéšã§ããèªå®ã³ã¬ã¯ã·ã§ã³ã Red Hat Automation Hub ã«å
¬éã§ããŸãã"
#: ../../rst/dev_guide/developing_collections.rst:36
msgid "For instructions on developing modules, see :ref:`developing_modules_general`."
msgstr "ã¢ãžã¥ãŒã«éçºã®æé ã¯ãã:ref:`developing_modules_general`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections.rst:41
msgid "Learn how to install and use collections in playbooks and roles"
msgstr "Playbook ããã³ããŒã«ã§ã³ã¬ã¯ã·ã§ã³ãã€ã³ã¹ããŒã«ããŠäœ¿çšããæ¹æ³ã説æããŸãã"
#: ../../rst/dev_guide/developing_collections.rst:42
#: ../../rst/dev_guide/developing_collections_changelogs.rst:77
#: ../../rst/dev_guide/developing_collections_contributing.rst:60
#: ../../rst/dev_guide/developing_collections_migrating.rst:131
#: ../../rst/dev_guide/developing_collections_shared.rst:89
#: ../../rst/dev_guide/developing_collections_structure.rst:288
#: ../../rst/dev_guide/developing_collections_testing.rst:94
msgid ":ref:`contributing_maintained_collections`"
msgstr ":ref:`contributing_maintained_collections`"
#: ../../rst/dev_guide/developing_collections.rst:43
#: ../../rst/dev_guide/developing_collections_changelogs.rst:78
#: ../../rst/dev_guide/developing_collections_contributing.rst:61
#: ../../rst/dev_guide/developing_collections_migrating.rst:132
#: ../../rst/dev_guide/developing_collections_shared.rst:90
#: ../../rst/dev_guide/developing_collections_structure.rst:289
#: ../../rst/dev_guide/developing_collections_testing.rst:95
msgid "Guidelines for contributing to selected collections"
msgstr "éžæããã³ã¬ã¯ã·ã§ã³ã«è²¢ç®ããã¬ã€ãã©ã€ã³"
#: ../../rst/dev_guide/developing_collections.rst:44
msgid "`Ansible Collections Overview and FAQ <https://github.com/ansible-collections/overview/blob/main/README.rst>`_"
msgstr "`Ansible Collections Overview and FAQ <https://github.com/ansible-collections/overview/blob/main/README.rst>`_"
#: ../../rst/dev_guide/developing_collections.rst:45
msgid "Current development status of community collections and FAQ"
msgstr "ã³ãã¥ããã£ãŒã³ã¬ã¯ã·ã§ã³ããã³ FAQ ã®çŸåšã®éçºã¹ããŒã¿ã¹"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:5
msgid "Generating changelogs and porting guide entries in a collection"
msgstr "ã³ã¬ã¯ã·ã§ã³ã§å€æŽãã°ããã³ç§»æ€ã¬ã€ããšã³ããªãŒã®çæ"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:7
msgid "You can create and share changelog and porting guide entries for your collection. If your collection is part of the Ansible Community package, we recommend that you use the `antsibull-changelog <https://github.com/ansible-community/antsibull-changelog>`_ tool to generate Ansible-compatible changelogs. The Ansible changelog uses the output of this tool to collate all the collections included in an Ansible release into one combined changelog for the release."
msgstr "ã³ã¬ã¯ã·ã§ã³ã®å€æŽãã°ããã³ç§»æ€ã¬ã€ããäœæããŠå
±æã§ããŸããã³ã¬ã¯ã·ã§ã³ã Ansible Community ããã±ãŒãžã®äžéšã§ããå Žåã¯ã`antsibull-changelog <https://github.com/ansible-community/antsibull-changelog>`_ ããŒã«ã䜿çšã㊠Ansible äºæã®å€æŽãã°ãçæããããšãæšå¥šãããŸããAnsible ã®å€æŽãã°ã§ã¯ããã®ããŒã«ã䜿çšããŠããã®ããŒã«ã®åºåã䜿çšããŠãAnsible ãªãªãŒã¹ã«å«ãŸãããã¹ãŠã®ã³ã¬ã¯ã·ã§ã³ãããã®ãªãªãŒã¹ã«å¯Ÿã㊠1 ã€ã®å€æŽãã°ã«ãŸãšããããšãæšå¥šãããŸãã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:11
msgid "Ansible here refers to the Ansible 2.10 or later release that includes a curated set of collections."
msgstr "Ansible ã¯ãæå®ããã³ã¬ã¯ã·ã§ã³ã»ãããå«ã Ansible 2.10 以éã®ãªãªãŒã¹ãåç
§ããŸãã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:18
msgid "Understanding antsibull-changelog"
msgstr "antsibull-changelog ã«ã€ããŠ"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:20
msgid "The ``antsibull-changelog`` tool allows you to create and update changelogs for Ansible collections that are compatible with the combined Ansible changelogs. This is an update to the changelog generator used in prior Ansible releases. The tool adds three new changelog fragment categories: ``breaking_changes``, ``security_fixes`` and ``trivial``. The tool also generates the ``changelog.yaml`` file that Ansible uses to create the combined ``CHANGELOG.rst`` file and Porting Guide for the release."
msgstr "``antsibull-changelog`` ããŒã«ã䜿çšãããšãçµã¿åããã Ansible ã®å€æŽãã°ãšäºææ§ã®ãã Ansible ã³ã¬ã¯ã·ã§ã³ã«å¯ŸããŠå€æŽãã°ãäœæããæŽæ°ã§ããŸããããã¯ãAnsible ãªãªãŒã¹ä»¥åã§äœ¿çšãããå€æŽãã°ãžã§ãã¬ãŒã¿ãŒã«å¯ŸããæŽæ°ã§ãããã®ããŒã«ã¯ã``breaking_changes``ã``security_fixes``ãããã³ ``trivial`` ã® 3 ã€ã®æ°ããå€æŽãã°ãã©ã°ã¡ã³ãã«ããŽãªãŒãè¿œå ããŸãããã®ããŒã«ã¯ãAnsible ããªãªãŒã¹ãçµã¿åããã ``CHANGELOG.rst`` ãã¡ã€ã«ãšç§»æ€ã¬ã€ããäœæããããã«äœ¿çšãã ``changelog.yaml`` ãã¡ã€ã«ãçæããŸãã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:22
msgid "See :ref:`changelogs_how_to` and the `antsibull-changelog documentation <https://github.com/ansible-community/antsibull-changelog/tree/main/docs>`_ for complete details."
msgstr "詳现ã¯ãã:ref:`changelogs_how_to`ãããã³ `antsibull-changelog ããã¥ã¡ã³ã <https://github.com/ansible-community/antsibull-changelog/tree/main/docs>`_ ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:26
msgid "The collection maintainers set the changelog policy for their collections. See the individual collection contributing guidelines for complete details."
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ã¡ã³ãããŒã¯ãã³ã¬ã¯ã·ã§ã³ã«å€æŽãã°ããªã·ãŒãèšå®ããŸãã詳现ã¯ãåã
ã®ã³ã¬ã¯ã·ã§ã³ã®è²¢ç®ã¬ã€ãã©ã€ã³ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:29
msgid "Generating changelogs"
msgstr "å€æŽãã°ã®çæ"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:31
msgid "To initialize changelog generation:"
msgstr "å€æŽãã°ã®çæãåæåããã«ã¯ã以äžãå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:33
msgid "Install ``antsibull-changelog``: :code:`pip install antsibull-changelog`."
msgstr "``antsibull-changelog`` ãã€ã³ã¹ããŒã«ããŸã (:code:`pip install antsibull-changelog`)ã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:34
msgid "Initialize changelogs for your repository: :code:`antsibull-changelog init <path/to/your/collection>`."
msgstr "ãªããžããªãŒã®å€æŽãã°ãåæåããŸã (:code:`antsibull-changelog init <path/to/your/collection>`)ã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:35
msgid "Optionally, edit the ``changelogs/config.yaml`` file to customize the location of the generated changelog ``.rst`` file or other options. See `Bootstrapping changelogs for collections <https://github.com/ansible-community/antsibull-changelog/blob/main/docs/changelogs.rst#bootstrapping-changelogs-for-collections>`_ for details."
msgstr "å¿
èŠã«å¿ããŠã``changelogs/config.yaml`` ãã¡ã€ã«ãç·šéããŠãçæãããå€æŽãã°ã® ``.rst`` ãã¡ã€ã«ãŸãã¯ãã®ä»ã®ãªãã·ã§ã³ãã«ã¹ã¿ãã€ãºããŸãã詳现ã¯ãã`ã³ã¬ã¯ã·ã§ã³ã®å€æŽãã°ã®ããŒãã¹ãã©ãã <https://github.com/ansible-community/antsibull-changelog/blob/main/docs/changelogs.rst#bootstrapping-changelogs-for-collections>`_ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:37
msgid "To generate changelogs from the changelog fragments you created:"
msgstr "äœæããå€æŽãã°ãã©ã°ã¡ã³ãããå€æŽãã°ãçæããã«ã¯ã以äžãå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:39
msgid "Optionally, validate your changelog fragments: :code:`antsibull-changelog lint`."
msgstr "å¿
èŠã«å¿ããŠãå€æŽãã°ãã©ã°ã¡ã³ããæ€èšŒããŸã (:code:`antsibull-changelog lint`) ã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:40
msgid "Generate the changelog for your release: :code:`antsibull-changelog release [--version version_number]`."
msgstr "ãªãªãŒã¹ã®å€æŽãã° (:code:`antsibull-changelog release [--version version_number]`) ãçæããŸãã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:44
msgid "Add the ``--reload-plugins`` option if you ran the ``antsibull-changelog release`` command previously and the version of the collection has not changed. ``antsibull-changelog`` caches the information on all plugins and does not update its cache until the collection version changes."
msgstr "以åã« ``antsibull-changelog release`` ã³ãã³ããå®è¡ããã³ã¬ã¯ã·ã§ã³ã®ããŒãžã§ã³ãå€æŽãããŠããªãå Žåã¯ã``--reload-plugins`` ãªãã·ã§ã³ãè¿œå ããŸãã``antsibull-changelog`` ã¯ãã¹ãŠã®ãã©ã°ã€ã³ã«é¢ããæ
å ±ããã£ãã·ã¥ããã³ã¬ã¯ã·ã§ã³ããŒãžã§ã³ãå€æŽããããŸã§ãã£ãã·ã¥ãæŽæ°ããŸããã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:47
msgid "Porting Guide entries from changelog fragments"
msgstr "å€æŽãã°ãã©ã°ã¡ã³ãã®ç§»æ€ã¬ã€ãã®ãšã³ããªãŒ"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:49
msgid "The Ansible changelog generator automatically adds several changelog fragment categories to the Ansible Porting Guide:"
msgstr "Ansible å€æŽãã°ãžã§ãã¬ãŒã¿ãŒã¯ãè€æ°ã®å€æŽãã°ãã©ã°ã¡ã³ãã«ããŽãªãŒã Ansible 移æ€ã¬ã€ãã«èªåçã«è¿œå ããŸãã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:51
msgid "``major_changes``"
msgstr "``major_changes``"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:52
msgid "``breaking_changes``"
msgstr "``breaking_changes``"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:53
msgid "``deprecated_features``"
msgstr "``deprecated_features``"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:54
msgid "``removed_features``"
msgstr "``removed_features``"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:57
msgid "Including collection changelogs into Ansible"
msgstr "Ansible ãžã®ã³ã¬ã¯ã·ã§ã³ changelog ã®è¿œå "
#: ../../rst/dev_guide/developing_collections_changelogs.rst:59
msgid "If your collection is part of Ansible, use one of the following three options to include your changelog into the Ansible release changelog:"
msgstr "ã³ã¬ã¯ã·ã§ã³ã Ansible ã®äžéšã§ããå Žåã¯ã以äžã® 3 ã€ã®ãªãã·ã§ã³ã®ããããã䜿çšããŠãäœæãã changelog ããAnsible ãªãªãŒã¹ã® changelog ã«è¿œå ããŸãã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:61
msgid "Use the ``antsibull-changelog`` tool."
msgstr "``antsibull-changelog`` ããŒã«ã®äœ¿çš"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:63
msgid "If are not using this tool, include the properly formatted ``changelog.yaml`` file into your collection. See the `changelog.yaml format <https://github.com/ansible-community/antsibull-changelog/blob/main/docs/changelog.yaml-format.md>`_ for details."
msgstr "ãã®ããŒã«ã䜿çšããŠããªãå Žåã¯ãé©åã«åœ¢åŒåããã ``changelog.yaml`` ãã¡ã€ã«ãã³ã¬ã¯ã·ã§ã³ã«è¿œå ããŸãã詳现ã¯ãã`changelog.yaml åœ¢åŒ <https://github.com/ansible-community/antsibull-changelog/blob/main/docs/changelog.yaml-format.md>`_ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:65
msgid "Add a link to own changelogs or release notes in any format by opening an issue at https://github.com/ansible-community/ansible-build-data/ with the HTML link to that information."
msgstr "ãã®æ
å ±ãžã® HTML ãªã³ã¯ã§åé¡ã https://github.com/ansible-community/ansible-build-data/ ã§éããŠãä»»æã®åœ¢åŒã§ç¬èªã®å€æŽãã°ãŸãã¯ãªãªãŒã¹ããŒããžã®ãªã³ã¯ãè¿œå ããŸãã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:69
msgid "For the first two options, Ansible pulls the changelog details from Galaxy so your changelogs must be included in the collection version on Galaxy that is included in the upcoming Ansible release."
msgstr "æåã® 2 ã€ã®ãªãã·ã§ã³ã®å ŽåãAnsible ã¯å€æŽãã°ã®è©³çŽ°ã Galaxy ãããã«ããå€æŽãã°ãä»åŸã® Ansible ãªãªãŒã¹ã«å«ãŸãã Galaxy ã®ã³ã¬ã¯ã·ã§ã³ããŒãžã§ã³ã«è¿œå ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:73
msgid ":ref:`collection_changelogs`"
msgstr ":ref:`collections`"
#: ../../rst/dev_guide/developing_collections_changelogs.rst:74
msgid "Learn how to create good changelog fragments."
msgstr "é©å㪠Changelog ãã©ã°ã¡ã³ãã®äœææ¹æ³ã¯ãã¡ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_contributing.rst:5
msgid "Contributing to collections"
msgstr "ã³ã¬ã¯ã·ã§ã³ãžã®è²¢ç®"
#: ../../rst/dev_guide/developing_collections_contributing.rst:7
msgid "If you want to add functionality to an existing collection, modify a collection you are using to fix a bug, or change the behavior of a module in a collection, clone the git repository for that collection and make changes on a branch. You can combine changes to a collection with a local checkout of Ansible (``source hacking/env-setup``). You should first check the collection repository to see if it has specific contribution guidelines. These are typically listed in the README.md or CONTRIBUTING.md files within the repository."
msgstr "æ¢åã®ã³ã¬ã¯ã·ã§ã³ã«æ©èœãè¿œå ããã«ã¯ããã°ãä¿®æ£ããããã«äœ¿çšããã³ã¬ã¯ã·ã§ã³ãå€æŽããããã³ã¬ã¯ã·ã§ã³ã®ã¢ãžã¥ãŒã«ã®åäœãå€æŽããŠããã®ã³ã¬ã¯ã·ã§ã³ã® git ãªããžããªãŒã®ã¯ããŒã³ãäœæãããã©ã³ãã«å€æŽãå ããŸããã³ã¬ã¯ã·ã§ã³ãžã®å€æŽããAnsible (``source hacking/env-setup``) ã®ããŒã«ã«ãã§ãã¯ã¢ãŠããšçµã¿åãããããšãã§ããŸãããŸããã³ã¬ã¯ã·ã§ã³ãªããžããªãŒã確èªããŠãç¹å®ã®è²¢ç®ã¬ã€ãã©ã€ã³ãå«ãŸããŠãããã©ããã確èªããŸããéåžžããããã¯ãªããžããªãŒã® README.md ãã¡ã€ã«ãŸã㯠CONTRIBUTING.md ãã¡ã€ã«ã«äžèŠ§è¡šç€ºãããŸãã"
#: ../../rst/dev_guide/developing_collections_contributing.rst:11
msgid "Contributing to a collection: community.general"
msgstr "ã³ã¬ã¯ã·ã§ã³ãžã®è²¢ç®: community.general"
#: ../../rst/dev_guide/developing_collections_contributing.rst:13
msgid "These instructions apply to collections hosted in the `ansible_collections GitHub organization <https://github.com/ansible-collections>`_. For other collections, especially for collections not hosted on GitHub, check the ``README.md`` of the collection for information on contributing to it."
msgstr "ãããã®æé ã¯ã`ansible_collections GitHub organization <https://github.com/ansible-collections>`_ ã«ãã¹ããããã³ã¬ã¯ã·ã§ã³ã«é©çšãããŸããç¹ã« GitHub ã§ãã¹ããããŠããªãã³ã¬ã¯ã·ã§ã³ã«ã€ããŠã¯ãããã«è²¢ç®ããæ
å ±ã«ã€ããŠãã³ã¬ã¯ã·ã§ã³ã® ``README.md`` ã確èªããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_contributing.rst:15
msgid "This example uses the `community.general collection <https://github.com/ansible-collections/community.general/>`_. To contribute to other collections in the same GitHub org, replace the folder names ``community`` and ``general`` with the namespace and collection name of a different collection."
msgstr "ãã®äŸã§ã¯ã`community.general ã³ã¬ã¯ã·ã§ã³ <https://github.com/ansible-collections/community.general/>`_ ã䜿çšããŠããŸããåã GitHub Org ã®ä»ã®ã³ã¬ã¯ã·ã§ã³ã«è²¢ç®ããããã«ããã©ã«ããŒå ``community`` ããã³ ``general`` ããå¥ã®ã³ã¬ã¯ã·ã§ã³ã®åå空éããã³ã³ã¬ã¯ã·ã§ã³åã«çœ®ãæããŸãã"
#: ../../rst/dev_guide/developing_collections_contributing.rst:18
#: ../../rst/dev_guide/testing_integration.rst:59
msgid "Prerequisites"
msgstr "èŠä»¶"
#: ../../rst/dev_guide/developing_collections_contributing.rst:20
msgid "Include ``~/dev/ansible/collections/`` in :ref:`COLLECTIONS_PATHS`"
msgstr ":ref:`COLLECTIONS_PATHS` ã« ``~/dev/ansible/collections/`` ãå«ããŸã"
#: ../../rst/dev_guide/developing_collections_contributing.rst:21
msgid "If that path mentions multiple directories, make sure that no other directory earlier in the search path contains a copy of ``community.general``."
msgstr "ãã®ãã¹ã§è€æ°ã®ãã£ã¬ã¯ããªãŒã«èšåãããŠããå Žåã¯ãæ€çŽ¢ãã¹ã®åã®ãã®ä»ã®ãã£ã¬ã¯ããªãŒã« ``community.general`` ã®ã³ããŒãå«ãŸããªãããã«ããŸãã"
#: ../../rst/dev_guide/developing_collections_contributing.rst:24
msgid "Creating a PR"
msgstr "PR ã®äœæ"
#: ../../rst/dev_guide/developing_collections_contributing.rst:28
msgid "Create the directory ``~/dev/ansible/collections/ansible_collections/community``:"
msgstr "``~/dev/ansible/collections/ansible_collections/community`` ãã£ã¬ã¯ããªãŒãäœæããŸãã"
#: ../../rst/dev_guide/developing_collections_contributing.rst:34
msgid "Clone `the community.general Git repository <https://github.com/ansible-collections/community.general/>`_ or a fork of it into the directory ``general``:"
msgstr "`community.general Git ã¬ããžããªãŒ <https://github.com/ansible-collections/community.general/>`_ ã®ã¯ããŒã³ãäœæããããããã ``general`` ãã£ã¬ã¯ããªãŒã«ãã©ãŒã¯ããŸãã"
#: ../../rst/dev_guide/developing_collections_contributing.rst:41
msgid "If you clone from a fork, add the original repository as a remote ``upstream``:"
msgstr "ãã©ãŒã¯ã®ã¯ããŒã³ãäœæããããå
ã®ãªããžããªãŒããªã¢ãŒãã® ``upstream`` ãšããŠè¿œå ããŸãã"
#: ../../rst/dev_guide/developing_collections_contributing.rst:48
msgid "Create a branch and commit your changes on the branch."
msgstr "ãã©ã³ããäœæãããã©ã³ãã§å€æŽãã³ãããããŸãã"
#: ../../rst/dev_guide/developing_collections_contributing.rst:50
msgid "Remember to add tests for your changes, see :ref:`testing_collections`."
msgstr "å€æŽã«ãã¹ããè¿œå ããã®ãå¿ããªãããã«ããŠãã ããã:ref:`testing_collections` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_contributing.rst:52
msgid "Push your changes to your fork of the collection and create a Pull Request."
msgstr "å€æŽãã³ã¬ã¯ã·ã§ã³ã®ãã©ãŒã¯ã«ããã·ã¥ãããã«èŠæ±ãäœæããŸãã"
#: ../../rst/dev_guide/developing_collections_contributing.rst:54
msgid "You can test your changes by using this checkout of ``community.general`` in playbooks and roles with whichever version of Ansible you have installed locally, including a local checkout of ``ansible/ansible``'s ``devel`` branch."
msgstr "ããã§ã``ansible/ansible`` ã® ``devel`` ãã©ã³ãã®ããŒã«ã«ãã§ãã¯ã¢ãŠããå«ããããŒã«ã«ã«ã€ã³ã¹ããŒã«ããã©ã®ããŒãžã§ã³ã® Ansible ã§ããPlaybook ãããŒã«ã§ ``community.general`` ã®ãã§ãã¯ã¢ãŠãã䜿çšããŠå€æŽããã¹ãã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_creating.rst:5
msgid "Creating collections"
msgstr "ã³ã¬ã¯ã·ã§ã³ã®äœæ"
#: ../../rst/dev_guide/developing_collections_creating.rst:7
msgid "To create a collection:"
msgstr "ã³ã¬ã¯ã·ã§ã³ãäœæããã«ã¯ã以äžãè¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_creating.rst:9
msgid "Create a :ref:`collection skeleton<creating_collections_skeleton>` with the ``collection init`` command."
msgstr "``collection init`` ã³ãã³ã㧠:ref:`ã³ã¬ã¯ã·ã§ã³ã¹ã±ã«ãã³<creating_collections_skeleton>` ãäœæããŸãã"
#: ../../rst/dev_guide/developing_collections_creating.rst:10
msgid "Add modules and other content to the collection."
msgstr "ã¢ãžã¥ãŒã«ããã³ãã®ä»ã®ã³ã³ãã³ããã³ã¬ã¯ã·ã§ã³ã«è¿œå ããŸãã"
#: ../../rst/dev_guide/developing_collections_creating.rst:11
msgid "Build the collection into a collection artifact with :ref:`ansible-galaxy collection build<building_collections>`."
msgstr ":ref:`ansible-galaxy collection build<building_collections>` ã䜿çšããŠã³ã¬ã¯ã·ã§ã³ãã³ã¬ã¯ã·ã§ã³ã¢ãŒãã£ãã¡ã¯ãã«ãã«ãããŸãã"
#: ../../rst/dev_guide/developing_collections_creating.rst:12
msgid "Publish the collection artifact to Galaxy with :ref:`ansible-galaxy collection publish<publishing_collections>`."
msgstr ":ref:`ansible-galaxy collection publish<publishing_collections>` ã§æ§ç¯ããã³ã¬ã¯ã·ã§ã³ã¢ãŒãã£ãã¡ã¯ãã Galaxy ã«å
¬éããŸãã"
#: ../../rst/dev_guide/developing_collections_creating.rst:14
msgid "A user can then install your collection on their systems."
msgstr "ããã«ããããŠãŒã¶ãŒãããã®ã³ã¬ã¯ã·ã§ã³ãã·ã¹ãã ã«ã€ã³ã¹ããŒã«ã§ããããã«ãªããŸãã"
#: ../../rst/dev_guide/developing_collections_creating.rst:23
msgid "Creating a collection skeleton"
msgstr "ã³ã¬ã¯ã·ã§ã³ã¹ã±ã«ãã³ã®äœæ"
#: ../../rst/dev_guide/developing_collections_creating.rst:25
msgid "To start a new collection, run the following command in your collections directory:"
msgstr "æ°ããã³ã¬ã¯ã·ã§ã³ãéå§ããã«ã¯ãã³ã¬ã¯ã·ã§ã³ãã£ã¬ã¯ããªãŒã§ä»¥äžã®ã³ãã³ããå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_creating.rst:33
msgid "Both the namespace and collection names use the same strict set of requirements. See `Galaxy namespaces <https://galaxy.ansible.com/docs/contributing/namespaces.html#galaxy-namespaces>`_ on the Galaxy docsite for those requirements."
msgstr "åå空éãšã³ã¬ã¯ã·ã§ã³åã¯ãããããåãå³å¯ãªèŠä»¶ã»ããã䜿çšããŸãããããã®èŠä»¶ã«ã€ããŠã¯ãGalaxy ããã¥ã¡ã³ãã¹ã€ãŒãã®ã`Galaxy åå空é <https://galaxy.ansible.com/docs/contributing/namespaces.html#galaxy-namespaces>`_ãã§ç¢ºèªããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_creating.rst:35
msgid "It will create the structure ``[my_namespace]/[my_collection]/[collection skeleton]``."
msgstr "``[my_namespace]/[my_collection]/[collection skeleton]`` ã®æ§é ãäœæããŸãã"
#: ../../rst/dev_guide/developing_collections_creating.rst:37
msgid "If Git is used for version control, the corresponding repository should be initialized in the collection directory."
msgstr "Git ãããŒãžã§ã³ç®¡çã«äœ¿çšããå Žåã¯ã察å¿ãããªããžããªãŒãã³ã¬ã¯ã·ã§ã³ãã£ã¬ã¯ããªãŒã§åæåããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_collections_creating.rst:39
msgid "Once the skeleton exists, you can populate the directories with the content you want inside the collection. See `ansible-collections <https://github.com/ansible-collections/>`_ GitHub Org to get a better idea of what you can place inside a collection."
msgstr "ã¹ã±ã«ãã³ãååšãããšãã³ã¬ã¯ã·ã§ã³å
ã®å
容ã§ãã£ã¬ã¯ããªãŒãèšå®ã§ããŸãã`ansible-collections <https://github.com/ansible-collections/>`_ ã® GitHub Org ã§ãã³ã¬ã¯ã·ã§ã³ã«é
眮ã§ããå
容ãååã«ç解ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_creating.rst:41
msgid "Reference: the ``ansible-galaxy collection`` command"
msgstr "åç
§: ``ansible-galaxy collection`` ã³ãã³ã"
#: ../../rst/dev_guide/developing_collections_creating.rst:43
msgid "Currently the ``ansible-galaxy collection`` command implements the following sub commands:"
msgstr "çŸåšã``ansible-galaxy collection`` ã³ãã³ãã¯ä»¥äžã®ãµãã³ãã³ããå®è£
ããŸãã"
#: ../../rst/dev_guide/developing_collections_creating.rst:45
msgid "``init``: Create a basic collection skeleton based on the default template included with Ansible or your own template."
msgstr "``init``: Ansible ã«å«ãŸããããã©ã«ããã³ãã¬ãŒããŸãã¯ç¬èªã®ãã³ãã¬ãŒãã«åºã¥ããŠãåºæ¬çãªã³ã¬ã¯ã·ã§ã³ã®ã¹ã±ã«ãã³ãäœæããŸãã"
#: ../../rst/dev_guide/developing_collections_creating.rst:46
msgid "``build``: Create a collection artifact that can be uploaded to Galaxy or your own repository."
msgstr "``build``: Galaxy ãŸãã¯ç¬èªã®ãªããžããªãŒã«ã¢ããããŒãã§ããã³ã¬ã¯ã·ã§ã³ã¢ãŒãã£ãã¡ã¯ããäœæããŸãã"
#: ../../rst/dev_guide/developing_collections_creating.rst:47
msgid "``publish``: Publish a built collection artifact to Galaxy."
msgstr "``publish``: æ§ç¯ããã³ã¬ã¯ã·ã§ã³ã¢ãŒãã£ãã¡ã¯ãã Galaxy ã«å
¬éããŸãã"
#: ../../rst/dev_guide/developing_collections_creating.rst:48
msgid "``install``: Install one or more collections."
msgstr "``install``: 1 ã€ä»¥äžã®ã³ã¬ã¯ã·ã§ã³ãã€ã³ã¹ããŒã«ããŸãã"
#: ../../rst/dev_guide/developing_collections_creating.rst:50
msgid "To learn more about the ``ansible-galaxy`` command-line tool, see the :ref:`ansible-galaxy` man page."
msgstr "``ansible-galaxy`` ã³ãã³ãã©ã€ã³ããŒã«ã®è©³çŽ°ã¯ã:ref:`ansible-galaxy` ã® man ããŒãžãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_creating.rst:56
msgid ":ref:`collection_structure`"
msgstr ":ref:`collection_structure`"
#: ../../rst/dev_guide/developing_collections_creating.rst:57
msgid "Directories and files included in the collection skeleton"
msgstr "ã³ã¬ã¯ã·ã§ã³ã¹ã±ã«ãã³ã«å«ãŸãããã£ã¬ã¯ããªãŒããã³ãã¡ã€ã«"
#: ../../rst/dev_guide/developing_collections_distributing.rst:5
msgid "Distributing collections"
msgstr "ã³ã¬ã¯ã·ã§ã³ã®é
åž"
#: ../../rst/dev_guide/developing_collections_distributing.rst:7
msgid "A collection is a distribution format for Ansible content. A typical collection contains modules and other plugins that address a set of related use cases. For example, a collection might automate administering a particular database. A collection can also contain roles and playbooks."
msgstr "ã³ã¬ã¯ã·ã§ã³ãšã¯ãAnsible ã³ã³ãã³ãã®ãã£ã¹ããªãã¥ãŒã·ã§ã³åœ¢åŒã§ããå
žåçãªã³ã¬ã¯ã·ã§ã³ã«ã¯ãäžé£ã®é¢é£ãããŠãŒã¹ã±ãŒã¹ã«å¯Ÿå¿ããã¢ãžã¥ãŒã«ããã®ä»ã®ãã©ã°ã€ã³ãå«ãŸããŠããŸããäŸãã°ãç¹å®ã®ããŒã¿ããŒã¹ã®ç®¡çãèªååããã³ã¬ã¯ã·ã§ã³ãªã©ããããŸããã³ã¬ã¯ã·ã§ã³ã«ã¯ãããŒã«ãPlaybookãå«ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:9
msgid "To distribute your collection and allow others to use it, you can publish your collection on one or more :term:`distribution server`. Distribution servers include:"
msgstr "ã³ã¬ã¯ã·ã§ã³ãé
ä¿¡ããŠä»ã®äººã䜿çšã§ããããã«ããã«ã¯ã1ã€ãŸãã¯è€æ°ã® :term:`distribution server` ã§ã³ã¬ã¯ã·ã§ã³ãå
¬éããããšãã§ããŸããé
ä¿¡ãµãŒããŒã«ã¯æ¬¡ã®ãããªãã®ããããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:12
msgid "Distribution server"
msgstr "é
ä¿¡ãµãŒããŒ"
#: ../../rst/dev_guide/developing_collections_distributing.rst:12
msgid "Collections accepted"
msgstr "åãå
¥ãå¯èœãªã³ã¬ã¯ã·ã§ã³"
#: ../../rst/dev_guide/developing_collections_distributing.rst:14
msgid "Ansible Galaxy"
msgstr "Ansible Galaxy"
#: ../../rst/dev_guide/developing_collections_distributing.rst:14
msgid "All collections"
msgstr "å
šã³ã¬ã¯ã·ã§ã³"
#: ../../rst/dev_guide/developing_collections_distributing.rst:15
msgid ":term:`Pulp 3 Galaxy`"
msgstr ":term:`Pulp 3 Galaxy`"
#: ../../rst/dev_guide/developing_collections_distributing.rst:15
msgid "All collections, supports signed collections"
msgstr "ãã¹ãŠã®ã³ã¬ã¯ã·ã§ã³ã眲åä»ãã³ã¬ã¯ã·ã§ã³ã®ãµããŒã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:16
msgid "Red Hat Automation Hub"
msgstr "Red Hat Automation Hub"
#: ../../rst/dev_guide/developing_collections_distributing.rst:16
msgid "Only collections certified by Red Hat, supports signed collections"
msgstr "Red Hat èªå®ã®ã³ã¬ã¯ã·ã§ã³ã®ã¿ã眲åæžã¿ã³ã¬ã¯ã·ã§ã³ããµããŒãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:17
msgid "Privately hosted Automation Hub"
msgstr "ãã©ã€ããŒãã«ãã¹ãããããªãŒãã¡ãŒã·ã§ã³ãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:17
msgid "Collections authorized by the owners"
msgstr "ãªãŒããŒãèš±å¯ããã³ã¬ã¯ã·ã§ã³"
#: ../../rst/dev_guide/developing_collections_distributing.rst:20
msgid "Distributing collections involves four major steps:"
msgstr "ã³ã¬ã¯ã·ã§ã³ãé
ä¿¡ããã«ã¯ã倧ããåããŠ4ã€ã®ã¹ãããããããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:22
#: ../../rst/dev_guide/developing_collections_distributing.rst:34
msgid "Initial configuration of your distribution server or servers"
msgstr "é
ä¿¡ãµãŒããŒã®åæèšå®"
#: ../../rst/dev_guide/developing_collections_distributing.rst:23
#: ../../rst/dev_guide/developing_collections_distributing.rst:124
msgid "Building your collection tarball"
msgstr "ã³ã¬ã¯ã·ã§ã³ tarball ã®ãã«ã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:24
#: ../../rst/dev_guide/developing_collections_distributing.rst:289
msgid "Preparing to publish your collection"
msgstr "ã³ã¬ã¯ã·ã§ã³å
¬éã®æºå"
#: ../../rst/dev_guide/developing_collections_distributing.rst:25
#: ../../rst/dev_guide/developing_collections_distributing.rst:356
msgid "Publishing your collection"
msgstr "ã³ã¬ã¯ã·ã§ã³ã®å
Ž"
#: ../../rst/dev_guide/developing_collections_distributing.rst:36
msgid "Configure a connection to one or more distribution servers so you can publish collections there. You only need to configure each distribution server once. You must repeat the other steps (building your collection tarball, preparing to publish, and publishing your collection) every time you publish a new collection or a new version of an existing collection."
msgstr "1ã€ãŸãã¯è€æ°ã®é
ä¿¡ãµãŒããŒãžã®æ¥ç¶ãèšå®ããããã§ã³ã¬ã¯ã·ã§ã³ãå
¬éã§ããããã«ããŸããåé
ä¿¡ãµãŒããŒã®èšå®ã¯ã1åã ãè¡ãå¿
èŠããããŸãããã®ä»ã®æé ïŒã³ã¬ã¯ã·ã§ã³ã®tarballã®ãã«ããå
¬éã®æºåãã³ã¬ã¯ã·ã§ã³ã®å
¬éïŒã¯ãæ°ããã³ã¬ã¯ã·ã§ã³ãŸãã¯æ¢åã®ã³ã¬ã¯ã·ã§ã³ã®æ°ããããŒãžã§ã³ãå
¬éãããã³ã«ç¹°ãè¿ãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:38
msgid "Create a namespace on each distribution server you want to use."
msgstr "䜿çšããåé
ä¿¡ãµãŒããŒã®åå空éãäœæããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:39
msgid "Get an API token for each distribution server you want to use."
msgstr "䜿çšããé
ä¿¡ãµãŒããŒããšã« API ããŒã¯ã³ãååŸããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:40
msgid "Specify the API token for each distribution server you want to use."
msgstr "䜿çšããé
ä¿¡ãµãŒããŒããšã« API ããŒã¯ã³ãæå®ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:45
msgid "Creating a namespace"
msgstr "åå空éã®äœæ"
#: ../../rst/dev_guide/developing_collections_distributing.rst:47
msgid "You must upload your collection into a namespace on each distribution server. If you have a login for Ansible Galaxy, your Ansible Galaxy username is usually also an Ansible Galaxy namespace."
msgstr "ã³ã¬ã¯ã·ã§ã³ãåé
ä¿¡ãµãŒããŒã®åå空éã«ã¢ããããŒãããå¿
èŠããããŸããAnsible Galaxyã«ãã°ã€ã³ã¢ã«ãŠã³ããããå ŽåãAnsible Galaxyã®ãŠãŒã¶ãŒåã¯éåžžãAnsible Galaxyã®åå空éã§ããããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:51
msgid "Namespaces on Ansible Galaxy cannot include hyphens. If you have a login for Ansible Galaxy that includes a hyphen, your Galaxy username is not also a Galaxy namespace. For example, ``awesome-user`` is a valid username for Ansible Galaxy, but it is not a valid namespace."
msgstr "Ansible Galaxyã®åå空éã«ã¯ããã€ãã³ãå«ããããšãã§ããŸããããã€ãã³ãå«ãAnsible Galaxyã®ãã°ã€ã³ã¢ã«ãŠã³ããããå ŽåãGalaxyã®ãŠãŒã¶ãŒåã¯Galaxyã®åå空éã§ã¯ãããŸãããããšãã°ã``awesome-user`` ã¯ãAnsible Galaxy ã®æå¹ãªãŠãŒã¶ãŒåã§ãããæå¹ãªåå空éã§ã¯ãããŸããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:53
msgid "You can create additional namespaces on Ansible Galaxy if you choose. For Red Hat Automation Hub and private Automation Hub you must create a namespace before you can upload your collection. To create a namespace:"
msgstr "å¿
èŠã«å¿ããŠãAnsible Galaxy ã§è¿œå ã®åå空éãäœæã§ããŸããRed Hat Automation Hub ããã³ãã©ã€ããŒãã®ãªãŒãã¡ãŒã·ã§ã³ããã®å Žåãã³ã¬ã¯ã·ã§ã³ãã¢ããããŒãããåã«åå空éãäœæããå¿
èŠããããŸããåå空éãäœæããã«ã¯ã以äžã®æé ãå®æœããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:55
msgid "To create a namespace on Galaxy, see `Galaxy namespaces <https://galaxy.ansible.com/docs/contributing/namespaces.html#galaxy-namespaces>`_ on the Galaxy docsite for details."
msgstr "Galaxy ã§åå空éãäœæããã«ã¯ãGalaxy ããã¥ã¡ã³ããµã€ãã§ã`Galaxy namespaces <https://galaxy.ansible.com/docs/contributing/namespaces.html#galaxy-namespaces>`_ããåç
§ããŠè©³çŽ°ã確èªããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:56
msgid "To create a namespace on Red Hat Automation Hub, see the `Ansible Certified Content FAQ <https://access.redhat.com/articles/4916901>`_."
msgstr "Red Hat Automation Hub ã§åå空éãäœæããã«ã¯ã`Ansible Certified Content FAQ <https://access.redhat.com/articles/4916901>`_ ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:58
msgid "Specify the namespace in the :file:`galaxy.yml` file for each collection. For more information on the :file:`galaxy.yml` file, see :ref:`collections_galaxy_meta`."
msgstr "ã³ã¬ã¯ã·ã§ã³ããšã« :file:`galaxy.yml` ãã¡ã€ã«ã§åå空éãæå®ããŸãã:file:`galaxy.yml` ãã¡ã€ã«ã®è©³çŽ°ã«ã€ããŠã¯ã:ref:`collections_galaxy_meta` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:63
msgid "Getting your API token"
msgstr "API ããŒã¯ã³ã®ååŸ"
#: ../../rst/dev_guide/developing_collections_distributing.rst:65
msgid "An API token authenticates your connection to each distribution server. You need a separate API token for each distribution server. Use the correct API token to connect to each distribution server securely and protect your content."
msgstr "APIããŒã¯ã³ã¯ãåé
ä¿¡ãµãŒããŒã«å¯ŸããŠã³ã¬ã¯ã·ã§ã³ãèªèšŒããŸããAPIããŒã¯ã³ã¯ãåé
ä¿¡ãµãŒããŒããšã«å¿
èŠãšãªããŸããæ£ããAPIããŒã¯ã³ã䜿çšããŠãåé
ä¿¡ãµãŒããŒã«å®å
šã«æ¥ç¶ããã³ã³ãã³ããä¿è·ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:67
msgid "To get your API token:"
msgstr "API ããŒã¯ã³ãååŸããã«ã¯ã以äžãè¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:69
msgid "To get an API token for Galaxy, go to the `Galaxy profile preferences <https://galaxy.ansible.com/me/preferences>`_ page and click :guilabel:`API Key`."
msgstr "Galaxyã®APIããŒã¯ã³ãååŸããã«ã¯ã`Galaxy profile preferences <https://galaxy.ansible.com/me/preferences>`_ ããŒãžã«ç§»åãã:guilabel:`API Key` ãã¯ãªãã¯ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:70
msgid "To get an API token for Automation Hub, go to `the token page <https://cloud.redhat.com/ansible/automation-hub/token/>`_ and click :guilabel:`Load token`."
msgstr "Automation Hubã®APIããŒã¯ã³ãååŸããã«ã¯ã`the token page <https://cloud.redhat.com/ansible/automation-hub/token/>`_ ã«ç§»åãã:guilabel:`Load token` ãã¯ãªãã¯ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:75
msgid "Specifying your API token and distribution server"
msgstr "APIããŒã¯ã³ãšé
ä¿¡ãµãŒããŒã®æå®"
#: ../../rst/dev_guide/developing_collections_distributing.rst:77
msgid "Each time you publish a collection, you must specify the API token and the distribution server to create a secure connection. You have two options for specifying the token and distribution server:"
msgstr "ã³ã¬ã¯ã·ã§ã³ãå
¬éãããã³ã«ãAPIããŒã¯ã³ãšé
ä¿¡ãµãŒããŒãæå®ããŠãå®å
šãªæ¥ç¶ãè¡ãå¿
èŠããããŸããããŒã¯ã³ãšé
ä¿¡ãµãŒããŒã®æå®ã«ã¯2ã€ã®ãªãã·ã§ã³ããããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:79
msgid "You can configure the token in configuration, as part of a ``galaxy_server_list`` entry in your :file:`ansible.cfg` file. Using configuration is the most secure option."
msgstr "ããŒã¯ã³ã®èšå®ã¯ãã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ã§ã :file:`ansible.cfg` ãã¡ã€ã«ã®``galaxy_server_list`` ãšã³ããªã®äžéšãšããŠè¡ãããšãã§ããŸããã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ã䜿çšããããšã¯ãæãå®å
šãªãªãã·ã§ã³ã§ãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:80
msgid "You can pass the token at the command line as an argument to the ``ansible-galaxy`` command. If you pass the token at the command line, you can specify the server at the command line, by using the default setting, or by setting the server in configuration. Passing the token at the command line is insecure, because typing secrets at the command line may expose them to other users on the system."
msgstr "ããŒã¯ã³ã¯ã``ansible-galaxy`` ã³ãã³ãã®åŒæ°ãšããŠãã³ãã³ãã©ã€ã³ã§æž¡ãããšãã§ããŸããã³ãã³ãã©ã€ã³ã§ããŒã¯ã³ãæž¡ãå Žåãããã©ã«ãèšå®ã䜿çšããŠããŸãã¯ã³ã³ãã£ã°ã¬ãŒã·ã§ã³ã§ãµãŒããŒãèšå®ããŠãã³ãã³ãã©ã€ã³ã§ãµãŒããŒãæå®ããããšãã§ããŸããã³ãã³ãã©ã€ã³ã§ããŒã¯ã³ãæž¡ãããšã¯å®å
šã§ã¯ãããŸããããªããªããã³ãã³ãã©ã€ã³ã§ã·ãŒã¯ã¬ãããå
¥åãããšãã·ã¹ãã ã®ä»ã®ãŠãŒã¶ãŒã«ã·ãŒã¯ã¬ãããæŒããå¯èœæ§ãããããã§ãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:85
msgid "Specifying the token and distribution server in configuration"
msgstr "ã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ã§ã®ããŒã¯ã³ãšé
ä¿¡ãµãŒããŒã®æå®"
#: ../../rst/dev_guide/developing_collections_distributing.rst:87
msgid "By default, Ansible Galaxy is configured as the only distribution server. You can add other distribution servers and specify your API token or tokens in configuration by editing the ``galaxy_server_list`` section of your :file:`ansible.cfg` file. This is the most secure way to manage authentication for distribution servers. Specify a URL and token for each server. For example:"
msgstr "ããã©ã«ãã§ã¯ãAnsible Galaxyãå¯äžã®é
ä¿¡ãµãŒããŒãšããŠèšå®ãããŠããŸãã:file:`ansible.cfg` ãã¡ã€ã«ã®``galaxy_server_list`` ã»ã¯ã·ã§ã³ãç·šéããããšã§ãä»ã®é
ä¿¡ãµãŒããŒãè¿œå ããAPI ããŒã¯ã³ãã³ã³ãã£ã°ã¬ãŒã·ã§ã³ã§æå®ããããšãã§ããŸããããã¯ãé
ä¿¡ãµãŒããŒã®èªèšŒã管çããæãå®å
šãªæ¹æ³ã§ããåãµãŒããŒã®URLãšããŒã¯ã³ãæå®ããŸããäŸãã°ã以äžã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:98
msgid "You cannot use ``apt-key`` with any servers defined in your :ref:`galaxy_server_list <galaxy_server_config>`. See :ref:`galaxy_server_config` for complete details."
msgstr "``apt-key`` ã¯ã:ref:`galaxy_server_list <galaxy_server_config>` ã§å®çŸ©ãããŠãããµãŒããŒãšäžç·ã«äœ¿çšããããšã¯ã§ããŸããã詳现ã¯:ref:`galaxy_server_config` ãã芧ãã ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:103
msgid "Specifying the token at the command line"
msgstr "ã³ãã³ãã©ã€ã³ã§ã®ããŒã¯ã³ã®æå®"
#: ../../rst/dev_guide/developing_collections_distributing.rst:105
msgid "You can specify the API token at the command line using the ``--token`` argument of the :ref:`ansible-galaxy` command. There are three ways to specify the distribution server when passing the token at the command line:"
msgstr "APIããŒã¯ã³ãã³ãã³ãã©ã€ã³ã§æå®ããã«ã¯ã:ref:`ansible-galaxy` ã³ãã³ãã®``--token`` åŒæ°ã䜿çšããŸããã³ãã³ãã©ã€ã³ã§ããŒã¯ã³ãæž¡ãéã®é
ä¿¡ãµãŒããŒã®æå®æ¹æ³ã¯3ãšãããããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:107
msgid "using the ``--server`` argument of the :ref:`ansible-galaxy` command"
msgstr ":ref:`ansible-galaxy` ã³ãã³ãã®``--server`` åŒæ°ã®äœ¿çš"
#: ../../rst/dev_guide/developing_collections_distributing.rst:108
msgid "relying on the default (https://galaxy.ansible.com)"
msgstr "ããã©ã«ããžã®äŸå (https://galaxy.ansible.com)"
#: ../../rst/dev_guide/developing_collections_distributing.rst:109
msgid "setting a server in configuration by creating a :ref:`GALAXY_SERVER` setting in your :file:`ansible.cfg` file"
msgstr ":file:`ansible.cfg` ãã¡ã€ã«ãžã® :ref:`GALAXY_SERVER` èšå®ã®äœæã«ããã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ã§ã®ãµãŒããŒã®èšå®"
#: ../../rst/dev_guide/developing_collections_distributing.rst:111
#: ../../rst/dev_guide/style_guide/index.rst:222
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:10
msgid "For example:"
msgstr "äŸ:"
#: ../../rst/dev_guide/developing_collections_distributing.rst:119
msgid "Using the ``--token`` argument is insecure. Passing secrets at the command line may expose them to others on the system."
msgstr "``--token`` åŒæ°ã®äœ¿çšã¯å®å
šã§ã¯ãããŸãããã³ãã³ãã©ã€ã³ã§ã·ãŒã¯ã¬ãããæž¡ããšãã·ã¹ãã ã®ä»ã®ãŠãŒã¶ãŒã«ã·ãŒã¯ã¬ãããæŒããå¯èœæ§ããããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:126
msgid "After configuring one or more distribution servers, build a collection tarball. The collection tarball is the published artifact, the object that you upload and other users download to install your collection. To build a collection tarball:"
msgstr "1ã€ãŸãã¯è€æ°ã®é
ä¿¡ãµãŒããŒãèšå®ããåŸãã³ã¬ã¯ã·ã§ã³ã®tarballããã«ãããŸããã³ã¬ã¯ã·ã§ã³ã®tarballã¯ãå
¬éãããã¢ãŒãã£ãã¡ã¯ãã§ãããã客æ§ãã¢ããããŒãããä»ã®ãŠãŒã¶ãŒãã³ã¬ã¯ã·ã§ã³ãã€ã³ã¹ããŒã«ããããã«ããŠã³ããŒããããªããžã§ã¯ãã§ããã³ã¬ã¯ã·ã§ã³ã®tarballããã«ãããã«ã¯ã以äžã®æé ã§è¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:128
msgid "Review the version number in your :file:`galaxy.yml` file. Each time you publish your collection, it must have a new version number. You cannot make changes to existing versions of your collection on a distribution server. If you try to upload the same collection version more than once, the distribution server returns the error ``Code: conflict.collection_exists``. Collections follow semantic versioning rules. For more information on versions, see :ref:`collection_versions`. For more information on the :file:`galaxy.yml` file, see :ref:`collections_galaxy_meta`."
msgstr ":file:`galaxy.yml` ãã¡ã€ã«ã®ããŒãžã§ã³çªå·ã確èªããŠãã ãããã³ã¬ã¯ã·ã§ã³ãå
¬éãããã³ã«ãæ°ããããŒãžã§ã³çªå·ãå¿
èŠã«ãªããŸããé
ä¿¡ãµãŒããŒäžã®ã³ã¬ã¯ã·ã§ã³ã®æ¢åããŒãžã§ã³ãå€æŽããããšã¯ã§ããŸãããåãã³ã¬ã¯ã·ã§ã³ã®ããŒãžã§ã³ãè€æ°åã¢ããããŒãããããšãããšãé
ä¿¡ãµãŒããŒã¯ãšã©ãŒ``Code: conflict.collection_exists`` ãè¿ããŸããã³ã¬ã¯ã·ã§ã³ã¯ãã»ãã³ãã£ãã¯ããŒãžã§ãã³ã°ã«ãŒã«ã«åŸããŸããããŒãžã§ã³ã®è©³çŽ°ã«ã€ããŠã¯ã:ref:`collection_versions` ãåç
§ããŠãã ããã:file:`galaxy.yml` ãã¡ã€ã«ã®è©³çŽ°ã«ã€ããŠã¯ã:ref:`collections_galaxy_meta` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:129
msgid "Run ``ansible-galaxy collection build`` from inside the top-level directory of the collection. For example:"
msgstr "ã³ã¬ã¯ã·ã§ã³ã®æäžäœãã£ã¬ã¯ããªã®äžãã``ansible-galaxy collection build`` ãå®è¡ããŸããäŸãã°ã以äžã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:135
msgid "This command builds a tarball of the collection in the current directory, which you can upload to your selected distribution server::"
msgstr "ãã®ã³ãã³ãã«ãããçŸåšã®ãã£ã¬ã¯ããªãŒã«ã³ã¬ã¯ã·ã§ã³ã® tarball ããã«ããããŸãããããåžæããé
ä¿¡ãµãŒããŒã«ã¢ããããŒãã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:144
msgid "To reduce the size of collections, certain files and folders are excluded from the collection tarball by default. See :ref:`ignoring_files_and_folders_collections` if your collection directory contains other files you want to exclude."
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ãµã€ãºãå°ããããããã«ãããã©ã«ãã§ã¯ã³ã¬ã¯ã·ã§ã³ã®tarballããç¹å®ã®ãã¡ã€ã«ããã©ã«ããé€å€ãããŠããŸããã³ã¬ã¯ã·ã§ã³ãã£ã¬ã¯ããªã«é€å€ãããä»ã®ãã¡ã€ã«ãããå Žåã¯ã:ref:`ignoring_files_and_folders_collections` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:145
msgid "The current Galaxy maximum tarball size is 2 MB."
msgstr "çŸåšã® Galaxy ã® tarball ã®æ倧ãµã€ãºã¯ 2 MB ã§ãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:147
msgid "You can upload your tarball to one or more distribution servers. You can also distribute your collection locally by copying the tarball to install your collection directly on target systems."
msgstr "tarballã¯ã1ã€ãŸãã¯è€æ°ã®é
ä¿¡ãµãŒããŒã«ã¢ããããŒãããããšãã§ããŸãããŸããã³ã¬ã¯ã·ã§ã³ãããŒã«ã«ã«é
åžããã«ã¯ãtarballãã³ããŒããŠã¿ãŒã²ããã·ã¹ãã ã«ã³ã¬ã¯ã·ã§ã³ãçŽæ¥ã€ã³ã¹ããŒã«ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:153
msgid "Ignoring files and folders"
msgstr "ãã¡ã€ã«ããã©ã«ããŒãç¡èŠãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:155
msgid "You can exclude files from your collection with either :ref:`build_ignore <build_ignore>` or :ref:`manifest_directives`. For more information on the :file:`galaxy.yml` file, see :ref:`collections_galaxy_meta`."
msgstr ":ref:`build_ignore <build_ignore>` ãŸã㯠:ref:`manifest_directives` ã®ããããã䜿çšããŠã³ã¬ã¯ã·ã§ã³ãããã¡ã€ã«ãé€å€ã§ããŸãã:file:`galaxy.yml` ãã¡ã€ã«ã®è©³çŽ°ã¯ã :ref:`collections_galaxy_meta` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:161
msgid "Include all, with explicit ignores"
msgstr "æ瀺çã«ç¡èŠããŠãã¹ãŠãå«ãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:163
msgid "By default the build step includes all the files in the collection directory in the tarball except for the following:"
msgstr "ããã©ã«ãã§ã¯ããã«ãã¹ãããã§ã¯ãtarballå
ã®ã³ã¬ã¯ã·ã§ã³ãã£ã¬ã¯ããªã«ããã以äžãé€ããã¹ãŠã®ãã¡ã€ã«ãå«ãŸããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:165
msgid "``galaxy.yml``"
msgstr "``galaxy.yml``"
#: ../../rst/dev_guide/developing_collections_distributing.rst:166
msgid "``*.pyc``"
msgstr "``*.pyc``"
#: ../../rst/dev_guide/developing_collections_distributing.rst:167
msgid "``*.retry``"
msgstr "``*.retry``"
#: ../../rst/dev_guide/developing_collections_distributing.rst:168
msgid "``tests/output``"
msgstr "``tests/output``"
#: ../../rst/dev_guide/developing_collections_distributing.rst:169
msgid "previously built tarballs in the root directory"
msgstr "ã«ãŒããã£ã¬ã¯ããªãŒã«ä»¥åã«ãã«ããããtarball"
#: ../../rst/dev_guide/developing_collections_distributing.rst:170
msgid "various version control directories such as ``.git/``"
msgstr "``.git/`` ãªã©ã®ããŸããŸãªããŒãžã§ã³ç®¡çãã£ã¬ã¯ããªãŒ"
#: ../../rst/dev_guide/developing_collections_distributing.rst:172
msgid "To exclude other files and folders from your collection tarball, set a list of file glob-like patterns in the ``build_ignore`` key in the collection's ``galaxy.yml`` file. These patterns use the following special characters for wildcard matching:"
msgstr "ã³ã¬ã¯ã·ã§ã³ã®tarballããä»ã®ãã¡ã€ã«ããã³ãã£ã¬ã¯ããªãŒãé€å€ããã«ã¯ãã³ã¬ã¯ã·ã§ã³ã® ``galaxy.yml`` ãã¡ã€ã«ã® ``build_ignore`` ããŒã«ããã¡ã€ã«ã°ããã®ãããªãã¿ãŒã³ã®äžèŠ§ãèšå®ããŸãããããã®ãã¿ãŒã³ã¯ã¯ã€ã«ãã«ãŒãã®äžèŽã«ä»¥äžã®ç¹æ®æåã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:174
msgid "``*``: Matches everything"
msgstr "``*``: ãã¹ãŠã«äžèŽããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:175
msgid "``?``: Matches any single character"
msgstr "``?``: ä»»æã®åäžæåã«äžèŽããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:176
msgid "``[seq]``: Matches any character in sequence"
msgstr "``[seq]``:ä»»æã®é£ç¶ããæåã«äžèŽããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:177
msgid "``[!seq]``:Matches any character not in sequence"
msgstr "``[!seq]``:é£ç¶ããŠããªãä»»æã®æåã«äžèŽããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:179
msgid "For example, to exclude the :file:`sensitive` folder within the ``playbooks`` folder as well any ``.tar.gz`` archives, set the following in your ``galaxy.yml`` file:"
msgstr "ããšãã°ã``playbooks`` ãã£ã¬ã¯ããªãŒå
ã® :file:`sensitive` ãã£ã¬ã¯ããªãŒã ``.tar.gz`` ã¢ãŒã«ã€ããé€å€ããå Žåã¯ã``galaxy.yml`` ãã¡ã€ã«ã«ä»¥äžãèšå®ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:188
msgid "The ``build_ignore`` feature is only supported with ``ansible-galaxy collection build`` in Ansible 2.10 or newer."
msgstr "``build_ignore`` æ©èœã¯ãAnsible 2.10 以éã®``ansible-galaxy collection build`` ã§ã®ã¿ãµããŒããããŠããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:194
msgid "Manifest Directives"
msgstr "ãããã§ã¹ããã£ã¬ã¯ãã£ã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:198
msgid "The :file:`galaxy.yml` file supports manifest directives that are historically used in Python packaging, as described in `MANIFEST.in commands <https://packaging.python.org/en/latest/guides/using-manifest-in/#manifest-in-commands>`_."
msgstr ":file:`galaxy.yml` ãã¡ã€ã«ã¯ã`MANIFEST.in commands <https://packaging.python.org/en/latest/guides/using-manifest-in/#manifest-in-commands>`_ ã§èª¬æãããŠããããã«ãPython ããã±ãŒãžã§ãããŸã§äœ¿çšãããŠãããããã§ã¹ããã£ã¬ã¯ãã£ãããµããŒãããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:201
msgid "The use of ``manifest`` requires installing the optional ``distlib`` Python dependency."
msgstr "``manifest`` ã䜿çšããã«ã¯ããªãã·ã§ã³ã® ``distlib`` Python äŸåé¢ä¿ãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:204
msgid "The ``manifest`` feature is only supported with ``ansible-galaxy collection build`` in ``ansible-core`` 2.14 or newer, and is mutually exclusive with ``build_ignore``."
msgstr "``manifest`` æ©èœã¯ã``ansible-core`` 2.14 以éã® ``ansible-galaxy collection build`` ã§ã®ã¿ãµããŒãããã``build_ignore`` ãšåãããŠäœ¿çšã§ããŸããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:206
msgid "For example, to exclude the :file:`sensitive` folder within the ``playbooks`` folder as well as any ``.tar.gz`` archives, set the following in your :file:`galaxy.yml` file:"
msgstr "ããšãã°ã``playbooks`` ãã£ã¬ã¯ããªãŒå
ã® :file:`sensitive` ãã£ã¬ã¯ããªãŒã ``.tar.gz`` ã¢ãŒã«ã€ããé€å€ããå Žåã¯ã:file:`galaxy.yml` ãã¡ã€ã«ã«ä»¥äžãèšå®ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:215
msgid "By default, the ``MANIFEST.in`` style directives would exclude all files by default, but there are default directives in place. Those default directives are described below. To see the directives in use during build, pass ``-vvv`` with the ``ansible-galaxy collection build`` command."
msgstr "ããã©ã«ãã§ã¯ã``MANIFEST.in`` ã¹ã¿ã€ã«ã®ãã£ã¬ã¯ãã£ãã¯ããã©ã«ãã§ãã¹ãŠã®ãã¡ã€ã«ãé€å€ããŸãããããã©ã«ãã®ãã£ã¬ã¯ãã£ããé
眮ãããŠããŸãããããã®ããã©ã«ãã®ãã£ã¬ã¯ãã£ãã«ã€ããŠä»¥äžã§èª¬æããŸãããã«ãæã«äœ¿çšãããã£ã¬ã¯ãã£ãã衚瀺ããã«ã¯ã``ansible-galaxy collection build`` ã³ãã³ã㧠``-vvv`` ãæå®ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:249
msgid "``<namespace>-<name>-*.tar.gz`` is expanded with the actual ``namespace`` and ``name``."
msgstr "``<namespace>-<name>-*.tar.gz`` ã¯ãå®éã® ``namespace`` ããã³ ``name`` ã§å±éãããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:251
msgid "The ``manifest.directives`` supplied in :file:`galaxy.yml` are inserted after the default includes and before the default excludes."
msgstr ":file:`galaxy.yml` ã§æå®ããã ``manifest.directives`` ã¯ãããã©ã«ãã® includes ããã³ããã©ã«ãã® excludes ã®åã«æ¿å
¥ãããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:253
msgid "To enable the use of manifest directives without supplying your own, insert either ``manifest: {}`` or ``manifest: null`` in the :file:`galaxy.yml` file and remove any use of ``build_ignore``."
msgstr "ç¬èªã®ãã£ã¬ã¯ãã£ããæå®ããã«ãããã§ã¹ããã£ã¬ã¯ãã£ãã䜿çšã§ããããã«ããã«ã¯ãïŒfile:`galaxy.yml` ãã¡ã€ã«ã« ``manifest: {}`` ãŸã㯠``manifest: null`` ãæ¿å
¥ãã䜿çšãããŠãã ``build_ignore`` ãåé€ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:255
msgid "If the default manifest directives do not meet your needs, you can set ``manifest.omit_default_directives`` to a value of ``true`` in :file:`galaxy.yml`. You then must specify a full compliment of manifest directives in :file:`galaxy.yml`. The defaults documented above are a good starting point."
msgstr "ããã©ã«ãã®ãããã§ã¹ããã£ã¬ã¯ãã£ããèŠä»¶ã«åããªãå Žåã«ã¯ã:file:`galaxy.yml` 㧠``manifest.omit_default_directives`` ã®å€ã ``true`` ã«æå®ã§ããŸãã次㫠:file:`galaxy.yml` ã§å®å
šã«è£å®ãããããã§ã¹ããã£ã¬ã¯ãã£ããæå®ããå¿
èŠããããŸããåºçºç¹ãšããŠãäžèšã«èšèŒãããŠããããã«ããã©ã«ãã䜿çšããããšãé©åã§ãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:257
msgid "Below is an example where the default directives are not included."
msgstr "以äžã¯ãããã©ã«ãã®ãã£ã¬ã¯ãã£ããå«ãŸããŠããªãäŸã§ãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:274
msgid "Signing a collection"
msgstr "ã³ã¬ã¯ã·ã§ã³ã®çœ²å"
#: ../../rst/dev_guide/developing_collections_distributing.rst:276
msgid "You can include a GnuPG signature with your collection on a :term:`Pulp 3 Galaxy` server. See `Enabling collection signing <https://galaxyng.netlify.app/config/collection_signing/>`_ for details."
msgstr ":term:`Pulp 3 Galaxy` ã®ã䜿çšã®ã³ã¬ã¯ã·ã§ã³ã« GnuPG眲åãè¿œå ã§ããŸãã詳现ã¯ã`Enabling collection signing <https://galaxyng.netlify.app/config/collection_signing/>`_ ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:278
msgid "You can manually generate detached signatures for a collection using the ``gpg`` CLI using the following step. This step assume you have generated a GPG private key, but do not cover this process."
msgstr "以äžã®æé ã® ``gpg`` CLI ã䜿çšããŠã³ã¬ã¯ã·ã§ã³ã®ãã¿ããããã眲åãæåã§çæã§ããŸãããã®æé ã§ã¯ GPG ç§å¯éµãçæããŠããããšãåæãšããŠããŸããããã®ããã»ã¹ã«ã€ããŠã¯èª¬æããŸããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:291
msgid "Each time you publish your collection, you must create a :ref:`new version <collection_versions>` on the distribution server. After you publish a version of a collection, you cannot delete or modify that version. To avoid unnecessary extra versions, check your collection for bugs, typos, and other issues locally before publishing:"
msgstr "ã³ã¬ã¯ã·ã§ã³ãå
¬éãããã³ã«ãé
ä¿¡ãµãŒããŒã«:ref:`new version <collection_versions>` ãäœæããå¿
èŠããããŸããã³ã¬ã¯ã·ã§ã³ã®ããããŒãžã§ã³ãå
¬éããåŸã¯ããã®ããŒãžã§ã³ãåé€ãããå€æŽãããããããšã¯ã§ããŸãããäžèŠãªè¿œå ããŒãžã§ã³ãé¿ããããã«ãã³ã¬ã¯ã·ã§ã³ãå
¬éããåã«ããŒã«ã«ã§ãã°ãã¿ã€ããã¹ãªã©ã®åé¡ããã§ãã¯ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:293
msgid "Install the collection locally."
msgstr "ã³ã¬ã¯ã·ã§ã³ãããŒã«ã«ã«ã€ã³ã¹ããŒã«ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:294
msgid "Review the locally installed collection before publishing a new version."
msgstr "æ°ããããŒãžã§ã³ãå
¬éããåã«ãããŒã«ã«ã«ã€ã³ã¹ããŒã«ãããŠããã³ã¬ã¯ã·ã§ã³ã確èªããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:297
msgid "Installing your collection locally"
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ããŒã«ã«ã€ã³ã¹ããŒã«"
#: ../../rst/dev_guide/developing_collections_distributing.rst:299
msgid "You have two options for installing your collection locally:"
msgstr "ã³ã¬ã¯ã·ã§ã³ãããŒã«ã«ã«ã€ã³ã¹ããŒã«ããã«ã¯ã2ã€ã®æ¹æ³ããããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:301
msgid "Install your collection locally from the tarball."
msgstr "ã³ã¬ã¯ã·ã§ã³ãtarballããããŒã«ã«ã«ã€ã³ã¹ããŒã«ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:302
msgid "Install your collection locally from your git repository."
msgstr "gitãªããžããªããã³ã¬ã¯ã·ã§ã³ãããŒã«ã«ã«ã€ã³ã¹ããŒã«ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:305
msgid "Installing your collection locally from the tarball"
msgstr "tarballããã®ã³ã¬ã¯ã·ã§ã³ã®ããŒã«ã«ã€ã³ã¹ããŒã«"
#: ../../rst/dev_guide/developing_collections_distributing.rst:307
msgid "To install your collection locally from the tarball, run ``ansible-galaxy collection install`` and specify the collection tarball. You can optionally specify a location using the ``-p`` flag. For example:"
msgstr "ã³ã¬ã¯ã·ã§ã³ãtarballããããŒã«ã«ã«ã€ã³ã¹ããŒã«ããã«ã¯ã``ansible-galaxy collection install`` ãå®è¡ããã³ã¬ã¯ã·ã§ã³ã®tarballãæå®ããŸãããªãã·ã§ã³ã§``-p`` ãã©ã°ã䜿ã£ãŠå Žæãæå®ããããšãã§ããŸããäŸãã°ã以äžã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:313
msgid "Install the tarball into a directory configured in :ref:`COLLECTIONS_PATHS` so Ansible can easily find and load the collection. If you do not specify a path value, ``ansible-galaxy collection install`` installs the collection in the first path defined in :ref:`COLLECTIONS_PATHS`."
msgstr "Ansibleãã³ã¬ã¯ã·ã§ã³ãç°¡åã«èŠã€ããŠããŒãã§ããããã«ã:ref:`COLLECTIONS_PATHS` ã§èšå®ãããã£ã¬ã¯ããªã«tarballãã€ã³ã¹ããŒã«ããŸãããã¹ã®å€ãæå®ããªãå Žåã``ansible-galaxy collection install`` ã¯ã:ref:`COLLECTIONS_PATHS` ã§å®çŸ©ãããæåã®ãã¹ã«ã³ã¬ã¯ã·ã§ã³ãã€ã³ã¹ããŒã«ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:318
msgid "Installing your collection locally from a git repository"
msgstr "git ãªããžããªãŒããã®ã³ã¬ã¯ã·ã§ã³ã®ããŒã«ã«ã€ã³ã¹ããŒã«"
#: ../../rst/dev_guide/developing_collections_distributing.rst:320
msgid "To install your collection locally from a git repository, specify the repository and the branch you want to install:"
msgstr "ã³ã¬ã¯ã·ã§ã³ãgitãªããžããªããããŒã«ã«ã«ã€ã³ã¹ããŒã«ããã«ã¯ãã€ã³ã¹ããŒã«ããããªããžããªãšãã©ã³ããæå®ããŸãã"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:1
msgid "You can install a collection from a git repository instead of from Galaxy or Automation Hub. As a developer, installing from a git repository lets you review your collection before you create the tarball and publish the collection. As a user, installing from a git repository lets you use collections or versions that are not in Galaxy or Automation Hub yet."
msgstr "ã³ã¬ã¯ã·ã§ã³ã¯ãGalaxy ãŸã㯠Automation Hub ã®ä»£ããã« git ãªããžããªãŒããã€ã³ã¹ããŒã«ã§ããŸããéçºè
ã¯ãgit ãªããžããªãŒããã€ã³ã¹ããŒã«ããtarball ãäœæããŠã³ã¬ã¯ã·ã§ã³ãå
¬éããåã«ã³ã¬ã¯ã·ã§ã³ã確èªã§ããŸãããŠãŒã¶ãŒãšã㊠git ãªããžããªãŒããã€ã³ã¹ããŒã«ããããšã§ãGalaxy ãŸã㯠Automation Hub ã«ãªãã³ã¬ã¯ã·ã§ã³ãŸãã¯ããŒãžã§ã³ã䜿çšã§ããŸãã"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:3
msgid "The repository must contain a ``galaxy.yml`` or ``MANIFEST.json`` file. This file provides metadata such as the version number and namespace of the collection."
msgstr "ãªããžããªãŒã«ã¯ ``galaxy.yml`` ãŸã㯠``MANIFEST.json`` ãã¡ã€ã«ãå«ãŸããŠããå¿
èŠããããŸãããã®ãã¡ã€ã«ã¯ãã³ã¬ã¯ã·ã§ã³ã®ããŒãžã§ã³çªå·ãnamespace ãªã©ã®ã¡ã¿ããŒã¿ãæäŸããŸãã"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:6
msgid "Installing a collection from a git repository at the command line"
msgstr "ã³ãã³ãã¬ã€ã㧠git ãªããžããªãŒããã®ã³ã¬ã¯ã·ã§ã³ã®ã€ã³ã¹ããŒã«"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:8
msgid "To install a collection from a git repository at the command line, use the URI of the repository instead of a collection name or path to a ``tar.gz`` file. Use the prefix ``git+``, unless you're using SSH authentication with the user ``git`` (for example, ``git@github.com:ansible-collections/ansible.windows.git``). You can specify a branch, commit, or tag using the comma-separated `git commit-ish <https://git-scm.com/docs/gitglossary#def_commit-ish>`_ syntax."
msgstr "git ãªããžããªãŒããã³ã¬ã¯ã·ã§ã³ãã€ã³ã¹ããŒã«ããã«ã¯ãã³ã¬ã¯ã·ã§ã³åãŸã㯠``tar.gz`` ãã¡ã€ã«ãžã®ãã¹ã§ã¯ãªãããªããžããªãŒã® URI ã䜿çšããŸãããŠãŒã¶ãŒ``git``ã§SSHèªèšŒã䜿çšããŠããªãéãããã¬ãã£ãã¯ã¹``git+``ã䜿çšããŸã(äŸ: ``git@github.com:ansible-collections/ansible.windows.git``)ãã³ã³ãåºåãã® `git ã³ãããã®ãã㪠<https://git-scm.com/docs/gitglossary#def_commit-ish>`_ æ§æã䜿çšããŠããã©ã³ããã³ãããããŸãã¯ã¿ã°ãæå®ã§ããŸãã"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:25
msgid "Embedding credentials into a git URI is not secure. Use safe authentication options to prevent your credentials from being exposed in logs or elsewhere."
msgstr "èªèšŒæ
å ±ã git URI ã«åã蟌ãããšã¯å®å
šã§ã¯ãããŸãããå®å
šãªèªèšŒãªãã·ã§ã³ã䜿çšããŠãèªèšŒæ
å ±ããã°ã«å
¬éãããªãããã«ããŸãã"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:27
msgid "Use `SSH <https://help.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh>`_ authentication"
msgstr "`SSH <https://help.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh>`_ èªèšŒã䜿çšãã"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:28
msgid "Use `netrc <https://linux.die.net/man/5/netrc>`_ authentication"
msgstr "`netrc <https://linux.die.net/man/5/netrc>`_ èªèšŒã䜿çšãã"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:29
msgid "Use `http.extraHeader <https://git-scm.com/docs/git-config#Documentation/git-config.txt-httpextraHeader>`_ in your git configuration"
msgstr "ã䜿ãã® git èšå®ã§ `http.extraHeader <https://git-scm.com/docs/git-config#Documentation/git-config.txt-httpextraHeader>`_ ã䜿çšãã"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:30
msgid "Use `url.<base>.pushInsteadOf <https://git-scm.com/docs/git-config#Documentation/git-config.txt-urlltbasegtpushInsteadOf>`_ in your git configuration"
msgstr "ã䜿ãã® git èšå®ã§ `url.<base>.pushInsteadOf <https://git-scm.com/docs/git-config#Documentation/git-config.txt-urlltbasegtpushInsteadOf>`_ ã䜿çšãã"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:33
msgid "Specifying the collection location within the git repository"
msgstr "git ãªããžããªãŒå
ã§ã®ã³ã¬ã¯ã·ã§ã³ã®å Žæã®æå®"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:35
msgid "When you install a collection from a git repository, Ansible uses the collection ``galaxy.yml`` or ``MANIFEST.json`` metadata file to build the collection. By default, Ansible searches two paths for collection ``galaxy.yml`` or ``MANIFEST.json`` metadata files:"
msgstr "git ãªããžããªãŒããã³ã¬ã¯ã·ã§ã³ãã€ã³ã¹ããŒã«ããå ŽåãAnsible ã¯ã³ã¬ã¯ã·ã§ã³ ``galaxy.yml`` ãŸã㯠``MANIFEST.json`` ã¡ã¿ããŒã¿ãã¡ã€ã«ã䜿çšããŠã³ã¬ã¯ã·ã§ã³ãæ§ç¯ããŸããããã©ã«ãã§ã¯ãAnsible ã¯ã³ã¬ã¯ã·ã§ã³ ``galaxy.yml`` ãŸã㯠``MANIFEST.json`` ã¡ã¿ããŒã¿ãã¡ã€ã«ã® 2 ã€ã®ãã¹ãæ€çŽ¢ããŸãã"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:37
msgid "The top level of the repository."
msgstr "ãªããžããªãŒã®ãããã¬ãã«ã"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:38
msgid "Each directory in the repository path (one level deep)."
msgstr "ãªããžããªãŒãã¹å
ã®åãã£ã¬ã¯ããªãŒïŒ1 ã¬ãã«ã®æ·±ãïŒ"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:40
msgid "If a ``galaxy.yml`` or ``MANIFEST.json`` file exists in the top level of the repository, Ansible uses the collection metadata in that file to install an individual collection."
msgstr "``galaxy.yml`` ãŸã㯠``MANIFEST.json`` ãã¡ã€ã«ããªããžããªãŒã®ãããã¬ãã«ã«ããå ŽåãAnsible ã¯ãã®ãã¡ã€ã«å
ã®ã³ã¬ã¯ã·ã§ã³ã¡ã¿ããŒã¿ã䜿çšããŠåå¥ã®ã³ã¬ã¯ã·ã§ã³ãã€ã³ã¹ããŒã«ããŸãã"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:51
msgid "If a ``galaxy.yml`` or ``MANIFEST.json`` file exists in one or more directories in the repository path (one level deep), Ansible installs each directory with a metadata file as a collection. For example, Ansible installs both collection1 and collection2 from this repository structure by default:"
msgstr "ãªããžããªãŒãã¹å
ã® 1 ã€ä»¥äžã®ãã£ã¬ã¯ããªãŒã« ``galaxy.yml`` ãŸã㯠``MANIFEST.json`` ãã¡ã€ã«ãååšããå Žåã¯ãAnsible ã¯ã¡ã¿ããŒã¿ãã¡ã€ã«ãæã€åãã£ã¬ã¯ããªãŒãã³ã¬ã¯ã·ã§ã³ãšããŠã€ã³ã¹ããŒã«ããŸããããšãã°ãAnsible ã¯ãããã©ã«ãã§ããã®ãªããžããªãŒæ§é ãã collection1 ãš collection2 ã®äž¡æ¹ãã€ã³ã¹ããŒã«ããŸãã"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:69
msgid "If you have a different repository structure or only want to install a subset of collections, you can add a fragment to the end of your URI (before the optional comma-separated version) to indicate the location of the metadata file or files. The path should be a directory, not the metadata file itself. For example, to install only collection2 from the example repository with two collections:"
msgstr "ãªããžããªæ§é ãç°ãªãå ŽåããŸãã¯ã³ã¬ã¯ã·ã§ã³ã®ãµãã»ããã®ã¿ãã€ã³ã¹ããŒã«ããå Žåã¯ãURI ã®æ«å°ŸïŒãªãã·ã§ã³ã®ã³ã³ãåºåãããŒãžã§ã³ã®åïŒã«ãã©ã°ã¡ã³ããè¿œå ããŠãã¡ã¿ããŒã¿ãã¡ã€ã«ã®å Žæã瀺ãããšãã§ããŸãããã¹ã¯ãã¡ã¿ããŒã¿ãã¡ã€ã«èªäœã§ã¯ãªãããã£ã¬ã¯ããªã§ããå¿
èŠããããŸããããšãã°ã2ã€ã®ã³ã¬ã¯ã·ã§ã³ãæã€ãµã³ãã«ãªããžããªããcollection2ã®ã¿ãã€ã³ã¹ããŒã«ããã«ã¯ã次ã®ããã«ããŸãã"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:75
msgid "In some repositories, the main directory corresponds to the namespace:"
msgstr "ãªããžããªãŒã«ãã£ãŠã¯ãã¡ã€ã³ã®ãã£ã¬ã¯ããªãŒã¯åå空éã«å¯Ÿå¿ããŸãã"
#: ../../rst/shared_snippets/installing_collections_git_repo.txt:97
msgid "You can install all collections in this repository, or install one collection from a specific commit:"
msgstr "ãã®ãªããžããªãŒã®ãã¹ãŠã®ã³ã¬ã¯ã·ã§ã³ãã€ã³ã¹ããŒã«ããããç¹å®ã®ã³ããããã 1 ã€ã®ã³ã¬ã¯ã·ã§ã³ãã€ã³ã¹ããŒã«ã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:329
msgid "Reviewing your collection"
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ç¢ºèª"
#: ../../rst/dev_guide/developing_collections_distributing.rst:331
msgid "Review the collection:"
msgstr "ã³ã¬ã¯ã·ã§ã³ã確èªããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:333
msgid "Run a playbook that uses the modules and plugins in your collection. Verify that new features and functionality work as expected. For examples and more details see :ref:`Using collections <using_collections>`."
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ã¢ãžã¥ãŒã«ããã©ã°ã€ã³ã䜿çšããPlaybookãå®è¡ããŸããæ°ããæ©èœãæåŸ
éãã«åäœãããã©ãããæ€èšŒããŸããäŸã詳现ã«ã€ããŠã¯ã:ref:`Using collections <using_collections>` ãã芧ãã ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:334
msgid "Check the documentation for typos."
msgstr "ããã¥ã¡ã³ãã«èª€åè±åããªãã確èªããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:335
msgid "Check that the version number of your tarball is higher than the latest published version on the distribution server or servers."
msgstr "tarballã®ããŒãžã§ã³çªå·ããé
ä¿¡ãµãŒããŒã§å
¬éãããŠããææ°ã®ããŒãžã§ã³ãããé«ãããšã確èªããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:336
msgid "If you find any issues, fix them and rebuild the collection tarball."
msgstr "åé¡ãèŠã€ãã£ãå Žåã¯ããããä¿®æ£ããŠã³ã¬ã¯ã·ã§ã³ã®tarballãåãã«ãããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:341
msgid "Understanding collection versioning"
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ããŒãžã§ãã³ã°ã«ã€ããŠ"
#: ../../rst/dev_guide/developing_collections_distributing.rst:343
msgid "The only way to change a collection is to release a new version. The latest version of a collection (by highest version number) is the version displayed everywhere in Galaxy and Automation Hub. Users can still download older versions."
msgstr "ã³ã¬ã¯ã·ã§ã³ãå€æŽããå¯äžã®æ¹æ³ã¯ãæ°ããããŒãžã§ã³ããªãªãŒã¹ããããšã§ãã(æ倧ããŒãžã§ã³çªå·ã«ãã) ã³ã¬ã¯ã·ã§ã³ã®ææ°ããŒãžã§ã³ã¯ãGalaxy ããã³Automation Hubã®ããããå Žæã«è¡šç€ºãããããŒãžã§ã³ã«ãªããŸãããŠãŒã¶ãŒã¯ãå€ãããŒãžã§ã³ãåŒãç¶ãããŠã³ããŒãã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:345
msgid "Follow semantic versioning when setting the version for your collection. In summary:"
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ããŒãžã§ã³ãèšå®ããéã¯ãã»ãã³ãã£ãã¯ããŒãžã§ãã³ã°ã«åŸã£ãŠãã ãããèŠçŽãããšã以äžã®ãšããã§ãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:347
msgid "Increment the major version number, ``x`` of ``x.y.z``, for an incompatible API change."
msgstr "äºææ§ã®ãªã API å€æŽã®å Žå:ã¡ãžã£ãŒããŒãžã§ã³ã®ããŒãžã§ã³çªå· (äŸ: ``x.y.z`` ã® ``x``) ãå¢ãããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:348
msgid "Increment the minor version number, ``y`` of ``x.y.z``, for new functionality in a backwards compatible manner (for example new modules/plugins, parameters, return values)."
msgstr "äžäœäºææ§ã®ããæ°æ©èœïŒäŸãã°ãæ°ããã¢ãžã¥ãŒã«/ãã©ã°ã€ã³ããã©ã¡ãŒã¿ãæ»ãå€ãªã©ïŒã®å Žå:ãã€ããŒããŒãžã§ã³çªå·ïŒ``x.y.z`` ã®``y``ïŒãå¢ãããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:349
msgid "Increment the patch version number, ``z`` of ``x.y.z``, for backwards compatible bug fixes."
msgstr "åŸæ¹äºææ§ã®ãããã°ä¿®æ£ã®å Žå:ãããã®ããŒãžã§ã³çªå·ïŒ``x.y.z`` ã®``z``ïŒãå¢ãããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:351
msgid "Read the official `Semantic Versioning <https://semver.org/>`_ documentation for details and examples."
msgstr "詳现ãäŸã«ã€ããŠã¯ã`Semantic Versioning <https://semver.org/>`_ã®å
¬åŒããã¥ã¡ã³ãããèªã¿ãã ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:358
msgid "The last step in distributing your collection is publishing the tarball to Ansible Galaxy, Red Hat Automation Hub, or a privately hosted Automation Hub instance. You can publish your collection in two ways:"
msgstr "ã³ã¬ã¯ã·ã§ã³ãé
åžããæåŸã®ã¹ãããã¯ãAnsible GalaxyãRed Hat Automation HubããŸãã¯ãã©ã€ããŒãã«ãã¹ããããŠãããªãŒãã¡ãŒã·ã§ã³ããã€ã³ã¹ã¿ã³ã¹ã« tarball ãå
¬éããããšã§ããã³ã¬ã¯ã·ã§ã³ã®å
¬éã«ã¯2ã€ã®æ¹æ³ããããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:360
msgid "from the command line using the ``ansible-galaxy collection publish`` command"
msgstr "ã³ãã³ãã©ã€ã³ããïŒ``ansible-galaxy collection publish`` ã³ãã³ãã®äœ¿çšïŒ"
#: ../../rst/dev_guide/developing_collections_distributing.rst:361
msgid "from the website of the distribution server (Galaxy, Automation Hub) itself"
msgstr "é
ä¿¡ãµãŒããŒïŒGalaxyãAutomation HubïŒèªäœã®Webãµã€ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:367
msgid "Publishing a collection from the command line"
msgstr "ã³ãã³ãã©ã€ã³ããã®ã³ã¬ã¯ã·ã§ã³ã®å
Ž"
#: ../../rst/dev_guide/developing_collections_distributing.rst:369
msgid "To upload the collection tarball from the command line using ``ansible-galaxy``:"
msgstr "``ansible-galaxy`` ã䜿ã£ãŠãã³ãã³ãã©ã€ã³ããã³ã¬ã¯ã·ã§ã³ã® tarball ãã¢ããããŒãããã«ã¯ã以äžã®ã³ãã³ããå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:377
msgid "This ansible-galaxy command assumes you have retrieved and stored your API token in configuration. See :ref:`galaxy_specify_token` for details."
msgstr "ãã®ansible-galaxyã³ãã³ãã¯ãAPIããŒã¯ã³ãååŸããŠã³ã³ãã£ã°ã¬ãŒã·ã§ã³ã«ä¿åããŠããããšãåæãšããŠããŸãã詳现ã¯:ref:`galaxy_specify_token` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:379
msgid "The ``ansible-galaxy collection publish`` command triggers an import process, just as if you uploaded the collection through the Galaxy website. The command waits until the import process completes before reporting the status back. If you want to continue without waiting for the import result, use the ``--no-wait`` argument and manually look at the import progress in your `My Imports <https://galaxy.ansible.com/my-imports/>`_ page."
msgstr "``ansible-galaxy collection publish`` ã³ãã³ãã¯ãGalaxy ã® Web ãµã€ãã§ã³ã¬ã¯ã·ã§ã³ãã¢ããããŒãããŠããã®ãšåæ§ã«ãã€ã³ããŒãããã»ã¹ãçºçãããŸããã³ãã³ãã¯ãã¹ããŒã¿ã¹ãå ±åããåã«ã€ã³ããŒãããã»ã¹ãå®äºãããŸã§åŸ
ã¡ãŸããã€ã³ããŒãçµæãåŸ
ããã«ç¶è¡ããå Žåã¯ã``--no-wait`` åŒæ°ã䜿çšããŠã`My Imports <https://galaxy.ansible.com/my-imports/>`_ ããŒãžã§æåã§ã€ã³ããŒãã®é²è¡ç¶æ³ã確èªããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:384
msgid "Publishing a collection from the website"
msgstr "Web ãµã€ãããã®ã³ã¬ã¯ã·ã§ã³ã®å
Ž"
#: ../../rst/dev_guide/developing_collections_distributing.rst:386
msgid "To publish your collection directly on the Galaxy website:"
msgstr "ã³ã¬ã¯ã·ã§ã³ã Galaxy ã® Web ãµã€ãã«çŽæ¥å
¬éããã«ã¯ã以äžãå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:388
msgid "Go to the `My Content <https://galaxy.ansible.com/my-content/namespaces>`_ page, and click the **Add Content** button on one of your namespaces."
msgstr "`My Content <https://galaxy.ansible.com/my-content/namespaces>`_ ããŒãžã«ç§»åããåå空éã®ããããã® **ã³ã³ãã³ããè¿œå ** ãã¿ã³ãã¯ãªãã¯ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:389
msgid "From the **Add Content** dialogue, click **Upload New Collection**, and select the collection archive file from your local filesystem."
msgstr "**ã³ã³ãã³ãã®è¿œå ** ãã€ã¢ãã°ããã**æ°èŠã³ã¬ã¯ã·ã§ã³ã®ã¢ããããŒã** ãã¯ãªãã¯ããŠãããŒã«ã«ãã¡ã€ã«ã·ã¹ãã ããã³ã¬ã¯ã·ã§ã³ã®ã¢ãŒã«ã€ããã¡ã€ã«ãéžæããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:391
msgid "When you upload a collection, Ansible always uploads the tarball to the namespace specified in the collection metadata in the ``galaxy.yml`` file, no matter which namespace you select on the website. If you are not an owner of the namespace specified in your collection metadata, the upload request fails."
msgstr "ã³ã¬ã¯ã·ã§ã³ãã¢ããããŒãããéãWeb ãµã€ãã§éžæããåå空éã«é¢ä¿ãªããAnsibleã¯``galaxy.yml`` ãã¡ã€ã«ã®ã³ã¬ã¯ã·ã§ã³ã¡ã¿ããŒã¿ã§æå®ãããåå空éã«tarballãã¢ããããŒãããŸããã³ã¬ã¯ã·ã§ã³ã¡ã¿ããŒã¿ã§æå®ãããåå空éã®ææè
ã§ãªãå Žåãã¢ããããŒããªã¯ãšã¹ãã¯å€±æããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:393
msgid "After Galaxy uploads and accepts a collection, the website shows you the **My Imports** page. This page shows import process information. You can review any errors or warnings about your upload there."
msgstr "Galaxyãã³ã¬ã¯ã·ã§ã³ãã¢ããããŒãããŠåçãããšãWeb ãµã€ãã§ã¯**My Imports**ããŒãžã衚瀺ãããŸãããã®ããŒãžã«ã¯ãã€ã³ããŒãããã»ã¹æ
å ±ã衚瀺ãããŸããããã§ã¯ãã¢ããããŒãã«é¢ãããšã©ãŒãèŠåã確èªããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_distributing.rst:399
msgid ":ref:`collections_galaxy_meta`"
msgstr ":ref:`collections_galaxy_meta`"
#: ../../rst/dev_guide/developing_collections_distributing.rst:400
msgid "Table of fields used in the :file:`galaxy.yml` file"
msgstr ":file:`galaxy.yml` ãã¡ã€ã«ã§äœ¿çšããããã£ãŒã«ãã®è¡š"
#: ../../rst/dev_guide/developing_collections_documenting.rst:5
msgid "Documenting collections"
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ææžå"
#: ../../rst/dev_guide/developing_collections_documenting.rst:8
msgid "Documenting modules and plugins"
msgstr "ããã¥ã¡ã³ãã®ã¢ãžã¥ãŒã«ããã³ãã©ã°ã€ã³"
#: ../../rst/dev_guide/developing_collections_documenting.rst:10
msgid "Documenting modules is thoroughly documented in :ref:`module_documenting`. Plugins can be documented the same way as modules, that is with ``DOCUMENTATION``, ``EXAMPLES``, and ``RETURN`` blocks."
msgstr "ã¢ãžã¥ãŒã«ã®ææžåã«ã€ããŠã¯ã:ref: ã§è©³ãã説æããŠããŸãããã©ã°ã€ã³ã¯ã¢ãžã¥ãŒã«ãšåãããã«èšèŒãããŠããŸã (``DOCUMENTATION``ã``EXAMPLES`` ããã³ ``RETURN`` ã®ãããã¯)ã"
#: ../../rst/dev_guide/developing_collections_documenting.rst:13
msgid "Documenting roles"
msgstr "ããŒã«ã®ææžå"
#: ../../rst/dev_guide/developing_collections_documenting.rst:15
msgid "To document a role, you have to add a role argument spec by creating a file ``meta/argument_specs.yml`` in your role. See :ref:`role_argument_spec` for details. As an example, you can look at `the argument specs file <https://github.com/sensu/sensu-go-ansible/blob/master/roles/install/meta/argument_specs.yml>`_ of the :ref:`sensu.sensu_go.install role <ansible_collections.sensu.sensu_go.install_role>` on GitHub."
msgstr "ããŒã«ãææžåããã«ã¯ãããŒã«ã« ``meta/argument_specs.yml`` ãã¡ã€ã«ãäœæããŠããŒã«ã®åŒæ°ä»æ§ãè¿œå ããå¿
èŠããããŸãã詳现㯠:ref:`role_argument_spec` ãåç
§ããŠãã ãããäŸãšããŠãGitHub 㧠:ref:`sensu.sensu_go.install role <ansible_collections.sensu.sensu_go.install_role>` ã® `the argument specs file <https://github.com/sensu/sensu-go-ansible/blob/master/roles/install/meta/argument_specs.yml>`_ ã確èªã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_documenting.rst:20
msgid "Build a docsite with antsibull-docs"
msgstr "antsibull-docs ã䜿çšããããã¥ã¡ã³ããµã€ãã®æ§ç¯"
#: ../../rst/dev_guide/developing_collections_documenting.rst:22
msgid "You can use `antsibull-docs <https://pypi.org/project/antsibull-docs>`_ to build a Sphinx-based docsite for your collection:"
msgstr "`antsibull-docs <https://pypi.org/project/antsibull-docs>`_ ã䜿çšããŠãã³ã¬ã¯ã·ã§ã³ã® Sphinx ããŒã¹ã®ããã¥ã¡ã³ããµã€ããæ§ç¯ã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_documenting.rst:24
msgid "Create your collection and make sure you can use it with ansible-core by adding it to your :ref:`COLLECTIONS_PATHS`."
msgstr "ã³ã¬ã¯ã·ã§ã³ãäœæããŠã:ref:`COLLECTIONS_PATHS` ã«è¿œå ããansible-core ã§äœ¿çšã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_documenting.rst:25
msgid "Create a directory ``dest`` and run ``antsibull-docs sphinx-init --use-current --dest-dir dest namespace.name``, where ``namespace.name`` is the name of your collection."
msgstr "ãã£ã¬ã¯ããªãŒ ``dest`` ãäœæãã``antsibull-docs sphinx-init --use-current --dest-dir dest namespace.name`` ãå®è¡ããŸããããã§ã``namespace.name`` ã¯ã³ã¬ã¯ã·ã§ã³ã®ååã«çœ®ãæããŸãã"
#: ../../rst/dev_guide/developing_collections_documenting.rst:26
msgid "Go into ``dest`` and run ``pip install -r requirements.txt``. You might want to create a venv and activate it first to avoid installing this globally."
msgstr "``dest`` ã«ã¢ã¯ã»ã¹ãã``pip install -r requirements.txt`` ãå®è¡ããŸãããããã°ããŒãã«ã«ã€ã³ã¹ããŒã«ããªãããã«ãæåã« venv ãäœæããã¢ã¯ãã£ããŒãããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_documenting.rst:27
msgid "Then run ``./build.sh``."
msgstr "次ã«ã``./build.sh`` ãå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_documenting.rst:28
msgid "Open ``build/html/index.html`` in a browser of your choice."
msgstr "ä»»æã®ãã©ãŠã¶ãŒã§ ``build/html/index.html`` ãéããŸãã"
#: ../../rst/dev_guide/developing_collections_documenting.rst:30
msgid "If you want to add additional documentation to your collection next to the plugin, module, and role documentation, see :ref:`collections_doc_dir`."
msgstr "ãã©ã°ã€ã³ãã¢ãžã¥ãŒã«ãããã³ããŒã«ã®ããã¥ã¡ã³ãã®æšªã«ããã³ã¬ã¯ã·ã§ã³ã«ããã¥ã¡ã³ããè¿œå ããå Žåã¯ã:ref:`collections_doc_dir` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:5
msgid "Migrating Ansible content to a different collection"
msgstr "Ansible ã³ã³ãã³ãã®ã³ã¬ã¯ã·ã§ã³ãžã®ç§»è¡"
#: ../../rst/dev_guide/developing_collections_migrating.rst:7
msgid "When you move content from one collection to another, for example to extract a set of related modules out of ``community.general`` to create a more focused collection, you must make sure the transition is easy for users to follow."
msgstr "ããã³ã¬ã¯ã·ã§ã³ããå¥ã®ã³ã¬ã¯ã·ã§ã³ã«ã³ã³ãã³ãã移åããå Žå (ããšãã°ãé¢é£ããã¢ãžã¥ãŒã«ã»ããã ``community.general`` ããæœåºããŠãããéç¹çã«éäžåããã³ã¬ã¯ã·ã§ã³ãäœæããã«ã¯)ããŠãŒã¶ãŒãç°¡åã«ç§»è¡ã§ããããã«ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:14
msgid "Migrating content"
msgstr "ã³ã³ãã³ãã®ç§»è¡"
#: ../../rst/dev_guide/developing_collections_migrating.rst:16
msgid "Before you start migrating content from one collection to another, look at `Ansible Collection Checklist <https://github.com/ansible-collections/overview/blob/main/collection_requirements.rst>`_."
msgstr "ããã³ã¬ã¯ã·ã§ã³ããå¥ã®ã³ã¬ã¯ã·ã§ã³ã«ã³ã³ãã³ãã®ç§»è¡ãéå§ããåã«ã`Ansible ã³ã¬ã¯ã·ã§ã³ãã§ãã¯ãªã¹ã <https://github.com/ansible-collections/overview/blob/main/collection_requirements.rst>`_ ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:18
msgid "To migrate content from one collection to another, if the collections are parts of `Ansible distribution <https://github.com/ansible-community/ansible-build-data/blob/main/2.10/ansible.in>`_:"
msgstr "ã³ã¬ã¯ã·ã§ã³ã `Ansible ãã£ã¹ããªãã¥ãŒã·ã§ã³ <https://github.com/ansible-community/ansible-build-data/blob/main/2.10/ansible.in>`_ ã®äžéšã§ããå Žåãã³ã¬ã¯ã·ã§ã³ãå¥ã®ã³ã¬ã¯ã·ã§ã³ã«ç§»è¡ããã«ã¯ã以äžãå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:20
msgid "Copy content from the source (old) collection to the target (new) collection."
msgstr "ãœãŒã¹ (以åã®) ã³ã¬ã¯ã·ã§ã³ããã¿ãŒã²ãã (æ°ãã) ã³ã¬ã¯ã·ã§ã³ã«ã³ã³ãã³ããã³ããŒããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:21
msgid "Deprecate the module/plugin with ``removal_version`` scheduled for the next major version in ``meta/runtime.yml`` of the old collection. The deprecation must be released after the copied content has been included in a release of the new collection."
msgstr "å€ãã³ã¬ã¯ã·ã§ã³ã® ``meta/runtime.yml`` ã®æ¬¡ã®ã¡ãžã£ãŒããŒãžã§ã³ã«äºå®ãããŠãã ``removal_version`` ã§ã¢ãžã¥ãŒã«/ãã©ã°ã€ã³ãéæšå¥šã«ãªããŸãããã³ããŒãããã³ã³ãã³ããæ°ããã³ã¬ã¯ã·ã§ã³ã®ãªãªãŒã¹ã«ãã£ãåŸã«ãéæšå¥šããªãªãŒã¹ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:22
msgid "When the next major release of the old collection is prepared:"
msgstr "å€ãã³ã¬ã¯ã·ã§ã³ã®æ¬¡ã®ã¡ãžã£ãŒãªãªãŒã¹ãæºåãããŠããå Žåã¯ã以äžã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:24
msgid "remove the module/plugin from the old collection"
msgstr "å€ãã³ã¬ã¯ã·ã§ã³ããã¢ãžã¥ãŒã«/ãã©ã°ã€ã³ãåé€ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:25
msgid "remove the symlink stored in ``plugin/modules`` directory if appropriate (mainly when removing from ``community.general`` and ``community.network``)"
msgstr "å¿
èŠã«å¿ããŠã``plugin/modules`` ãã£ã¬ã¯ããªãŒã«ä¿åãããã·ã³ããªãã¯ãªã³ã¯ãåé€ããŸã (䞻㫠``community.general`` ããã³ ``community.network``ããåé€ããå Žå)ã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:26
msgid "remove related unit and integration tests"
msgstr "é¢é£ãããŠããããã¹ãããã³çµ±åãã¹ããåé€ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:27
msgid "remove specific module utils"
msgstr "ç¹å®ã®ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãåé€ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:28
msgid "remove specific documentation fragments if there are any in the old collection"
msgstr "å€ãã³ã¬ã¯ã·ã§ã³ã«ããå Žåã¯ãç¹å®ã®ããã¥ã¡ã³ããã©ã°ã¡ã³ããåé€ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:29
msgid "add a changelog fragment containing entries for ``removed_features`` and ``breaking_changes``; you can see an example of a changelog fragment in this `pull request <https://github.com/ansible-collections/community.general/pull/1304>`_"
msgstr "``removed_features`` ããã³ ``breaking_changes`` ã®ãšã³ããªãŒãå«ãå€æŽãã°ãã©ã°ã¡ã³ããè¿œå ããŸãããã® `ãã«èŠæ± <https://github.com/ansible-collections/community.general/pull/1304>`_ ã§å€æŽãã°ãã©ã°ã¡ã³ãã®äŸã確èªã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:30
msgid "change ``meta/runtime.yml`` in the old collection:"
msgstr "å€ãã³ã¬ã¯ã·ã§ã³ã® ``meta/runtime.yml`` ãå€æŽããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:32
msgid "add ``redirect`` to the corresponding module/plugin's entry"
msgstr "察å¿ããã¢ãžã¥ãŒã«/ãã©ã°ã€ã³ã®ãšã³ããªãŒã« ``redirect`` ãè¿œå ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:33
msgid "in particular, add ``redirect`` for the removed module utils and documentation fragments if applicable"
msgstr "ç¹ã«ãåé€ãããã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒããã³ããã¥ã¡ã³ããã©ã°ã¡ã³ã (該åœããå Žå) ã« ``redirect`` ãè¿œå ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:34
msgid "remove ``removal_version`` from there"
msgstr "ãããã ``removal_version`` ãåé€ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:35
msgid "remove related entries from ``tests/sanity/ignore.txt`` files if exist"
msgstr "``tests/sanity/ignore.txt`` ãã¡ã€ã«ããé¢é£ãšã³ããªãŒãååšããå Žåã¯åé€ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:36
msgid "remove changelog fragments for removed content that are not yet part of the changelog (in other words, do not modify `changelogs/changelog.yaml` and do not delete files mentioned in it)"
msgstr "å€æŽãã°ã®äžéšã§ã¯ãªãåé€ãããã³ã³ãã³ãã®å€æŽãã°ãã©ã°ã¡ã³ããåé€ããŸã (ã€ãŸãã`changelogs/changelog.yaml` ãå€æŽããããã®ãã¡ã€ã«ã«èšè¿°ãããŠãããã¡ã€ã«ãåé€ããªãã§ãã ãã)ã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:37
msgid "remove requirements that are no longer required in ``tests/unit/requirements.txt``, ``tests/requirements.yml`` and ``galaxy.yml``"
msgstr "``tests/unit/requirements.txt``ã``tests/requirements.yml``ãããã³ ``galaxy.yml`` ã§ã¯ãªããªã£ãèŠä»¶ãåé€ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:39
msgid "To implement these changes, you need to create at least three PRs:"
msgstr "以äžã®å€æŽãå®è£
ããã«ã¯ãå°ãªããšã 3 ã€ã® PR ãäœæããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:41
msgid "Create a PR against the new collection to copy the content."
msgstr "æ°ããã³ã¬ã¯ã·ã§ã³ã«å¯Ÿã㊠PR ãäœæããã³ã³ãã³ããã³ããŒããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:42
msgid "Deprecate the module/plugin in the old collection."
msgstr "å€ãã³ã¬ã¯ã·ã§ã³ã®ã¢ãžã¥ãŒã«/ãã©ã°ã€ã³ãéæšå¥šã«ãªããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:43
msgid "Later create a PR against the old collection to remove the content according to the schedule."
msgstr "åŸã«ãå€ãã³ã¬ã¯ã·ã§ã³ã«å¯Ÿã㊠PR ãäœæããã¹ã±ãžã¥ãŒã«ã«å¿ããŠã³ã³ãã³ããåé€ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:47
msgid "Adding the content to the new collection"
msgstr "æ°ããã³ã¬ã¯ã·ã§ã³ãžã®ã³ã³ãã³ãã®è¿œå "
#: ../../rst/dev_guide/developing_collections_migrating.rst:49
msgid "Create a PR in the new collection to:"
msgstr "æ°ããã³ã¬ã¯ã·ã§ã³ã§ PR ãäœæãã以äžãè¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:51
msgid "Copy ALL the related files from the old collection."
msgstr "å€ãã³ã¬ã¯ã·ã§ã³ããé¢é£ãã¡ã€ã«ããã¹ãŠã³ããŒããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:52
msgid "If it is an action plugin, include the corresponding module with documentation."
msgstr "ã¢ã¯ã·ã§ã³ãã©ã°ã€ã³ã®å Žåã¯ã察å¿ããã¢ãžã¥ãŒã«ãšããã¥ã¡ã³ããå«ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:53
msgid "If it is a module, check if it has a corresponding action plugin that should move with it."
msgstr "ã¢ãžã¥ãŒã«ã®å Žåã¯ã察å¿ããã¢ã¯ã·ã§ã³ãã©ã°ã€ã³ããããäžç·ã«ç§»åããå¿
èŠããããã©ããã確èªããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:54
msgid "Check ``meta/`` for relevant updates to ``runtime.yml`` if it exists."
msgstr "``meta/`` ã§ã``runtime.yml`` ã«å¯Ÿããé¢é£æŽæ°ãååšããå Žåã¯ãããã確èªããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:55
msgid "Carefully check the moved ``tests/integration`` and ``tests/units`` and update for FQCN."
msgstr "移åãã ``tests/integration`` ããã³ ``tests/units`` ã泚æããŠç¢ºèªããFQCN ãæŽæ°ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:56
msgid "Review ``tests/sanity/ignore-*.txt`` entries in the old collection."
msgstr "å€ãã³ã¬ã¯ã·ã§ã³ã® ``tests/sanity/ignore-*.txt`` ãšã³ããªãŒã確èªããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:57
msgid "Update ``meta/runtime.yml`` in the old collection."
msgstr "å€ãã³ã¬ã¯ã·ã§ã³ã® ``meta/runtime.yml`` ãæŽæ°ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:61
msgid "Removing the content from the old collection"
msgstr "å€ãã³ã¬ã¯ã·ã§ã³ããã®ã³ã³ãã³ãã®åé€"
#: ../../rst/dev_guide/developing_collections_migrating.rst:63
msgid "Create a PR against the source collection repository to remove the modules, module_utils, plugins, and docs_fragments related to this migration:"
msgstr "ãœãŒã¹ã³ã¬ã¯ã·ã§ã³ãªããžããªãŒã«å¯Ÿã㊠PR ãäœæãããã®ç§»è¡ã«é¢é£ããã¢ãžã¥ãŒã«ãã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒããã©ã°ã€ã³ãããã³ããã¥ã¡ã³ããã©ã°ã¡ã³ããåé€ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:65
msgid "If you are removing an action plugin, remove the corresponding module that contains the documentation."
msgstr "ã¢ã¯ã·ã§ã³ãã©ã°ã€ã³ãåé€ããå Žåã¯ãããã¥ã¡ã³ããå«ãŸãã察å¿ããã¢ãžã¥ãŒã«ãåé€ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:66
msgid "If you are removing a module, remove any corresponding action plugin that should stay with it."
msgstr "ã¢ãžã¥ãŒã«ãåé€ããå Žåã¯ãã¢ãžã¥ãŒã«ã«å¯Ÿå¿ããã¢ã¯ã·ã§ã³ãã©ã°ã€ã³ãåé€ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:67
msgid "Remove any entries about removed plugins from ``meta/runtime.yml``. Ensure they are added into the new repo."
msgstr "åé€ããããã©ã°ã€ã³ã«é¢ãããšã³ããªãŒã ``meta/runtime.yml`` ããåé€ããŸããããããæ°ãããªããžããªãŒã«è¿œå ãããããã«ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:68
msgid "Remove sanity ignore lines from ``tests/sanity/ignore\\*.txt``"
msgstr "``tests/sanity/ignore\\*.txt`` ãããsanity ignore (å¥åžžæ§ã®ç¡èŠ) ã®è¡ãåé€ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:69
msgid "Remove associated integration tests from ``tests/integrations/targets/`` and unit tests from ``tests/units/plugins/``."
msgstr "é¢é£ããçµ±åãã¹ãã ``tests/units/plugins/`` ããåé€ãã``tests/integrations/targets/`` ããã³ãŠããããã¹ãããåé€ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:70
msgid "if you are removing from content from ``community.general`` or ``community.network``, remove entries from ``.github/BOTMETA.yml``."
msgstr "``community.general`` ãŸã㯠``community.network`` ããã³ã³ãã³ããåé€ãããšã``.github/BOTMETA.yml`` ãããšã³ããªãŒãåé€ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:71
msgid "Carefully review ``meta/runtime.yml`` for any entries you may need to remove or update, in particular deprecated entries."
msgstr "ç¹å®ã®éæšå¥šã®ãšã³ããªãŒã§åé€ãŸãã¯æŽæ°ãå¿
èŠã«ãªãå¯èœæ§ã®ãããšã³ããªãŒã«ã€ããŠã¯ã``meta/runtime.yml`` ãæ
éã«ç¢ºèªããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:72
msgid "Update ``meta/runtime.yml`` to contain redirects for EVERY PLUGIN, pointing to the new collection name."
msgstr "``meta/runtime.yml`` ãæŽæ°ããŠãæ°ããã³ã¬ã¯ã·ã§ã³åã瀺ã EVERY PLUGIN ã®ãªãã€ã¬ã¯ããè¿œå ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:76
msgid "Maintainers for the old collection have to make sure that the PR is merged in a way that it does not break user experience and semantic versioning:"
msgstr "å€ãã³ã¬ã¯ã·ã§ã³ã®ã¡ã³ãããŒã¯ãPR ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãšã»ãã³ãã£ãã¯ããŒãžã§ãã³ã°ãå£ããªãæ¹æ³ã§ããŒãžãããããã«ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:78
msgid "A new version containing the merged PR must not be released before the collection the content has been moved to has been released again, with that content contained in it. Otherwise the redirects cannot work and users relying on that content will experience breakage."
msgstr "ããŒãžããã PR ãå«ãæ°ããããŒãžã§ã³ã¯ãã³ã³ãã³ãã移åãããã³ã¬ã¯ã·ã§ã³ãåã³ãªãªãŒã¹ãããåã«ãªãªãŒã¹ãããŠã¯ãªããããã®ã³ã³ãã³ããå«ãŸããŠããŸããããããªããšããªãã€ã¬ã¯ããæ©èœããããã®ã³ã³ãã³ãã«äŸåããŠããå Žåã¯ç Žæãçºçããå¯èœæ§ããããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:79
msgid "Once 1.0.0 of the collection from which the content has been removed has been released, such PRs can only be merged for a new **major** version (in other words, 2.0.0, 3.0.0, and so on)."
msgstr "ã³ã³ãã³ããåé€ãããã³ã¬ã¯ã·ã§ã³ã§ 1.0.0 ããªãªãŒã¹ããããšããã® PR ã¯æ°ãã **ã¡ãžã£ãŒ** ããŒãžã§ã³ (ã€ãŸã 2.0.0ã3.0.0 ãªã©) ã®ã¿ãããŒãžã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:83
msgid "Updating BOTMETA.yml"
msgstr "BOTMETA.yml ã®æŽæ°"
#: ../../rst/dev_guide/developing_collections_migrating.rst:85
msgid "The ``BOTMETA.yml``, for example in `community.general collection repository <https://github.com/ansible-collections/community.general/blob/main/.github/BOTMETA.yml>`_, is the source of truth for:"
msgstr "``BOTMETA.yml`` (ããšãã° `community.general collection repository <https://github.com/ansible-collections/community.general/blob/main/.github/BOTMETA.yml>`_) ã¯ã以äžã®ä¿¡é Œã§ãããœãŒã¹ã§ãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:87
msgid "ansibullbot"
msgstr "ansibullbot"
#: ../../rst/dev_guide/developing_collections_migrating.rst:89
msgid "If the old and/or new collection has ``ansibullbot``, its ``BOTMETA.yml`` must be updated correspondingly."
msgstr "å€ãã³ã¬ã¯ã·ã§ã³ãŸãã¯æ°ããã³ã¬ã¯ã·ã§ã³ã§ ``ansibullbot`` ãããå Žåã¯ãããã«å¿ã㊠``BOTMETA.yml`` ãæŽæ°ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:91
msgid "Ansibulbot will know how to redirect existing issues and PRs to the new repo. The build process for docs.ansible.com will know where to find the module docs."
msgstr "Ansibulbot ã¯ãæ¢åã®åé¡ãš PR ãæ°ãããªããžããªãŒã«ãªãã€ã¬ã¯ãããæ¹æ³ãèªèããŸããdocs.ansible.com ã®ãã«ãããã»ã¹ã¯ãã¢ãžã¥ãŒã«ææžã®æ€çŽ¢å ŽæãèªèããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:110
msgid "`Example PR <https://github.com/ansible/ansible/pull/66981/files>`_"
msgstr "`PR ã®äŸ <https://github.com/ansible/ansible/pull/66981/files>`_"
#: ../../rst/dev_guide/developing_collections_migrating.rst:112
msgid "The ``migrated_to:`` key must be added explicitly for every *file*. You cannot add ``migrated_to`` at the directory level. This is to allow module and plugin webdocs to be redirected to the new collection docs."
msgstr "``migrated_to:`` ããŒã¯ã*ãã¡ã€ã«* ããšã«æ瀺çã«è¿œå ããå¿
èŠããããŸãããã£ã¬ã¯ããªãŒã¬ãã«ã§ ``migrated_to`` ãè¿œå ããããšã¯ã§ããŸãããã¢ãžã¥ãŒã«ãšãã©ã°ã€ã³ã® Web ããã¥ã¡ã³ããæ°ããã³ã¬ã¯ã·ã§ã³ã«ãªãã€ã¬ã¯ãããããšã§ãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:113
msgid "``migrated_to:`` MUST be added for every:"
msgstr "以äžã®ãã¹ãŠã« ``migrated_to:`` ãè¿œå ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:115
#: ../../rst/dev_guide/developing_modules_documenting.rst
msgid "module"
msgstr "ã¢ãžã¥ãŒã«"
#: ../../rst/dev_guide/developing_collections_migrating.rst:116
msgid "plugin"
msgstr "ãã©ã°ã€ã³"
#: ../../rst/dev_guide/developing_collections_migrating.rst:117
#: ../../rst/dev_guide/developing_collections_structure.rst:104
msgid "module_utils"
msgstr "ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒ"
#: ../../rst/dev_guide/developing_collections_migrating.rst:118
msgid "contrib/inventory script"
msgstr "contrib/inventory ã¹ã¯ãªãã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:120
msgid "You do NOT need to add ``migrated_to`` for:"
msgstr "以äžã« ``migrated_to`` ãè¿œå ããå¿
èŠã¯ãããŸããã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:122
msgid "Unit tests"
msgstr "ãŠããããã¹ã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:123
#: ../../rst/dev_guide/testing_integration.rst:7
msgid "Integration tests"
msgstr "çµ±åãã¹ã"
#: ../../rst/dev_guide/developing_collections_migrating.rst:124
msgid "ReStructured Text docs (anything under ``docs/docsite/rst/``)"
msgstr "åæ§ç¯ãããããã¹ãããã¥ã¡ã³ã (``docs/docsite/rst/`` ã®äžãã¹ãŠ)"
#: ../../rst/dev_guide/developing_collections_migrating.rst:125
msgid "Files that never existed in ``ansible/ansible:devel``"
msgstr "``ansible/ansible:devel`` ã«ååšããªããã¡ã€ã«"
#: ../../rst/dev_guide/developing_collections_shared.rst:5
msgid "Using shared resources in collections"
msgstr "ã³ã¬ã¯ã·ã§ã³ã§å
±æãªãœãŒã¹ã®äœ¿çš"
#: ../../rst/dev_guide/developing_collections_shared.rst:7
msgid "Although developing Ansible modules contained in collections is similar to developing standalone Ansible modules, you use shared resources like documentation fragments and module utilities differently in collections. You can use documentation fragments within and across collections. You can use optional module utilities to support multiple versions of ansible-core in your collection. Collections can also depend on other collections."
msgstr "ã³ã¬ã¯ã·ã§ã³ã«å«ãŸãã Ansible ã¢ãžã¥ãŒã«ã®éçºã¯ã¹ã¿ã³ãã¢ãã³ã® Ansible ã¢ãžã¥ãŒã«ã®éçºã«äŒŒãŠããŸãããã³ã¬ã¯ã·ã§ã³ã§ã¯ããã¥ã¡ã³ããã©ã°ã¡ã³ããã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãªã©ã®å
±æãªãœãŒã¹ãç°ãªãæ¹æ³ã§äœ¿çšããŸããã³ã¬ã¯ã·ã§ã³å
ããã³ã³ã¬ã¯ã·ã§ã³éã§ããã¥ã¡ã³ããã©ã°ã¡ã³ãã䜿çšã§ããŸããä»»æã®ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã䜿çšããŠãã³ã¬ã¯ã·ã§ã³å
ã®è€æ°ã®ããŒãžã§ã³ã® ansible-core ããµããŒãã§ããŸããã³ã¬ã¯ã·ã§ã³ãä»ã®ã³ã¬ã¯ã·ã§ã³ã«äŸåããããšããããŸãã"
#: ../../rst/dev_guide/developing_collections_shared.rst:16
msgid "Using documentation fragments in collections"
msgstr "ã³ã¬ã¯ã·ã§ã³ã§ã®ããã¥ã¡ã³ããã©ã°ã¡ã³ãã®äœ¿çš"
#: ../../rst/dev_guide/developing_collections_shared.rst:18
msgid "To include documentation fragments in your collection:"
msgstr "ã³ã¬ã¯ã·ã§ã³ã«ããã¥ã¡ã³ããã©ã°ã¡ã³ããå«ããã«ã¯ã以äžãè¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_shared.rst:20
msgid "Create the documentation fragment: ``plugins/doc_fragments/fragment_name``."
msgstr "ããã¥ã¡ã³ããã©ã°ã¡ã³ããäœæããŸã (``plugins/doc_fragments/fragment_name``)ã"
#: ../../rst/dev_guide/developing_collections_shared.rst:22
msgid "Refer to the documentation fragment with its FQCN."
msgstr "FQCN ãå«ãããã¥ã¡ã³ããã©ã°ã¡ã³ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_shared.rst:32
msgid ":ref:`module_docs_fragments` covers the basics for documentation fragments. The `kubernetes.core <https://github.com/ansible-collections/kubernetes.core>`_ collection includes a complete example."
msgstr ":ref:`module_docs_fragments` ã¯ãããã¥ã¡ã³ããã©ã°ã¡ã³ãã®åºæ¬ã説æããŸãã`kubernetes.core <https://github.com/ansible-collections/kubernetes.core>`_ ã³ã¬ã¯ã·ã§ã³ã«ã¯å®å
šãªäŸãå«ãŸããŠããŸãã"
#: ../../rst/dev_guide/developing_collections_shared.rst:34
msgid "If you use FQCN, you can use documentation fragments from one collection in another collection."
msgstr "FQCN ã䜿çšããå Žåã¯ãå¥ã®ã³ã¬ã¯ã·ã§ã³ã§ 1 ã€ã®ã³ã¬ã¯ã·ã§ã³ããããã¥ã¡ã³ããã©ã°ã¡ã³ãã䜿çšã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_shared.rst:39
msgid "Leveraging optional module utilities in collections"
msgstr "ã³ã¬ã¯ã·ã§ã³ã§ã®ä»»æã®ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã®æŽ»çš"
#: ../../rst/dev_guide/developing_collections_shared.rst:41
msgid "Optional module utilities let you adopt the latest features from the most recent ansible-core release in your collection-based modules without breaking your collection on older Ansible versions. With optional module utilities, you can use the latest features when running against the latest versions, while still providing fallback behaviors when running against older versions."
msgstr "ä»»æã®ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã䜿çšãããšãå€ã Ansible ããŒãžã§ã³ã®ã³ã¬ã¯ã·ã§ã³ãå£ãããšãªããcollection-base ã¢ãžã¥ãŒã«ã§ææ°ã® ansible-core ãªãªãŒã¹ã®ææ°æ©èœãæ¡çšã§ããŸããä»»æã®ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã䜿çšãããšãææ°ããŒãžã§ã³ã«å¯ŸããŠå®è¡ããå Žåã«ææ°ã®æ©èœãå©çšã§ããå€ãããŒãžã§ã³ã«å¯ŸããŠå®è¡ããå Žåã§ããã©ãŒã«ããã¯åäœãæäŸã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_shared.rst:43
msgid "This implementation, widely used in Python programming, wraps optional imports in conditionals or defensive `try/except` blocks, and implements fallback behaviors for missing imports. Ansible's module payload builder supports these patterns by treating any module_utils import nested in a block (e.g., `if`, `try`) as optional. If the requested import cannot be found during the payload build, it is simply omitted from the target payload and assumed that the importing code will handle its absence at runtime. Missing top-level imports of module_utils packages (imports that are not wrapped in a block statement of any kind) will fail the module payload build, and will not execute on the target."
msgstr "ãã®å®è£
㯠Python ããã°ã©ãã³ã°ã§åºã䜿çšãããæ¡ä»¶ãŸãã¯éå®ããã `try/except` ãããã¯ã§ä»»æã®ã€ã³ããŒããã©ããããäžè¶³ããŠããã€ã³ããŒãã®ãã©ãŒã«ããã¯åäœãå®è£
ããŸããAnsible ã®ã¢ãžã¥ãŒã«ãã€ããŒããã«ããŒã¯ããããã¯ã§ãã¹ãããã module_utils ã€ã³ããŒã (äŸ: `if`ã`try`) ããªãã·ã§ã³ãšããŠæ±ãããšã«ããããããã®ãã¿ãŒã³ããµããŒãããŸãããã€ããŒããã«ãæã«èŠæ±ãããã€ã³ããŒããèŠã€ãããªãã£ãå Žåãããã¯ã¿ãŒã²ãããã€ããŒãããçç¥ãããã€ã³ããŒãã³ãŒããã©ã³ã¿ã€ã æã«åŠçãããªãããšãä»®å®ãããŸããmodule_utils ããã±ãŒãžã®ãããã¬ãã«ã®ã€ã³ããŒã (ããããçš®é¡ã®ãããã¯ã¹ããŒãã¡ã³ãã§ã©ãããããŠããªãã€ã³ããŒã) ã¯ã¢ãžã¥ãŒã«ãã€ããŒããã«ãã«å€±æããã¿ãŒã²ããã§ã¯å®è¡ãããŸããã"
#: ../../rst/dev_guide/developing_collections_shared.rst:45
msgid "For example, the `ansible.module_utils.common.respawn` package is only available in Ansible 2.11 and higher. The following module code would fail during the payload build on Ansible 2.10 or earlier (as the requested Python module does not exist, and is not wrapped in a block to signal to the payload builder that it can be omitted from the module payload):"
msgstr "ããšãã°ã`ansible.module_utils.common.respawn` ããã±ãŒãžã¯ Ansible 2.11 以éã§ããå©çšããããšãã§ããŸããã以äžã®ã¢ãžã¥ãŒã«ã³ãŒã㯠Ansible 2.10 以åã§ã®ãã€ããŒããã«ãäžã«å€±æããŸã (èŠæ±ããã Python ã¢ãžã¥ãŒã«ãååšãããã¢ãžã¥ãŒã«ãã€ããŒãããçç¥ã§ããããšããã€ããŒããã«ããŒã«éç¥ãããããã¯ã«ã©ãããããŠããªããã)ã"
#: ../../rst/dev_guide/developing_collections_shared.rst:51
msgid "By wrapping the import statement in a ``try`` block, the payload builder will omit the Python module if it cannot be located, and assume that the Ansible module will handle it at runtime:"
msgstr "``try`` ãããã¯ã§ import ã¹ããŒãã¡ã³ããã©ããããããšã§ããã€ããŒããã«ããŒã¯ãPython ã¢ãžã¥ãŒã«ãèŠã€ãããªããš Python ã¢ãžã¥ãŒã«ãçç¥ããAnsible ã¢ãžã¥ãŒã«ãã©ã³ã¿ã€ã æã«åŠçããããšãæ³å®ããŸãã"
#: ../../rst/dev_guide/developing_collections_shared.rst:66
msgid "The optional import behavior also applies to module_utils imported from collections."
msgstr "ä»»æã®ã€ã³ããŒãåäœã¯ãã³ã¬ã¯ã·ã§ã³ããã€ã³ããŒããããã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã«ãé©çšãããŸãã"
#: ../../rst/dev_guide/developing_collections_shared.rst:71
msgid "Listing collection dependencies"
msgstr "ã³ã¬ã¯ã·ã§ã³ã®äŸåé¢ä¿ã®äžèŠ§è¡šç€º"
#: ../../rst/dev_guide/developing_collections_shared.rst:73
msgid "We recommend that collections work as standalone, independent units, depending only on ansible-core. However, if your collection must depend on features and functionality from another collection, list the other collection or collections under ``dependencies`` in your collection's :file:`galaxy.yml` file. Use the :file:`meta/runtime.yml` file to set the ansible-core version that your collection depends on. For more information on the :file:`galaxy.yml` file, see :ref:`collections_galaxy_meta`."
msgstr "ã³ã¬ã¯ã·ã§ã³ã¯ã¹ã¿ã³ãã¢ãã³ã®ç¬ç«ãããŠããããšããŠåäœããansible-coreã«ã®ã¿äŸåããããšããå§ãããŸããããããã³ã¬ã¯ã·ã§ã³ãä»ã®ã³ã¬ã¯ã·ã§ã³ã®æ©èœã«äŸåããªããã°ãªããªãå Žåã¯ãã³ã¬ã¯ã·ã§ã³ã® :file:`galaxy.yml` ãã¡ã€ã«ã®``dependencies`` ã»ã¯ã·ã§ã³ã«ãä»ã®ã³ã¬ã¯ã·ã§ã³ããªã¹ãã¢ããããŠãã ãããã³ã¬ã¯ã·ã§ã³ãäŸåãã ansible-core ããŒãžã§ã³ãèšå®ããã«ã¯ã:file:`meta/runtime.yml` ãã¡ã€ã«ã䜿çšããŸãã:file:`galaxy.yml` ãã¡ã€ã«ã®è©³çŽ°ã«ã€ããŠã¯ã:ref:`collections_galaxy_meta` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_shared.rst:75
msgid "You can use git repositories for collection dependencies during local development and testing. For example:"
msgstr "ããŒã«ã«ã§ã®éçºããã¹ãã®éã«ãã³ã¬ã¯ã·ã§ã³ã®äŸåé¢ä¿çšã«gitãªããžããªã䜿çšããããšãã§ããŸãã以äžã«äŸã瀺ããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:5
msgid "Collection structure"
msgstr "ã³ã¬ã¯ã·ã§ã³æ§é "
#: ../../rst/dev_guide/developing_collections_structure.rst:7
msgid "A collection is a simple data structure. None of the directories are required unless you have specific content that belongs in one of them. A collection does require a ``galaxy.yml`` file at the root level of the collection. This file contains all of the metadata that Galaxy and other tools need in order to package, build and publish the collection."
msgstr "ã³ã¬ã¯ã·ã§ã³ã¯ç°¡åãªããŒã¿æ§é ã§ãããããã®äžã® 1 ã€ã«å±ããç¹å®ã®ã³ã³ãã³ãããªãéãããã£ã¬ã¯ããªãŒã¯å¿
èŠãããŸãããã³ã¬ã¯ã·ã§ã³ã®ã«ãŒãã¬ãã«ã§ ``galaxy.yml`` ãã¡ã€ã«ãå¿
èŠã«ãªããŸãããã®ãã¡ã€ã«ã«ã¯ãGalaxy ããã®ä»ã®ããŒã«ãã³ã¬ã¯ã·ã§ã³ãããã±ãŒãžåããã«ããå
¬éããã®ã«å¿
èŠãªã¡ã¿ããŒã¿ããã¹ãŠå«ãŸããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:14
msgid "Collection directories and files"
msgstr "ã³ã¬ã¯ã·ã§ã³ãã£ã¬ã¯ããªãŒããã³ãã¡ã€ã«"
#: ../../rst/dev_guide/developing_collections_structure.rst:16
msgid "A collection can contain these directories and files:"
msgstr "ã³ã¬ã¯ã·ã§ã³ã«ã¯ããããã®ãã£ã¬ã¯ããªãŒããã³ãã¡ã€ã«ãå«ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:43
msgid "Ansible only accepts ``.md`` extensions for the :file:`README` file and any files in the :file:`/docs` folder."
msgstr "Ansible ã¯ã:file:`README` ãã¡ã€ã«ããã³ :file:`/docs` ãã©ã«ããŒå
ã®ãã¹ãŠã®ãã¡ã€ã«ã® ``.md`` æ¡åŒµåã®ã¿ãåãå
¥ããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:44
msgid "See the `ansible-collections <https://github.com/ansible-collections/>`_ GitHub Org for examples of collection structure."
msgstr "ã³ã¬ã¯ã·ã§ã³æ§é ã®äŸã¯ã`ansible-collections <https://github.com/ansible-collections/>`_ GitHub Org ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_structure.rst:45
msgid "Not all directories are currently in use. Those are placeholders for future features."
msgstr "çŸåšããã¹ãŠã®ãã£ã¬ã¯ããªãŒã䜿çšãããŠããããã§ã¯ãããŸããããããã¯ãå°æ¥ã®æ©èœã®ãã¬ãŒã¹ãã«ããŒã§ãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:50
msgid "galaxy.yml"
msgstr "galaxy.yml"
#: ../../rst/dev_guide/developing_collections_structure.rst:52
msgid "A collection must have a ``galaxy.yml`` file that contains the necessary information to build a collection artifact. See :ref:`collections_galaxy_meta` for details."
msgstr "ã³ã¬ã¯ã·ã§ã³ã«ã¯ãã³ã¬ã¯ã·ã§ã³ã¢ãŒãã£ãã¡ã¯ããæ§ç¯ããããã«å¿
èŠãªæ
å ±ãå«ãŸãã ``galaxy.yml`` ãã¡ã€ã«ãå¿
èŠã§ãã詳现ã¯ãã:ref:`collections_galaxy_meta`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_structure.rst:57
msgid "docs directory"
msgstr "docs ãã£ã¬ã¯ããªãŒ"
#: ../../rst/dev_guide/developing_collections_structure.rst:59
msgid "Use the ``docs`` folder to describe how to use the roles and plugins the collection provides, role requirements, and so on."
msgstr "``docs`` ãã©ã«ãã䜿çšããŠãã³ã¬ã¯ã·ã§ã³ãæäŸããããŒã«ãšãã©ã°ã€ã³ã®äœ¿çšæ¹æ³ãããŒã«ã®èŠä»¶ãªã©ã説æããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:61
msgid "For certified collections, Automation Hub displays documents written in markdown in the main ``docs`` directory with no subdirectories. This will not display on https://docs.ansible.com."
msgstr "èªå®ãããã³ã¬ã¯ã·ã§ã³ã§ã¯ãAutomation Hubã¯ããµããã£ã¬ã¯ããªãæããªãã¡ã€ã³ã®``docs`` ãã£ã¬ã¯ããªã«ããŒã¯ããŠã³ã§æžãããããã¥ã¡ã³ãã衚瀺ããŸããããã¯ãhttps://docs.ansible.com.ã«ã¯è¡šç€ºãããŸããã"
#: ../../rst/dev_guide/developing_collections_structure.rst:63
msgid "For community collections included in the Ansible PyPI package, docs.ansible.com displays documents written in reStructuredText (.rst) in a docsite/rst/ subdirectory. Define the structure of your extra documentation in ``docs/docsite/extra-docs.yml``:"
msgstr "Ansibleã®PyPIããã±ãŒãžã«å«ãŸããã³ãã¥ããã£ã³ã¬ã¯ã·ã§ã³ã®å Žåãdocs.ansible.comã¯reStructuredTextïŒ.rstïŒã§æžãããããã¥ã¡ã³ããdocsite/rst/ãµããã£ã¬ã¯ããªã«è¡šç€ºããŸãã``docs/docsite/extra-docs.yml`` ã§è¿œå ããã¥ã¡ã³ãã®æ§é ãå®çŸ©ããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:73
msgid "The index page of the documentation for your collection displays the title you define in ``docs/docsite/extra-docs.yml`` with a link to your extra documentation. For an example, see the `community.docker collection repo <https://github.com/ansible-collections/community.docker/tree/main/docs/docsite>`_ and the `community.docker collection documentation <https://docs.ansible.com/ansible/latest/collections/community/docker/index.html>`_."
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ããã¥ã¡ã³ãã®ã€ã³ããã¯ã¹ããŒãžã«ã¯ã``docs/docsite/extra-docs.yml`` ã§å®çŸ©ããã¿ã€ãã«ãšãè¿œå ããã¥ã¡ã³ããžã®ãªã³ã¯ã衚瀺ãããŸããäŸãšããŠã¯ã`community.docker collection repo <https://github.com/ansible-collections/community.docker/tree/main/docs/docsite>`_ ãš`community.docker collection documentation <https://docs.ansible.com/ansible/latest/collections/community/docker/index.html>`_ ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_structure.rst:75
msgid "You can add extra links to your collection index page and plugin pages with the ``docs/docsite/links.yml`` file. This populates the links under `Description and Communications <https://docs.ansible.com/ansible/devel/collections/community/dns/index.html#plugins-in-community-dns>`_ headings as well as links at the end of the individual plugin pages. See the `collection_template links.yml file <https://github.com/ansible-collections/collection_template/blob/main/docs/docsite/links.yml>`_ for a complete description of the structure and use of this file to create links."
msgstr "ã³ã¬ã¯ã·ã§ã³ã€ã³ããã¯ã¹ããŒãžããã³ãã©ã°ã€ã³ããŒãžã«ã``docs/docsite/links.yml`` ãã¡ã€ã«ã䜿çšããŠãªã³ã¯ãè¿œå ã§ããŸãããã®æ¹æ³ã§ã`Description and Communications <https://docs.ansible.com/ansible/devel/collections/community/dns/index.html#plugins-in-community-dns>`_ ã®èŠåºãã®äžãšãåå¥ã®ãã©ã°ã€ã³ããŒãžã®æåŸã«ãªã³ã¯ãè¿œå ãããŸããæ§é ã®è©³çŽ°ãªèª¬æãšããã¡ã€ã«ã䜿çšãããªã³ã¯ã®äœææ¹æ³ã«ã€ããŠã¯ã`collection_template links.yml file <https://github.com/ansible-collections/collection_template/blob/main/docs/docsite/links.yml>`_ ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_structure.rst:78
msgid "Plugin and module documentation"
msgstr "ãã©ã°ã€ã³ãšã¢ãžã¥ãŒã«ã®ããã¥ã¡ã³ã"
#: ../../rst/dev_guide/developing_collections_structure.rst:80
msgid "Keep the specific documentation for plugins and modules embedded as Python docstrings. Use ``ansible-doc`` to view documentation for plugins inside a collection:"
msgstr "Python ããã¥ã¡ã³ãæååãšããŠåã蟌ãŸãããã©ã°ã€ã³ããã³ã¢ãžã¥ãŒã«ã«é¢ããç¹å®ã®ããã¥ã¡ã³ããä¿æããŸããã³ã¬ã¯ã·ã§ã³å
ã®ãã©ã°ã€ã³ã®ããã¥ã¡ã³ãã衚瀺ããã«ã¯``ansible-doc`` ã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_structure.rst:86
msgid "The ``ansible-doc`` command requires the fully qualified collection name (FQCN) to display specific plugin documentation. In this example, ``my_namespace`` is the Galaxy namespace and ``my_collection`` is the collection name within that namespace."
msgstr "ç¹å®ã®ãã©ã°ã€ã³ã®ããã¥ã¡ã³ãã衚瀺ããã«ã¯ã``ansible-doc`` ã³ãã³ãã«å®å
šä¿®é£Ÿã³ã¬ã¯ã·ã§ã³å (FQCN) ãå¿
èŠã§ãããã®äŸã§ã¯ã``my_namespace`` 㯠Galaxy åå空éãšãªãã``my_collection`` ã¯ãã®åå空éå
ã®ã³ã¬ã¯ã·ã§ã³åãšãªããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:88
msgid "The Galaxy namespace of an Ansible collection is defined in the ``galaxy.yml`` file. It can be different from the GitHub organization or repository name."
msgstr "Ansible ã³ã¬ã¯ã·ã§ã³ã® Galaxy åå空é㯠``galaxy.yml`` ãã¡ã€ã«ã§å®çŸ©ãããŸããGitHub ã®çµç¹ãŸãã¯ãªããžããªãŒåãšã¯ç°ãªãå ŽåããããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:93
msgid "plugins directory"
msgstr "plugins ãã£ã¬ã¯ããªãŒ"
#: ../../rst/dev_guide/developing_collections_structure.rst:95
msgid "Add a 'per plugin type' specific subdirectory here, including ``module_utils`` which is usable not only by modules, but by most plugins by using their FQCN. This is a way to distribute modules, lookups, filters, and so on without having to import a role in every play."
msgstr "ããã©ã°ã€ã³ã¿ã€ãããšãã®ç¹æãµããã£ã¬ã¯ããªãŒãããã«è¿œå ããŸããããã«ã¯ããã® FQCN ã䜿çšããŠãã¢ãžã¥ãŒã«ã§ã ãã§ãªãã»ãšãã©ã®ãã©ã°ã€ã³ã§äœ¿çšã§ãã ``module_utils`` ãå«ãŸããŸããããã¯ããã¹ãŠã®ãã¬ã€ã§ããŒã«ãã€ã³ããŒãããããšãªãã¢ãžã¥ãŒã«ãæ€çŽ¢ããã£ã«ã¿ãŒãªã©ãåæ£ããæ¹æ³ã§ãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:97
msgid "Vars plugins in collections are not loaded automatically, and always require being explicitly enabled by using their fully qualified collection name. See :ref:`enable_vars` for details."
msgstr "ã³ã¬ã¯ã·ã§ã³ã® vars ãã©ã°ã€ã³ã¯èªåçã«èªã¿èŸŒãŸãããå®å
šä¿®é£Ÿã³ã¬ã¯ã·ã§ã³åã䜿çšããŠåžžã«æ瀺çã«æå¹ã«ããå¿
èŠããããŸãã詳现ã¯ã:ref:`enable_vars` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_structure.rst:99
msgid "Cache plugins in collections may be used for fact caching, but are not supported for inventory plugins."
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ãã£ãã·ã¥ãã©ã°ã€ã³ã¯ããã¡ã¯ããã£ãã·ã¥ã«äœ¿çšã§ããŸãããinventory ãã©ã°ã€ã³ã§ã¯ãµããŒããããŠããŸããã"
#: ../../rst/dev_guide/developing_collections_structure.rst:106
msgid "When coding with ``module_utils`` in a collection, the Python ``import`` statement needs to take into account the FQCN along with the ``ansible_collections`` convention. The resulting Python import will look like ``from ansible_collections.{namespace}.{collection}.plugins.module_utils.{util} import {something}``"
msgstr "ã³ã¬ã¯ã·ã§ã³ã§ ``module_utils`` ã䜿çšããŠã³ãŒãã£ã³ã°ããå ŽåãPython ã® ``import`` ã¹ããŒãã¡ã³ã㯠``ansible_collections`` èŠåãšãšãã« FQCN ãèæ
®ããå¿
èŠããããŸããäœæããã Python ã€ã³ããŒã㯠``from ansible_collections.{namespace}.{collection}.plugins.module_utils.{util} import {something}`` ã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:108
msgid "The following example snippets show a Python and PowerShell module using both default Ansible ``module_utils`` and those provided by a collection. In this example the namespace is ``community``, the collection is ``test_collection``. In the Python example the ``module_util`` in question is called ``qradar`` such that the FQCN is ``community.test_collection.plugins.module_utils.qradar``:"
msgstr "以äžã®ã¹ããããã®äŸã¯ãããã©ã«ãã® Ansible ``module_utils`` ãšãã³ã¬ã¯ã·ã§ã³ã®äž¡æ¹ã䜿çšãã Python ããã³ PowerShell ã¢ãžã¥ãŒã«ã瀺ããŠããŸãããã®äŸã§ã¯ãåå空é㯠``community`` ã§ãã³ã¬ã¯ã·ã§ã³ã¯ ``test_collection`` ã§ããPython ã®äŸã§ã¯ãåé¡ã® ``module_util`` 㯠``qradar`` ãšåŒã°ããFQCN ã ``community.test_collection.plugins.module_utils.qradar`` ãšãªã£ãŠããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:138
msgid "Note that importing something from an ``__init__.py`` file requires using the file name:"
msgstr "``__init__.py`` ãã¡ã€ã«ããäœããã€ã³ããŒãããå Žåã¯ããã¡ã€ã«åã䜿çšããå¿
èŠãããããšã«æ³šæããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_structure.rst:144
msgid "In the PowerShell example the ``module_util`` in question is called ``hyperv`` such that the FQCN is ``community.test_collection.plugins.module_utils.hyperv``:"
msgstr "PowerShell ã®äŸã§ã¯ãåé¡ã® ``module_util`` 㯠``hyperv`` ãšåŒã°ããFQCN ã ``community.test_collection.plugins.module_utils.hyperv`` ãšãªã£ãŠããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:166
msgid "roles directory"
msgstr "roles ãã£ã¬ã¯ããªãŒ"
#: ../../rst/dev_guide/developing_collections_structure.rst:168
msgid "Collection roles are mostly the same as existing roles, but with a couple of limitations:"
msgstr "ã³ã¬ã¯ã·ã§ã³ããŒã«ã¯æ¢åããŒã«ãšã»ãŒåãã§ãããããã€ãå¶éããããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:170
msgid "Role names are now limited to contain only lowercase alphanumeric characters, plus ``_`` and start with an alpha character."
msgstr "ããŒã«åã¯ãå°æåã®è±æ°åãš ``_`` ã®ã¿ãå«ã¿ãè±åã§éå§ããããã«å¶éãããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:171
msgid "Roles in a collection cannot contain plugins any more. Plugins must live in the collection ``plugins`` directory tree. Each plugin is accessible to all roles in the collection."
msgstr "ã³ã¬ã¯ã·ã§ã³å
ã®ããŒã«ã«ã¯ãã©ã°ã€ã³ãå«ããããšãã§ããŸããããã©ã°ã€ã³ã¯ã³ã¬ã¯ã·ã§ã³ã® ``plugins`` ãã£ã¬ã¯ããªãŒããªãŒã§æç¶ããå¿
èŠããããŸããåãã©ã°ã€ã³ã¯ã³ã¬ã¯ã·ã§ã³å
ã®ãã¹ãŠã®ããŒã«ããã¢ã¯ã»ã¹ã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:173
msgid "The directory name of the role is used as the role name. Therefore, the directory name must comply with the above role name rules. The collection import into Galaxy will fail if a role name does not comply with these rules."
msgstr "ããŒã«ã®ãã£ã¬ã¯ããªãŒåã¯ããŒã«åãšããŠäœ¿çšãããŸãããã®ããããã£ã¬ã¯ããªãŒåã¯äžèšã®ããŒã«åã«ãŒã«ã«åŸãå¿
èŠããããŸããGalaxy ãžã®ã³ã¬ã¯ã·ã§ã³ã®ã€ã³ããŒãã¯ãããŒã«åããããã®ã«ãŒã«ã«æºæ ããŠããªããšå€±æããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:175
msgid "You can migrate 'traditional roles' into a collection but they must follow the rules above. You may need to rename roles if they don't conform. You will have to move or link any role-based plugins to the collection specific directories."
msgstr "ãåŸæ¥ã®ããŒã«ããã³ã¬ã¯ã·ã§ã³ã«ç§»è¡ã§ããŸãããäžèšã®ã«ãŒã«ã«åŸãå¿
èŠããããŸããéµå®ããŠããªãå Žåã¯ãããŒã«ã®ååãå€æŽããªããã°ãªããªãå ŽåããããŸããããŒã«ããŒã¹ã®ãã©ã°ã€ã³ãã³ã¬ã¯ã·ã§ã³åºæã®ãã£ã¬ã¯ããªãŒã«ç§»åãããããªã³ã¯ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:179
msgid "For roles imported into Galaxy directly from a GitHub repository, setting the ``role_name`` value in the role's metadata overrides the role name used by Galaxy. For collections, that value is ignored. When importing a collection, Galaxy uses the role directory as the name of the role and ignores the ``role_name`` metadata value."
msgstr "ããŒã«ã GitHub ãªããžããªãŒãã Galaxy ã«çŽæ¥ã€ã³ããŒããããå Žåã¯ãããŒã«ã®ã¡ã¿ããŒã¿ã« ``role_name`` å€ãèšå®ãããšãGalaxy ã䜿çšããããŒã«åãäžæžããããŸããã³ã¬ã¯ã·ã§ã³ã®å Žåããã®å€ã¯ç¡èŠãããŸããã³ã¬ã¯ã·ã§ã³ãã€ã³ããŒããããšãGalaxy ã¯ããŒã«ãã£ã¬ã¯ããªãŒãããŒã«åãšããŠäœ¿çšãã``role_name`` ã¡ã¿ããŒã¿ã®å€ãç¡èŠããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:182
msgid "playbooks directory"
msgstr "playbooks ãã£ã¬ã¯ããªãŒ"
#: ../../rst/dev_guide/developing_collections_structure.rst:184
msgid "In prior releases, you could reference playbooks in this directory using the full path to the playbook file from the command line. In ansible-core 2.11 and later, you can use the FQCN, ``namespace.collection.playbook`` (with or without extension), to reference the playbooks from the command line or from ``import_playbook``. This will keep the playbook in 'collection context', as if you had added ``collections: [ namespace.collection ]`` to it."
msgstr "以åã®ãªãªãŒã¹ã§ã¯ãã³ãã³ãã©ã€ã³ããPlaybookãã¡ã€ã«ã®ãã«ãã¹ã䜿çšããŠããã®ãã£ã¬ã¯ããªã®Playbookãåç
§ããããšãã§ããŸãããansible-core 2.11以éã§ã¯ãFQCNã§ãã``namespace.collection.playbook`` ïŒæ¡åŒµåããããªãïŒã䜿ã£ãŠãã³ãã³ãã©ã€ã³ãŸãã¯``import_playbook`` ããPlaybookãåç
§ããããšãã§ããŸããããã«ããããããã``collections: [ namespace.collection ]`` ãè¿œå ãããã®ããã«ãPlaybookããã³ã¬ã¯ã·ã§ã³ã³ã³ããã¹ããã«ä¿ãããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:188
msgid "You can have most of the subdirectories you would expect, such ``files/``, ``vars/`` or ``templates/`` but no ``roles/`` since those are handled already in the collection."
msgstr "``files/`` ã``vars/`` ã``templates/`` ãªã©ãæåŸ
ãããã»ãšãã©ã®ãµããã£ã¬ã¯ããªãæã€ããšãã§ããŸããã``roles/`` ã¯ã³ã¬ã¯ã·ã§ã³ã§ãã§ã«æ±ãããŠãããããæã€ããšã¯ã§ããŸããã"
#: ../../rst/dev_guide/developing_collections_structure.rst:190
msgid "Also, playbooks within a collection follow the same guidelines as any playbooks except for these few adjustments:"
msgstr "ãŸããã³ã¬ã¯ã·ã§ã³å
ã® Playbook ã¯ã次ã®ããã€ãã®èª¿æŽãé€ããŠãä»ã® Playbook ãšåãã¬ã€ãã©ã€ã³ã«åŸããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:192
msgid "Directory: It must be in ``/playbooks directory``."
msgstr "ãã£ã¬ã¯ããªãŒ: ``/playbooks directory`` ã«ãªããã°ãªããŸããã"
#: ../../rst/dev_guide/developing_collections_structure.rst:193
msgid "Hosts: The host should be defined as a variable so the users of a playbook do not mistakenly run the plays against their entire inventory (if the host is set to all). For example - ``hosts: '{{target|default(\"all\")}}'``."
msgstr "ãã¹ã: Playbook ã®ãŠãŒã¶ãŒãã€ã³ãã³ããªãŒå
šäœ (ãã¹ãããã¹ãŠã«èšå®ãããŠããå Žå) ã«å¯ŸããŠèª€ã£ãŠãã¬ã€ãå®è¡ããããšãé²æ¢ããããããã¹ãã¯å€æ°ãšããŠå®çŸ©ããå¿
èŠããããŸããäŸ: -``hosts: '{{target|default(\"all\")}}'``ã"
#: ../../rst/dev_guide/developing_collections_structure.rst:195
msgid "To run the plays, users can now use such commands as ``ansible-playbook --e 'targets=webservers'`` or ``ansible-playbook --limit webservers``. Either way, the collection owner should document their playbooks and how to use them in the ``/docs`` folder or ``README`` file."
msgstr "ãŠãŒã¶ãŒã¯ã``ansible-playbook --e 'targets=webservers'`` ã ``ansible-playbook --limit webservers`` ãªã©ã®ã³ãã³ãã䜿çšããŠãã¬ã€ãå®è¡ã§ããããã«ãªããŸããããããã®æ¹æ³ã§ããã³ã¬ã¯ã·ã§ã³ææè
㯠Playbook ãšã``/docs`` ãã©ã«ããŒãŸã㯠``README`` ãã¡ã€ã«ã§ã®äœ¿çšæ¹æ³ãææžåããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:200
msgid "tests directory"
msgstr "tests ãã£ã¬ã¯ããªãŒ"
#: ../../rst/dev_guide/developing_collections_structure.rst:202
msgid "Ansible Collections are tested much like Ansible itself, by using the `ansible-test` utility which is released as part of Ansible, version 2.9.0 and newer. Because Ansible Collections are tested using the same tooling as Ansible itself, via `ansible-test`, all Ansible developer documentation for testing is applicable for authoring Collections Tests with one key concept to keep in mind."
msgstr "Ansible Collection ã¯ãAnsible èªäœãšåãããã«ãAnsible ããŒãžã§ã³ 2.9.0 以éã«å梱ããã `ansible-test` ãŠãŒãã£ãªãã£ãŒã䜿çšããŠãã¹ããããŸããAnsible ã³ã¬ã¯ã·ã§ã³ã¯ Ansible èªäœãšåãããŒã«ã䜿çšããŠãã¹ããããããã`ansible-test` ãä»ããŠããã¹ãçšã®ãã¹ãŠã® Ansible éçºè
åãããã¥ã¡ã³ãã¯ãèŠããŠããã¹ã 1 ã€ã®éèŠãªæŠå¿µã䜿çšããŠã³ã¬ã¯ã·ã§ã³ãã¹ããäœæããããã«é©çšã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:204
msgid "See :ref:`testing_collections` for specific information on how to test collections with ``ansible-test``."
msgstr "``ansible-test`` ã§ã³ã¬ã¯ã·ã§ã³ããã¹ãããæ¹æ³ã¯ãã:ref:`testing_collections`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_structure.rst:206
msgid "When reading the :ref:`developing_testing` documentation, there will be content that applies to running Ansible from source code via a git clone, which is typical of an Ansible developer. However, it's not always typical for an Ansible Collection author to be running Ansible from source but instead from a stable release, and to create Collections it is not necessary to run Ansible from source. Therefore, when references of dealing with `ansible-test` binary paths, command completion, or environment variables are presented throughout the :ref:`developing_testing` documentation; keep in mind that it is not needed for Ansible Collection Testing because the act of installing the stable release of Ansible containing `ansible-test` is expected to setup those things for you."
msgstr ":ref:`developing_testing` ã®ããã¥ã¡ã³ããèªãéãAnsible éçºè
ã®å
žåç㪠git clone ã䜿çšããŠããœãŒã¹ã³ãŒããã Ansible ãå®è¡ããã³ã³ãã³ãããããŸãããã ããAnsible Collection ã®äœæè
ããœãŒã¹ãã Ansible ãå®è¡ããããšã¯åžžã«äžè¬çã§ã¯ãªããå®å®ãããªãªãŒã¹ããã§ã¯ãªããã³ã¬ã¯ã·ã§ã³ãäœæããã«ã¯ããœãŒã¹ãã Ansible ãå®è¡ããå¿
èŠã¯ãããŸããããã®ããã`ansible-test` ãã€ããªãŒãã¹ãã³ãã³ãè£å®ããŸãã¯ç°å¢å€æ°ã«ã€ããŠã¯ã:ref:`developing_testing` ããã¥ã¡ã³ãã§æ瀺ãããŸããAnsible Collection Testing ã§ã¯ãããå¿
èŠãããŸããã`ansible-test` ãå«ã Ansible ã®å®å®ãããªãªãŒã¹ãã€ã³ã¹ããŒã«ããã«ã¯ãããããã»ããã¢ããããããšãäºæ³ãããããã§ãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:211
msgid "meta directory and runtime.yml"
msgstr "meta ãã£ã¬ã¯ããªãŒãš runtime.yml"
#: ../../rst/dev_guide/developing_collections_structure.rst:213
msgid "A collection can store some additional metadata in a ``runtime.yml`` file in the collection's ``meta`` directory. The ``runtime.yml`` file supports the top level keys:"
msgstr "ã³ã¬ã¯ã·ã§ã³ã¯ãã³ã¬ã¯ã·ã§ã³ã® ``meta`` ãã£ã¬ã¯ããªãŒã® ``runtime.yml`` ãã¡ã€ã«ã«è¿œå ã®ã¡ã¿ããŒã¿ãä¿åã§ããŸãã``runtime.yml`` ãã¡ã€ã«ã¯ãæäžäœã®ããŒããµããŒãããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:215
msgid "*requires_ansible*:"
msgstr "*requires_ansible*:"
#: ../../rst/dev_guide/developing_collections_structure.rst:217
msgid "The version of Ansible Core (ansible-core) required to use the collection. Multiple versions can be separated with a comma."
msgstr "ã³ã¬ã¯ã·ã§ã³ã䜿çšããããã«å¿
èŠãª Ansible Core (ansible-core)ã®ããŒãžã§ã³ãè€æ°ã®ããŒãžã§ã³ã¯ã³ã³ãã§åºåãããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:223
msgid "although the version is a `PEP440 Version Specifier <https://www.python.org/dev/peps/pep-0440/#version-specifiers>`_ under the hood, Ansible deviates from PEP440 behavior by truncating prerelease segments from the Ansible version. This means that Ansible 2.11.0b1 is compatible with something that ``requires_ansible: \">=2.11\"``."
msgstr "ããŒãžã§ã³ã¯ `PEP440 ããŒãžã§ã³æå®å <https://www.python.org/dev/peps/pep-0440/#version-specifiers>`_ ã§ãããå
éšã§ã¯ãAnsible ã¯ãã¬ãªãªãŒã¹ã»ã°ã¡ã³ãã Ansible ããŒãžã§ã³ããåãæšãŠãããšã«ãããPEP440 ã®åäœããéžè±ããŠããŸããããã¯ãAnsible2.11.0b1 ã ``requires_ansible: \">=2.11\"`` ã§ãããã®ãšäºææ§ãããããšãæå³ããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:225
msgid "*plugin_routing*:"
msgstr "*plugin_routing*:"
#: ../../rst/dev_guide/developing_collections_structure.rst:227
msgid "Content in a collection that Ansible needs to load from another location or that has been deprecated/removed. The top level keys of ``plugin_routing`` are types of plugins, with individual plugin names as subkeys. To define a new location for a plugin, set the ``redirect`` field to another name. To deprecate a plugin, use the ``deprecation`` field to provide a custom warning message and the removal version or date. If the plugin has been renamed or moved to a new location, the ``redirect`` field should also be provided. If a plugin is being removed entirely, ``tombstone`` can be used for the fatal error message and removal version or date."
msgstr "Ansible ãå¥ã®å Žæããèªã¿èŸŒãå¿
èŠãããã³ã¬ã¯ã·ã§ã³å
ã®ã³ã³ãã³ãããããã¯éæšå¥šãšãªã£ããåé€ãããã³ã¬ã¯ã·ã§ã³ã®ã³ã³ãã³ãã``plugin_routing`` ã®æäžäœã®ããŒã¯ãã©ã°ã€ã³ã®ã¿ã€ãã§ãåã
ã®ãã©ã°ã€ã³åããµãããŒãšããŠäœ¿çšããŸãããã©ã°ã€ã³ã®æ°ããå Žæãå®çŸ©ããã«ã¯ã``redirect`` ãã£ãŒã«ããå¥ã®ååã«èšå®ããŸãããã©ã°ã€ã³ãéæšå¥šã«ããã«ã¯ã``deprecation`` ãã£ãŒã«ãã䜿çšããŠã«ã¹ã¿ã èŠåã¡ãã»ãŒãžãšåé€ããŒãžã§ã³ãŸãã¯æ¥ä»ãæå®ããŸãããã©ã°ã€ã³ã®ååãå€æŽãããæ°ããå Žæã«ç§»åããå Žåã¯ã``redirect`` ãã£ãŒã«ããå
¥åããå¿
èŠããããŸãããã©ã°ã€ã³ãå®å
šã«åé€ãããå Žåã``tombstone`` ã¯èŽåœçãªãšã©ãŒã¡ãã»ãŒãžãããã³åé€ããŒãžã§ã³ãŸãã¯æ¥ä»ã«äœ¿çšã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:256
msgid "*import_redirection*"
msgstr "*import_redirection*"
#: ../../rst/dev_guide/developing_collections_structure.rst:258
msgid "A mapping of names for Python import statements and their redirected locations."
msgstr "Python ã€ã³ããŒãã¹ããŒãã¡ã³ãã®ååãšãã®ãªãã€ã¬ã¯ããããå Žæã®ãããã³ã°ã"
#: ../../rst/dev_guide/developing_collections_structure.rst:266
msgid "*action_groups*"
msgstr "*action_groups*"
#: ../../rst/dev_guide/developing_collections_structure.rst:268
msgid "A mapping of groups and the list of action plugin and module names they contain. They may also have a special 'metadata' dictionary in the list, which can be used to include actions from other groups."
msgstr "ã°ã«ãŒããšãããã«å«ãŸããã¢ã¯ã·ã§ã³ãã©ã°ã€ã³ããã³ã¢ãžã¥ãŒã«åã®ãªã¹ãã®ãããã³ã°ã§ãããŸãããªã¹ãã®äžã«ç¹å¥ãªãã¡ã¿ããŒã¿ããã£ã¯ã·ã§ããªãŒãæã£ãŠããå Žåããããããã䜿ã£ãŠä»ã®ã°ã«ãŒãã®ã¢ã¯ã·ã§ã³ãå«ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_structure.rst:286
msgid ":ref:`distributing_collections`"
msgstr ":ref:`distributing_collections`"
#: ../../rst/dev_guide/developing_collections_structure.rst:287
msgid "Learn how to package and publish your collection"
msgstr "ã³ã¬ã¯ã·ã§ã³ãããã±ãŒãžåããå
¬éããæ¹æ³ã説æããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:5
msgid "Testing collections"
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ãã¹ã"
#: ../../rst/dev_guide/developing_collections_testing.rst:7
msgid "Testing your collection ensures that your code works well and integrates well with the rest of the Ansible ecosystem. Your collection should pass the general compile and sanity tests for Ansible code. You should also add unit tests to cover the code in your collection and integration tests to cover the interactions between your collection and ansible-core."
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ãã¹ãã«ãããã³ãŒããé©åã«æ©èœããAnsible ãšã³ã·ã¹ãã ã®ä»ã®éšåãšã®çµ±åæ§ãåäžããŸããã³ã¬ã¯ã·ã§ã³ã§ã¯ãAnsible ã³ãŒãã®äžè¬çãªã³ã³ãã€ã«ããã³å¥å
šæ§ãã¹ããæž¡ããŸãããŸããã³ã¬ã¯ã·ã§ã³ã®ã³ãŒãã«å¯Ÿå¿ãããŠããããã¹ããšãã³ã¬ã¯ã·ã§ã³ãš ansible-core ãšã®éã®å¯Ÿè©±ã«å¯Ÿå¿ããçµ±åãã¹ããè¿œå ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:14
msgid "Testing tools"
msgstr "ãã¹ãããŒã«"
#: ../../rst/dev_guide/developing_collections_testing.rst:16
msgid "The main tool for testing collections is ``ansible-test``, Ansible's testing tool described in :ref:`developing_testing` and provided by both the ``ansible`` and ``ansible-core`` packages."
msgstr "ã³ã¬ã¯ã·ã§ã³ããã¹ãããäž»ãªããŒã«ã¯ã:ref:`developing_testing` ã§èª¬æãããŠãã Ansible ã®ãã¹ãããŒã« ``ansible-test`` ã§ããããã¯ã``ansible`` ããã±ãŒãžãš ``ansible-core`` ããã±ãŒãžã®äž¡æ¹ã§æäŸãããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:18
msgid "You can run several compile and sanity checks, as well as run unit and integration tests for plugins using ``ansible-test``. When you test collections, test against the ansible-core version(s) you are targeting."
msgstr "ãŸããè€æ°ã®ã³ã³ãã€ã«ãã§ãã¯ãšå¥å
šæ§ãã§ãã¯ãå®è¡ãããã``ansible-test`` ã䜿çšããŠãã©ã°ã€ã³çšã«ãŠããããã¹ããçµ±åãã¹ããå®è¡ã§ããŸããã³ã¬ã¯ã·ã§ã³ããã¹ãããå Žåã«ã䜿çšãã ansible-core ããŒãžã§ã³ã«å¯ŸããŠãã¹ãããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:20
msgid "You must always execute ``ansible-test`` from the root directory of a collection. You can run ``ansible-test`` in Docker containers without installing any special requirements. The Ansible team uses this approach in Azure Pipelines both in the ansible/ansible GitHub repository and in the large community collections such as `community.general <https://github.com/ansible-collections/community.general/>`_ and `community.network <https://github.com/ansible-collections/community.network/>`_. The examples below demonstrate running tests in Docker containers."
msgstr "åžžã«ãã³ã¬ã¯ã·ã§ã³ã®ã«ãŒããã£ã¬ã¯ããªãŒããã``ansible-test`` ãå®è¡ããå¿
èŠããããŸããç¹å¥ãªèŠä»¶ãã€ã³ã¹ããŒã«ããã« Docker ã³ã³ãããŒã® ``ansible-test`` ãå®è¡ã§ããŸããAnsible ããŒã ã¯ãansible/ansible GitHub ãªããžããªãŒãšã`community.general <https://github.com/ansible-collections/community.general/>`_ ã `community.network <https://github.com/ansible-collections/community.network/>`_ ãããªå€§èŠæš¡ãªã³ãã¥ããã£ãŒã³ã¬ã¯ã·ã§ã³ã®äž¡æ¹ã® Azure Pipeline ã§ããã®ã¢ãããŒãã䜿çšããŸãã以äžã®äŸã§ã¯ãDocker ã³ã³ãããŒã§ãã¹ãã®å®è¡æ¹æ³ã瀺ããŠããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:23
msgid "Compile and sanity tests"
msgstr "ã³ã³ãã€ã«ãšå¥å
šæ§ãã¹ã"
#: ../../rst/dev_guide/developing_collections_testing.rst:25
msgid "To run all compile and sanity tests:"
msgstr "ãã¹ãŠã®ã³ã³ãã€ã«ããã³å¥å
šæ§ãã¹ããå®è¡ããã«ã¯ã以äžãå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:31
msgid "See :ref:`testing_compile` and :ref:`testing_sanity` for more information. See the :ref:`full list of sanity tests <all_sanity_tests>` for details on the sanity tests and how to fix identified issues."
msgstr "詳现ã¯ã:ref:`testing_compile` ããã³ :ref:`testing_sanity` ãåç
§ããŠãã ãããå¥å
šæ§ãã¹ãã®è©³çŽ°ãšãç¹å®ãããåé¡ãä¿®æ£ããæ¹æ³ã¯ãã:ref:`å¥å
šæ§ãã¹ãã®å®å
šãªã¹ã <all_sanity_tests>`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_testing.rst:34
msgid "Adding unit tests"
msgstr "ãŠããããã¹ãã®è¿œå "
#: ../../rst/dev_guide/developing_collections_testing.rst:36
msgid "You must place unit tests in the appropriate ``tests/unit/plugins/`` directory. For example, you would place tests for ``plugins/module_utils/foo/bar.py`` in ``tests/unit/plugins/module_utils/foo/test_bar.py`` or ``tests/unit/plugins/module_utils/foo/bar/test_bar.py``. For examples, see the `unit tests in community.general <https://github.com/ansible-collections/community.general/tree/main/tests/unit/>`_."
msgstr "ãŠããããã¹ããé©å㪠``tests/unit/plugins/`` ãã£ã¬ã¯ããªãŒã«çœ®ãå¿
èŠããããŸããããšãã°ã``tests/unit/plugins/module_utils/foo/test_bar.py`` ãŸã㯠``tests/unit/plugins/module_utils/foo/bar/test_bar.py`` ã® ``plugins/module_utils/foo/bar.py`` ã«ãã¹ãã眮ããŸããããšãã°ã`unit tests in community.general <https://github.com/ansible-collections/community.general/tree/main/tests/unit/>`_ ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_testing.rst:38
msgid "To run all unit tests for all supported Python versions:"
msgstr "ãµããŒãããããã¹ãŠã® Python ããŒãžã§ã³ã«å¯ŸããŠããã¹ãŠã®ãŠããããã¹ããå®è¡ããã«ã¯ã以äžã®ã³ãã³ããå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:44
msgid "To run all unit tests only for a specific Python version:"
msgstr "ç¹å®ã® Python ããŒãžã§ã³ã«å¯ŸããŠã®ã¿ããŠããããã¹ãããã¹ãŠå®è¡ããã«ã¯ã以äžãå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:50
msgid "To run only a specific unit test:"
msgstr "ç¹å®ã®ãŠããããã¹ãã®ã¿ãå®è¡ããã«ã¯ã以äžãå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:56
msgid "You can specify Python requirements in the ``tests/unit/requirements.txt`` file. See :ref:`testing_units` for more information, especially on fixture files."
msgstr "``tests/unit/requirements.txt`` ãã¡ã€ã«ã§ Python èŠä»¶ãæå®ã§ããŸãã詳现 (ç¹ã«ãã£ã¯ã¹ãã£ãŒãã¡ã€ã«ã®è©³çŽ°) ã¯ãã:ref:`testing_units`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_testing.rst:61
msgid "Adding integration tests"
msgstr "çµ±åãã¹ãã®è¿œå "
#: ../../rst/dev_guide/developing_collections_testing.rst:63
msgid "You must place integration tests in the appropriate ``tests/integration/targets/`` directory. For module integration tests, you can use the module name alone. For example, you would place integration tests for ``plugins/modules/foo.py`` in a directory called ``tests/integration/targets/foo/``. For non-module plugin integration tests, you must add the plugin type to the directory name. For example, you would place integration tests for ``plugins/connections/bar.py`` in a directory called ``tests/integration/targets/connection_bar/``. For lookup plugins, the directory must be called ``lookup_foo``, for inventory plugins, ``inventory_foo``, and so on."
msgstr "çµ±åãã¹ãã¯ãé©å㪠``tests/integration/targets/`` ãã£ã¬ã¯ããªãŒã«çœ®ãå¿
èŠããããŸããã¢ãžã¥ãŒã«ã®çµ±åãã¹ãã§ã¯ãã¢ãžã¥ãŒã«åã ãã䜿çšããããšãã§ããŸããããšãã°ã``plugins/modules/foo.py`` ã®çµ±åãã¹ãã ``tests/integration/targets/foo/`` ãšãããã£ã¬ã¯ããªãŒã«çœ®ãããšã«ãªããŸããã¢ãžã¥ãŒã«ä»¥å€ã®ãã©ã°ã€ã³ã®çµ±åãã¹ãã§ã¯ããã£ã¬ã¯ããªãŒåã«ãã©ã°ã€ã³ã¿ã€ããè¿œå ããå¿
èŠããããŸããããšãã°ã``plugins/connections/bar.py`` ã®çµ±åãã¹ãã¯ã``tests/integration/targets/connection_bar/`` ãšãããã£ã¬ã¯ããªãŒã«çœ®ãããšã«ãªããŸããããšãã°ãã«ãã¯ã¢ãããã©ã°ã€ã³ã®å Žåããã£ã¬ã¯ããªãŒå㯠``lookup_foo`` ãšãªããã€ã³ãã³ããªãã©ã°ã€ã³ã®å Žåã¯ã``inventory_foo`` ãšãªããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:65
msgid "You can write two different kinds of integration tests:"
msgstr "2 çš®é¡ã®çµ±åãã¹ããäœæã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:67
msgid "Ansible role tests run with ``ansible-playbook`` and validate various aspects of the module. They can depend on other integration tests (usually named ``prepare_bar`` or ``setup_bar``, which prepare a service or install a requirement named ``bar`` in order to test module ``foo``) to set-up required resources, such as installing required libraries or setting up server services."
msgstr "Ansible ããŒã«ãã¹ãã¯ã``ansible-playbook`` ã§å®è¡ãããã¢ãžã¥ãŒã«ã®ããŸããŸãªåŽé¢ãæ€èšŒããŸãããããã®ãã¹ãã¯ãä»ã®çµ±åãã¹ã (éåžž ``prepare_bar`` ãŸã㯠``setup_bar`` ãšåŒã°ããã¢ãžã¥ãŒã« ``foo`` ããã¹ãããããã«ãµãŒãã¹ãæºåãããã``bar`` ãšããèŠä»¶ãã€ã³ã¹ããŒã«ããããã) ã«äŸåããŠãå¿
èŠãªã©ã€ãã©ãªãŒã®ã€ã³ã¹ããŒã«ããµãŒããŒãµãŒãã¹ã®èšå®ãªã©ãå¿
èŠãªãªãœãŒã¹ãèšå®ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:68
msgid "``runme.sh`` tests run directly as scripts. They can set up inventory files, and execute ``ansible-playbook`` or ``ansible-inventory`` with various settings."
msgstr "``runme.sh`` ãã¹ãã¯ãçŽæ¥ã¹ã¯ãªãããšããŠå®è¡ãããŸããã€ã³ãã³ããªãŒãã¡ã€ã«ãèšå®ããããŸããŸãªèšå®ã§ ``ansible-playbook`` ãŸã㯠``ansible-inventory`` ãå®è¡ã§ããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:70
msgid "For examples, see the `integration tests in community.general <https://github.com/ansible-collections/community.general/tree/main/tests/integration/targets/>`_. See also :ref:`testing_integration` for more details."
msgstr "äŸã«ã€ããŠã¯ã`integration tests in community.general <https://github.com/ansible-collections/community.general/tree/main/tests/integration/targets/>`_ ãåç
§ããŠãã ããã詳现ã¯ã:ref:`testing_integration` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_collections_testing.rst:72
msgid "Since integration tests can install requirements, and set-up, start and stop services, we recommended running them in docker containers or otherwise restricted environments whenever possible. By default, ``ansible-test`` supports Docker images for several operating systems. See the `list of supported docker images <https://github.com/ansible/ansible/blob/devel/test/lib/ansible_test/_data/completion/docker.txt>`_ for all options. Use the ``default`` image mainly for platform-independent integration tests, such as those for cloud modules. The following examples use the ``fedora35`` image."
msgstr "çµ±åãã¹ãã¯ãèŠä»¶ã®ã€ã³ã¹ããŒã«ãããµãŒãã¹ã®èšå®ãéå§ãããã³åæ¢ãè¡ãããšãã§ãããããå¯èœãªéããDocker ã³ã³ãããŒããå¶éãããç°å¢ã§å®è¡ããããšãæšå¥šãããŸããããã©ã«ãã§ã¯ã``ansible-test`` ã¯è€æ°ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã® Docker ã€ã¡ãŒãžããµããŒãããŸãããã¹ãŠã®ãªãã·ã§ã³ã¯ `list of supported docker images <https://github.com/ansible/ansible/blob/devel/test/lib/ansible_test/_data/completion/docker.txt>`_ ãåç
§ããŠãã ãããã¯ã©ãŠãã¢ãžã¥ãŒã«çšãªã©ã®ãã©ãããã©ãŒã ã«äŸåããªãçµ±åãã¹ãã«ã¯ã䞻㫠``default`` ã€ã¡ãŒãžã䜿çšããŸãã以äžã®äŸã§ã¯ã``fedora35`` ã€ã¡ãŒãžã䜿çšãããŠããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:74
msgid "To execute all integration tests for a collection:"
msgstr "ã³ã¬ã¯ã·ã§ã³ã«å¯ŸããŠçµ±åãã¹ãããã¹ãŠå®è¡ããã«ã¯ã次ãå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:80
msgid "If you want more detailed output, run the command with ``-vvv`` instead of ``-v``. Alternatively, specify ``--retry-on-error`` to automatically re-run failed tests with higher verbosity levels."
msgstr "ãã詳现ãªåºåãå¿
èŠãªå Žåã¯ã``-v`` ã§ã¯ãªãã``-vvv`` ã§ã³ãã³ããå®è¡ããŸãããããã¯ã``--retry-on-error`` ãæå®ããŠã倱æãããã¹ããã詳现ã¬ãã«ããããŠèªåçã«åå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:82
msgid "To execute only the integration tests in a specific directory:"
msgstr "ç¹å®ã®ãã£ã¬ã¯ããªãŒã§çµ±åãã¹ãã®ã¿ãå®è¡ããã«ã¯ã以äžãè¡ããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:88
msgid "You can specify multiple target names. Each target name is the name of a directory in ``tests/integration/targets/``."
msgstr "è€æ°ã®ã¿ãŒã²ããåãæå®ã§ããŸããã¿ãŒã²ããå㯠``tests/integration/targets/`` ã®ãã£ã¬ã¯ããªãŒã®ååã«ãªããŸãã"
#: ../../rst/dev_guide/developing_collections_testing.rst:92
msgid ":ref:`developing_testing`"
msgstr ":ref:`developing_testing`"
#: ../../rst/dev_guide/developing_collections_testing.rst:93
msgid "More resources on testing Ansible"
msgstr "Ansible ã®ãã¹ãã«é¢ãããã®ä»ã®ãªãœãŒã¹"
#: ../../rst/dev_guide/developing_core.rst:3
msgid "Developing ``ansible-core``"
msgstr "``ansible-core`` ã®éçº"
#: ../../rst/dev_guide/developing_core.rst:5
msgid "Although ``ansible-core`` (the code hosted in the `ansible/ansible repository <https://github.com/ansible/ansible>`_ on GitHub) includes a few plugins that can be swapped out via playbook directives or configuration, much of the code there is not modular. The documents here give insight into how the parts of ``ansible-core`` work together."
msgstr "``ansible-core`` (GitHub ã® `ansible/ansible ãªããžããªãŒ <https://github.com/ansible/ansible>`_ ã§ãã¹ããããã³ãŒã) ã«ã¯ãPlaybook ãã£ã¬ã¯ãã£ããŸãã¯èšå®ãä»ããŠã¹ã¯ããã§ãããã©ã°ã€ã³ãå«ãŸããŠããŸãããã¢ãžã¥ãŒã«åãããªãã³ãŒããå€ããããŸãããŸãã``ansible-core`` ã®äžéšãé£æºããæ¹æ³ã«é¢ããããã¥ã¡ã³ãã§ãã"
#: ../../rst/dev_guide/developing_core.rst:15
#: ../../rst/dev_guide/developing_inventory.rst:473
#: ../../rst/dev_guide/developing_plugins.rst:540
msgid ":ref:`developing_api`"
msgstr ":ref:`developing_api`"
#: ../../rst/dev_guide/developing_core.rst:16
#: ../../rst/dev_guide/developing_plugins.rst:541
msgid "Learn about the Python API for task execution"
msgstr "ã¿ã¹ã¯å®è¡çšã® Python API ã«ã€ããŠ"
#: ../../rst/dev_guide/developing_core.rst:18
msgid "Learn about developing plugins"
msgstr "ãã©ã°ã€ã³ã®éçºã«ã€ããŠ"
#: ../../rst/dev_guide/developing_core.rst:21
#: ../../rst/dev_guide/style_guide/index.rst:337
msgid "`irc.libera.chat <https://libera.chat>`_"
msgstr "`irc.libera.chat <https://libera.chat>`_"
#: ../../rst/dev_guide/developing_core.rst:22
msgid "#ansible-devel IRC chat channel"
msgstr "IRC ãã£ãããã£ã³ãã« (#ansible-devel)"
#: ../../rst/dev_guide/developing_inventory.rst:5
msgid "Developing dynamic inventory"
msgstr "åçã€ã³ãã³ããªãŒã®éçº"
#: ../../rst/dev_guide/developing_inventory.rst:7
msgid "Ansible can pull inventory information from dynamic sources, including cloud sources, by using the supplied :ref:`inventory plugins <inventory_plugins>`. For details about how to pull inventory information, see :ref:`dynamic_inventory`. If the source you want is not currently covered by existing plugins, you can create your own inventory plugin as with any other plugin type."
msgstr "Ansible ã¯ãæå®ããã :ref:`ã€ã³ãã³ããªãŒãã©ã°ã€ã³ <inventory_plugins>` ã䜿çšããŠãã¯ã©ãŠããœãŒã¹ãå«ãåçãœãŒã¹ããã€ã³ãã³ããªãŒæ
å ±ããã«ããããšãã§ããŸããã€ã³ãã³ããªãŒæ
å ±ã®ãã«æ¹æ³ã®è©³çŽ°ã¯ãã:ref:`dynamic_inventory`ããåç
§ããŠãã ãããçŸåšãæ¢åã®ãã©ã°ã€ã³ã§å¯Ÿè±¡ãšããŠããªããœãŒã¹ã«ã€ããŠã¯ãä»ã®ãã©ã°ã€ã³ã¿ã€ãã§ç¬èªã®ã€ã³ãã³ããªãŒãã©ã°ã€ã³ãäœæã§ããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:9
msgid "In previous versions, you had to create a script or program that could output JSON in the correct format when invoked with the proper arguments. You can still use and write inventory scripts, as we ensured backwards compatibility via the :ref:`script inventory plugin <script_inventory>` and there is no restriction on the programming language used. If you choose to write a script, however, you will need to implement some features yourself such as caching, configuration management, dynamic variable and group composition, and so on. If you use :ref:`inventory plugins <inventory_plugins>` instead, you can use the Ansible codebase and add these common features automatically."
msgstr "以åã®ããŒãžã§ã³ã§ã¯ãé©åãªåŒæ°ã§åŒã³åºããããšãã«æ£ãã圢åŒã§ JSON ãåºåã§ããã¹ã¯ãªãããããã°ã©ã ãäœæããå¿
èŠããããŸããã:ref:`script inventory plugin <script_inventory>` ãéããŠåŸæ¹äºææ§ã確ä¿ããŠããã䜿çšããããã°ã©ãã³ã°èšèªã«ãå¶éããªããããã€ã³ãã³ããªãŒã¹ã¯ãªããã䜿çšãããæžãããããããšãã§ããŸãããã ããã¹ã¯ãªãããæžãå Žåã¯ããã£ãã·ã¥ãèšå®ç®¡çãåçãªå€æ°ãã°ã«ãŒãã®æ§æãªã©ãããã€ãã®æ©èœãèªåã§å®è£
ããå¿
èŠããããŸãã代ããã« :ref:`inventory plugins <inventory_plugins>` ã䜿çšããã°ãAnsible ã®ã³ãŒãããŒã¹ã䜿çšãããããã®å
±éæ©èœãèªåçã«è¿œå ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:22
msgid "Inventory sources"
msgstr "ã€ã³ãã³ããªãŒãœãŒã¹"
#: ../../rst/dev_guide/developing_inventory.rst:24
msgid "Inventory sources are the input strings that inventory plugins work with. An inventory source can be a path to a file or to a script, or it can be raw data that the plugin can interpret."
msgstr "ã€ã³ãã³ããªãŒãœãŒã¹ã¯ãã€ã³ãã³ããªãŒãã©ã°ã€ã³ãæ©èœããå
¥åæååã§ããã€ã³ãã³ããªãŒãœãŒã¹ã¯ãã¡ã€ã«ãŸãã¯ã¹ã¯ãªãããžã®ãã¹ã«ãããããã©ã°ã€ã³ã解éã§ããçã®ããŒã¿ã«ãªããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:27
msgid "The table below shows some examples of inventory plugins and the source types that you can pass to them with ``-i`` on the command line."
msgstr "以äžã®è¡šã¯ãã³ãã³ãã©ã€ã³ã§ ``-i`` ã䜿çšããŠãã€ã³ãã³ããªãŒãã©ã°ã€ã³ã®äŸãšããã©ã°ã€ã³ã«æž¡ãããšãã§ãããœãŒã¹ã¿ã€ãã瀺ããŠããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:30
msgid "Plugin"
msgstr "ãã©ã°ã€ã³"
#: ../../rst/dev_guide/developing_inventory.rst:30
msgid "Source"
msgstr "ãœãŒã¹"
#: ../../rst/dev_guide/developing_inventory.rst:32
msgid ":ref:`host list <host_list_inventory>`"
msgstr ":ref:`host list <host_list_inventory>`"
#: ../../rst/dev_guide/developing_inventory.rst:32
msgid "A comma-separated list of hosts"
msgstr "ãã¹ãã®ã³ã³ãåºåããªã¹ã"
#: ../../rst/dev_guide/developing_inventory.rst:34
msgid ":ref:`yaml <yaml_inventory>`"
msgstr ":ref:`yaml <yaml_inventory>`"
#: ../../rst/dev_guide/developing_inventory.rst:34
msgid "Path to a YAML format data file"
msgstr "YAML 圢åŒã®ããŒã¿ãã¡ã€ã«ãžã®ãã¹"
#: ../../rst/dev_guide/developing_inventory.rst:36
msgid ":ref:`constructed <constructed_inventory>`"
msgstr ":ref:`constructed <constructed_inventory>`"
#: ../../rst/dev_guide/developing_inventory.rst:36
#: ../../rst/dev_guide/developing_inventory.rst:40
msgid "Path to a YAML configuration file"
msgstr "YAML èšå®ãã¡ã€ã«ãžã®ãã¹"
#: ../../rst/dev_guide/developing_inventory.rst:38
msgid ":ref:`ini <ini_inventory>`"
msgstr ":ref:`ini <ini_inventory>`"
#: ../../rst/dev_guide/developing_inventory.rst:38
msgid "Path to an INI formatted data file"
msgstr "INI 圢åŒã®ããŒã¿ãã¡ã€ã«ãžã®ãã¹"
#: ../../rst/dev_guide/developing_inventory.rst:40
msgid ":ref:`virtualbox <virtualbox_inventory>`"
msgstr ":ref:`virtualbox <virtualbox_inventory>`"
#: ../../rst/dev_guide/developing_inventory.rst:42
msgid ":ref:`script plugin <script_inventory>`"
msgstr ":ref:`script plugin <script_inventory>`"
#: ../../rst/dev_guide/developing_inventory.rst:42
msgid "Path to an executable that outputs JSON"
msgstr "JSON ãåºåããå®è¡å¯èœãã¡ã€ã«ãžã®ãã¹"
#: ../../rst/dev_guide/developing_inventory.rst:49
#: ../../rst/dev_guide/developing_plugins.rst:334
msgid "Inventory plugins"
msgstr "inventory ãã©ã°ã€ã³"
#: ../../rst/dev_guide/developing_inventory.rst:51
msgid "Like most plugin types (except modules), inventory plugins must be developed in Python. They execute on the controller and should therefore adhere to the :ref:`control_node_requirements`."
msgstr "ã»ãšãã©ã®ãã©ã°ã€ã³ã¿ã€ã (ã¢ãžã¥ãŒã«ãé€ã) ãšåæ§ã«ãããã㯠Python ã§éçºãããªããã°ãªããŸãããã³ã³ãããŒã©ãŒäžã§å®è¡ãããããã:ref:`control_node_requirements`ããšåãèŠä»¶ã«äžèŽãããªããã°ãªããŸããã"
#: ../../rst/dev_guide/developing_inventory.rst:53
msgid "Most of the documentation in :ref:`developing_plugins` also applies here. You should read that document first for a general understanding and then come back to this document for specifics on inventory plugins."
msgstr ":ref:`developing_plugins` ã«é¢ããããã¥ã¡ã³ãã®å€ãã¯ããã§ãé©çšãããŠããŸããäžè¬çãªç解ã®ããã«æåã«ãã®ããã¥ã¡ã³ããèªãã§ãããæ¬ã¬ã€ã㧠inventory ãã©ã°ã€ã³ã®è©³çŽ°ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_inventory.rst:55
msgid "Normally, inventory plugins are executed at the start of a run, and before the playbooks, plays, or roles are loaded. However, you can use the ``meta: refresh_inventory`` task to clear the current inventory and execute the inventory plugins again, and this task will generate a new inventory."
msgstr "éåžžãã€ã³ãã³ããªãŒãã©ã°ã€ã³ã¯å®è¡ã®éå§æãããã³ Playbookããã¬ã€ããŸãã¯ããŒã«ãèªã¿èŸŒãŸããåã«å®è¡ããŸãããã ãã``meta: refresh_inventory`` ã¿ã¹ã¯ã䜿çšããŠçŸåšã®ã€ã³ãã³ããªãŒãæ¶å»ããŠã€ã³ãã³ããªãŒãã©ã°ã€ã³ãåå®è¡ããããšãã§ããŸãããŸãããã®ã¿ã¹ã¯ã¯æ°ããã€ã³ãã³ããªãŒãçæããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:58
msgid "If you use the persistent cache, inventory plugins can also use the configured cache plugin to store and retrieve data. Caching inventory avoids making repeated and costly external calls."
msgstr "æ°žç¶ãã£ãã·ã¥ã䜿çšããå Žåãinventory ãã©ã°ã€ã³ã¯èšå®æžã¿ã® cache ãã©ã°ã€ã³ã䜿çšããŠããŒã¿ãä¿åããã³ååŸããã³ã¹ããããããç¹°ãè¿ããããå€éšåŒã³åºããåé¿ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:63
msgid "Developing an inventory plugin"
msgstr "inventory ãã©ã°ã€ã³ã®éçº"
#: ../../rst/dev_guide/developing_inventory.rst:65
msgid "The first thing you want to do is use the base class:"
msgstr "æåã«è¡ãã®ã¯ãããŒã¹ã¯ã©ã¹ã䜿çšããããšã§ãã"
#: ../../rst/dev_guide/developing_inventory.rst:75
msgid "If the inventory plugin is in a collection, the NAME should be in the 'namespace.collection_name.myplugin' format. The base class has a couple of methods that each plugin should implement and a few helpers for parsing the inventory source and updating the inventory."
msgstr "inventory ãã©ã°ã€ã³ãã³ã¬ã¯ã·ã§ã³ã«ããå ŽåãNAME ã¯ãnamespace.collection_name.mypluginã圢åŒã§ããå¿
èŠããããŸãããã®ããŒã¹ã¯ã©ã¹ã¯ãåãã©ã°ã€ã³ãå®è£
ããå¿
èŠã®ããããã€ãã®ã¡ãœãããšãã€ã³ãã³ããªãŒãœãŒã¹ã解æããŠã€ã³ãã³ããªãŒãæŽæ°ããããã®ãã«ããŒãããã€ããããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:77
msgid "After you have the basic plugin working, you can incorporate other features by adding more base classes:"
msgstr "åºæ¬çãªãã©ã°ã€ã³ãåäœããããã«ãªã£ãããããå€ãã®åºæ¬ã¯ã©ã¹ãè¿œå ããããšã§ä»ã®æ©èœãçµã¿èŸŒãããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:87
msgid "For the bulk of the work in a plugin, we mostly want to deal with 2 methods ``verify_file`` and ``parse``."
msgstr "ãã©ã°ã€ã³ã§ã®äœæ¥ã®å€§éšåã§ã¯ã䞻㫠2 ã€ã®ã¡ãœãã (``verify_file`` ãš ``parse``) ãæ±ããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:92
msgid "verify_file method"
msgstr "verify_file ã¡ãœãã"
#: ../../rst/dev_guide/developing_inventory.rst:94
msgid "Ansible uses this method to quickly determine if the inventory source is usable by the plugin. The determination does not need to be 100% accurate, as there might be an overlap in what plugins can handle and by default Ansible will try the enabled plugins as per their sequence."
msgstr "Ansible ã¯ãã®ã¡ãœããã䜿çšããŠãã€ã³ãã³ããªãœãŒã¹ããã©ã°ã€ã³ã§äœ¿çšå¯èœãã©ãããè¿
éã«å€æããŸãããã®å€å®ã¯ 100ïŒ
æ£ç¢ºã§ããå¿
èŠã¯ãããŸããããªããªãããã©ã°ã€ã³ãåŠçã§ããå
容ã«ã¯éè€ããããããã©ã«ãã§ã¯ Ansible ã¯æå¹ãªãã©ã°ã€ã³ãé çªã«è©ŠããŠããããã§ãã"
#: ../../rst/dev_guide/developing_inventory.rst:107
msgid "In the above example, from the :ref:`virtualbox inventory plugin <virtualbox_inventory>`, we screen for specific file name patterns to avoid attempting to consume any valid YAML file. You can add any type of condition here, but the most common one is 'extension matching'. If you implement extension matching for YAML configuration files, the path suffix <plugin_name>.<yml|yaml> should be accepted. All valid extensions should be documented in the plugin description."
msgstr "äžèšã®äŸã§ã¯ã:ref:`virtualbox inventory ãã©ã°ã€ã³ <virtualbox_inventory>` ããã¯ãæå¹ãª YAML ãã¡ã€ã«ã®äœ¿çšãè©Šã¿ãªãããã«ãç¹å®ã®ãã¡ã€ã«åãã¿ãŒã³ãåãåããŸããããã«ä»»æã®ã¿ã€ãã®æ¡ä»¶ãè¿œå ã§ããŸãããæãäžè¬çãªãã®ã¯ãæ¡åŒµåã®äžèŽãã§ããYAML èšå®ãã¡ã€ã«ã«äžèŽããæ¡åŒµåãå®è£
ããå Žåã¯ããã¹ãµãã£ãã¯ã¹ <plugin_name>.<yml|yaml> ãèš±å¯ãããå¿
èŠããããŸããæå¹ãªãã¹ãŠã®æ¡åŒµæ©èœã¯ããã©ã°ã€ã³ã®èª¬æã«èšèŒãããŠããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:109
msgid "The following is another example that does not use a 'file' but the inventory source string itself, from the :ref:`host list <host_list_inventory>` plugin:"
msgstr "以äžã¯ãããã¡ã€ã«ãã䜿çšããã:ref:`host list <host_list_inventory>` ãã©ã°ã€ã³ããã€ã³ãã³ããªãœãŒã¹æååèªäœã䜿çšããå¥ã®äŸã§ãã"
#: ../../rst/dev_guide/developing_inventory.rst:124
msgid "This method is just to expedite the inventory process and avoid unnecessary parsing of sources that are easy to filter out before causing a parse error."
msgstr "ãã®æ¹æ³ã¯ãinventory ããã»ã¹ãè¿
éåãã解æãšã©ãŒã®åå ã«ãªãåã«ç°¡åã«é€å€ã§ãããœãŒã¹ã®äžèŠãªè§£æãåé¿ããããã®ãã®ã§ãã"
#: ../../rst/dev_guide/developing_inventory.rst:129
msgid "parse method"
msgstr "解æã¡ãœãã"
#: ../../rst/dev_guide/developing_inventory.rst:131
msgid "This method does the bulk of the work in the plugin. It takes the following parameters:"
msgstr "ãã®æ¹æ³ã¯ããã©ã°ã€ã³ã®äœæ¥ã®å€§éšåãè¡ããŸãããã®ã¡ãœããã¯ã以äžã®ãã©ã¡ãŒã¿ãŒãåããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:134
msgid "inventory: inventory object with existing data and the methods to add hosts/groups/variables to inventory"
msgstr "inventory: æ¢åã®ããŒã¿ãšããã¹ã/ã°ã«ãŒã/å€æ°ãã€ã³ãã³ããªãŒã«è¿œå ããã¡ãœããããã inventory ãªããžã§ã¯ãã"
#: ../../rst/dev_guide/developing_inventory.rst:135
msgid "loader: Ansible's DataLoader. The DataLoader can read files, auto load JSON/YAML and decrypt vaulted data, and cache read files."
msgstr "loader: Ansible ã® DataLoader ã§ããDataLoader ã¯ããã¡ã€ã«ã®èªã¿åããJSON/YAML ã®èªåèªã¿èŸŒã¿ãvault ã䜿çšããããŒã¿ã®åŸ©å·åãããã³èªã¿åããã¡ã€ã«ã®ãã£ãã·ã¥ãè¡ãããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:136
msgid "path: string with inventory source (this is usually a path, but is not required)"
msgstr "path: ã€ã³ãã³ããªãŒãœãŒã¹ãæã€æåå (éåžžãããã¯ãã¹ã§ãããå¿
é ã§ã¯ãããŸãã)ã"
#: ../../rst/dev_guide/developing_inventory.rst:137
msgid "cache: indicates whether the plugin should use or avoid caches (cache plugin and/or loader)"
msgstr "cache: ãã©ã°ã€ã³ããã£ãã·ã¥ã䜿çšãããã©ããã瀺ããŸã (ãã£ãã·ã¥ãã©ã°ã€ã³ãŸãã¯ããŒããŒããããã¯ãã®äž¡æ¹)ã"
#: ../../rst/dev_guide/developing_inventory.rst:140
msgid "The base class does some minimal assignment for reuse in other methods."
msgstr "ããŒã¹ã¯ã©ã¹ã¯ä»ã®ã¡ãœããã§åå©çšããããã®å²ãåœãŠãæå°éã«æããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:150
msgid "It is up to the plugin now to parse the provided inventory source and translate it into Ansible inventory. To facilitate this, the example below uses a few helper functions:"
msgstr "æäŸãããã€ã³ãã³ããªãŒãœãŒã¹ã解æããããã Ansible ã€ã³ãã³ããªãŒã«å€æããã®ã¯ããã©ã°ã€ã³æ¬¡ç¬¬ã§ããããã容æã«ããããã«ã以äžã®äŸã§ã¯ããã€ãã®ãã«ããŒé¢æ°ã䜿çšããŠããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:187
msgid "The specifics will vary depending on API and structure returned. Remember that if you get an inventory source error or any other issue, you should ``raise AnsibleParserError`` to let Ansible know that the source was invalid or the process failed."
msgstr "ãã®ç¶æ³ã¯ãAPI ããã³æ§é ã®æ»ãå€ã«ãã£ãŠç°ãªããŸããã€ã³ãã³ããªãŒãœãŒã¹ãšã©ãŒãä»ã®åé¡ãååŸããå Žåã¯ã``AnsibleParserError ãçºç`` ããããœãŒã¹ãç¡å¹ã§ããããããã»ã¹ã倱æããããšã Ansible ã«éç¥ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:189
msgid "For examples on how to implement an inventory plugin, see the source code here: `lib/ansible/plugins/inventory <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/inventory>`_."
msgstr "ã€ã³ãã³ããªãŒãã©ã°ã€ã³ã®å®è£
æ¹æ³ã®äŸã¯ããœãŒã¹ã³ãŒã (`lib/ansible/plugins/inventory <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/inventory>`_) ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_inventory.rst:195
msgid "inventory cache"
msgstr "ã€ã³ãã³ããªãŒãã£ãã·ã¥"
#: ../../rst/dev_guide/developing_inventory.rst:197
msgid "To cache the inventory, extend the inventory plugin documentation with the inventory_cache documentation fragment and use the Cacheable base class."
msgstr "ã€ã³ãã³ããªãŒããã£ãã·ã¥ããã«ã¯ãã€ã³ãã³ããªãŒãã©ã°ã€ã³ã®ããã¥ã¡ã³ãã inventory_cache ããã¥ã¡ã³ããã©ã°ã¡ã³ãã§æ¡åŒµããcacheable åºæ¬ã¯ã©ã¹ã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:210
msgid "Next, load the cache plugin specified by the user to read from and update the cache. If your inventory plugin uses YAML-based configuration files and the ``_read_config_data`` method, the cache plugin is loaded within that method. If your inventory plugin does not use ``_read_config_data``, you must load the cache explicitly with ``load_cache_plugin``."
msgstr "次ã«ããŠãŒã¶ãŒãæå®ãããã£ãã·ã¥ãã©ã°ã€ã³ãèªã¿èŸŒã¿ããã£ãã·ã¥ã®èªã¿åããšæŽæ°ãè¡ããŸããã€ã³ãã³ããªãŒãã©ã°ã€ã³ã YAML ããŒã¹ã®æ§æãã¡ã€ã«ã䜿çšããŠããŠã``_read_config_data`` ã¡ãœããã®å Žåããã£ãã·ã¥ãã©ã°ã€ã³ã¯ãã®ã¡ãœããå
ã«èªã¿èŸŒãŸããŸããã€ã³ãã³ããªãŒãã©ã°ã€ã³ã ``_read_config_data`` ã䜿çšããªãå Žåã¯ã``load_cache_plugin`` ã䜿çšããŠãã£ãã·ã¥ãæ瀺çã«èªã¿èŸŒãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:221
msgid "Before using the cache plugin, you must retrieve a unique cache key by using the ``get_cache_key`` method. This task needs to be done by all inventory modules using the cache, so that you don't use/overwrite other parts of the cache."
msgstr "ãã£ãã·ã¥ãã©ã°ã€ã³ã䜿çšããåã«ã``get_cache_key`` ã¡ãœããã䜿çšããŠäžæã®ãã£ãã·ã¥ããŒãååŸããå¿
èŠããããŸãããã®ã¿ã¹ã¯ã¯ããã£ãã·ã¥ã䜿çšãããã¹ãŠã®ã€ã³ãã³ããªãŒã¢ãžã¥ãŒã«ã§å®è¡ããå¿
èŠããããŸããããã«ããããã£ãã·ã¥ã®ä»ã®éšåã䜿çš/äžæžãããªãããã«ãªããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:231
msgid "Now that you've enabled caching, loaded the correct plugin, and retrieved a unique cache key, you can set up the flow of data between the cache and your inventory using the ``cache`` parameter of the ``parse`` method. This value comes from the inventory manager and indicates whether the inventory is being refreshed (such as via ``--flush-cache`` or the meta task ``refresh_inventory``). Although the cache shouldn't be used to populate the inventory when being refreshed, the cache should be updated with the new inventory if the user has enabled caching. You can use ``self._cache`` like a dictionary. The following pattern allows refreshing the inventory to work in conjunction with caching."
msgstr "ããã§ãã£ãã·ã¥ãæå¹ã«ããæ£ãããã©ã°ã€ã³ãèªã¿èŸŒã¿ãäžæã®ãã£ãã·ã¥ããŒãååŸãã``parse`` ã¡ãœããã® ``cache`` ãã©ã¡ãŒã¿ãŒã䜿çšããŠããã£ãã·ã¥ãšã€ã³ãã³ããªãŒã®éã§ããŒã¿ã®ãããŒãèšå®ã§ããããã«ãªããŸããããã®å€ã¯ãã€ã³ãã³ããªãŒãããŒãžã£ãŒããååŸãããã€ã³ãã³ããªãŒãæŽæ°ããã (äŸ: ``--flush-cache``ãã¡ã¿ã¿ã¹ã¯ ``refresh_inventory`` ãªã©) ã瀺ããŸãããã£ãã·ã¥ã¯ãæŽæ°æã«ã€ã³ãã³ããªãŒãå
¥åããããã«äœ¿çšããŸããããã£ãã·ã¥ãæå¹ã«ããå Žåã¯ããã£ãã·ã¥ãæ°ããã€ã³ãã³ããªãŒã§æŽæ°ããå¿
èŠããããŸãããã£ã¯ã·ã§ããªãŒã®ãã㪠``self._cache`` ã䜿çšã§ããŸãã以äžã®ãã¿ãŒã³ã䜿çšãããšãã€ã³ãã³ããªãŒããã£ãã·ã¥ãšãšãã«åäœãããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:266
msgid "After the ``parse`` method is complete, the contents of ``self._cache`` is used to set the cache plugin if the contents of the cache have changed."
msgstr "``parse`` ã¡ãœãããå®äºãããšã``self._cache`` ã®å
容ã¯ããã£ãã·ã¥ã®å
容ãå€æŽãããå Žåã«ãã£ãã·ã¥ãã©ã°ã€ã³ãèšå®ããããã«äœ¿çšãããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:271
msgid "You have three other cache methods available:"
msgstr "å©çšå¯èœãª 3 ã€ã®ãã£ãã·ã¥ã¡ãœãã:"
#: ../../rst/dev_guide/developing_inventory.rst:269
msgid "``set_cache_plugin`` forces the cache plugin to be set with the contents of ``self._cache``, before the ``parse`` method completes"
msgstr "``set_cache_plugin`` ã¯ã``parse`` ã¡ãœããã®å®äºåã«ããã£ãã·ã¥ãã©ã°ã€ã³ã ``self._cache`` ã®å
容ã§åŒ·å¶çã«èšå®ããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:270
msgid "``update_cache_if_changed`` sets the cache plugin only if ``self._cache`` has been modified, before the ``parse`` method completes"
msgstr "``update_cache_if_changed`` ã¯ã``parse`` ã¡ãœãããå®äºããåã« ``self._cache`` ãå€æŽãããå Žåã®ã¿ãã£ãã·ã¥ãã©ã°ã€ã³ãèšå®ããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:271
msgid "``clear_cache`` flushes the cache, ultimately by calling the cache plugin's ``flush()`` method, whose implementation is dependent upon the particular cache plugin in use. Note that if the user is using the same cache backend for facts and inventory, both will get flushed. To avoid this, the user can specify a distinct cache backend in their inventory plugin configuration."
msgstr "``clear_cache`` ãã£ãã·ã¥ããã©ãã·ã¥ãããã£ãã·ã¥ãã©ã°ã€ã³ã® ``flush()`` ã¡ãœãããåŒã³åºãããšã§ããããã®å®è£
ã¯äœ¿çšäžã®ç¹å®ã®ãã£ãã·ã¥ãã©ã°ã€ã³ã«äŸåããŸãããã¡ã¯ããšã€ã³ãã³ããªãŒã§åããã£ãã·ã¥ããã¯ãšã³ãã䜿çšããŠããå Žåã¯ãäž¡æ¹ã®ãã£ãã·ã¥ããã¯ãšã³ãããã©ãã·ã¥ããŸãããããåé¿ããããã«ãã€ã³ãã³ããªãŒãã©ã°ã€ã³èšå®ã§åå¥ã®ãã£ãã·ã¥ããã¯ãšã³ããæå®ã§ããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:274
msgid "constructed features"
msgstr "constructed æ©èœ"
#: ../../rst/dev_guide/developing_inventory.rst:276
msgid "Inventory plugins can create host variables and groups from Jinja2 expressions and variables by using features from the ``constructed`` inventory plugin. To do this, use the ``Constructable`` base class and extend the inventory plugin's documentation with the ``constructed`` documentation fragment."
msgstr "ã€ã³ãã³ããªãŒãã©ã°ã€ã³ã¯ã``constructed`` ã€ã³ãã³ããªãŒãã©ã°ã€ã³ã®æ©èœã䜿çšããŠãJinja2 åŒããã³å€æ°ãããã¹ãå€æ°ããã³ã°ã«ãŒããäœæã§ããŸãããããè¡ãã«ã¯ã``Constructable`` ããŒã¹ã¯ã©ã¹ã䜿çšãã``constructed`` ããã¥ã¡ã³ããã©ã°ã¡ã³ãã§ããã¥ã¡ã³ããæ¡åŒµããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:289
msgid "The three main options from the ``constructed`` documentation fragment are ``compose``, ``keyed_groups``, and ``groups``. See the ``constructed`` inventory plugin for examples on using these. ``compose`` is a dictionary of variable names and Jinja2 expressions. Once a host is added to inventory and any initial variables have been set, call the method ``_set_composite_vars`` to add composed host variables. If this is done before adding ``keyed_groups`` and ``groups``, the group generation will be able to use the composed variables."
msgstr "``constructed`` ããã¥ã¡ã³ããã©ã°ã® 3 ã€ã®äž»èŠãªãªãã·ã§ã³ã¯ã``compose``ã``keyed_groups``ãããã³ ``groups`` ã§ãããããã®äœ¿çšäŸã¯ã``constructed`` ã€ã³ãã³ããªãŒãã©ã°ã€ã³ãåç
§ããŠãã ããã``compose`` ã¯ãå€æ°åããã³ Jinja2 åŒã®ãã£ã¯ã·ã§ããªãŒã§ãããã¹ããã€ã³ãã³ããªãŒã«è¿œå ãããåæå€æ°ãèšå®ããããšã``_set_composite_vars`` ã¡ãœãããåŒã³åºããŠæ§æããããã¹ãå€æ°ãè¿œå ããŸãã``keyed_groups`` ããã³ ``groups`` ãè¿œå ããåã«ãããè¡ããšãã°ã«ãŒãã®çæã¯æ§æãããå€æ°ã䜿çšã§ããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:310
msgid "By default, group names created with ``_add_host_to_composed_groups()`` and ``_add_host_to_keyed_groups()`` are valid Python identifiers. Invalid characters are replaced with an underscore ``_``. A plugin can change the sanitization used for the constructed features by setting ``self._sanitize_group_name`` to a new function. The core engine also does sanitization, so if the custom function is less strict it should be used in conjunction with the configuration setting ``TRANSFORM_INVALID_GROUP_CHARS``."
msgstr "ããã©ã«ãã§ã¯ã``_add_host_to_composed_groups()`` ããã³ ``_add_host_to_keyed_groups()`` ã§äœæãããã°ã«ãŒãåã¯æå¹ãª Python èå¥åã§ããç¡å¹ãªæåã¯ã¢ã³ããŒã¹ã³ã¢ ``_`` ã«çœ®ãæããããŸãããã©ã°ã€ã³ã¯ã``self._sanitize_group_name`` ãæ°ããæ©èœã«èšå®ããããšã§ãconstructed æ©èœã«äœ¿çšããããµãã¿ã€ãŒãŒã·ã§ã³ãå€æŽã§ããŸããã³ã¢ãšã³ãžã³ããµãã¿ã€ãŒãŒã·ã§ã³ãå®è¡ãããããã«ã¹ã¿ã æ©èœãããã»ã©å³å¯ã§ãªãå Žåã¯ãæ§æèšå® ``TRANSFORM_INVALID_GROUP_CHARS`` ãšçµã¿åãããŠäœ¿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:332
msgid "Common format for inventory sources"
msgstr "ã€ã³ãã³ããªãŒãœãŒã¹ã®å
±é圢åŒ"
#: ../../rst/dev_guide/developing_inventory.rst:334
msgid "To simplify development, most plugins use a standard YAML-based configuration file as the inventory source. The file has only one required field ``plugin``, which should contain the name of the plugin that is expected to consume the file. Depending on other common features used, you might need other fields, and you can add custom options in each plugin as required. For example, if you use the integrated caching, ``cache_plugin``, ``cache_timeout`` and other cache-related fields could be present."
msgstr "éçºãç°¡åã«ããããã«ãã»ãšãã©ã®ãã©ã°ã€ã³ã¯ã€ã³ãã³ããªãŒãœãŒã¹ãšããŠæšæºç㪠YAML ããŒã¹ã®èšå®ãã¡ã€ã«ã䜿çšããŠããŸãããã®ãã¡ã€ã«ã«ã¯ãå¿
é ãã£ãŒã«ãã 1 ã€ãããããŸãã (``plugin``)ããã®ãã£ãŒã«ãã«ã¯ããã®ãã¡ã€ã«ã䜿çšããããšãæåŸ
ããããã©ã°ã€ã³ã®ååãå
¥ããå¿
èŠããããŸãã䜿çšããä»ã®å
±éæ©èœã«ãã£ãŠã¯ãä»ã®ãã£ãŒã«ããå¿
èŠã«ãªãå Žåããããå¿
èŠã«å¿ããŠåãã©ã°ã€ã³ã«ã«ã¹ã¿ã ãªãã·ã§ã³ãè¿œå ããããšãã§ããŸããããšãã°ãçµ±åãã£ãã·ã³ã°ã䜿çšããå Žåã¯ã``cache_plugin``ã``cache_timeout`` ãªã©ã®ãã£ãã·ã¥é¢é£ã®ãã£ãŒã«ããååšããå¯èœæ§ããããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:341
msgid "The 'auto' plugin"
msgstr "ãautoããã©ã°ã€ã³"
#: ../../rst/dev_guide/developing_inventory.rst:343
msgid "From Ansible 2.5 onwards, we include the :ref:`auto inventory plugin <auto_inventory>` and enable it by default. If the ``plugin`` field in your standard configuration file matches the name of your inventory plugin, the ``auto`` inventory plugin will load your plugin. The 'auto' plugin makes it easier to use your plugin without having to update configurations."
msgstr "Ansible 2.5 以éã§ã¯ã:ref:`auto inventory plugin <auto_inventory>` ãè¿œå ãããããããã©ã«ãã§æå¹åããŸããæšæºèšå®ãã¡ã€ã«ã® ``plugin`` ãã£ãŒã«ããã€ã³ãã³ããªãŒãã©ã°ã€ã³ã®ååãšäžèŽããå Žåã``auto`` ã€ã³ãã³ããªãŒãã©ã°ã€ã³ã¯ãã©ã°ã€ã³ãèªã¿èŸŒã¿ãŸãããautoããã©ã°ã€ã³ã¯ãèšå®ãæŽæ°ããã«ãã©ã°ã€ã³ãç°¡åã«äœ¿çšã§ããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:350
msgid "Inventory scripts"
msgstr "ã€ã³ãã³ããªãŒã¹ã¯ãªãã"
#: ../../rst/dev_guide/developing_inventory.rst:352
msgid "Even though we now have inventory plugins, we still support inventory scripts, not only for backwards compatibility but also to allow users to use other programming languages."
msgstr "inventory ãã©ã°ã€ã³ã¯ãã®ãŸãŸã§ãããåŸæ¹äºææ§ã ãã§ãªãããŠãŒã¶ãŒãä»ã®ããã°ã©ãã³ã°èšèªã䜿çšã§ããããã«ãåŒãç¶ãã€ã³ãã³ããªãŒã¹ã¯ãªããããµããŒãããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:358
msgid "Inventory script conventions"
msgstr "ã€ã³ãã³ããªãŒã¹ã¯ãªããã®èŠå"
#: ../../rst/dev_guide/developing_inventory.rst:360
msgid "Inventory scripts must accept the ``--list`` and ``--host <hostname>`` arguments. Although other arguments are allowed, Ansible will not use them. Such arguments might still be useful for executing the scripts directly."
msgstr "ã€ã³ãã³ããªãŒã¹ã¯ãªããã§ã¯ãåŒæ° ``--list`` ããã³ ``--host <hostname>`` ã䜿çšããå¿
èŠããããŸããä»ã®åŒæ°ã¯èšå®ã§ããŸãããAnsible ã¯ãããã䜿çšããŸããããã®ãããªåŒæ°ã¯ãã¹ã¯ãªãããçŽæ¥å®è¡ããã®ã«åœ¹ç«ã€å ŽåããããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:363
msgid "When the script is called with the single argument ``--list``, the script must output to stdout a JSON object that contains all the groups to be managed. Each group's value should be either an object containing a list of each host, any child groups, and potential group variables, or simply a list of hosts:"
msgstr "ã¹ã¯ãªãããåäžã®åŒæ° ``--list`` ã§åŒã³åºããããšãã¹ã¯ãªããã¯ãæšæºåºåã«ã管çãããã¹ãŠã®ã°ã«ãŒããå«ãŸãã JSON ãªããžã§ã¯ããåºåããå¿
èŠããããŸããåã°ã«ãŒãã®å€ã¯ãåãã¹ããåã°ã«ãŒããããã³æœåšçãªã°ã«ãŒãå€æ°ã®äžèŠ§ãå«ããªããžã§ã¯ãããŸãã¯ç°¡åã«ãã¹ãã®äžèŠ§ã«ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:386
msgid "If any of the elements of a group are empty, they may be omitted from the output."
msgstr "ã°ã«ãŒãã®ããããã®èŠçŽ ã空ã®å Žåã¯ãåºåããçç¥ãããå¯èœæ§ããããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:388
msgid "When called with the argument ``--host <hostname>`` (where <hostname> is a host from above), the script must print a JSON object, either empty or containing variables to make them available to templates and playbooks. For example:"
msgstr "åŒæ° ``--host <hostname>`` ã§åŒã³åºãããå Žå (<hostname> ã¯äžèšã®ãã¹ã) ã§åŒã³åºããããšãã¹ã¯ãªããã¯ã空ããå€æ°ãå«ã JSON ãªããžã§ã¯ããåºåããŠããã³ãã¬ãŒããš Playbook ã§å©çšå¯èœã«ããå¿
èŠããããŸãã以äžã«äŸã瀺ããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:397
msgid "Printing variables is optional. If the script does not print variables, it should print an empty JSON object."
msgstr "å€æ°ã®åºåã¯ä»»æã§ããã¹ã¯ãªãããå€æ°ãåºåããªãå Žåã¯ã空㮠JSON ãªããžã§ã¯ããåºåããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:402
msgid "Tuning the external inventory script"
msgstr "å€éšã€ã³ãã³ããªãŒã¹ã¯ãªããã®ãã¥ãŒãã³ã°"
#: ../../rst/dev_guide/developing_inventory.rst:406
msgid "The stock inventory script system mentioned above works for all versions of Ansible, but calling ``--host`` for every host can be rather inefficient, especially if it involves API calls to a remote subsystem."
msgstr "äžèšã®ã¹ããã¯ã®ã€ã³ãã³ããªãŒã¹ã¯ãªããã·ã¹ãã ã¯ããã¹ãŠã®ããŒãžã§ã³ã® Ansible ã«å¯ŸããŠåäœããŸãããç¹ã«ãªã¢ãŒããµãã·ã¹ãã ãžã® API åŒã³åºããå¿
èŠã«ãªãå Žåã¯ããã¹ãŠã®ãã¹ãã«å¯Ÿã㊠``--host`` ãåŒã³åºãããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:408
msgid "To avoid this inefficiency, if the inventory script returns a top-level element called \"_meta\", it is possible to return all the host variables in a single script execution. When this meta element contains a value for \"hostvars\", the inventory script will not be invoked with ``--host`` for each host. This behavior results in a significant performance increase for large numbers of hosts."
msgstr "ãããåé¿ããã«ã¯ãã€ã³ãã³ããªãŒã¹ã¯ãªãããã_metaããšããæäžäœã®èŠçŽ ãè¿ãå Žåã«ã¯ãåäžã¹ã¯ãªããã®å®è¡ã§ãã¹ãŠã®ãã¹ãå€æ°ãè¿ãããšãã§ããŸãããã®ã¡ã¿èŠçŽ ã«ãhostvarsãã®å€ãå«ãŸããŠãããšãã€ã³ãã³ããªãŒã¹ã¯ãªããã¯åãã¹ãã«å¯Ÿã㊠``--host`` ã§åŒã³åºãããŸããããã®åäœã¯ãå€æ°ã®ãã¹ãã®ããã©ãŒãã³ã¹ã倧å¹
ã«åäžããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:410
msgid "The data to be added to the top-level JSON object looks like this:"
msgstr "ã¬ãã«ã® JSON ãªããžã§ã¯ãã«è¿œå ããããŒã¿ã¯æ¬¡ã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:431
msgid "To satisfy the requirements of using ``_meta``, to prevent ansible from calling your inventory with ``--host`` you must at least populate ``_meta`` with an empty ``hostvars`` object. For example:"
msgstr "Ansible ã ``--host`` ã§ã€ã³ãã³ããªãŒãåŒã³åºãã®ãé²ãããã« ``_meta`` ã䜿çšããèŠä»¶ãæºããã«ã¯ãå°ãªããšã空㮠``hostvars`` ãªããžã§ã¯ã㧠``_meta`` ãåããªããã°ãªããŸããã以äžã«äŸã瀺ããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:449
msgid "If you intend to replace an existing static inventory file with an inventory script, it must return a JSON object which contains an 'all' group that includes every host in the inventory as a member and every group in the inventory as a child. It should also include an 'ungrouped' group which contains all hosts which are not members of any other group. A skeleton example of this JSON object is:"
msgstr "æ¢åã®éçã€ã³ãã³ããªãŒãã¡ã€ã«ãã€ã³ãã³ããªãŒã¹ã¯ãªããã«çœ®ãæããå Žåã¯ãã€ã³ãã³ããªãŒå
ã®ãã¹ãŠã®ãã¹ããã¡ã³ããŒãšããŠãã€ã³ãã³ããªãŒå
ã®ãã¹ãŠã®ã°ã«ãŒããåãšããŠå«ãããã¹ãŠãã®ã°ã«ãŒããå«ã JSON ãªããžã§ã¯ããè¿ãå¿
èŠããããŸãããŸããä»ã®ã°ã«ãŒãã®ã¡ã³ããŒã§ã¯ãªããã¹ãŠã®ãã¹ããå«ããã°ã«ãŒãåãããŠããªããã°ã«ãŒããå«ããå¿
èŠããããŸãããã® JSON ãªããžã§ã¯ãã®ã¹ã±ã«ãã³ã®äŸã¯æ¬¡ã®ãšããã§ãã"
#: ../../rst/dev_guide/developing_inventory.rst:469
msgid "An easy way to see how this should look is using :ref:`ansible-inventory`, which also supports ``--list`` and ``--host`` parameters like an inventory script would."
msgstr "ãããã©ã®ããã«èŠãããã確èªããç°¡åãªæ¹æ³ã¯ã:ref:`ansible-inventory` ã䜿çšããããšã§ããããã«ãããã€ã³ãã³ããªãŒã¹ã¯ãªããã®ããã« ``--list`` ãã©ã¡ãŒã¿ãŒããã³ ``--host`` ãã©ã¡ãŒã¿ãŒããµããŒããããŸãã"
#: ../../rst/dev_guide/developing_inventory.rst:474
msgid "Python API to Playbooks and Ad Hoc Task Execution"
msgstr "Playbook ããã³ã¢ãããã¯ã¿ã¹ã¯å®è¡ã®ããã® Python API"
#: ../../rst/dev_guide/developing_inventory.rst:476
msgid "Get started with developing a module"
msgstr "ã¢ãžã¥ãŒã«ã®éçºãå§ãã"
#: ../../rst/dev_guide/developing_inventory.rst:479
msgid "`AWX <https://github.com/ansible/awx>`_"
msgstr "`AWX <https://github.com/ansible/awx>`_"
#: ../../rst/dev_guide/developing_inventory.rst:480
msgid "REST API endpoint and GUI for Ansible, syncs with dynamic inventory"
msgstr "Ansible ã® REST API ãšã³ããã€ã³ãããã³ GUI (åçã€ã³ãã³ããªãŒãšåæ)"
#: ../../rst/dev_guide/developing_locally.rst:6
msgid "Adding modules and plugins locally"
msgstr "ã¢ãžã¥ãŒã«ããã³ãã©ã°ã€ã³ãããŒã«ã«ã§è¿œå "
#: ../../rst/dev_guide/developing_locally.rst:8
msgid "You can extend Ansible by adding custom modules or plugins. You can create them from scratch or copy existing ones for local use. You can store a local module or plugin on your Ansible control node and share it with your team or organization. You can also share plugins and modules by including them in a collection, then publishing the collection on Ansible Galaxy."
msgstr "ã«ã¹ã¿ã ã¢ãžã¥ãŒã«ããã©ã°ã€ã³ãè¿œå ããŠAnsibleãæ¡åŒµããããšãã§ããŸããã«ã¹ã¿ã ã¢ãžã¥ãŒã«ããã©ã°ã€ã³ã¯ããŒãããäœæããããšããæ¢åã®ãã®ãã³ããŒããŠããŒã«ã«ã§äœ¿çšããããšãã§ããŸããããŒã«ã«ã®ã¢ãžã¥ãŒã«ããã©ã°ã€ã³ã¯ãAnsibleã³ã³ãããŒã«ããŒãã«ä¿åããŠãããŒã ãçµç¹ã§å
±æããããšãã§ããŸãããŸãããã©ã°ã€ã³ãã¢ãžã¥ãŒã«ãã³ã¬ã¯ã·ã§ã³ã«å«ãããã®ã³ã¬ã¯ã·ã§ã³ãAnsible Galaxyã§å
¬éããããšã§ãå
±æã§ããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:10
msgid "If you are using a local module or plugin but Ansible cannot find it, this page is all you need."
msgstr "ããŒã«ã«ã¢ãžã¥ãŒã«ããã©ã°ã€ã³ã䜿çšããŠããããAnsibleããããèŠã€ããããªãå Žåããã®ããŒãžã§ãã¹ãŠè§£æ±ºããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:12
msgid "If you want to create a plugin or a module, see :ref:`developing_plugins`, :ref:`developing_modules_general` and :ref:`developing_collections`."
msgstr "ãã©ã°ã€ã³ãã¢ãžã¥ãŒã«ãäœæãããå Žåã¯ã:ref:`developing_plugins`ã:ref:`developing_modules_general`ã:ref:`developing_collections` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_locally.rst:14
msgid "Extending Ansible with local modules and plugins offers shortcuts such as:"
msgstr "ããŒã«ã«ã®ã¢ãžã¥ãŒã«ããã³ãã©ã°ã€ã³ã§ Ansible ãæ¡åŒµãããšã以äžã®ãããªã·ã§ãŒãã«ãããå©çšã§ããããã«ãªããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:16
msgid "You can copy other people's modules and plugins."
msgstr "ä»ã®ãŠãŒã¶ãŒã®ã¢ãžã¥ãŒã«ããã³ãã©ã°ã€ã³ãã³ããŒã§ããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:17
msgid "When writing a new module, you can choose any programming language you like."
msgstr "æ°ããã¢ãžã¥ãŒã«ãäœæããå Žåã¯ãä»»æã®ããã°ã©ãã³ã°èšèªãéžæã§ããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:18
msgid "You do not have to clone any repositories."
msgstr "ãªããžããªãŒã®ã¯ããŒã³ãäœæããå¿
èŠã¯ãããŸããã"
#: ../../rst/dev_guide/developing_locally.rst:19
msgid "You do not have to open a pull request."
msgstr "ãã«èŠæ±ãéãå¿
èŠã¯ãããŸããã"
#: ../../rst/dev_guide/developing_locally.rst:20
msgid "You do not have to add tests (though we recommend that you do!)."
msgstr "ãã¹ããè¿œå ããå¿
èŠã¯ãããŸãã (ãã ãããã®æäœãæšå¥šããŠããŸã)ã"
#: ../../rst/dev_guide/developing_locally.rst:28
msgid "Modules and plugins: what is the difference?"
msgstr "ã¢ãžã¥ãŒã«ããã³ãã©ã°ã€ã³: çžéç¹"
#: ../../rst/dev_guide/developing_locally.rst:29
msgid "If you are looking to add functionality to Ansible, you might wonder whether you need a module or a plugin. Here is a quick overview to help you understand what you need:"
msgstr "Ansible ã«æ©èœãè¿œå ããå Žåã¯ãã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ã®ã©ã¡ããå¿
èŠãçåã«æãå ŽåããããŸãã以äžã«ãå¿
èŠãªãã®ãç解ããã®ã«åœ¹ç«ã€æŠèŠã瀺ããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:31
msgid "Modules are reusable, standalone scripts that can be used by the Ansible API, the :command:`ansible` command, or the :command:`ansible-playbook` command. Modules provide a defined interface. Each module accepts arguments and returns information to Ansible by printing a JSON string to stdout before exiting. Modules execute on the target system (usually that means on a remote system) in separate processes. Modules are technically plugins, but for historical reasons we do not usually talk about \"module plugins\"."
msgstr "ã¢ãžã¥ãŒã«ã¯ãAnsible APIã:command:`ansible` ã³ãã³ãããŸã㯠:command:`ansible-playbook` ã³ãã³ãã§äœ¿çšã§ããåå©çšå¯èœãªã¹ã¿ã³ãã¢ãã³ã¹ã¯ãªããã§ããã¢ãžã¥ãŒã«ã¯ãå®çŸ©ãããã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŸããåã¢ãžã¥ãŒã«ã¯åŒæ°ãåãå
¥ããçµäºããåã« JSON æååã stdout ã«åºåã㊠Ansible ã«æ
å ±ãè¿ããŸããã¢ãžã¥ãŒã«ã¯ãå¥ã®ããã»ã¹ã§ã¿ãŒã²ããã·ã¹ãã (éåžžã¯ãªã¢ãŒãã·ã¹ãã äž) ã§å®è¡ãããŸããã¢ãžã¥ãŒã«ã¯æè¡çã«ã¯ãã©ã°ã€ã³ã§ãããéå»ã®çµç·¯ãããéåžžãã¢ãžã¥ãŒã«ãã©ã°ã€ã³ããšã¯åŒã³ãŸããã"
#: ../../rst/dev_guide/developing_locally.rst:32
msgid ":ref:`Plugins <working_with_plugins>` extend Ansible's core functionality and execute on the control node within the ``/usr/bin/ansible`` process. Plugins offer options and extensions for the core features of Ansible - transforming data, logging output, connecting to inventory, and more."
msgstr ":ref:`Plugins <working_with_plugins>` ã¯ãAnsible ã®ã³ã¢æ©èœãæ¡åŒµãã``/usr/bin/ansible`` ããã»ã¹å
ã®ã³ã³ãããŒã«ããŒãã§å®è¡ããŸãããã©ã°ã€ã³ã¯ãAnsible ã®ã³ã¢æ©èœã®ãªãã·ã§ã³ããã³æ¡åŒµæ©èœ (ããŒã¿ã®å€æããã°åºåãã€ã³ãã³ããªãŒãžã®æ¥ç¶ãªã©) ãæäŸããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:37
msgid "Adding modules and plugins in collections"
msgstr "ã³ã¬ã¯ã·ã§ã³ã§ã®ã¢ãžã¥ãŒã«ãšãã©ã°ã€ã³ã®è¿œå "
#: ../../rst/dev_guide/developing_locally.rst:39
msgid "You can add modules and plugins by :ref:`creating a collection <developing_collections>`. With a collection, you can use custom modules and plugins in any playbook or role. You can share your collection easily at any time through Ansible Galaxy."
msgstr "ã¢ãžã¥ãŒã«ããã©ã°ã€ã³ã¯ã:ref:`creating a collection <developing_collections>` ã§è¿œå ã§ããŸããã³ã¬ã¯ã·ã§ã³ãããã°ãä»»æã®PlaybookãããŒã«ã§ã«ã¹ã¿ã ã¢ãžã¥ãŒã«ããã©ã°ã€ã³ã䜿çšããããšãã§ããŸããã³ã¬ã¯ã·ã§ã³ã¯ãAnsible Galaxyã䜿ã£ãŠãã€ã§ãç°¡åã«å
±æããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:41
msgid "The rest of this page describes other methods of using local, standalone modules or plugins."
msgstr "ãã®ããŒãžã®æ®ãã®éšåã§ã¯ãããŒã«ã«ã®ã¹ã¿ã³ãã¢ãã³ã®ã¢ãžã¥ãŒã«ããã©ã°ã€ã³ã䜿çšããä»ã®æ¹æ³ã«ã€ããŠèª¬æããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:46
msgid "Adding a module outside of a collection"
msgstr "ã³ã¬ã¯ã·ã§ã³å€ã®ã¢ãžã¥ãŒã«ã®è¿œå "
#: ../../rst/dev_guide/developing_locally.rst:48
msgid "You can configure Ansible to load standalone local modules in a specified location or locations and make them available to all playbooks and roles. Alternatively, you can make a non-collection local module available only to specific playbooks or roles."
msgstr "æå®ããå Žæã®ã¹ã¿ã³ãã¢ãã³ã®ããŒã«ã«ã¢ãžã¥ãŒã«ãèªã¿ããããã«Ansibleãèšå®ãããã¹ãŠã®PlaybookãããŒã«ã§å©çšã§ããããã«ããããšãã§ããŸãããŸããã³ã¬ã¯ã·ã§ã³ã§ã¯ãªãããŒã«ã«ã¢ãžã¥ãŒã«ãç¹å®ã®PlaybookãããŒã«ã§ã®ã¿å©çšã§ããããã«ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:51
msgid "Adding standalone local modules for all playbooks and roles"
msgstr "ãã¹ãŠã®PlaybookãšããŒã«ã«å¯Ÿããã¹ã¿ã³ãã¢ãã³ã®ããŒã«ã«ã¢ãžã¥ãŒã«ã®è¿œå "
#: ../../rst/dev_guide/developing_locally.rst:53
msgid "To load standalone local modules automatically and make them available to all playbooks and roles, use the :ref:`DEFAULT_MODULE_PATH` configuration setting or the ``ANSIBLE_LIBRARY`` environment variable. The configuration setting and environment variable take a colon-separated list, similar to ``$PATH``. You have two options:"
msgstr "ã¹ã¿ã³ãã¢ãã³ã®ããŒã«ã«ã¢ãžã¥ãŒã«ãèªåçã«èªã¿èŸŒã¿ããã¹ãŠã®PlaybookãšããŒã«ã§å©çšã§ããããã«ããã«ã¯ã:ref:`DEFAULT_MODULE_PATH` ã®æ§æèšå®ãŸãã¯``ANSIBLE_LIBRARY`` ã®ç°å¢å€æ°ã䜿çšããŸãã``$PATH`` ãšåæ§ã«ãæ§æèšå®ãç°å¢å€æ°ã¯ã³ãã³ã§åºåããããªã¹ããåãåããŸãã2ã€ã®ãªãã·ã§ã³ããããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:55
msgid "Add your standalone local module to one of the default configured locations. See the :ref:`DEFAULT_MODULE_PATH` configuration setting for details. Default locations may change without notice."
msgstr "ã¹ã¿ã³ãã¢ãã³ã®ããŒã«ã«ã¢ãžã¥ãŒã«ããããã©ã«ãã§èšå®ãããŠããå Žæã®äžã€ã«è¿œå ããŸãã詳ããã¯ã:ref:`DEFAULT_MODULE_PATH` ã®æ§æèšå®ãã芧ãã ãããããã©ã«ãã®ãã±ãŒã·ã§ã³ã¯äºåãªãå€æŽãããããšããããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:58
msgid "Add the location of your standalone local module to an environment variable or configuration:"
msgstr "ã¹ã¿ã³ãã¢ãã³ã®ããŒã«ã«ã¢ãžã¥ãŒã«ã®å Žæããç°å¢å€æ°ãèšå®ã«è¿œå ããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:57
msgid "the ``ANSIBLE_LIBRARY`` environment variable"
msgstr "``ANSIBLE_LIBRARY`` ç°å¢å€æ°"
#: ../../rst/dev_guide/developing_locally.rst:58
msgid "the :ref:`DEFAULT_MODULE_PATH` configuration setting"
msgstr ":ref:`DEFAULT_MODULE_PATH` æ§æèšå®"
#: ../../rst/dev_guide/developing_locally.rst:60
msgid "To view your current configuration settings for modules:"
msgstr "ã¢ãžã¥ãŒã«ã®çŸåšã®æ§æèšå®ã衚瀺ããã«ã¯ïŒ"
#: ../../rst/dev_guide/developing_locally.rst:66
msgid "After you save your module file in one of these locations, Ansible loads it and you can use it in any local task, playbook, or role."
msgstr "ã¢ãžã¥ãŒã«ãã¡ã€ã«ããã®ããããã®å Žæã«ä¿åãããšãAnsible ã¯ãã®ãã¡ã€ã«ãèªã¿èŸŒã¿ãããŒã«ã«ã®ã¿ã¹ã¯ãPlaybookããŸãã¯ããŒã«ã§äœ¿çšã§ããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:68
msgid "To confirm that ``my_local_module`` is available:"
msgstr "``my_local_module`` ãå©çšå¯èœã§ããããšã確èªããã«ã¯ïŒ"
#: ../../rst/dev_guide/developing_locally.rst:70
msgid "type ``ansible localhost -m my_local_module`` to see the output for that module, or"
msgstr "``ansible localhost -m my_local_module`` ãšå
¥åãããšããã®ã¢ãžã¥ãŒã«ã®åºåã衚瀺ãããŸãããããã¯ã"
#: ../../rst/dev_guide/developing_locally.rst:71
msgid "type ``ansible-doc -t module my_local_module`` to see the documentation for that module"
msgstr "``ansible-doc -t module my_local_module`` ãšå
¥åãããšããã®ã¢ãžã¥ãŒã«ã®ããã¥ã¡ã³ãã衚瀺ãããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:75
msgid "Currently, the ``ansible-doc`` command can parse module documentation only from modules written in Python. If you have a module written in a programming language other than Python, please write the documentation in a Python file adjacent to the module file."
msgstr "çŸåšã``ansible-doc`` ã³ãã³ãã¯ãPython ã§èšè¿°ãããã¢ãžã¥ãŒã«ããã®ã¿ã¢ãžã¥ãŒã«ããã¥ã¡ã³ãã解æã§ããŸããPython 以å€ã®ããã°ã©ãã³ã°èšèªã§èšè¿°ãããã¢ãžã¥ãŒã«ãããå Žåã¯ãã¢ãžã¥ãŒã«ãã¡ã€ã«ã®æšªã® Python ãã¡ã€ã«ã«ããã¥ã¡ã³ããäœæããŠãã ããã"
#: ../../rst/dev_guide/developing_locally.rst:78
msgid "Adding standalone local modules for selected playbooks or a single role"
msgstr "éžæãããã¬ã€ããã¯ãåäžã®ããŒã«ãžã®ã¹ã¿ã³ãã¢ãã³ã®ããŒã«ã«ã¢ãžã¥ãŒã«ã®è¿œå "
#: ../../rst/dev_guide/developing_locally.rst:80
msgid "Ansible automatically loads all executable files from certain directories adjacent to your playbook or role as modules. Standalone modules in these locations are available only to the specific playbook, playbooks, or role in the parent directory."
msgstr "Ansibleã¯ãPlaybookãããŒã«ã«é£æ¥ããç¹å®ã®ãã£ã¬ã¯ããªã«ãããã¹ãŠã®å®è¡å¯èœãã¡ã€ã«ãã¢ãžã¥ãŒã«ãšããŠèªåçã«èªã¿èŸŒã¿ãŸãããããã®å Žæã«ããã¹ã¿ã³ãã¢ãã³ã®ã¢ãžã¥ãŒã«ã¯ã芪ãã£ã¬ã¯ããªã«ããç¹å®ã®PlaybookãŸãã¯ããŒã«ã§ã®ã¿å©çšã§ããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:82
msgid "To use a standalone module only in a selected playbook or playbooks, store the module in a subdirectory called ``library`` in the directory that contains the playbook or playbooks."
msgstr "ã¹ã¿ã³ãã¢ãã³ã¢ãžã¥ãŒã«ãç¹å®ã®ãã¬ã€ããã¯ã§ã®ã¿äœ¿çšããã«ã¯ãPlaybookãå«ããã£ã¬ã¯ããªå
ã®``library`` ãšãããµããã£ã¬ã¯ããªã«ã¢ãžã¥ãŒã«ãä¿åããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:83
msgid "To use a standalone module only in a single role, store the module in a subdirectory called ``library`` within that role."
msgstr "ã¹ã¿ã³ãã¢ãã³ã¢ãžã¥ãŒã«ãåäžã®ããŒã«ã§ã®ã¿äœ¿çšããã«ã¯ããã®ããŒã«å
ã®``library`` ãšãããµããã£ã¬ã¯ããªã«ã¢ãžã¥ãŒã«ãä¿åããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:87
msgid "Roles contained in collections cannot contain any modules or other plugins. All plugins in a collection must live in the collection ``plugins`` directory tree. All plugins in that tree are accessible to all roles in the collection. If you are developing new modules, we recommend distributing them in :ref:`collections <developing_collections>`, not in roles."
msgstr "ã³ã¬ã¯ã·ã§ã³ã«å«ãŸããããŒã«ã¯ãã¢ãžã¥ãŒã«ãä»ã®ãã©ã°ã€ã³ãå«ãããšãã§ããŸãããã³ã¬ã¯ã·ã§ã³å
ã®ãã¹ãŠã®ãã©ã°ã€ã³ã¯ãã³ã¬ã¯ã·ã§ã³ã®``plugins`` ãã£ã¬ã¯ããªããªãŒã«æ ŒçŽãããŠããå¿
èŠããããŸãããã®ããªãŒå
ã®ãã¹ãŠã®ãã©ã°ã€ã³ã¯ãã³ã¬ã¯ã·ã§ã³å
ã®ãã¹ãŠã®ããŒã«ããã¢ã¯ã»ã¹å¯èœã§ããæ°ããã¢ãžã¥ãŒã«ãéçºããŠããå Žåã¯ãããŒã«ã§ã¯ãªãã:ref:`collections <developing_collections>` ã§é
åžããããšããå§ãããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:93
msgid "Adding a non-module plugin locally outside of a collection"
msgstr "ã¢ãžã¥ãŒã«ä»¥å€ã®ãã©ã°ã€ã³ã®ã³ã¬ã¯ã·ã§ã³å€ã§ã®ããŒã«ã«ã§ã®è¿œå "
#: ../../rst/dev_guide/developing_locally.rst:95
msgid "You can configure Ansible to load standalone local plugins in a specified location or locations and make them available to all playbooks and roles. Alternatively, you can make a standalone local plugin available only to specific playbooks or roles."
msgstr "æå®ããå Žæã®ã¹ã¿ã³ãã¢ãã³ã®ããŒã«ã«ãã©ã°ã€ã³ãèªã¿ããããã«Ansibleãèšå®ãããã¹ãŠã®PlaybookãããŒã«ã§å©çšã§ããããã«ããããšãã§ããŸãããŸããã¹ã¿ã³ãã¢ãã³ã®ããŒã«ã«ãã©ã°ã€ã³ãç¹å®ã®PlaybookãããŒã«ã§ã®ã¿å©çšã§ããããã«ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:99
msgid "Although modules are plugins, the naming patterns for directory names and environment variables that apply to other plugin types do not apply to modules. See :ref:`local_modules`."
msgstr "ã¢ãžã¥ãŒã«ã¯ãã©ã°ã€ã³ã§ãããä»ã®ãã©ã°ã€ã³ã¿ã€ãã«é©çšããããã£ã¬ã¯ããªåãç°å¢å€æ°ã®ããŒãã³ã°ãã¿ãŒã³ã¯ãã¢ãžã¥ãŒã«ã«ã¯é©çšãããŸããã:ref:`local_modules` ãã芧ãã ããã"
#: ../../rst/dev_guide/developing_locally.rst:102
msgid "Adding local non-module plugins for all playbooks and roles"
msgstr "ãã¹ãŠã®PlaybookãšããŒã«ãžã®ããŒã«ã«ã®ã¢ãžã¥ãŒã«ä»¥å€ã®ãã©ã°ã€ã³ã®è¿œå "
#: ../../rst/dev_guide/developing_locally.rst:104
msgid "To load standalone local plugins automatically and make them available to all playbooks and roles, use the configuration setting or environment variable for the type of plugin you are adding. These configuration settings and environment variables take a colon-separated list, similar to ``$PATH``. You have two options:"
msgstr "ã¹ã¿ã³ãã¢ãã³ã®ããŒã«ã«ãã©ã°ã€ã³ãèªåçã«èªã¿èŸŒã¿ããã¹ãŠã®PlaybookãšããŒã«ã§å©çšã§ããããã«ããã«ã¯ãè¿œå ãããã©ã°ã€ã³ã®ã¿ã€ãã®æ§æèšå®ãŸãã¯ç°å¢å€æ°ã䜿çšããŸãã``$PATH`` ãšåæ§ã«ããããã®æ§æèšå®ãç°å¢å€æ°ã¯ã³ãã³ã§åºåããããªã¹ããåãåããŸãã2ã€ã®ãªãã·ã§ã³ããããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:106
msgid "Add your local plugin to one of the default configured locations. See :ref:`configuration settings <ansible_configuration_settings>` for details on the correct configuration setting for the plugin type. Default locations may change without notice."
msgstr "ããŒã«ã«ãã©ã°ã€ã³ããããã©ã«ãã§èšå®ãããŠããå Žæã®1ã€ã«è¿œå ããŸãããã©ã°ã€ã³ã¿ã€ãã®æ£ããæ§æèšå®ã®è©³çŽ°ã«ã€ããŠã¯ã:ref:`configuration settings <ansible_configuration_settings>` ãã芧ãã ãããããã©ã«ãã®ãã±ãŒã·ã§ã³ã¯äºåãªãå€æŽãããããšããããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:109
msgid "Add the location of your local plugin to an environment variable or configuration:"
msgstr "ããŒã«ã«ãã©ã°ã€ã³ã®å Žæããç°å¢å€æ°ãèšå®ã«è¿œå ããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:108
msgid "the relevant ``ANSIBLE_plugin_type_PLUGINS`` environment variable - for example, ``$ANSIBLE_INVENTORY_PLUGINS`` or ``$ANSIBLE_VARS_PLUGINS``"
msgstr "é¢é£ãã``ANSIBLE_plugin_type_PLUGINS`` ç°å¢å€æ° - äŸãã°ã``$ANSIBLE_INVENTORY_PLUGINS`` ãŸã㯠``$ANSIBLE_VARS_PLUGINS``"
#: ../../rst/dev_guide/developing_locally.rst:109
msgid "the relevant ``plugin_type_PATH`` configuration setting, most of which begin with ``DEFAULT_`` - for example, ``DEFAULT_CALLBACK_PLUGIN_PATH`` or ``DEFAULT_FILTER_PLUGIN_PATH`` or ``BECOME_PLUGIN_PATH``"
msgstr "é¢é£ãã``plugin_type_PATH`` æ§æèšå®ïŒã»ãšãã©ã``DEFAULT_`` ã§å§ãŸãïŒ- äŸãã°``DEFAULT_CALLBACK_PLUGIN_PATH`` ã``DEFAULT_FILTER_PLUGIN_PATH`` ã ``BECOME_PLUGIN_PATH``"
#: ../../rst/dev_guide/developing_locally.rst:111
msgid "To view your current configuration settings for non-module plugins:"
msgstr "ã¢ãžã¥ãŒã«ä»¥å€ã®ãã©ã°ã€ã³ã®çŸåšã®æ§æèšå®ã衚瀺ããã«ã¯ïŒ"
#: ../../rst/dev_guide/developing_locally.rst:117
msgid "After your plugin file is added to one of these locations, Ansible loads it and you can use it in any local module, task, playbook, or role. For more information on environment variables and configuration settings, see :ref:`ansible_configuration_settings`."
msgstr "ãã©ã°ã€ã³ãã¡ã€ã«ããããã®å Žæã®ããããã«è¿œå ããããšãAnsible ã¯ãã®ãã¡ã€ã«ãããŒãããä»»æã®ããŒã«ã«ã¢ãžã¥ãŒã«ãã¿ã¹ã¯ãPlaybookãããŒã«ã§äœ¿çšã§ããããã«ãªããŸããç°å¢å€æ°ããã³æ§æèšå®ã®è©³çŽ°ã«ã€ããŠã¯ã:ref:`ansible_configuration_settings` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_locally.rst:119
msgid "To confirm that ``plugins/plugin_type/my_local_plugin`` is available:"
msgstr "``plugins/plugin_type/my_local_plugin`` ãå©çšå¯èœã§ããããšã確èªããã«ã¯ïŒ"
#: ../../rst/dev_guide/developing_locally.rst:121
msgid "type ``ansible-doc -t <plugin_type> my_local_lookup_plugin`` to see the documentation for that plugin - for example, ``ansible-doc -t lookup my_local_lookup_plugin``"
msgstr "``ansible-doc -t <plugin_type> my_local_lookup_plugin`` ãšå
¥åãããšããã®ãã©ã°ã€ã³ã®ããã¥ã¡ã³ãã衚瀺ãããŸã ïŒäŸïŒ``ansible-doc -t lookup my_local_lookup_plugin``ïŒã"
#: ../../rst/dev_guide/developing_locally.rst:123
msgid "The ``ansible-doc`` command works for most plugin types, but not for action, filter, or test plugins. See :ref:`ansible-doc` for more details."
msgstr "``ansible-doc`` ã³ãã³ãã¯ãã»ãšãã©ã®çš®é¡ã®ãã©ã°ã€ã³ã§åäœããŸãããã¢ã¯ã·ã§ã³ããã£ã«ã¿ãŒããã¹ããã©ã°ã€ã³ã§ã¯åäœããŸããã詳ããã¯:ref:`ansible-doc` ãã芧ãã ããã"
#: ../../rst/dev_guide/developing_locally.rst:126
msgid "Adding standalone local plugins for selected playbooks or a single role"
msgstr "éžæãããã¬ã€ããã¯ãåäžã®ããŒã«ãžã®ã¹ã¿ã³ãã¢ãã³ã®ããŒã«ã«ãã©ã°ã€ã³ã®è¿œå "
#: ../../rst/dev_guide/developing_locally.rst:128
msgid "Ansible automatically loads all plugins from certain directories adjacent to your playbook or role, loading each type of plugin separately from a directory named for the type of plugin. Standalone plugins in these locations are available only to the specific playbook, playbooks, or role in the parent directory."
msgstr "Ansibleã¯ãPlaybookãããŒã«ã«é£æ¥ããç¹å®ã®ãã£ã¬ã¯ããªã«ãããã¹ãŠã®ãã©ã°ã€ã³ãèªåçã«èªã¿èŸŒã¿ãŸããåã¿ã€ãã®ãã©ã°ã€ã³ã¯ããã©ã°ã€ã³ã®ã¿ã€ãã®ååãä»ãããã£ã¬ã¯ããªãŒããåå¥ã«èªã¿èŸŒãŸããŸãããããã®å Žæã«ããã¹ã¿ã³ãã¢ãã³ã®ãã©ã°ã€ã³ã¯ã芪ãã£ã¬ã¯ããªã«ããç¹å®ã®PlaybookãŸãã¯ããŒã«ã§ã®ã¿å©çšã§ããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:130
msgid "To use a standalone plugin only in a selected playbook or playbooks, store the plugin in a subdirectory for the correct ``plugin_type`` (for example, ``callback_plugins`` or ``inventory_plugins``) in the directory that contains the playbooks. These directories must use the ``_plugins`` suffix. For a full list of plugin types, see :ref:`working_with_plugins`."
msgstr "éžæãã Playbookã§ã®ã¿ã¹ã¿ã³ãã¢ãã³ã®ãã©ã°ã€ã³ã䜿çšããã«ã¯ããã®Playbook ãå«ããã£ã¬ã¯ããªãŒã®æ£ãã ``plugin_type``ã®ãµããã£ã¬ã¯ããªãŒ (äŸ: ``callback_plugins`` ãŸã㯠``inventory_plugins``) ã«ãã©ã°ã€ã³ãä¿åããŸãããããã®ãã£ã¬ã¯ããªãŒã¯ã``_plugins``ã®æ¥å°ŸèŸã䜿çšããå¿
èŠããããŸãããã©ã°ã€ã³ã¿ã€ãã®å®å
šãªãªã¹ãã¯ã:ref:`working_with_plugins`ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_locally.rst:131
msgid "To use a standalone plugin only in a single role, store the plugin in a subdirectory for the correct ``plugin_type`` (for example, ``cache_plugins`` or ``strategy_plugins``) within that role. When shipped as part of a role, the plugin is available as soon as the role is executed. These directories must use the ``_plugins`` suffix. For a full list of plugin types, see :ref:`working_with_plugins`."
msgstr "åäžã®ããŒã«ã§ã®ã¿ã¹ã¿ã³ãã¢ãã³ã®ãã©ã°ã€ã³ã䜿çšããã«ã¯ããã®ããŒã«å
ã®æ£ãã ``plugin_type`` ã®ãµããã£ã¬ã¯ããªãŒ ïŒäŸïŒ``cache_plugins`` ãŸã㯠``strategy_plugins``) ã«ãã©ã°ã€ã³ãä¿åããŸããããŒã«ã®äžéšãšããŠæäŸãããå Žåã¯ãããŒã«ãå®è¡ããããšããã«ãã©ã°ã€ã³ãå©çšå¯èœã«ãªããŸãããããã®ãã£ã¬ã¯ããªãŒã¯ã``_plugins``ã®æ¥å°ŸèŸã䜿çšããå¿
èŠããããŸãããã©ã°ã€ã³ã¿ã€ãã®å®å
šãªãªã¹ãã¯ã:ref:`working_with_plugins`ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_locally.rst:135
msgid "Roles contained in collections cannot contain any plugins. All plugins in a collection must live in the collection ``plugins`` directory tree. All plugins in that tree are accessible to all roles in the collection. If you are developing new plugins, we recommend distributing them in :ref:`collections <developing_collections>`, not in roles."
msgstr "ã³ã¬ã¯ã·ã§ã³ã«å«ãŸããããŒã«ã¯ããã©ã°ã€ã³ãå«ãããšãã§ããŸãããã³ã¬ã¯ã·ã§ã³å
ã®ãã¹ãŠã®ãã©ã°ã€ã³ã¯ãã³ã¬ã¯ã·ã§ã³ã®``plugins`` ãã£ã¬ã¯ããªããªãŒã«æ ŒçŽãããŠããå¿
èŠããããŸãããã®ããªãŒå
ã®ãã¹ãŠã®ãã©ã°ã€ã³ã¯ãã³ã¬ã¯ã·ã§ã³å
ã®ãã¹ãŠã®ããŒã«ããã¢ã¯ã»ã¹å¯èœã§ããæ°ãããã©ã°ã€ã³ãéçºããŠããå Žåã¯ãããŒã«ã§ã¯ãªãã:ref:`collections <developing_collections>` ã§é
åžããããšããå§ãããŸãã"
#: ../../rst/dev_guide/developing_locally.rst:140
msgid "Using ``ansible.legacy`` to access custom versions of an ``ansible.builtin`` module"
msgstr "``ansible.legacy`` ã䜿çšãã ``ansible.builtin`` ã¢ãžã¥ãŒã«ã®ã«ã¹ã¿ã ããŒãžã§ã³ãžã®ã¢ã¯ã»ã¹"
#: ../../rst/dev_guide/developing_locally.rst:142
msgid "If you need to override one of the ``ansible.builtin`` modules and are using FQCN, you need to use ``ansible.legacy`` as part of the fully-qualified collection name (FQCN). For example, if you had your own ``copy`` module, you would access it as ``ansible.legacy.copy``. See :ref:`using_ansible_legacy` for details on how to use custom modules with roles within a collection."
msgstr "``ansible.builtin`` ã¢ãžã¥ãŒã«ã®ããããããªãŒããŒã©ã€ãããå¿
èŠããããFQCN ã䜿çšããŠããå Žåã¯ãå®å
šä¿®é£Ÿã³ã¬ã¯ã·ã§ã³å (FQCN) ã®äžéšãšã㊠``ansible.legacy`` ã䜿çšããå¿
èŠããããŸããããšãã°ãç¬èªã® ``copy`` ã¢ãžã¥ãŒã«ãããå Žåã¯ã``ansible.legacy.copy`` ãšããŠã¢ã¯ã»ã¹ããŸããã³ã¬ã¯ã·ã§ã³å
ã®ããŒã«ã§ã«ã¹ã¿ã ã¢ãžã¥ãŒã«ã䜿çšããæ¹æ³ã¯ã:ref:`using_ansible_legacy` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_module_utilities.rst:5
msgid "Using and developing module utilities"
msgstr "ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã®äœ¿çšããã³éçº"
#: ../../rst/dev_guide/developing_module_utilities.rst:7
msgid "Ansible provides a number of module utilities, or snippets of shared code, that provide helper functions you can use when developing your own modules. The ``basic.py`` module utility provides the main entry point for accessing the Ansible library, and all Python Ansible modules must import something from ``ansible.module_utils``. A common option is to import ``AnsibleModule``:"
msgstr "Ansible ã¯ãç¬èªã®ã¢ãžã¥ãŒã«éçºæã«äœ¿çšã§ãããã«ããŒé¢æ°ãæäŸããå€ãã®ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒããŸãã¯å
±æã³ãŒãã®ã¹ãããããæäŸããŸãã``basic.py`` ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã¯ãAnsible ã©ã€ãã©ãªãŒã«ã¢ã¯ã»ã¹ããããã®ã¡ã€ã³ã®ãšã³ããªãŒãã€ã³ããæäŸããŸãããŸãããã¹ãŠã® Python Ansible ã¢ãžã¥ãŒã«ã¯ ``ansible.module_utils`` ããã€ã³ããŒãããå¿
èŠããããŸããäžè¬çãªãªãã·ã§ã³ã§ã¯ã``AnsibleModule`` ãã€ã³ããŒãããã®ãäžè¬çã§ãã"
#: ../../rst/dev_guide/developing_module_utilities.rst:17
msgid "The ``ansible.module_utils`` namespace is not a plain Python package: it is constructed dynamically for each task invocation, by extracting imports and resolving those matching the namespace against a :ref:`search path <ansible_search_path>` derived from the active configuration."
msgstr "``ansible.module_utils`` åå空éã¯åçŽãª Python ããã±ãŒãžã§ã¯ãããŸãããããã¯ãã€ã³ããŒããæœåºããã¢ã¯ãã£ããªèšå®ãã掟çãã :ref:`æ€çŽ¢ãã¹ <ansible_search_path>` ã«å¯ŸããŠäžèŽããåå空éã解決ããããšã§ãåã¿ã¹ã¯åŒã³åºãçšã«åçã«æ§ç¯ãããŸãã"
#: ../../rst/dev_guide/developing_module_utilities.rst:22
msgid "To reduce the maintenance burden in a collection or in local modules, you can extract duplicated code into one or more module utilities and import them into your modules. For example, if you have your own custom modules that import a ``my_shared_code`` library, you can place that into a ``./module_utils/my_shared_code.py`` file like this::"
msgstr "ã³ã¬ã¯ã·ã§ã³ãŸãã¯ããŒã«ã«ã¢ãžã¥ãŒã«ã®ã¡ã³ããã³ã¹è² è·ã軜æžããã«ã¯ãéè€ã³ãŒãã 1 ã€ä»¥äžã®ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã«æœåºããŠã¢ãžã¥ãŒã«ã«ã€ã³ããŒãããããšãã§ããŸããããšãã°ã``my_shared_code`` ã©ã€ãã©ãªãŒãã€ã³ããŒãããç¬èªã®ã«ã¹ã¿ã ã¢ãžã¥ãŒã«ãããå Žåã¯ããããã以äžã®ããã« ``./module_utils/my_shared_code.py`` ãã¡ã€ã«ã«é
眮ã§ããŸãã"
#: ../../rst/dev_guide/developing_module_utilities.rst:27
msgid "When you run ``ansible-playbook``, Ansible will merge any files in your local ``module_utils`` directories into the ``ansible.module_utils`` namespace in the order defined by the :ref:`Ansible search path <ansible_search_path>`."
msgstr "``ansible-playbook`` ãå®è¡ãããšãAnsible 㯠:ref:`Ansible æ€çŽ¢ãã¹ <ansible_search_path>` ã§å®çŸ©ãããŠããé åºã§ããŒã«ã«ã® ``module_utils`` ãã£ã¬ã¯ããªãŒã®ãã¡ã€ã«ã ``ansible.module_utils`` åå空éã«ããŒãžããŸãã"
#: ../../rst/dev_guide/developing_module_utilities.rst:30
msgid "Naming and finding module utilities"
msgstr "ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã®åœåããã³æ€çŽ¢"
#: ../../rst/dev_guide/developing_module_utilities.rst:32
msgid "You can generally tell what a module utility does from its name and/or its location. Generic utilities (shared code used by many different kinds of modules) live in the main ansible/ansible codebase, in the ``common`` subdirectory or in the root directory of ``lib/ansible/module_utils``. Utilities used by a particular set of modules generally live in the same collection as those modules. For example:"
msgstr "éåžžãã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãååããã®å Žæããåäœããããã«ã§ããŸããæ±çšãŠãŒãã£ãªãã£ãŒ (ããŸããŸãªçš®é¡ã®ã¢ãžã¥ãŒã«ã§äœ¿çšãããå
±æã³ãŒã) ã¯ãã¡ã€ã³ã® ansible/ansible ã³ãŒãããŒã¹ã«ãããŸãã``common`` ãµããã£ã¬ã¯ããªãŒããŸã㯠``lib/ansible/module_utils`` ã®ã«ãŒããã£ã¬ã¯ããªãŒã«ãããŸããç¹å®ã®ã¢ãžã¥ãŒã«ã»ããã§äœ¿çšããããŠãŒãã£ãªãã£ãŒã¯ãéåžžããããã®ã¢ãžã¥ãŒã«ãšåãã³ã¬ã¯ã·ã§ã³ã«ååšããŸãã以äžã«äŸã瀺ããŸãã"
#: ../../rst/dev_guide/developing_module_utilities.rst:34
msgid "``lib/ansible/module_utils/urls.py`` contains shared code for parsing URLs"
msgstr "``lib/ansible/module_utils/urls.py`` ã¯ãURL ã解æããããã®å
±æã³ãŒããå«ãŸããŠããŸãã"
#: ../../rst/dev_guide/developing_module_utilities.rst:35
msgid "``openstack.cloud.plugins.module_utils.openstack.py`` contains utilities for modules that work with OpenStack instances"
msgstr "``openstack.cloud.plugins.module_utils.openstack.py`` ã«ã¯ãOpenStack ã€ã³ã¹ã¿ã³ã¹ãšé£æºããã¢ãžã¥ãŒã«ã®ãŠãŒãã£ãªãã£ãŒãå«ãŸããŸãã"
#: ../../rst/dev_guide/developing_module_utilities.rst:36
msgid "``ansible.netcommon.plugins.module_utils.network.common.config.py`` contains utility functions for use by networking modules"
msgstr "``ansible.netcommon.plugins.module_utils.network.common.config.py`` ã¯ããããã¯ãŒã¯ã¢ãžã¥ãŒã«ã«ãã£ãŠäœ¿çšãããèšå®ãŠãŒãã£ãªãã£ãŒã®æ©èœãå«ãŸããŸãã"
#: ../../rst/dev_guide/developing_module_utilities.rst:38
msgid "Following this pattern with your own module utilities makes everything easy to find and use."
msgstr "ãã®ãã¿ãŒã³ãç¬èªã®ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã§è¡ããšããããããã®ãèŠã€ãã䜿çšããããšã容æã«ãªããŸãã"
#: ../../rst/dev_guide/developing_module_utilities.rst:43
msgid "Standard module utilities"
msgstr "æšæºã®ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒ"
#: ../../rst/dev_guide/developing_module_utilities.rst:45
msgid "Ansible ships with an extensive library of ``module_utils`` files. You can find the module utility source code in the ``lib/ansible/module_utils`` directory under your main Ansible path. We describe the most widely used utilities below. For more details on any specific module utility, please see the `source code for module_utils <https://github.com/ansible/ansible/tree/devel/lib/ansible/module_utils>`_."
msgstr "Ansible ã«ã¯ã``module_utils`` ãã¡ã€ã«ã®åºç¯ãªã©ã€ãã©ãªãŒãå«ãŸããŠããŸããã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã®ãœãŒã¹ã³ãŒãã¯ãã¡ã€ã³ã® Ansible ãã¹äžã® ``lib/ansible/module_utils`` ãã£ã¬ã¯ããªãŒã«ãããŸãããŸãã以äžã§æãåºã䜿çšãããŠãããŠãŒãã£ãªãã£ãŒãå«ãŸããŠããŸããç¹å®ã®ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã®è©³çŽ°ã¯ãã`ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã®ãœãŒã¹ã³ãŒã <https://github.com/ansible/ansible/tree/devel/lib/ansible/module_utils>`_ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/shared_snippets/licensing.txt:2
msgid "**LICENSING REQUIREMENTS** Ansible enforces the following licensing requirements:"
msgstr "**ã©ã€ã»ã³ã¹èŠä»¶** Ansible ã¯ã以äžã®ã©ã€ã»ã³ã¹èŠä»¶ã匷å¶ããŸãã"
#: ../../rst/dev_guide/shared_snippets/licensing.txt:7
msgid "Utilities (files in ``lib/ansible/module_utils/``) may have one of two licenses:"
msgstr "ãŠãŒãã£ãªãã£ãŒ (``lib/ansible/module_utils/`` å
ã®ãã¡ã€ã«) ã«ã¯ã2 ã€ããã©ã€ã»ã³ã¹ã®ãããããååšããå¯èœæ§ããããŸãã"
#: ../../rst/dev_guide/shared_snippets/licensing.txt:5
msgid "A file in ``module_utils`` used **only** for a specific vendor's hardware, provider, or service may be licensed under GPLv3+. Adding a new file under ``module_utils`` with GPLv3+ needs to be approved by the core team."
msgstr "ç¹å®ã®ãã³ããŒã®ããŒããŠã§ã¢ããããã€ããŒããŸãã¯ãµãŒãã¹ã« **ã®ã¿** ``module_utils`` ã䜿çšãããã¡ã€ã«ã¯ãGPLv3 以éã§ã©ã€ã»ã³ã¹ãååŸããŠããå¯èœæ§ããããŸããGPLv3 以éãæ〠``module_utils`` ã«æ°ãããã¡ã€ã«ãè¿œå ããã«ã¯ãã³ã¢ããŒã ã«ããæ¿èªãå¿
èŠã«ãªããŸãã"
#: ../../rst/dev_guide/shared_snippets/licensing.txt:7
msgid "All other ``module_utils`` must be licensed under BSD, so GPL-licensed third-party and Galaxy modules can use them."
msgstr "ä»ã®ãã¹ãŠã® ``module_utils`` ã¯ãGPL ã®ã©ã€ã»ã³ã¹ãä»äžããããµãŒãããŒãã£ãŒãš Galaxy ã¢ãžã¥ãŒã«ã䜿çšã§ããããã«ãBSD ã§ã©ã€ã»ã³ã¹ãä»äžãããŠããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/shared_snippets/licensing.txt:8
msgid "If there's doubt about the appropriate license for a file in ``module_utils``, the Ansible Core Team will decide during an Ansible Core Community Meeting."
msgstr "``module_utils`` ã®ãã¡ã€ã«ã«é©åãªã©ã€ã»ã³ã¹ã«ã€ããŠçåãããå Žåã¯ãAnsible Core Team ã Ansible Core Community Meeting ã§æ±ºå®ããŸãã"
#: ../../rst/dev_guide/shared_snippets/licensing.txt:9
msgid "All other files shipped with Ansible, including all modules, must be licensed under the GPL license (GPLv3 or later)."
msgstr "ãã¹ãŠã®ã¢ãžã¥ãŒã«ãå«ã Ansible ã«å梱ãããä»ã®ãã¹ãŠã®ãã¡ã€ã«ã¯ãGPL ã©ã€ã»ã³ã¹ (GPLv3 以é) ã§ã©ã€ã»ã³ã¹ãååŸããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/shared_snippets/licensing.txt:10
msgid "Existing license requirements still apply to content in ansible/ansible (ansible-core)."
msgstr "æ¢åã®ã©ã€ã»ã³ã¹èŠä»¶ã¯ãåŒãç¶ã ansible/ansible ã®ã³ã³ãã³ã (ansible-core) ã«é©çšãããŸãã"
#: ../../rst/dev_guide/shared_snippets/licensing.txt:11
msgid "Content that was previously in ansible/ansible or a collection and has moved to a new collection must retain the license it had in its prior repository."
msgstr "ã³ã³ãã³ããéå»ã« ansible/ansible ãŸãã¯ã³ã¬ã¯ã·ã§ã³ã«ãããæ°ããã³ã¬ã¯ã·ã§ã³ã«ç§»åããå Žåã¯ã以åã®ãªããžããªãŒã®ã©ã€ã»ã³ã¹ãä¿æããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/shared_snippets/licensing.txt:12
msgid "Copyright entries by previous committers must also be kept in any moved files."
msgstr "以åã®ã³ãããæ
åœè
ã«ããèäœæš©ãšã³ããªãŒãã移åãããã¡ã€ã«ã«ä¿æããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_module_utilities.rst:49
msgid "``api.py`` - Supports generic API modules"
msgstr "``api.py`` - æ±çš API ã¢ãžã¥ãŒã«ã®ãµããŒã"
#: ../../rst/dev_guide/developing_module_utilities.rst:50
msgid "``basic.py`` - General definitions and helper utilities for Ansible modules"
msgstr "``basic.py`` - Ansible ã¢ãžã¥ãŒã«ã®äžè¬çãªå®çŸ©ããã³ãã«ããŒãŠãŒãã£ãªãã£ãŒ"
#: ../../rst/dev_guide/developing_module_utilities.rst:51
msgid "``common/dict_transformations.py`` - Helper functions for dictionary transformations"
msgstr "``common/dict_transformations.py`` - ãã£ã¯ã·ã§ããªãŒå€æã®ãã«ããŒé¢æ°"
#: ../../rst/dev_guide/developing_module_utilities.rst:52
msgid "``common/file.py`` - Helper functions for working with files"
msgstr "``common/file.py`` - ãã¡ã€ã«ãæäœãããã«ããŒé¢æ°"
#: ../../rst/dev_guide/developing_module_utilities.rst:53
msgid "``common/text/`` - Helper functions for converting and formatting text"
msgstr "``common/text/`` - ããã¹ãã®å€æããã³ãã©ãŒããããè¡ãããã®ãã«ããŒé¢æ°"
#: ../../rst/dev_guide/developing_module_utilities.rst:54
msgid "``common/parameters.py`` - Helper functions for dealing with module parameters"
msgstr "``common/parameters.py`` - ã¢ãžã¥ãŒã«ãã©ã¡ãŒã¿ãŒãåŠçãããã«ããŒé¢æ°"
#: ../../rst/dev_guide/developing_module_utilities.rst:55
msgid "``common/sys_info.py`` - Functions for getting distribution and platform information"
msgstr "``common/sys_info.py`` - ãã£ã¹ããªãã¥ãŒã·ã§ã³ããã³ãã©ãããã©ãŒã æ
å ±ãååŸããæ©èœ"
#: ../../rst/dev_guide/developing_module_utilities.rst:56
msgid "``common/validation.py`` - Helper functions for validating module parameters against a module argument spec"
msgstr "``common/validation.py`` - ã¢ãžã¥ãŒã«åŒæ°ä»æ§ã«å¯ŸããŠã¢ãžã¥ãŒã«ãã©ã¡ãŒã¿ãŒãæ€èšŒããããã®ãã«ããŒé¢æ°"
#: ../../rst/dev_guide/developing_module_utilities.rst:57
msgid "``facts/`` - Directory of utilities for modules that return facts. See `PR 23012 <https://github.com/ansible/ansible/pull/23012>`_ for more information"
msgstr "``facts/`` - ãã¡ã¯ããè¿ãã¢ãžã¥ãŒã«ã®ãŠãŒãã£ãªãã£ãŒã®ãã£ã¬ã¯ããªãŒã詳现ã¯ã`PR 23012 <https://github.com/ansible/ansible/pull/23012>`_ ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_module_utilities.rst:58
msgid "``json_utils.py`` - Utilities for filtering unrelated output around module JSON output, like leading and trailing lines"
msgstr "``json_utils.py`` - å
é è¡ãæ«å°Ÿè¡ãªã©ãã¢ãžã¥ãŒã« JSON åºåã«é¢ããé¢é£ã®ãªãåºåããã£ã«ã¿ãŒãèšå®ãããŠãŒãã£ãªãã£ãŒ"
#: ../../rst/dev_guide/developing_module_utilities.rst:59
msgid "``powershell/`` - Directory of definitions and helper functions for Windows PowerShell modules"
msgstr "``powershell/`` - Windows PowerShell ã¢ãžã¥ãŒã«ã®å®çŸ©ããã³ãã«ããŒé¢æ°ã®ãã£ã¬ã¯ããªãŒ"
#: ../../rst/dev_guide/developing_module_utilities.rst:60
msgid "``pycompat24.py`` - Exception workaround for Python 2.4"
msgstr "``pycompat24.py`` - Python 2.4 ã®äŸå€åé¿ç"
#: ../../rst/dev_guide/developing_module_utilities.rst:61
msgid "``service.py`` - Utilities to enable modules to work with Linux services (placeholder, not in use)"
msgstr "``service.py`` - ã¢ãžã¥ãŒã«ã Linux ãµãŒãã¹ãšé£æºã§ããããã«ãããŠãŒãã£ãªãã£ãŒ (æªäœ¿çšã®ãã¬ãŒã¹ãã«ããŒ)"
#: ../../rst/dev_guide/developing_module_utilities.rst:62
msgid "``six/__init__.py`` - Bundled copy of the `Six Python library <https://pypi.org/project/six/>`_ to aid in writing code compatible with both Python 2 and Python 3"
msgstr "``six/__init__.py`` - Python 2 ãš Python 3 ã®äž¡æ¹ãšäºææ§ã®ããã³ãŒããæžã蟌ãéã«å©ããšãªã `Six Python ã©ã€ãã©ãªãŒ <https://pypi.org/project/six/>`_ ã®ãã³ãã«ã³ããŒ"
#: ../../rst/dev_guide/developing_module_utilities.rst:63
msgid "``splitter.py`` - String splitting and manipulation utilities for working with Jinja2 templates"
msgstr "``splitter.py`` - Jinja2 ãã³ãã¬ãŒãã䜿çšããæåååå²ããã³æäœãŠãŒãã£ãªãã£ãŒ"
#: ../../rst/dev_guide/developing_module_utilities.rst:64
msgid "``urls.py`` - Utilities for working with http and https requests"
msgstr "``urls.py`` - http ããã³ https ãªã¯ãšã¹ããæäœãããŠãŒãã£ãªãã£ãŒ"
#: ../../rst/dev_guide/developing_module_utilities.rst:66
msgid "Several commonly-used utilities migrated to collections in Ansible 2.10, including:"
msgstr "äžè¬çã«äœ¿çšãããããã€ãã®ãŠãŒãã£ãªãã£ãŒã¯ãAnsible 2.10 ã§ã¯ä»¥äžã®ãããªã³ã¬ã¯ã·ã§ã³ã«ç§»è¡ãããŠããŸãã"
#: ../../rst/dev_guide/developing_module_utilities.rst:68
msgid "``ismount.py`` migrated to ``ansible.posix.plugins.module_utils.mount.py`` - Single helper function that fixes os.path.ismount"
msgstr "``ansible.posix.plugins.module_utils.mount.py`` ã«ç§»è¡ãã ``ismount.py`` - os.path.ismount ãä¿®æ£ããåäžã®ãã«ããŒé¢æ°"
#: ../../rst/dev_guide/developing_module_utilities.rst:69
msgid "``known_hosts.py`` migrated to ``community.general.plugins.module_utils.known_hosts.py`` - utilities for working with known_hosts file"
msgstr "``community.general.plugins.module_utils.known_hosts.py`` ã«ç§»è¡ãã ``known_hosts.py`` - known_hosts ãã¡ã€ã«ã§äœæ¥ããããã®ãŠãŒãã£ãªãã£ãŒ"
#: ../../rst/dev_guide/developing_module_utilities.rst:71
msgid "For a list of migrated content with destination collections, see https://github.com/ansible/ansible/blob/devel/lib/ansible/config/ansible_builtin_runtime.yml."
msgstr "å®å
ã³ã¬ã¯ã·ã§ã³ã§ç§»è¡ãããã³ã³ãã³ãã®äžèŠ§ã¯ãhttps://github.com/ansible/ansible/blob/devel/lib/ansible/config/ansible_builtin_runtime.yml ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules.rst:6
msgid "Should you develop a module?"
msgstr "ã¢ãžã¥ãŒã«éçºã®å¿
èŠæ§"
#: ../../rst/dev_guide/developing_modules.rst:8
msgid "Developing Ansible modules is easy, but often it is not necessary. Before you start writing a new module, ask:"
msgstr "Ansible ã¢ãžã¥ãŒã«ã®éçºã¯å®¹æã§ãããéåžžã¯äžèŠã§ããæ°ããã¢ãžã¥ãŒã«ãæžãå§ããåã«ã以äžã確èªããŠãã ããã"
#: ../../rst/dev_guide/developing_modules.rst:10
msgid "Does a similar module already exist?"
msgstr "åæ§ã®ã¢ãžã¥ãŒã«ãååšããŠãããã"
#: ../../rst/dev_guide/developing_modules.rst:12
msgid "An existing module may cover the functionality you want. Ansible collections include thousands of modules. Search our :ref:`list of included collections <list_of_collections>` or `Ansible Galaxy <https://galaxy.ansible.com>`_ to see if an existing module does what you need."
msgstr "æ¢åã®ã¢ãžã¥ãŒã«ã¯å¿
èŠãªæ©èœã«å¯Ÿå¿ã§ããŸããAnsible ã³ã¬ã¯ã·ã§ã³ã«ã¯ãæ°åã®ã¢ãžã¥ãŒã«ãå«ãŸããŠããŸãã:ref:`å梱ãããã³ã¬ã¯ã·ã§ã³ã®äžèŠ§ <list_of_collections>` ãŸã㯠`Ansible Galaxy <https://galaxy.ansible.com>`_ ãæ€çŽ¢ãããšãæ¢åã®ã¢ãžã¥ãŒã«ãå¿
èŠãªã¢ãžã¥ãŒã«ãã©ãããåãããŸãã"
#: ../../rst/dev_guide/developing_modules.rst:14
msgid "Should you use or develop an action plugin instead of a module?"
msgstr "ã¢ãžã¥ãŒã«ã®ä»£ããã«ã¢ã¯ã·ã§ã³ãã©ã°ã€ã³ã䜿çšãããããŸãã¯éçºããå¿
èŠããããã"
#: ../../rst/dev_guide/developing_modules.rst:16
msgid "An action plugin may be the best way to get the functionality you want. Action plugins run on the control node instead of on the managed node, and their functionality is available to all modules. For more information about developing plugins, read the :ref:`developing plugins page <developing_plugins>`."
msgstr "ã¢ã¯ã·ã§ã³ãã©ã°ã€ã³ã¯ãå¿
èŠãªæ©èœãååŸããæåã®æ¹æ³ãšãªãã§ããããã¢ã¯ã·ã§ã³ãã©ã°ã€ã³ã¯ã管çããŒãã§ã¯ãªãã³ã³ãããŒã«ããŒãã§å®è¡ããããã®æ©èœã¯ãã¹ãŠã®ã¢ãžã¥ãŒã«ã§å©çšã§ããŸãããã©ã°ã€ã³ã®éçºã«é¢ãã詳现ã¯ãã:ref:`ãã©ã°ã€ã³ã®éçºããŒãž<developing_plugins>`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules.rst:18
msgid "Should you use a role instead of a module?"
msgstr "ã¢ãžã¥ãŒã«ã®ä»£ããã«ããŒã«ã䜿çšããå¿
èŠããããã"
#: ../../rst/dev_guide/developing_modules.rst:20
msgid "A combination of existing modules may cover the functionality you want. You can write a role for this type of use case. Check out the :ref:`roles documentation<playbooks_reuse_roles>`."
msgstr "æ¢åã®ã¢ãžã¥ãŒã«ã®çµã¿åããã«ãã£ãŠãåžæã®æ©èœã«å¯Ÿå¿ã§ããå¯èœæ§ããããŸãããã®ã¿ã€ãã®ãŠãŒã¹ã±ãŒã¹ã«ããŒã«ãäœæããããšãã§ããŸããã:ref:`ããŒã«ã®ããã¥ã¡ã³ã<playbooks_reuse_roles>`ãã確èªããŠãã ããã"
#: ../../rst/dev_guide/developing_modules.rst:22
msgid "Should you create a collection instead of a single module?"
msgstr "1 ã€ã®ã¢ãžã¥ãŒã«ã®ä»£ããã«ã³ã¬ã¯ã·ã§ã³ãäœæããå¿
èŠããããã"
#: ../../rst/dev_guide/developing_modules.rst:24
msgid "The functionality you want may be too large for a single module. If you want to connect Ansible to a new cloud provider, database, or network platform, you may need to :ref:`develop a new collection<developing_modules_in_groups>`."
msgstr "1 ã€ã®ã¢ãžã¥ãŒã«ã§ã¯ããã®æ©èœã倧ããããå¯èœæ§ããããŸããAnsible ãæ°ããã¯ã©ãŠããããã€ããŒãããŒã¿ããŒã¹ããŸãã¯ãããã¯ãŒã¯ãã©ãããã©ãŒã ã«æ¥ç¶ããå Žåã¯ã:ref:`æ°ããã³ã¬ã¯ã·ã§ã³ã®éçº<developing_modules_in_groups>` ãå¿
èŠã«ãªãå ŽåããããŸãã"
#: ../../rst/dev_guide/developing_modules.rst:26
msgid "Each module should have a concise and well defined functionality. Basically, follow the UNIX philosophy of doing one thing well."
msgstr "åã¢ãžã¥ãŒã«ã«ã¯ãç°¡æœã§ååã«æ©èœãå®çŸ©ãããŠããå¿
èŠããããŸããåºæ¬çã«ã¯ã1 ã€ã®ããšãååã«è¡ããšãã UNIX ã®å²åŠã«åŸã£ãŠãã ããã"
#: ../../rst/dev_guide/developing_modules.rst:28
msgid "A module should not require that a user know all the underlying options of an API/tool to be used. For instance, if the legal values for a required module parameter cannot be documented, that's a sign that the module would be rejected."
msgstr "ã¢ãžã¥ãŒã«ã¯ã䜿çšãã API ãŸãã¯ããŒã«ã®åºç€ãšãªããã¹ãŠã®ãªãã·ã§ã³ãææ¡ããå¿
èŠããããŸãããããšãã°ãå¿
èŠãªã¢ãžã¥ãŒã«ãã©ã¡ãŒã¿ãŒã®æå¹ãªå€ãææžåã§ããªãå Žåãããã¯ã¢ãžã¥ãŒã«ãæåŠãããããšã瀺ããŠããŸãã"
#: ../../rst/dev_guide/developing_modules.rst:30
msgid "Modules should typically encompass much of the logic for interacting with a resource. A lightweight wrapper around an API that does not contain much logic would likely cause users to offload too much logic into a playbook, and for this reason the module would be rejected. Instead try creating multiple modules for interacting with smaller individual pieces of the API."
msgstr "ã¢ãžã¥ãŒã«ã¯ãéåžžããªãœãŒã¹ãšå¯Ÿè©±ããããžãã¯ã®å€ãã網çŸ
ããå¿
èŠããããŸããããžãã¯ãããŸãå«ãŸãªã API ã®è»œéã©ãããŒã䜿çšãããšããŠãŒã¶ãŒãããŸãã«ãå€ãã®ããžãã¯ã Playbook ã«ãªãããŒãããåå ãšãªãå¯èœæ§ããããããã¢ãžã¥ãŒã«ãæåŠãããŸãã代ããã«ãAPI ã®å°ããªåã
ã®éšåãšå¯Ÿè©±ããããã®è€æ°ã®ã¢ãžã¥ãŒã«ãäœæããŠã¿ãŠãã ããã"
#: ../../rst/dev_guide/developing_modules.rst:32
msgid "If your use case isn't covered by an existing module, an action plugin, or a role, and you don't need to create multiple modules, then you're ready to start developing a new module. Choose from the topics below for next steps:"
msgstr "ãŠãŒã¹ã±ãŒã¹ããæ¢åã®ã¢ãžã¥ãŒã«ãã¢ã¯ã·ã§ã³ãã©ã°ã€ã³ããŸãã¯ããŒã«ã§ã¯å¯Ÿå¿ãããŠããããè€æ°ã®ã¢ãžã¥ãŒã«ãäœæããå¿
èŠããªãå Žåã¯ãæ°ããã¢ãžã¥ãŒã«ã®éçºãéå§ããæºåãã§ããŠããŸãã次ã®ã¹ãããã¯ã以äžã®ãããã¯ããéžæããŸãã"
#: ../../rst/dev_guide/developing_modules.rst:34
msgid "I want to :ref:`get started on a new module <developing_modules_general>`."
msgstr ":ref:`æ°ããã¢ãžã¥ãŒã«ã䜿çšéå§<developing_modules_general>` ãããã§ãã"
#: ../../rst/dev_guide/developing_modules.rst:35
msgid "I want to review :ref:`tips and conventions for developing good modules <developing_modules_best_practices>`."
msgstr ":ref:`è¯è³ªãªã¢ãžã¥ãŒã«ãéçºããããã®ãã³ãããã³èŠçŽ <developing_modules_best_practices>` ã確èªããŸãã"
#: ../../rst/dev_guide/developing_modules.rst:36
msgid "I want to :ref:`write a Windows module <developing_modules_general_windows>`."
msgstr ":ref:`Windows ã¢ãžã¥ãŒã«ãäœæ <developing_modules_general_windows>` ãããã§ãã"
#: ../../rst/dev_guide/developing_modules.rst:37
msgid "I want :ref:`an overview of Ansible's architecture <developing_program_flow_modules>`."
msgstr ":ref:`Ansible ã®ã¢ãŒããã¯ãã£ãŒã®æŠèŠ <developing_program_flow_modules>` ãå¿
èŠã§ãã"
#: ../../rst/dev_guide/developing_modules.rst:38
msgid "I want to :ref:`document my module <developing_modules_documenting>`."
msgstr ":ref:`äœæããã¢ãžã¥ãŒã«ãããã¥ã¡ã³ãå <developing_modules_documenting>` ãããã§ãã"
#: ../../rst/dev_guide/developing_modules.rst:39
msgid "I want to :ref:`contribute my module to an existing Ansible collection <developing_modules_checklist>`."
msgstr ":ref:`èªåã®ã¢ãžã¥ãŒã«ã§æ¢åã® Ansible ã³ã¬ã¯ã·ã§ã³ã«è²¢ç® <developing_modules_checklist>` ãããã§ãã"
#: ../../rst/dev_guide/developing_modules.rst:40
msgid "I want to :ref:`add unit and integration tests to my module <developing_testing>`."
msgstr ":ref:`äœæããã¢ãžã¥ãŒã«ã«ãŠããããã¹ãããã³çµ±åãã¹ããè¿œå <developing_testing>` ãããã§ãã"
#: ../../rst/dev_guide/developing_modules.rst:41
msgid "I want to :ref:`add Python 3 support to my module <developing_python_3>`."
msgstr ":ref:`äœæããã¢ãžã¥ãŒã«ã« Python 3 ãµããŒããè¿œå <developing_python_3>` ãããã§ãã"
#: ../../rst/dev_guide/developing_modules.rst:42
msgid "I want to :ref:`write multiple modules <developing_modules_in_groups>`."
msgstr ":ref:`è€æ°ã¢ãžã¥ãŒã«ãäœæ <developing_modules_in_groups>` ãããã§ãã"
#: ../../rst/dev_guide/developing_modules.rst:46
#: ../../rst/dev_guide/developing_plugins.rst:538
msgid ":ref:`list_of_collections`"
msgstr ":ref:`list_of_collections`"
#: ../../rst/dev_guide/developing_modules.rst:47
#: ../../rst/dev_guide/developing_plugins.rst:539
msgid "Browse existing collections, modules, and plugins"
msgstr "æ¢åã®ã³ã¬ã¯ã·ã§ã³ãã¢ãžã¥ãŒã«ãããã³ãã©ã°ã€ã³ã®é²èŠ§"
#: ../../rst/dev_guide/developing_modules.rst:49
msgid "Development mailing list"
msgstr "éçºã¡ãŒãªã³ã°ãªã¹ã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:6
msgid "Conventions, tips, and pitfalls"
msgstr "èŠåããã³ããããã³èœãšãç©Ž"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:11
msgid "As you design and develop modules, follow these basic conventions and tips for clean, usable code:"
msgstr "ã¢ãžã¥ãŒã«ã®èšèšããã³éçºãè¡ãéã«ã以äžã®åºæ¬çãªèŠåããã³ãã³ãã«åŸã£ãŠãèªã¿ããã䜿çšå¯èœãªã³ãŒããäœæããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:14
msgid "Scoping your module(s)"
msgstr "ã¢ãžã¥ãŒã«ã®ã¹ã³ãŒãèšå®"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:16
msgid "Especially if you want to contribute your module(s) to an existing Ansible Collection, make sure each module includes enough logic and functionality, but not too much. If these guidelines seem confusing, consider :ref:`whether you really need to write a module <module_dev_should_you>` at all."
msgstr "ç¹ã«ãæ¢åã® Ansible Collection ã«ã¢ãžã¥ãŒã«ãæäŸããå Žåã¯ãåã¢ãžã¥ãŒã«ã«ååãªããžãã¯ãšæ©èœãå«ãŸããŠããããšã確èªããŠãã ããããã ããå€ãããªãããã«ããŠãã ããããããã®ã¬ã€ãã©ã€ã³ãçŽãããããšæãããå Žåã¯ã:ref:`ã¢ãžã¥ãŒã«ã®èšè¿°ãæ¬åœã«å¿
èŠãã©ãã <module_dev_should_you>` ãæ€èšããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:18
msgid "Each module should have a concise and well-defined functionality. Basically, follow the UNIX philosophy of doing one thing well."
msgstr "åã¢ãžã¥ãŒã«ã«ã¯ãç°¡æœã§ååã«æ©èœãå®çŸ©ãããŠããå¿
èŠããããŸããåºæ¬çã«ã¯ã1 ã€ã®ããšãååã«è¡ããšãã UNIX ã®å²åŠã«åŸã£ãŠãã ããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:19
msgid "Do not add ``get``, ``list`` or ``info`` state options to an existing module - create a new ``_info`` or ``_facts`` module."
msgstr "æ¢åã®ã¢ãžã¥ãŒã«ã«ã``get``ã``list``ããŸã㯠``info`` ã®ç¶æ
ã®ãªãã·ã§ã³ãè¿œå ããªãã§ãã ãããæ°ãã ``_info`` ã¢ãžã¥ãŒã«ãŸã㯠``_facts`` ã¢ãžã¥ãŒã«ãäœæããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:20
msgid "Modules should not require that a user know all the underlying options of an API/tool to be used. For instance, if the legal values for a required module option cannot be documented, the module does not belong in Ansible Core."
msgstr "ã¢ãžã¥ãŒã«ã§ã¯ã䜿çšãã API ãŸãã¯ããŒã«ã®åºç€ãšãªããªãã·ã§ã³ããã¹ãŠãŠãŒã¶ãŒãææ¡ããå¿
èŠããããŸãããããšãã°ãå¿
èŠãªã¢ãžã¥ãŒã«ãªãã·ã§ã³ã®æå¹ãªå€ãææžåã§ããªãå Žåããã®ã¢ãžã¥ãŒã«ã¯ Ansible Core ã«å±ããŸããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:21
msgid "Modules should encompass much of the logic for interacting with a resource. A lightweight wrapper around a complex API forces users to offload too much logic into their playbooks. If you want to connect Ansible to a complex API, :ref:`create multiple modules <developing_modules_in_groups>` that interact with smaller individual pieces of the API."
msgstr "ã¢ãžã¥ãŒã«ã¯ããªãœãŒã¹ãšå¯Ÿè©±ããããã®ããžãã¯ãå€æ°çµã¿èŸŒãå¿
èŠããããŸããè€é㪠API ã«é¢é£ãã軜éã©ãããŒã«ããããŠãŒã¶ãŒã¯ Playbook ã«éåžžã«å€ãã®ããžãã¯ããªãããŒãããŸããAnsible ãè€é㪠API ã«æ¥ç¶ããå Žåã¯ãAPI ã®ããå°ããåã
ã®éšåãšå¯Ÿè©±ãã :ref:`è€æ°ã®ã¢ãžã¥ãŒã«ãäœæ <developing_modules_in_groups>` ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:22
msgid "Avoid creating a module that does the work of other modules; this leads to code duplication and divergence, and makes things less uniform, unpredictable and harder to maintain. Modules should be the building blocks. If you are asking 'how can I have a module execute other modules' ... you want to write a role."
msgstr "ä»ã®ã¢ãžã¥ãŒã«ã®äœæ¥ãè¡ãã¢ãžã¥ãŒã«ãäœæããªãããã«ããŠãã ãããããã«ãããã³ãŒãã®éè€ãšå·®ç°ãçºçããäžè²«æ§ãä¿ããããäºæž¬ãã§ããªããªããç¶æãé£ãããªããŸããã¢ãžã¥ãŒã«ã¯ãã«ãã£ã³ã°ãããã¯ã§ãªããã°ãªããŸããããã©ã®ããã«ããŠã¢ãžã¥ãŒã«ã«ä»ã®ã¢ãžã¥ãŒã«ãå®è¡ãããããšãã§ããã®ãããšãã質åãæµ®ããã§ããå Žåã¯ããããããŒã«ãäœæããçç±ã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:25
msgid "Designing module interfaces"
msgstr "ã¢ãžã¥ãŒã«ã€ã³ã¿ãŒãã§ãŒã¹ã®èšèš"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:27
msgid "If your module is addressing an object, the option for that object should be called ``name`` whenever possible, or accept ``name`` as an alias."
msgstr "ã¢ãžã¥ãŒã«ããªããžã§ã¯ãã«å¯ŸåŠããŠããå Žåã¯ãå¯èœãªéããã®ãªããžã§ã¯ãã®ãªãã·ã§ã³ã ``name`` ãšãããããŸãã¯ãšã€ãªã¢ã¹ãšã㊠``name`` ãåãå
¥ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:28
msgid "Modules accepting boolean status should accept ``yes``, ``no``, ``true``, ``false``, or anything else a user may likely throw at them. The AnsibleModule common code supports this with ``type='bool'``."
msgstr "ããŒã«å€ã¹ããŒã¿ã¹ãèš±å¯ããã¢ãžã¥ãŒã«ã¯ã``yes``ã``no``ã``true``ã``false``ããããã¯ãŠãŒã¶ãŒã«åºåãããå¯èœæ§ããããã®ã¯ãªãã§ãåãå
¥ããå¿
èŠãããŸããAnsibleModule ã®äžè¬çãªã³ãŒãã¯ã``type='bool'`` ã§ããããµããŒãããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:29
msgid "Avoid ``action``/``command``, they are imperative and not declarative, there are other ways to express the same thing."
msgstr "``action``/``command`` ã¯äœ¿çšããªãã§ãã ãããããã¯åœä»€åã§ããã宣èšçã§ã¯ãããŸããããåãæ¹æ³ã衚瀺ããæ¹æ³ã¯ä»ã«ããããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:32
msgid "General guidelines & tips"
msgstr "äžè¬çãªã¬ã€ãã©ã€ã³ããã³ãã³ã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:34
msgid "Each module should be self-contained in one file, so it can be auto-transferred by ``ansible-core``."
msgstr "åã¢ãžã¥ãŒã«ã¯ 1 ã€ã®ãã¡ã€ã«ã«ãŸãšããŠèªå·±å®çµãããå¿
èŠãããã``ansible-core`` ã§èªå転éã§ããããã«ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:35
msgid "Module name MUST use underscores instead of hyphens or spaces as a word separator. Using hyphens and spaces will prevent ``ansible-core`` from importing your module."
msgstr "ã¢ãžã¥ãŒã«åã¯ãåèªã®åºåãæåãšããŠããã€ãã³ãã¹ããŒã¹ã®ä»£ããã«ã¢ã³ããŒã¹ã³ã¢ã䜿çšããå¿
èŠããããŸãããã€ãã³ãã¹ããŒã¹ã䜿çšãããšã``ansible-core`` ãã¢ãžã¥ãŒã«ãã€ã³ããŒãã§ããªããªããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:36
msgid "Always use the ``hacking/test-module.py`` script when developing modules - it will warn you about common pitfalls."
msgstr "ã¢ãžã¥ãŒã«ãéçºããéã«ã¯å¿
ã ``hacking/test-module.py`` ã¹ã¯ãªããã䜿çšããŠãã ãããããããèœãšãç©Žã«ã€ããŠèŠåããŠãããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:37
msgid "If you have a local module that returns information specific to your installations, a good name for this module is ``site_info``."
msgstr "ã€ã³ã¹ããŒã«ã«åºæã®æ
å ±ãè¿ãããŒã«ã«ã¢ãžã¥ãŒã«ãããå Žåããã®ã¢ãžã¥ãŒã«ã®é©åãªåå㯠``site_info`` ãšãªããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:38
msgid "Eliminate or minimize dependencies. If your module has dependencies, document them at the top of the module file and raise JSON error messages when dependency import fails."
msgstr "äŸåé¢ä¿ããªããããããŸãã¯æå°éã«æããŸããã¢ãžã¥ãŒã«ã«äŸåé¢ä¿ãããå Žåã¯ãã¢ãžã¥ãŒã«ãã¡ã€ã«ã®åé ã§ææžåããäŸåé¢ä¿ã®ã€ã³ããŒãã«å€±æããå Žå㯠JSON ãšã©ãŒã¡ãã»ãŒãžãçºçãããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:39
msgid "Don't write to files directly; use a temporary file and then use the ``atomic_move`` function from ``ansible.module_utils.basic`` to move the updated temporary file into place. This prevents data corruption and ensures that the correct context for the file is kept."
msgstr "ãã¡ã€ã«ã«çŽæ¥æžã蟌ãŸãªãããã«ããŸããäžæãã¡ã€ã«ã䜿çšããŠããã``ansible.module_utils.basic`` ã® ``atomic_move`` é¢æ°ã䜿çšããŠãæŽæ°ãããäžæãã¡ã€ã«ãæå®ã®å Žæã«ç§»åãããŸããããã«ãããããŒã¿ã®ç Žæãé²ãããã¡ã€ã«ã®æ£ããã³ã³ããã¹ããä¿æãããããã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:40
msgid "Avoid creating caches. Ansible is designed without a central server or authority, so you cannot guarantee it will not run with different permissions, options or locations. If you need a central authority, have it on top of Ansible (for example, using bastion/cm/ci server, AWX, or the Red Hat Ansible Automation Platform); do not try to build it into modules."
msgstr "ãã£ãã·ã¥ãäœæããªãã§ãã ãããAnsible ã¯äžå€®ã®ãµãŒããŒãæš©éãæããªãããã«èšèšãããŠãããããããŸããŸãªããŒããã·ã§ã³ããªãã·ã§ã³ãå Žæãæå®ããŠå®è¡ããªãããšãä¿èšŒããããšã¯ã§ããŸãããäžå€®ã®æš©éãå¿
èŠãªå Žåã¯ãããã Ansible ã®äžã«çœ®ããŠãã ãã (äŸ: bastion/cm/ci serverãAWXããŸã㯠Red Hat Ansible Automation Platform ã䜿çš)ããããã¢ãžã¥ãŒã«ã«ã¯çµã¿èŸŒãŸãªãã§ãã ããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:41
msgid "If you package your module(s) in an RPM, install the modules on the control machine in ``/usr/share/ansible``. Packaging modules in RPMs is optional."
msgstr "RPM ã§ã¢ãžã¥ãŒã«ãããã±ãŒãžåããå Žåã¯ãã³ã³ãããŒã«ãã·ã³ã« ``/usr/share/ansible`` ã®ã¢ãžã¥ãŒã«ãã€ã³ã¹ããŒã«ããŸããRPM ã§ã®ã¢ãžã¥ãŒã«ã®ããã±ãŒãžåã¯ä»»æã§ãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:44
msgid "Functions and Methods"
msgstr "é¢æ°ããã³ã¡ãœãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:46
msgid "Each function should be concise and should describe a meaningful amount of work."
msgstr "åé¢æ°ã¯ç°¡æœã«ããæå³ã®ããäœæ¥éãèšè¿°ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:47
msgid "\"Don't repeat yourself\" is generally a good philosophy."
msgstr "ãDon't repeat yourself (ç¹°ãè¿ããªãããš)ãã¯ãéåžžãé©ããŠããå²åŠã§ãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:48
msgid "Function names should use underscores: ``my_function_name``."
msgstr "é¢æ°åã¯ã¢ã³ããŒã¹ã³ã¢ã䜿çšããå¿
èŠããããŸã (``my_function_name``)ã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:49
msgid "The name of each function should describe what the function does."
msgstr "åé¢æ°ã®ååã«ã¯ãé¢æ°ã®æ©èœãèšè¿°ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:50
msgid "Each function should have a docstring."
msgstr "åé¢æ°ã«ã¯ããã¥ã¡ã³ãæåå (docstring) ãå¿
èŠã§ãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:51
msgid "If your code is too nested, that's usually a sign the loop body could benefit from being a function. Parts of our existing code are not the best examples of this at times."
msgstr "ã³ãŒãã®å
¥ãåãå€çšããããŠããå Žåãããã¯éåžžãã«ãŒãæ¬äœãé¢æ°ã§ããããšããå©çãåŸãããå¯èœæ§ã®ããå
åã§ããæ¢åã®ã³ãŒãã®äžéšã¯ãæãšããŠãã®ãããªäŸãšããŠã¯æé©ã§ã¯ãããŸããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:54
msgid "Python tips"
msgstr "Python ã®ãã³ã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:56
msgid "Include a ``main`` function that wraps the normal execution."
msgstr "éåžžã®å®è¡ãã©ãããã ``main`` é¢æ°ãå«ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:57
msgid "Call your ``main`` function from a conditional so you can import it into unit tests - for example:"
msgstr "æ¡ä»¶ãã ``main`` æ©èœãåŒã³åºããŠããŠããããã¹ãã«ã€ã³ããŒãããŸãã以äžã«äŸã瀺ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:67
msgid "Importing and using shared code"
msgstr "å
±æã³ãŒãã®ã€ã³ããŒãããã³äœ¿çš"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:69
msgid "Use shared code whenever possible - don't reinvent the wheel. Ansible offers the ``AnsibleModule`` common Python code, plus :ref:`utilities <developing_module_utilities>` for many common use cases and patterns. You can also create documentation fragments for docs that apply to multiple modules."
msgstr "å¯èœãªéãå
±æã³ãŒãã䜿çšãã - wheel ãåå®è£
ããªãã§ãã ãããAnsible 㯠``AnsibleModule`` ã®äžè¬ç㪠Python ã³ãŒããšãå€ãã®äžè¬çãªãŠãŒã¹ã±ãŒã¹ããã³ãã¿ãŒã³ã«äœ¿çšãã :ref:`ãŠãŒãã£ãªãã£ãŒ <developing_module_utilities>` ãæäŸããŸãããŸããè€æ°ã®ã¢ãžã¥ãŒã«ã«é©çšãããããã¥ã¡ã³ããã©ã°ã¡ã³ããäœæããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:70
msgid "Import ``ansible.module_utils`` code in the same place as you import other libraries."
msgstr "ä»ã®ã©ã€ãã©ãªãŒãã€ã³ããŒãããå Žæãšåãå Žæã« ``ansible.module_utils`` ã³ãŒããã€ã³ããŒãããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:71
msgid "Do NOT use wildcards (*) for importing other python modules; instead, list the function(s) you are importing (for example, ``from some.other_python_module.basic import otherFunction``)."
msgstr "ä»ã® python ã¢ãžã¥ãŒã«ã®ã€ã³ããŒãã«ã¯ã¯ã€ã«ãã«ãŒã (*) ã䜿çšããªãã§ãã ããã代ããã«ãã€ã³ããŒãããé¢æ°ãäžèŠ§è¡šç€ºããŠãã ãã (äŸ: ``from some.other_python_module.basic import otherFunction``ã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:72
msgid "Import custom packages in ``try``/``except``, capture any import errors, and handle them with ``fail_json()`` in ``main()``. For example:"
msgstr "``try``/``except`` ã§ã«ã¹ã¿ã ããã±ãŒãžãã€ã³ããŒãããã€ã³ããŒããšã©ãŒãææãã``main()`` ã® ``fail_json()`` ã§åŠçããŸãã以äžã¯äŸãšãªããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:89
msgid "Then in ``main()``, just after the argspec, do"
msgstr "次㫠``main()`` ã§ãargspec ã®çŽåŸã«ä»¥äžãå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:98
msgid "And document the dependency in the ``requirements`` section of your module's :ref:`documentation_block`."
msgstr "ãŸããäŸåé¢ä¿ãã¢ãžã¥ãŒã«ã® :ref:`documentation_block` ã® ``requirements`` ã»ã¯ã·ã§ã³ã§èšè¿°ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:103
msgid "Handling module failures"
msgstr "ã¢ãžã¥ãŒã«é害ã®åŠç"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:105
msgid "When your module fails, help users understand what went wrong. If you are using the ``AnsibleModule`` common Python code, the ``failed`` element will be included for you automatically when you call ``fail_json``. For polite module failure behavior:"
msgstr "ã¢ãžã¥ãŒã«ã倱æãããšããŠãŒã¶ãŒã¯åé¡ãç解ããã®ã«åœ¹ç«ã¡ãŸããäžè¬ç㪠Python ã³ãŒã ``AnsibleModule`` ã䜿çšããŠããå Žåã¯ã``fail_json`` ã®åŒã³åºãæã«èªåçã« ``failed`` èŠçŽ ãå«ãŸããŸããpolite ã¢ãžã¥ãŒã«ã®å€±æåäœã«ã¯ã以äžãè¡ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:107
msgid "Include a key of ``failed`` along with a string explanation in ``msg``. If you don't do this, Ansible will use standard return codes: 0=success and non-zero=failure."
msgstr "``msg`` ã®æååã®èª¬æãšå
±ã« ``failed`` ã®ããŒãå«ãŸããããã«ããŸãããããè¡ããªããšãAnsible ã¯æšæºã®æ»ãã³ãŒã 0=success ããã³ non-zero=failure ã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:108
msgid "Don't raise a traceback (stacktrace). Ansible can deal with stacktraces and automatically converts anything unparsable into a failed result, but raising a stacktrace on module failure is not user-friendly."
msgstr "ãã¬ãŒã¹ãã㯠(ã¹ã¿ãã¯ãã¬ãŒã¹) ã¯çºçãããŸãããAnsible ã¯ã¹ã¿ãã¯ãã¬ãŒã¹ãæ±ãããšãã§ãã解æã§ããªããã®ã¯èªåçã«å€±æããçµæã«å€æããŸãããã¢ãžã¥ãŒã«ã®å€±ææã«ã¹ã¿ãã¯ãã¬ãŒã¹ãçºçãããã®ã¯ãŠãŒã¶ãŒãã¬ã³ããªãŒã§ã¯ãããŸããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:109
msgid "Do not use ``sys.exit()``. Use ``fail_json()`` from the module object."
msgstr "``sys.exit()`` ã¯äœ¿çšããªãã§ãã ãããã¢ãžã¥ãŒã«ãªããžã§ã¯ãã® ``fail_json()`` ã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:112
msgid "Handling exceptions (bugs) gracefully"
msgstr "äŸå€ (ãã°) ãæ£åžžã«åŠç"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:114
msgid "Validate upfront--fail fast and return useful and clear error messages."
msgstr "åãã£ãŠæ€èšŒããŸããæ©ãã«å€±æããæçšã§æ確ãªãšã©ãŒã¡ãã»ãŒãžãè¿ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:115
msgid "Use defensive programming--use a simple design for your module, handle errors gracefully, and avoid direct stacktraces."
msgstr "é²åŸ¡çãªããã°ã©ãã³ã°ã䜿çšããŸããã¢ãžã¥ãŒã«ã«ã¯ã·ã³ãã«ãªãã¶ã€ã³ã䜿çšãããšã©ãŒãé©åã«åŠçããçŽæ¥ã®ã¹ã¿ãã¯ãã¬ãŒã¹ãåé¿ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:116
msgid "Fail predictably--if we must fail, do it in a way that is the most expected. Either mimic the underlying tool or the general way the system works."
msgstr "äºæž¬å¯èœãªæ¹æ³ã§å€±æãããŸãã倱æãã©ãããŠãé¿ããããªãå Žåã¯ãæãæåŸ
ãããæ¹æ³ã§å€±æããŸããåºç€ãšãªãããŒã«ããŸãã¯ã·ã¹ãã ã®äžè¬çãªåäœæ¹æ³ãæš¡å£ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:117
msgid "Give out a useful message on what you were doing and add exception messages to that."
msgstr "å®è¡å
容ã«é¢ããæçšãªã¡ãã»ãŒãžã衚瀺ããŠãããã«äŸå€ã¡ãã»ãŒãžãè¿œå ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:118
msgid "Avoid catchall exceptions, they are not very useful unless the underlying API gives very good error messages pertaining the attempted action."
msgstr "ãã£ãããªãŒã«äŸå€ã¯äœ¿çšããªãã§ãã ãããåºã«ãªã API ãè©Šè¡ãããã¢ã¯ã·ã§ã³ã«é¢ããŠéåžžã«åªãããšã©ãŒã¡ãã»ãŒãžããªãéãããããã®äŸå€ã¯ã»ãšãã©åœ¹ã«ç«ã¡ãŸããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:123
msgid "Creating correct and informative module output"
msgstr "æ£ç¢ºã§æçãªã¢ãžã¥ãŒã«åºåãäœæ"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:125
msgid "Modules must output valid JSON only. Follow these guidelines for creating correct, useful module output:"
msgstr "ã¢ãžã¥ãŒã«ã¯æå¹ãª JSON ã®ã¿ãåºåããªããã°ãªããŸãããæ£ç¢ºã§æçšãªã¢ãžã¥ãŒã«åºåãäœæããã«ã¯ã以äžã®ã¬ã€ãã©ã€ã³ã«åŸã£ãŠãã ããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:127
msgid "Make your top-level return type a hash (dictionary)."
msgstr "æäžäœã¬ãã«ã®æ»ãå€ã®åãããã·ã¥ (ãã£ã¬ã¯ããªãŒ) ã«ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:128
msgid "Nest complex return values within the top-level hash."
msgstr "è€éãªæ»ãå€ããããã¬ãã«ã®ããã·ã¥å
ã«å
¥ãåã«ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:129
msgid "Incorporate any lists or simple scalar values within the top-level return hash."
msgstr "æäžäœã¬ãã«ã®æ»ãå€ããã·ã¥å
ã«ãªã¹ããåçŽãªã¹ã«ã©ãŒå€ãçµã¿èŸŒã¿ãŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:130
msgid "Do not send module output to standard error, because the system will merge standard out with standard error and prevent the JSON from parsing."
msgstr "ã¢ãžã¥ãŒã«ã®åºåãæšæºãšã©ãŒã«éããªãã§ãã ãããã·ã¹ãã ãæšæºãšã©ãŒãšæšæºåºåãããŒãžããJSON ã®è§£æã劚ããããã§ãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:131
msgid "Capture standard error and return it as a variable in the JSON on standard out. This is how the command module is implemented."
msgstr "æšæºãšã©ãŒãååŸããæšæºåºåã® JSON ã§å€æ°ãšããŠè¿ããŸããããã¯ãã³ãã³ãã¢ãžã¥ãŒã«ã®å®è£
æ¹æ³ã§ãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:132
msgid "Never do ``print(\"some status message\")`` in a module, because it will not produce valid JSON output."
msgstr "æå¹ãª JSON åºåãçæãããªããããã¢ãžã¥ãŒã«ã§ ``print(\"some status message\")`` ãå®è¡ããªãã§ãã ããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:133
msgid "Always return useful data, even when there is no change."
msgstr "å€æŽããªãå Žåã§ããæçšãªããŒã¿ãåžžã«è¿ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:134
msgid "Be consistent about returns (some modules are too random), unless it is detrimental to the state/action."
msgstr "ç¶æ
/ã¢ã¯ã·ã§ã³ã«æ害ã§ãªãéããæ»ãå€ã¯äžè²«ãããã®ã«ããŠãã ãã (ã¢ãžã¥ãŒã«ã«ãã£ãŠã¯éåžžã«ä¹±éãªãã®ããããŸã)ã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:135
msgid "Make returns reusable--most of the time you don't want to read it, but you do want to process it and re-purpose it."
msgstr "æ»ãå€ã¯åå©çšå¯èœãªãã®ã«ããŸããã»ãšãã©ã®å Žåã¯èªãããšã¯ãããŸããããåŠçããŠåå©çšã§ãããã®ã«ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:136
msgid "Return diff if in diff mode. This is not required for all modules, as it won't make sense for certain ones, but please include it when applicable."
msgstr "diff ã¢ãŒãã®å Žå㯠diff ãè¿ããŸããããã¯ãç¹å®ã®ã¢ãžã¥ãŒã«ã§ã¯æå³ããªããªãããããã¹ãŠã®ã¢ãžã¥ãŒã«ã«å¿
èŠãªããã§ã¯ãããŸãããã該åœããå Žåã«ã¯äœ¿çšããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:137
msgid "Enable your return values to be serialized as JSON with Python's standard `JSON encoder and decoder <https://docs.python.org/3/library/json.html>`_ library. Basic python types (strings, int, dicts, lists, and so on) are serializable."
msgstr "Python ã®æšæºã® `JSON ãšã³ã³ãŒããŒããã³ãã³ãŒã㌠<https://docs.python.org/3/library/json.html>`_ ã©ã€ãã©ãªãŒã§ãæ»ãå€ã JSON ãšããŠã·ãªã¢ã©ã€ãºã§ããããã«ããŸããåºæ¬ç㪠python ã¿ã€ã (æååãintããã£ã¯ã·ã§ããªãŒããªã¹ããªã©) ã¯ã·ãªã¢ã©ã€ãºå¯èœã§ãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:138
msgid "Do not return an object using exit_json(). Instead, convert the fields you need from the object into the fields of a dictionary and return the dictionary."
msgstr "exit_json() ã䜿çšããŠãªããžã§ã¯ããè¿ããªãã§ãã ããã代ããã«ããªããžã§ã¯ãã®å¿
èŠãªãã£ãŒã«ãããã£ã¯ã·ã§ããªãŒã®ãã£ãŒã«ãã«å€æããŠè¿ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:139
msgid "Results from many hosts will be aggregated at once, so your module should return only relevant output. Returning the entire contents of a log file is generally bad form."
msgstr "å€æ°ã®ãã¹ãããã®çµæãäžåºŠã«éçŽããããããã¢ãžã¥ãŒã«ã¯é¢é£ããåºåã ããè¿ãã¹ãã§ãããã°ãã¡ã€ã«ã®å
容å
šäœãè¿ãã®ã¯ãäžè¬çã«ã¯æªã圢åŒã§ãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:141
msgid "If a module returns stderr or otherwise fails to produce valid JSON, the actual output will still be shown in Ansible, but the command will not succeed."
msgstr "ã¢ãžã¥ãŒã«ã stderr ãè¿ãããæå¹ãª JSON ã®çæã«å€±æããå Žåã§ããå®éã®åºå㯠Ansible ã«è¡šç€ºãããŸãããã³ãã³ãã¯æåããŸããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:146
msgid "Following Ansible conventions"
msgstr "Ansible ã®èŠåã«æºæ "
#: ../../rst/dev_guide/developing_modules_best_practices.rst:148
msgid "Ansible conventions offer a predictable user interface across all modules, playbooks, and roles. To follow Ansible conventions in your module development:"
msgstr "Ansible ã®èŠåã¯ããã¹ãŠã®ã¢ãžã¥ãŒã«ãPlaybookãããŒã«ã«æž¡ã£ãŠäºæž¬å¯èœãªãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŸããã¢ãžã¥ãŒã«éçºã«ãã㊠Ansible ã®èŠåã«åŸãã«ã¯ã以äžãè¡ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:150
msgid "Use consistent names across modules (yes, we have many legacy deviations - don't make the problem worse!)."
msgstr "ã¢ãžã¥ãŒã«éã§äžè²«æ§ã®ããååã䜿çšããŸã (ã¬ã¬ã·ãŒãšã®çžéãå€æ°ãããããåé¡ãæªåãããªãããã«ããŸããã)ã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:151
msgid "Use consistent options (arguments) within your module(s)."
msgstr "ã¢ãžã¥ãŒã«å
ã§äžè²«ãããªãã·ã§ã³ (åŒæ°) ã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:152
msgid "Do not use 'message' or 'syslog_facility' as an option name, because this is used internally by Ansible."
msgstr "ãã㯠Ansible ã«ãã£ãŠå
éšã§äœ¿çšãããããããªãã·ã§ã³åã«ã¯ãmessageããŸãã¯ãsyslog_facilityãã䜿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:153
msgid "Normalize options with other modules - if Ansible and the API your module connects to use different names for the same option, add aliases to your options so the user can choose which names to use in tasks and playbooks."
msgstr "ä»ã®ã¢ãžã¥ãŒã«ã§ãªãã·ã§ã³ãæ£èŠåããŸããAnsible ãšãã¢ãžã¥ãŒã«ãæ¥ç¶ãã API ãåããªãã·ã§ã³ã«ç°ãªãååã䜿çšããŠããå Žåã¯ããªãã·ã§ã³ã«ãšã€ãªã¢ã¹ãè¿œå ããŠããŠãŒã¶ãŒãã¿ã¹ã¯ããã³ Playbook ã§äœ¿çšããååãéžæã§ããããã«ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:154
msgid "Return facts from ``*_facts`` modules in the ``ansible_facts`` field of the :ref:`result dictionary<common_return_values>` so other modules can access them."
msgstr "ä»ã®ã¢ãžã¥ãŒã«ããããã«ã¢ã¯ã»ã¹ã§ããããã«ã:ref:`çµæãã£ã¯ã·ã§ããªãŒ<common_return_values>` ã® ``ansible_facts`` ãã£ãŒã«ãã® ``*_facts`` ã¢ãžã¥ãŒã«ãããã¡ã¯ããè¿ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:155
msgid "Implement ``check_mode`` in all ``*_info`` and ``*_facts`` modules. Playbooks which conditionalize based on fact information will only conditionalize correctly in ``check_mode`` if the facts are returned in ``check_mode``. Usually you can add ``supports_check_mode=True`` when instantiating ``AnsibleModule``."
msgstr "ãã¹ãŠã® ``*_info`` ããã³ ``*_facts`` ã¢ãžã¥ãŒã«ã« ``check_mode`` ãå®è£
ããŸãããã¡ã¯ãæ
å ±ãããšã«æ¡ä»¶ä»ãããã Playbook ã¯ããã¡ã¯ãã ``check_mode`` ã§è¿ãããå Žåã«ã®ã¿ ``check_mode`` ã§æ¡ä»¶åãããŸãã éåžžã¯ã``AnsibleModule`` ãã€ã³ã¹ã¿ã³ã¹åããæã« ``supports_check_mode=True`` ãè¿œå ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:156
msgid "Use module-specific environment variables. For example, if you use the helpers in ``module_utils.api`` for basic authentication with ``module_utils.urls.fetch_url()`` and you fall back on environment variables for default values, use a module-specific environment variable like :code:`API_<MODULENAME>_USERNAME` to avoid conflicts between modules."
msgstr "ã¢ãžã¥ãŒã«åºæã®ç°å¢å€æ°ã䜿çšããŸããããšãã°ã``module_utils.urls.fetch_url()`` ã§ã®åºæ¬çãªèªèšŒã« ``module_utils.api`` ã®ãã«ããŒã䜿çšããããã©ã«ãå€ãç°å¢å€æ°ã«äŸåããŠããå Žåã¯ãã¢ãžã¥ãŒã«éã®ç«¶åãåé¿ããããã« :code:`API_<MODULENAME>_USERNAME` ã®ãããªã¢ãžã¥ãŒã«åºæã®ç°å¢å€æ°ã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:157
msgid "Keep module options simple and focused - if you're loading a lot of choices/states on an existing option, consider adding a new, simple option instead."
msgstr "ã¢ãžã¥ãŒã«ã®ãªãã·ã§ã³ã¯ã·ã³ãã«ã§çŠç¹ãçµã£ããã®ã«ããŸããæ¢åã®ãªãã·ã§ã³ã«å€ãã®éžæè¢ãç¶æ
ãèªã¿èŸŒãã§ããå Žåã¯ã代ããã«æ°ããã·ã³ãã«ãªãªãã·ã§ã³ãè¿œå ããããšãæ€èšããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:158
msgid "Keep options small when possible. Passing a large data structure to an option might save us a few tasks, but it adds a complex requirement that we cannot easily validate before passing on to the module."
msgstr "å¯èœãªå Žåã¯ãªãã·ã§ã³ã®ãµã€ãºãå°ããããŸãã倧ããªããŒã¿æ§é ããªãã·ã§ã³ã«æž¡ããšãããã€ãã®äœæ¥ãçãããããããŸããããã¢ãžã¥ãŒã«ã«æž¡ãåã«ç°¡åã«æ€èšŒã§ããªãè€éãªèŠä»¶ãè¿œå ãããŠããŸããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:159
msgid "If you want to pass complex data to an option, write an expert module that allows this, along with several smaller modules that provide a more 'atomic' operation against the underlying APIs and services. Complex operations require complex data. Let the user choose whether to reflect that complexity in tasks and plays or in vars files."
msgstr "è€éãªããŒã¿ããªãã·ã§ã³ã«æž¡ãããã®ã§ããã°ããããå¯èœã«ãããšãã¹ããŒãã¢ãžã¥ãŒã«ãšãåºç€ãšãªã API ããµãŒãã¹ã«å¯ŸããŠãããã¢ãããã¯ãªãæäœãæäŸããããã€ãã®å°ããªã¢ãžã¥ãŒã«ãäœæããŸããè€éãªæäœã«ã¯è€éãªããŒã¿ãå¿
èŠã§ãããã®è€éããã¿ã¹ã¯ããã¬ã€ã«åæ ãããããvars ãã¡ã€ã«ã«åæ ããããããŠãŒã¶ãéžæã§ããããã«ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:160
msgid "Implement declarative operations (not CRUD) so the user can ignore existing state and focus on final state. For example, use ``started/stopped``, ``present/absent``."
msgstr "ãŠãŒã¶ãŒãæ¢åã®ç¶æ
ãç¡èŠããŠæçµçãªç¶æ
ã«éäžã§ããããã«ã(CRUDã§ã¯ãªã) 宣èšçãªæäœãå®è£
ããŸããããšãã°ã``started/stopped``ã``present/absent`` ã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:161
msgid "Strive for a consistent final state (aka idempotency). If running your module twice in a row against the same system would result in two different states, see if you can redesign or rewrite to achieve consistent final state. If you can't, document the behavior and the reasons for it."
msgstr "æçµç¶æ
ãäžè²«ãããã® (å¥åãåªçæ§) ã«ãªãããã«ããŸããåãã·ã¹ãã ã«å¯ŸããŠã¢ãžã¥ãŒã«ãé£ç¶ã㊠2 åå®è¡ãããš 2 ã€ã®ç°ãªãç¶æ
ã«ãªã£ãŠããŸãå Žåã¯ãæçµçãªç¶æ
ãäžè²«ããŠãããã©ãããåèšèšãŸãã¯æžãæããŠã¿ãŠãã ãããã§ããªãå Žåã¯ãåäœãšãã®çç±ãèšèŒããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:162
msgid "Provide consistent return values within the standard Ansible return structure, even if NA/None are used for keys normally returned under other options."
msgstr "éåžžã¯ä»ã®ãªãã·ã§ã³ã§è¿ãããããŒã« NA/None ã䜿çšãããŠããå Žåã§ããæšæºã® Ansible ã®æ»ãå€æ§é å
ã§äžè²«æ§ã®ããæ»ãå€ãæäŸããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:166
msgid "Module Security"
msgstr "ã¢ãžã¥ãŒã«ã®ã»ãã¥ãªãã£ãŒ"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:168
msgid "Avoid passing user input from the shell."
msgstr "ã·ã§ã«ãããŠãŒã¶ãŒå
¥åãæž¡ããªãããã«ããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:169
msgid "Always check return codes."
msgstr "åžžã«æ»ãã³ãŒãã確èªããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:170
msgid "You must always use ``module.run_command``, not ``subprocess`` or ``Popen`` or ``os.system``."
msgstr "``subprocess``ã``Popen``ããŸã㯠``os.system`` ã§ã¯ãªããåžžã« ``module.run_command`` ã䜿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:171
msgid "Avoid using the shell unless absolutely necessary."
msgstr "絶察ã«å¿
èŠãªå Žåãé€ããã·ã§ã«ã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:172
msgid "If you must use the shell, you must pass ``use_unsafe_shell=True`` to ``module.run_command``."
msgstr "ã·ã§ã«ã䜿çšããå¿
èŠãããå Žåã¯ã``use_unsafe_shell=True`` ã ``module.run_command`` ã«æž¡ãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:173
msgid "If any variables in your module can come from user input with ``use_unsafe_shell=True``, you must wrap them with ``pipes.quote(x)``."
msgstr "ã¢ãžã¥ãŒã«ã®å€æ°ã ``use_unsafe_shell=True`` ã䜿çšããŠãŠãŒã¶ãŒå
¥åããéãããå Žåã¯ã``pipes.quote(x)`` ã§ã©ããããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:174
msgid "When fetching URLs, use ``fetch_url`` or ``open_url`` from ``ansible.module_utils.urls``. Do not use ``urllib2``, which does not natively verify TLS certificates and so is insecure for https."
msgstr "URL ãååŸããéã«ã¯ã``ansible.module_utils.urls`` ãã ``fetch_url`` ãŸã㯠``open_url`` ã䜿çšããŠãã ããã``urllib2`` ã䜿çšããªãã§ãã ãããTLS 蚌ææžããã€ãã£ãã§æ€èšŒããªããããhttps ã§ã¯å®å
šã§ã¯ãããŸããã"
#: ../../rst/dev_guide/developing_modules_best_practices.rst:175
msgid "Sensitive values marked with ``no_log=True`` will automatically have that value stripped from module return values. If your module could return these sensitive values as part of a dictionary key name, you should call the ``ansible.module_utils.basic.sanitize_keys()`` function to strip the values from the keys. See the ``uri`` module for an example."
msgstr "``no_log=True`` ã®ããŒã¯ãä»ããæ©å¯å€ã¯èªåçã«ãã¢ãžã¥ãŒã«ã®æ»ãå€ããåãé€ãããŸããã¢ãžã¥ãŒã«ããããã®æ©å¯å€ããã£ã¯ã·ã§ããªãŒããŒåã®äžéšãšããŠè¿ãããšãã§ããå Žåã¯ã``ansible.module_utils.basic.sanitize_keys()`` é¢æ°ãåŒã³åºããŠããŒããå€ãåãé€ãå¿
èŠããããŸããããšãã°ã``uri`` ã¢ãžã¥ãŒã«ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:6
msgid "Contributing your module to an existing Ansible collection"
msgstr "æ¢åã® Ansible ã³ã¬ã¯ã·ã§ã³ãžã®ã¢ãžã¥ãŒã«ã®è²¢ç®"
#: ../../rst/dev_guide/developing_modules_checklist.rst:8
msgid "If you want to contribute a module to an existing collection, you must meet the community's objective and subjective requirements. Please read the details below, and also review our :ref:`tips for module development <developing_modules_best_practices>`."
msgstr "æ¢åã®ã³ã¬ã¯ã·ã§ã³ã«ã¢ãžã¥ãŒã«ãæäŸããå Žåã¯ãã³ãã¥ããã£ãŒã®ç®çã®èŠä»¶ãšäž»äœçãªèŠä»¶ãæºããå¿
èŠããããŸãã以äžã®è©³çŽ°ãèªã¿ãã:ref:`ã¢ãžã¥ãŒã«éçºã®ãã³ã <developing_modules_best_practices>`ãã確èªããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:10
msgid "Modules accepted into certain collections are included in every Ansible release on PyPI. However, contributing to one of these collections is not the only way to distribute a module - you can :ref:`create your own collection <developing_collections>`, embed modules in roles on Galaxy or simply share copies of your module code for :ref:`local use <developing_locally>`."
msgstr "ç¹å®ã®ã³ã¬ã¯ã·ã§ã³ã§èš±å¯ãããã¢ãžã¥ãŒã«ã¯ãPyPI ã®ãã¹ãŠã® Ansible ãªãªãŒã¹ã«å«ãŸããŸãããã ãããããã®ã³ã¬ã¯ã·ã§ã³ã®ããããã«è²¢ç®ããããšããã¢ãžã¥ãŒã«ãé
åžããå¯äžã®æ¹æ³ã§ã¯ãããŸããã:ref:`ç¬èªã®ã³ã¬ã¯ã·ã§ã³ã®äœæ <developing_collections>` ã¯ãGalaxy ã®ããŒã«ã«ã¢ãžã¥ãŒã«ã³ãŒãã®ã³ããŒãåã蟌ãã ãã:ref:`ããŒã«ã«ã§ã®äœ¿çš <developing_locally>` çšã«ã¢ãžã¥ãŒã«ã³ãŒãã®ã³ããŒãå
±æããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:13
msgid "Contributing modules: objective requirements"
msgstr "ã¢ãžã¥ãŒã«ã®è²¢ç®: ç®çèŠä»¶"
#: ../../rst/dev_guide/developing_modules_checklist.rst:15
msgid "To contribute a module to most Ansible collections, you must:"
msgstr "ã¢ãžã¥ãŒã«ãã»ãšãã©ã® Ansible ã³ã¬ã¯ã·ã§ã³ã«æäŸããã«ã¯ã以äžãè¡ãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:17
msgid "write your module in either Python or Powershell for Windows"
msgstr "Windows çšã® Python ãŸã㯠Powershell ã®ããããã§ã¢ãžã¥ãŒã«ãæžã蟌ã¿ãŸãã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:18
msgid "use the ``AnsibleModule`` common code"
msgstr "``AnsibleModule`` å
±éã³ãŒãã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:19
msgid "support Python 2.6 and Python 3.5 - if your module cannot support Python 2.6, explain the required minimum Python version and rationale in the requirements section in ``DOCUMENTATION``"
msgstr "Python 2.6 ããã³ Python 3.5 ããµããŒãããŸããã¢ãžã¥ãŒã«ã Python 2.6 ããµããŒãã§ããªãå Žåã¯ã``DOCUMENTATION`` ã®èŠä»¶ã»ã¯ã·ã§ã³ã§ãæäœéå¿
èŠãª Python ããŒãžã§ã³ãšæ ¹æ ã説æããŸãã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:20
msgid "use proper :ref:`Python 3 syntax <developing_python_3>`"
msgstr "é©å㪠:ref:`Python 3 æ§æ <developing_python_3>` ã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:21
msgid "follow `PEP 8 <https://www.python.org/dev/peps/pep-0008/>`_ Python style conventions - see :ref:`testing_pep8` for more information"
msgstr "`PEP 8 <https://www.python.org/dev/peps/pep-0008/>`_ Python ã¹ã¿ã€ã«ã®èŠåã«åŸããŸãã詳现ã¯ã:ref:`testing_pep8`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:22
msgid "license your module under the GPL license (GPLv3 or later)"
msgstr "GPL ã©ã€ã»ã³ã¹ (GPLv3 以é) ã§ã¢ãžã¥ãŒã«ã«ã©ã€ã»ã³ã¹ãä»äžããŸãã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:23
msgid "understand the :ref:`license agreement <contributor_license_agreement>`, which applies to all contributions"
msgstr "ãã¹ãŠã®è²¢ç®ã«é©çšããã :ref:`ã©ã€ã»ã³ã¹åæ <contributor_license_agreement>` ãç解ããŸãã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:24
msgid "conform to Ansible's :ref:`formatting and documentation <developing_modules_documenting>` standards"
msgstr "Ansible ã® :ref:`ãã©ãŒãããããã³ããã¥ã¡ã³ã <developing_modules_documenting>` ã®æšæºèŠæ Œã«æºæ ããŠããŸãã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:25
msgid "include comprehensive :ref:`tests <developing_testing>` for your module"
msgstr "ã¢ãžã¥ãŒã«ã«å
æ¬ç㪠:ref:`ãã¹ã <developing_testing>` ãå«ããŸãã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:26
msgid "minimize module dependencies"
msgstr "ã¢ãžã¥ãŒã«äŸåé¢ä¿ãæå°éã«æããŸãã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:27
msgid "support :ref:`check_mode <check_mode_dry>` if possible"
msgstr "å¯èœãªå Žå㯠:ref:`check_mode <check_mode_dry>` ããµããŒãããŸãã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:28
msgid "ensure your code is readable"
msgstr "ã³ãŒããèªã¿åãå¯èœã§ããããšã確èªããŸãã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:29
msgid "if a module is named ``<something>_facts``, it should be because its main purpose is returning ``ansible_facts``. Do not name modules that do not do this with ``_facts``. Only use ``ansible_facts`` for information that is specific to the host machine, for example network interfaces and their configuration, which operating system and which programs are installed."
msgstr "ã¢ãžã¥ãŒã«ã®ååã ``<something>_facts`` ãªã®ã¯ã``ansible_facts`` ãè¿ãããšãäž»ãªç®çã ããã§ããããã¯ã``_facts`` ã§ãããè¡ããªãã¢ãžã¥ãŒã«ã«ååãä»ããªãã§ãã ããããããã¯ãŒã¯ã€ã³ã¿ãŒãã§ãŒã¹ããã®èšå®ãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãã€ã³ã¹ããŒã«ãããŠããããã°ã©ã ãªã©ããã¹ããã·ã³ã«åºæã®æ
å ±ã«ã¯ ``ansible_facts`` ã®ã¿ã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:30
msgid "Modules that query/return general information (and not ``ansible_facts``) should be named ``_info``. General information is non-host specific information, for example information on online/cloud services (you can access different accounts for the same online service from the same host), or information on VMs and containers accessible from the machine."
msgstr "äžè¬æ
å ±ãã¯ãšãªãŒ/è¿éããã¢ãžã¥ãŒã«ã¯ (``ansible_facts`` ã§ã¯ãªã) ``_info`` ãšããååã«ããå¿
èŠããããŸããäžè¬æ
å ±ãšã¯ããã¹ãåºæã§ã¯ãªãæ
å ±ãããšãã°ããªã³ã©ã€ã³/ã¯ã©ãŠããµãŒãã¹ã«é¢ããæ
å ± (åããã¹ãããåããªã³ã©ã€ã³ãµãŒãã¹ã®ç°ãªãã¢ã«ãŠã³ãã«ã¢ã¯ã»ã¹ã§ããŸã)ããŸãã¯ããã·ã³ããã¢ã¯ã»ã¹å¯èœãªä»®æ³ãã·ã³ããã³ã³ã³ãããŒã«é¢ããæ
å ±ã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:32
msgid "Additional requirements may apply for certain collections. Review the individual collection repositories for more information."
msgstr "è¿œå ã®èŠä»¶ã¯ãç¹å®ã®ã³ã¬ã¯ã·ã§ã³ã«é©çšãããå¯èœæ§ããããŸãã詳现ã¯ãåå¥ã®ã³ã¬ã¯ã·ã§ã³ãªããžããªãŒãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:34
msgid "Please make sure your module meets these requirements before you submit your PR/proposal. If you have questions, reach out via the ``#ansible-devel`` chat channel (using Matrix at ansible.im or using IRC at `irc.libera.chat <https://libera.chat>`_) or the `Ansible development mailing list <https://groups.google.com/group/ansible-devel>`_."
msgstr "PR/ææ¡ãéä¿¡ããåã«ãã䜿ãã®ã¢ãžã¥ãŒã«ããããã®èŠä»¶ãæºãããŠããããšã確èªããŠãã ãããã質åãããå Žåã¯ã``#ansible-devel``ãã£ãããã£ã³ãã«ïŒansible.imã§Matrixã䜿çšããããã¯`irc.libera.chat <https://libera.chat>`ã§IRCã䜿çšïŒãŸã㯠`Ansible development mailing list <https://groups.google.com/group/ansible-devel>` ãŸã§ãåãåãããã ããã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:37
msgid "Contributing to Ansible: subjective requirements"
msgstr "Ansible ãžã®è²¢ç®: 䞻芳çãªèŠä»¶"
#: ../../rst/dev_guide/developing_modules_checklist.rst:39
msgid "If your module meets these objective requirements, collection maintainers will review your code to see if they think it's clear, concise, secure, and maintainable. They will consider whether your module provides a good user experience, helpful error messages, reasonable defaults, and more. This process is subjective, with no exact standards for acceptance. For the best chance of getting your module accepted, follow our :ref:`tips for module development <developing_modules_best_practices>`."
msgstr "ã¢ãžã¥ãŒã«ããããã®ç®çã®èŠä»¶ãæºããå Žåã¯ãã³ã¬ã¯ã·ã§ã³ã®ã¡ã³ãããŒããæ確ãç°¡æœãå®å
šã§ãããç¶æãå¯èœã§ãããšèããã³ãŒãã確èªããŸããã¢ãžã¥ãŒã«ãåªãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããæçšãªãšã©ãŒã¡ãã»ãŒãžãæçãªããã©ã«ããªã©ãæäŸãããã©ãããèæ
®ããŸãããã®ããã»ã¹ã¯äž»èŠ³çã§ãæ£ç¢ºãªæšæºã¯ãããŸãããã¢ãžã¥ãŒã«ãåãå
¥ããããå¯èœæ§ãæ倧éã«é«ããã«ã¯ãã:ref:`ã¢ãžã¥ãŒã«éçºã®ãã³ã <developing_modules_best_practices>`ãã«åŸã£ãŠãã ããã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:42
msgid "Other checklists"
msgstr "ãã®ä»ã®ãã§ãã¯ãªã¹ã"
#: ../../rst/dev_guide/developing_modules_checklist.rst:44
msgid ":ref:`Tips for module development <developing_modules_best_practices>`."
msgstr ":ref:`ã¢ãžã¥ãŒã«éçºã®ãã³ã <developing_modules_best_practices>`"
#: ../../rst/dev_guide/developing_modules_checklist.rst:45
msgid ":ref:`Windows development checklist <developing_modules_general_windows>`."
msgstr ":ref:`Windows éçºãã§ãã¯ãªã¹ã <developing_modules_general_windows>`"
#: ../../rst/dev_guide/developing_modules_documenting.rst:6
msgid "Module format and documentation"
msgstr "ã¢ãžã¥ãŒã«ã®åœ¢åŒããã³ããã¥ã¡ã³ã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:8
msgid "If you want to contribute your module to most Ansible collections, you must write your module in Python and follow the standard format described below. (Unless you're writing a Windows module, in which case the :ref:`Windows guidelines <developing_modules_general_windows>` apply.) In addition to following this format, you should review our :ref:`submission checklist <developing_modules_checklist>`, :ref:`programming tips <developing_modules_best_practices>`, and :ref:`strategy for maintaining Python 2 and Python 3 compatibility <developing_python_3>`, as well as information about :ref:`testing <developing_testing>` before you open a pull request."
msgstr "ã¢ãžã¥ãŒã«ãã»ãšãã©ã® Ansible ã³ã¬ã¯ã·ã§ã³ã«è²¢ç®ããå Žåã¯ãPython ã§ã¢ãžã¥ãŒã«ãäœæããŠããã®æšæºåœ¢åŒã«åŸãå¿
èŠããããŸãã(Windows ã¢ãžã¥ãŒã«ãäœæããããšããªãå Žåããã®å Žåã¯ã:ref:`Windows ã¬ã€ãã©ã€ã³ <developing_modules_general_windows>` ãé©çšãããŸã)ããã®åœ¢åŒã«åŸãããšã«å ãããã«èŠæ±ãäœæããåã«ã:ref:`æåºã®ãã§ãã¯ãªã¹ã <developing_modules_checklist>`ã:ref:`ããã°ã©ã ã®ãã³ã <developing_modules_best_practices>`ã:ref:`Python 2 ããã³ Python 3 äºææ§ã®ç¶æã®ã¹ãã©ããžãŒ <developing_python_3>` ãšã:ref:`ãã¹ã <developing_testing>` ã«é¢ããæ
å ±ããèªã¿ãã ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:10
msgid "Every Ansible module written in Python must begin with seven standard sections in a particular order, followed by the code. The sections in order are:"
msgstr "Python ã§æžããããã¹ãŠã® Ansible ã¢ãžã¥ãŒã«ã¯ãç¹å®ã®é åºã§ 7 ã€ã®æšæºã»ã¯ã·ã§ã³ããå§ãŸãããã®åŸã«ã³ãŒããç¶ããŸããã»ã¯ã·ã§ã³ã®é çªã¯ä»¥äžã®ãšããã§ãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:16
msgid "Why don't the imports go first?"
msgstr "æåã«ã€ã³ããŒããè¡ãããªãã®ã¯ãªãã§ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:18
msgid "Keen Python programmers may notice that contrary to PEP 8's advice we don't put ``imports`` at the top of the file. This is because the ``DOCUMENTATION`` through ``RETURN`` sections are not used by the module code itself; they are essentially extra docstrings for the file. The imports are placed after these special variables for the same reason as PEP 8 puts the imports after the introductory comments and docstrings. This keeps the active parts of the code together and the pieces which are purely informational apart. The decision to exclude E402 is based on readability (which is what PEP 8 is about). Documentation strings in a module are much more similar to module level docstrings, than code, and are never utilized by the module itself. Placing the imports below this documentation and closer to the code, consolidates and groups all related code in a congruent manner to improve readability, debugging and understanding."
msgstr "ç±å¿ãª Python ããã°ã©ããŒã¯ãPEP 8 ã®ã¢ããã€ã¹ã«åããŠããã¡ã€ã«ã®åé ã« ``imports`` ã眮ããŠããªãããšã«æ°ã¥ããããããŸãããããã¯ã``RETURN`` ãŸã§ã® ``DOCUMENTATION`` ã»ã¯ã·ã§ã³ã¯ã¢ãžã¥ãŒã«ã³ãŒãèªäœã§äœ¿çšãããŠããããåºæ¬çã«ãã¡ã€ã«ã«è¿œå ã®ããã¥ã¡ã³ãæååã䜿çšããããã§ããã€ã³ããŒãã¯ãPEP 8 ãšåãçç±ã§ãããã®ç¹å¥ãªå€æ°ã®åŸã«çœ®ããã玹ä»ã®ã³ã¡ã³ããšããã¥ã¡ã³ãæååã®åŸã«ã€ã³ããŒããè¿œå ããŸããããã«ãããã³ãŒãã®æŽ»åçãªéšåãäžç·ã«ãªããçŽç²ã«æ
å ±ãæäŸããéšåãåé¢ãããŸããE402 ãé€å€ããææ決å®ã¯ (PEP 8 ã®ç®çã§ãã) å¯èªæ§ã«åºã¥ããŠããŸããã¢ãžã¥ãŒã«å
ã®ããã¥ã¡ã³ãæååã¯ãã³ãŒãããããã¢ãžã¥ãŒã«ã¬ãã«ã®ããã¥ã¡ã³ãæååã«ãã䌌ãŠãããã¢ãžã¥ãŒã«èªäœãå©çšããããšã¯ãããŸãããã€ã³ããŒããããã®ããã¥ã¡ã³ãã®äžã®ãããã³ãŒãã«è¿ããšããã«çœ®ãããšã§ãé¢é£ãããã¹ãŠã®ã³ãŒããçµ±åããŠã°ã«ãŒãåããå¯èªæ§ããããã°ãç解ãåäžãããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:20
msgid "**Copy old modules with care!**"
msgstr "**å€ãã¢ãžã¥ãŒã«ã¯æ³šæããŠã³ããŒããŠãã ããã**"
#: ../../rst/dev_guide/developing_modules_documenting.rst:22
msgid "Some older Ansible modules have ``imports`` at the bottom of the file, ``Copyright`` notices with the full GPL prefix, and/or ``DOCUMENTATION`` fields in the wrong order. These are legacy files that need updating - do not copy them into new modules. Over time we are updating and correcting older modules. Please follow the guidelines on this page!"
msgstr "äžéšã®å€ã Ansible ã¢ãžã¥ãŒã«ã§ã¯ããã¡ã€ã«ã®äžéšã« ``imports`` ãããããã``Copyright`` ã¯å®å
šãª GPL ãã¬ãã£ãã¯ã¹ããŸã㯠``DOCUMENTATION`` ãã£ãŒã«ããééã£ãé åºã§æã€ããšã«æ³šæããŠãã ããããããã¯æŽæ°ãå¿
èŠãªã¬ã¬ã·ãŒãã¡ã€ã«ã§ããæ°ããã¢ãžã¥ãŒã«ã«ã³ããŒããªãã§ãã ãããæéã®çµéãšãšãã«ãå€ãã¢ãžã¥ãŒã«ãæŽæ°ããã³ä¿®æ£ããŠããŸãããã®ããŒãžã«ã¯ã¬ã€ãã©ã€ã³ã«åŸãããã«ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:27
msgid "Python shebang & UTF-8 coding"
msgstr "Python ã·ãã³ããã³ UTF-8 ã³ãŒãã£ã³ã°"
#: ../../rst/dev_guide/developing_modules_documenting.rst:29
msgid "Begin your Ansible module with ``#!/usr/bin/python`` - this \"shebang\" allows ``ansible_python_interpreter`` to work. Follow the shebang immediately with ``# -*- coding: utf-8 -*-`` to clarify that the file is UTF-8 encoded."
msgstr "``#!/usr/bin/python`` 㧠Ansible ã¢ãžã¥ãŒã«ãéå§ããŸã (ãã®ãã·ãã³ãã§ã¯ ``ansible_python_interpreter`` ãæ©èœããŸã)ããã¡ã€ã«ã UTF-8 ã§ãšã³ã³ãŒããããŠããããšãæ確ã«ããããã«ãã·ãã³ã®çŽåŸã« ``# -*- coding: utf-8 -*-`` ã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:34
msgid "Copyright and license"
msgstr "èäœæš©ããã³ã©ã€ã»ã³ã¹"
#: ../../rst/dev_guide/developing_modules_documenting.rst:36
msgid "After the shebang and UTF-8 coding, add a `copyright line <https://www.linuxfoundation.org/blog/copyright-notices-in-open-source-software-projects/>`_ with the original copyright holder and a license declaration. The license declaration should be ONLY one line, not the full GPL prefix.:"
msgstr "ã·ãã³ããã³ UTF-8 ã³ãŒãã£ã³ã°ã®åŸã«ãå
ã®èäœæš©ææè
ããã³ã©ã€ã»ã³ã¹å®£èšãå«ã `copyright line <https://www.linuxfoundation.org/blog/copyright-notices-in-open-source-software-projects/>`_ ãè¿œå ããŸããã©ã€ã»ã³ã¹å®£èšã¯ãå®å
šãª GPL ãã¬ãã£ãã¯ã¹ã§ã¯ãªãã1 è¡ã®ã¿ã«ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:46
msgid "Additions to the module (for instance, rewrites) are not permitted to add additional copyright lines other than the default copyright statement if missing:"
msgstr "ã¢ãžã¥ãŒã«ãè¿œå ãããšãã«ã以äžãæ¬ ããŠããå Žåã«ãããã©ã«ãã®èäœæš©ã¹ããŒãã¡ã³ã以å€ã«ãèäœæš©ã®è¡ãè¿œå ã§ããŸããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:52
msgid "Any legal review will include the source control history, so an exhaustive copyright header is not necessary. Please do not include a copyright year. If the existing copyright statement includes a year, do not edit the existing copyright year. Any existing copyright header should not be modified without permission from the copyright author."
msgstr "æ³çã¬ãã¥ãŒã«ã¯ãœãŒã¹ç®¡çå±¥æŽãå«ãŸãããããå®å
šãªèäœæš©ããããŒã¯å¿
èŠãããŸãããèäœæš©ã®å¹Žã¯å«ããªãã§ãã ãããæ¢åã®èäœæš©ã¹ããŒãã¡ã³ãã«å¹Žãå«ãŸããŠããå Žåã¯ãæ¢åã®èäœæš©ã®å¹Žãç·šéããªãã§ãã ãããæ¢åã®èäœæš©ããããŒã¯ãèäœæš©è
ã®èš±å¯ãªãã«å€æŽããªãã§ãã ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:58
msgid "ANSIBLE_METADATA block"
msgstr "ANSIBLE_METADATA ãããã¯"
#: ../../rst/dev_guide/developing_modules_documenting.rst:60
msgid "Since we moved to collections we have deprecated the METADATA functionality, it is no longer required for modules, but it will not break anything if present."
msgstr "ã³ã¬ã¯ã·ã§ã³ã«ç§»è¡ããŠã METADATA æ©èœã¯éæšå¥šã«ãªããã¢ãžã¥ãŒã«ã«ã¯å¿
èŠãªããªããŸããããååšããŠãäœãç ŽæããŸããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:66
msgid "DOCUMENTATION block"
msgstr "DOCUMENTATION ãããã¯"
#: ../../rst/dev_guide/developing_modules_documenting.rst:68
msgid "After the shebang, the UTF-8 coding, the copyright line, and the license section comes the ``DOCUMENTATION`` block. Ansible's online module documentation is generated from the ``DOCUMENTATION`` blocks in each module's source code. The ``DOCUMENTATION`` block must be valid YAML. You may find it easier to start writing your ``DOCUMENTATION`` string in an :ref:`editor with YAML syntax highlighting <other_tools_and_programs>` before you include it in your Python file. You can start by copying our `example documentation string <https://github.com/ansible/ansible/blob/devel/examples/DOCUMENTATION.yml>`_ into your module file and modifying it. If you run into syntax issues in your YAML, you can validate it on the `YAML Lint <http://www.yamllint.com/>`_ website."
msgstr "shebangãUTF-8 ã³ãŒãã£ã³ã°ãèäœæš©è¡ãã©ã€ã»ã³ã¹ã»ã¯ã·ã§ã³ã®åŸã«ã¯ã``DOCUMENTATION`` ãããã¯ããããŸããAnsible ã®ãªã³ã©ã€ã³ã¢ãžã¥ãŒã«ããã¥ã¡ã³ãã¯ãåã¢ãžã¥ãŒã«ã®ãœãŒã¹ã³ãŒãå
ã® ``DOCUMENTATION`` ãããã¯ããçæãããŸãã``DOCUMENTATION`` ãããã¯ã¯æå¹ãª YAML ã§ãªããã°ãªããŸãããPython ãã¡ã€ã«ã«å«ããåã«ã``DOCUMENTATION`` ã®æååã :ref:`YAML æ§æã®åŒ·èª¿è¡šç€ºã䜿çšãããšãã£ã¿ãŒ <other_tools_and_programs>` ã«æžãå§ããæ¹ãç°¡åã ãšæããããããŸãããæäŸããŠãã `ãµã³ãã«ã®ããã¥ã¡ã³ãã®æåå <https://github.com/ansible/ansible/blob/devel/examples/DOCUMENTATION.yml>`_ ãèªèº«ã®ã¢ãžã¥ãŒã«ãã¡ã€ã«ã«ã³ããŒããŠããããä¿®æ£ããããšããå§ããããšãã§ããŸããYAML ã®æ§æã«åé¡ãããå Žåã¯ã`YAML Lint <http://www.yamllint.com/>`_ ã® Web ãµã€ãã§æ€èšŒããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:76
msgid "Module documentation should briefly and accurately define what each module and option does, and how it works with others in the underlying system. Documentation should be written for broad audience--readable both by experts and non-experts."
msgstr "ã¢ãžã¥ãŒã«ã®ããã¥ã¡ã³ãã§ã¯ãåã¢ãžã¥ãŒã«ãšãªãã·ã§ã³ã®åäœã«ã€ããŠç°¡åãã€æ£ç¢ºã«å®çŸ©ããåºç€ãšãªãã·ã¹ãã ã§ä»ã®ã¢ãžã¥ãŒã«ãšã©ã®ããã«é£æºãããã説æããŸããããã¥ã¡ã³ãã¯ãå°é家ãšéå°é家ã®äž¡æ¹ãèªãããšãã§ããããã«ãå¹
åºãèªè
ã«åããŠäœæããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:71
msgid "Descriptions should always start with a capital letter and end with a full stop. Consistency always helps."
msgstr "説æã¯åžžã«å€§æåã§å§ããå®å
šã«çµäºããå¿
èŠããããŸããäžè²«æ§ã¯åžžã«åœ¹ç«ã¡ãŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:72
msgid "Verify that arguments in doc and module spec dict are identical."
msgstr "ããã¥ã¡ã³ãã®åŒæ°ãšãã¢ãžã¥ãŒã«ä»æ§ã®ãã£ã¯ã·ã§ããªãŒãåãã§ããããšã確èªããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:73
msgid "For password / secret arguments ``no_log=True`` should be set."
msgstr "ãã¹ã¯ãŒã/ã·ãŒã¯ã¬ããåŒæ° ``no_log=True`` ãèšå®ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:74
msgid "For arguments that seem to contain sensitive information but **do not** contain secrets, such as \"password_length\", set ``no_log=False`` to disable the warning message."
msgstr "æ©å¯æ
å ±ãå«ãŸããŠããããã«èŠããŠããpassword_lengthããªã©ã®ã·ãŒã¯ã¬ããã **å«ãŸããŠããªã** ããã«è¡šç€ºãããåŒæ°ã«ã¯ã``no_log=False`` ãèšå®ããŠèŠåã¡ãã»ãŒãžãç¡å¹ã«ããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:75
#: ../../rst/dev_guide/developing_modules_documenting.rst:143
msgid "If an option is only sometimes required, describe the conditions. For example, \"Required when I(state=present).\""
msgstr "ãªãã·ã§ã³ã®ã¿ãå¿
èŠãªå Žåã¯ãæ¡ä»¶ãèšè¿°ããŠãã ãããããšãã°ããRequired when I(state=present)ãã§ãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:76
msgid "If your module allows ``check_mode``, reflect this fact in the documentation."
msgstr "ã¢ãžã¥ãŒã«ã§ ``check_mode`` ãèš±å¯ãããŠããå Žåã¯ããããããã¥ã¡ã³ãã«åæ ãããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:78
msgid "To create clear, concise, consistent, and useful documentation, follow the :ref:`style guide <style_guide>`."
msgstr "æ確ãã€ç°¡æœã§äžè²«æ§ãããã䟿å©ãªããã¥ã¡ã³ã㯠:ref:`ã¹ã¿ã€ã«ã¬ã€ã <style_guide>` ã«åŸããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:80
msgid "Each documentation field is described below. Before committing your module documentation, please test it at the command line and as HTML:"
msgstr "åããã¥ã¡ã³ããã£ãŒã«ãã®èª¬æã¯æ¬¡ã®ãšããã§ããã¢ãžã¥ãŒã«ã®ããã¥ã¡ã³ããã³ãããããåã«ãã³ãã³ãã©ã€ã³ããã³ HTML ã§ãã¹ãããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:82
msgid "As long as your module file is :ref:`available locally <local_modules>`, you can use ``ansible-doc -t module my_module_name`` to view your module documentation at the command line. Any parsing errors will be obvious - you can view details by adding ``-vvv`` to the command."
msgstr "ã¢ãžã¥ãŒã«ãã¡ã€ã«ã :ref:`ããŒã«ã«ã§å©çšå¯èœ <local_modules>` ãªå Žåã«éãã``ansible-doc -t module my_module_name`` ã䜿çšããŠãã³ãã³ãã©ã€ã³ã§ã¢ãžã¥ãŒã«ã®ããã¥ã¡ã³ãã衚瀺ããŸããæ§æ解æãšã©ãŒã¯æ確ã«ãªããŸããã³ãã³ãã« ``-vvv`` ãè¿œå ãããšã詳现ã衚瀺ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:83
msgid "You should also :ref:`test the HTML output <testing_module_documentation>` of your module documentation."
msgstr "ã¢ãžã¥ãŒã«ã®ããã¥ã¡ã³ãã«ããã :ref:`HTML åºåã®ãã¹ã <testing_module_documentation>` ãå¿
èŠã§ãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:86
msgid "Documentation fields"
msgstr "ããã¥ã¡ã³ããã£ãŒã«ã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:88
msgid "All fields in the ``DOCUMENTATION`` block are lower-case. All fields are required unless specified otherwise:"
msgstr "``DOCUMENTATION`` ãããã¯ã®ãã£ãŒã«ãã¯ãã¹ãŠå°æåã«ãªããŸããç¹ã«æå®ããªãå Žåã¯ããã¹ãŠã®ãã£ãŒã«ããå¿
èŠã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:92
msgid "The name of the module."
msgstr "ã¢ãžã¥ãŒã«ã®ååã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:93
msgid "Must be the same as the filename, without the ``.py`` extension."
msgstr "ãã¡ã€ã«åãšåã (``.py`` æ¡åŒµåãªã) ã§ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
msgid "short_description"
msgstr "short_description"
#: ../../rst/dev_guide/developing_modules_documenting.rst:97
msgid "A short description which is displayed on the :ref:`list_of_collections` page and ``ansible-doc -l``."
msgstr ":ref:`list_of_collections` ããŒãžãš ``ansible-doc -l`` ã«è¡šç€ºãããç°¡åãªèª¬æã§ãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:98
msgid "The ``short_description`` is displayed by ``ansible-doc -l`` without any category grouping, so it needs enough detail to explain the module's purpose without the context of the directory structure in which it lives."
msgstr "``short_description`` ã¯ãã«ããŽãªãŒãã°ã«ãŒãåããã«ã``ansible-doc -l`` ã«ãã£ãŠè¡šç€ºãããŸãããã®ãããã¢ãžã¥ãŒã«ãååšãããã£ã¬ã¯ããªãŒæ§é ã®ã³ã³ããã¹ããªãã§ã¢ãžã¥ãŒã«ã®ç®çã説æããã®ã«ååãªè©³çŽ°ãå¿
èŠã§ãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:100
msgid "Unlike ``description:``, ``short_description`` should not have a trailing period/full stop."
msgstr "``description:`` ãšã¯ç°ãªãã``short_description`` ã®ããªãªã (ææ«) ã¯èšå®ããªãã§ãã ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
msgid "description"
msgstr "description"
#: ../../rst/dev_guide/developing_modules_documenting.rst:104
msgid "A detailed description (generally two or more sentences)."
msgstr "詳现ãªèª¬æ (é垞㯠2 æ以äž)ã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:105
msgid "Must be written in full sentences, in other words, with capital letters and periods/full stops."
msgstr "æç« ã®åœ¢ãã€ãŸãåé ã®å€§æåãããªãªã (ææ«) ãªã©ã䜿çšããŠèšè¿°ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:106
msgid "Shouldn't mention the module name."
msgstr "ã¢ãžã¥ãŒã«åã«ã€ããŠèšåãã¹ãã§ã¯ãããŸããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:107
msgid "Make use of multiple entries rather than using one long paragraph."
msgstr "1 ã€ã®é·ã段èœã«ãããè€æ°ã®æç« ã«åããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:108
msgid "Don't quote complete values unless it is required by YAML."
msgstr "YAML ã§å¿
èŠãªå Žåãé€ããå®å
šãªå€ãåŒçšç¬Šã§å²ãŸãªãã§ãã ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
msgid "version_added"
msgstr "version_added"
#: ../../rst/dev_guide/developing_modules_documenting.rst:112
msgid "The version of Ansible when the module was added."
msgstr "ã¢ãžã¥ãŒã«ãè¿œå ããã Ansible ã®ããŒãžã§ã³ã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:113
msgid "This is a string, and not a float, for example, ``version_added: '2.1'``."
msgstr "ããã¯æµ®åå°æ°ç¹ã§ã¯ãªãæååã§ã (äŸ: ``version_added: '2.1'``)ã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:114
msgid "In collections, this must be the collection version the module was added to, not the Ansible version. For example, ``version_added: 1.0.0``."
msgstr "ã³ã¬ã¯ã·ã§ã³ã§ã¯ããã㯠Ansible ããŒãžã§ã³ã§ã¯ãªããã¢ãžã¥ãŒã«ãè¿œå ãããã³ã¬ã¯ã·ã§ã³ããŒãžã§ã³ã§ãªããã°ãªããŸãã (äŸ: ``version_added: 1.0.0``)ã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
msgid "author"
msgstr "author"
#: ../../rst/dev_guide/developing_modules_documenting.rst:118
msgid "Name of the module author in the form ``First Last (@GitHubID)``."
msgstr "``First Last (@GitHubID)`` 圢åŒã®ã¢ãžã¥ãŒã«äœæè
ã®ååã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:119
msgid "Use a multi-line list if there is more than one author."
msgstr "äœæè
ãè€æ°ã«ãªãå Žåã¯ãè€æ°è¡ã®ãªã¹ãã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:120
msgid "Don't use quotes as it should not be required by YAML."
msgstr "YAML ã§ã¯å¿
èŠãªããããåŒçšç¬Šã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
msgid "deprecated"
msgstr "deprecated"
#: ../../rst/dev_guide/developing_modules_documenting.rst:124
msgid "Marks modules that will be removed in future releases. See also :ref:`module_lifecycle`."
msgstr "å°æ¥ã®ãªãªãŒã¹ã§åé€ãããã¢ãžã¥ãŒã«ã«ããŒã¯ãä»ãããŸããã:ref:`module_lifecycle`ãã䜵ããŠåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "options"
msgstr "options"
#: ../../rst/dev_guide/developing_modules_documenting.rst:128
msgid "Options are often called `parameters` or `arguments`. Because the documentation field is called `options`, we will use that term."
msgstr "ãªãã·ã§ã³ã¯ãå€ãã®å Žåã`ãã©ã¡ãŒã¿ãŒ` ãŸã㯠`åŒæ°` ãšåŒã°ããŸããããã¥ã¡ã³ããã£ãŒã«ã㯠`ãªãã·ã§ã³` ãåŒã°ãããããããã§ã¯ãã®çšèªã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:129
msgid "If the module has no options (for example, it's a ``_facts`` module), all you need is one line: ``options: {}``."
msgstr "ã¢ãžã¥ãŒã«ã«ãªãã·ã§ã³ããªã (äŸ: ``_facts`` ã¢ãžã¥ãŒã«) å Žåãå¿
èŠãªã®ã¯ 1 è¡ (``options: {}``) ã ãã§ãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:130
msgid "If your module has options (in other words, accepts arguments), each option should be documented thoroughly. For each module option, include:"
msgstr "ã¢ãžã¥ãŒã«ã«ãªãã·ã§ã³ããã (ã€ãŸãåŒæ°ãåãå
¥ãã) å Žåãåãªãã·ã§ã³ã¯è©³çŽ°ã«ææžåãããå¿
èŠããããŸããåã¢ãžã¥ãŒã«ãªãã·ã§ã³ã«ã€ããŠã以äžãèšèŒããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
msgid "option-name"
msgstr "option-name"
#: ../../rst/dev_guide/developing_modules_documenting.rst:134
msgid "Declarative operation (not CRUD), to focus on the final state, for example `online:`, rather than `is_online:`."
msgstr "(CRUD ã§ã¯ãªã) 宣èšæäœã¯ãã`is_online:`ãã§ã¯ãªããã`online:`ããªã©ã®æçµç¶æ
ã«çŠç¹ãããŠãŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:135
msgid "The name of the option should be consistent with the rest of the module, as well as other modules in the same category."
msgstr "ãªãã·ã§ã³ã®ååã¯ããã®ã¢ãžã¥ãŒã«ã®æ®ãã®éšåãããã³åãã«ããŽãªãŒã®ä»ã®ã¢ãžã¥ãŒã«ãšäžè²«æ§ãæãããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:136
msgid "When in doubt, look for other modules to find option names that are used for the same purpose, we like to offer consistency to our users."
msgstr "äžæãªå Žåã¯ãä»ã®ã¢ãžã¥ãŒã«ãæ¢ããŠãåãç®çã§äœ¿çšãããŠãããªãã·ã§ã³åãèŠã€ããŠãã ããããŠãŒã¶ãŒã«äžè²«æ§ãæäŸã§ããããã«ããŠããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:140
msgid "Detailed explanation of what this option does. It should be written in full sentences."
msgstr "ãã®ãªãã·ã§ã³ã®æ©èœã®è©³çŽ°ãªèª¬æãããã¯ãå®å
šãªæç« ã§èšè¿°ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:141
msgid "The first entry is a description of the option itself; subsequent entries detail its use, dependencies, or format of possible values."
msgstr "æåã®ãšã³ããªãŒã¯ããªãã·ã§ã³ãã®ãã®ã®èª¬æã§ããåŸç¶ã®ãšã³ããªãŒã¯ããã®äœ¿çšãäŸåé¢ä¿ããŸãã¯äœ¿çšã§ããå€ã®åœ¢åŒã®è©³çŽ°ã説æããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:142
msgid "Should not list the possible values (that's what ``choices:`` is for, though it should explain what the values do if they aren't obvious)."
msgstr "å¯èœãªå€ãåæããªãã§ãã ãã (``choices:`` ã¯ãã®ããã«ãããŸããå€ãæããã§ãªãå Žåã¯ããã®å€ãäœã瀺ãã®ãã説æããŠãã ãã)ã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:144
msgid "Mutually exclusive options must be documented as the final sentence on each of the options."
msgstr "çžäºã«æä»çãªãªãã·ã§ã³ã¯ãåãªãã·ã§ã³ã®æåŸã®æã§ææžåããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:148
msgid "Only needed if ``true``."
msgstr "``true`` ã®å Žåã«ã®ã¿å¿
èŠã§ãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:149
msgid "If missing, we assume the option is not required."
msgstr "èŠã€ãããªãå Žåã¯ããªãã·ã§ã³ãäžèŠã§ãããšä»®å®ããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "default"
msgstr "default"
#: ../../rst/dev_guide/developing_modules_documenting.rst:153
msgid "If ``required`` is false/missing, ``default`` may be specified (assumed 'null' if missing)."
msgstr "``required`` ã false ãããã¯æå®ãããŠããªãå Žåã¯ã``default`` ãæå®ã§ããŸã (èŠã€ãããªãå Žåã¯ãnullããšèŠãªãããŸã)ã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:154
msgid "Ensure that the default value in the docs matches the default value in the code."
msgstr "ããã¥ã¡ã³ãã®ããã©ã«ãå€ããã³ãŒãã®ããã©ã«ãå€ãšäžèŽããŠããããšã確èªããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:155
msgid "The default field must not be listed as part of the description, unless it requires additional information or conditions."
msgstr "è¿œå ã®æ
å ±ãæ¡ä»¶ãå¿
èŠãªå Žåãé€ããããã©ã«ãã®ãã£ãŒã«ãã¯ã説æã®äžéšãšããŠèšèŒããªãã§ãã ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:156
msgid "If the option is a boolean value, you can use any of the boolean values recognized by Ansible: (such as true/false or yes/no). Choose the one that reads better in the context of the option."
msgstr "ãªãã·ã§ã³ãããŒã«å€ã®å Žåã¯ãAnsible ãèªèããä»»æã®ããŒã«å€ (true/falseãyes/no ãªã©) ã䜿çšã§ããŸãããªãã·ã§ã³ã®ã³ã³ããã¹ãã§èªã¿åããé©åã§ããã°ãããéžæããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "choices"
msgstr "choices"
#: ../../rst/dev_guide/developing_modules_documenting.rst:161
msgid "List of option values."
msgstr "ãªãã·ã§ã³å€ã®ãªã¹ãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:162
msgid "Should be absent if empty."
msgstr "空æ¬ã®å Žåã¯æå®ãªãã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "type"
msgstr "type"
#: ../../rst/dev_guide/developing_modules_documenting.rst:166
msgid "Specifies the data type that option accepts, must match the ``argspec``."
msgstr "ãªãã·ã§ã³ã§äœ¿çšã§ããããŒã¿åãæå®ããŸãã``argspec`` ãšäžèŽãããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:167
msgid "If an argument is ``type='bool'``, this field should be set to ``type: bool`` and no ``choices`` should be specified."
msgstr "åŒæ°ã ``type='bool'`` ã®å Žåããã®ãã£ãŒã«ã㯠``type: bool`` ã«èšå®ãããŸãã``choices`` ã¯æå®ããªãã§ãã ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:168
msgid "If an argument is ``type='list'``, ``elements`` should be specified."
msgstr "åŒæ°ã ``type='list'`` ã®å Žåã¯ã``elements`` ãæå®ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "elements"
msgstr "elements"
#: ../../rst/dev_guide/developing_modules_documenting.rst:172
msgid "Specifies the data type for list elements in case ``type='list'``."
msgstr "``type='list'`` ã®å Žåã«ããªã¹ãèŠçŽ ã®ããŒã¿åãæå®ããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "aliases"
msgstr "aliases"
#: ../../rst/dev_guide/developing_modules_documenting.rst:175
msgid "List of optional name aliases."
msgstr "ä»»æã®ååãšã€ãªã¢ã¹ã®ãªã¹ãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:176
msgid "Generally not needed."
msgstr "äžè¬çã«ã¯å¿
èŠãããŸããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:180
msgid "Only needed if this option was extended after initial Ansible release, in other words, this is greater than the top level `version_added` field."
msgstr "ãã®ãªãã·ã§ã³ã Ansible ã®ååãªãªãŒã¹åŸã«æ¡åŒµãããŠããå Žåã«ã®ã¿å¿
èŠã§ããã€ãŸããããã¯æäžäœã¬ãã«ã® `version_added` ãã£ãŒã«ãããã倧ãããªããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:181
msgid "This is a string, and not a float, for example, ``version_added: '2.3'``."
msgstr "ããã¯æµ®åå°æ°ç¹ã§ã¯ãªãæååã§ã (äŸ: ``version_added: '2.3'``)ã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:182
msgid "In collections, this must be the collection version the option was added to, not the Ansible version. For example, ``version_added: 1.0.0``."
msgstr "ã³ã¬ã¯ã·ã§ã³ã§ã¯ããã㯠Ansible ããŒãžã§ã³ã§ã¯ãªãããªãã·ã§ã³ãè¿œå ãããã³ã¬ã¯ã·ã§ã³ããŒãžã§ã³ã§ãªããã°ãªããŸãã (äŸ: ``version_added: 1.0.0``)ã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
msgid "suboptions"
msgstr "suboptions"
#: ../../rst/dev_guide/developing_modules_documenting.rst:186
msgid "If this option takes a dict or list of dicts, you can define the structure here."
msgstr "ãã®ãªãã·ã§ã³ããã£ã¯ã·ã§ããªãŒãŸãã¯ãã£ã¯ã·ã§ããªãŒã®ãªã¹ããåãå Žåã¯ãããã§æ§é ãå®çŸ©ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:187
msgid "See :ref:`ansible_collections.azure.azcollection.azure_rm_securitygroup_module`, :ref:`ansible_collections.azure.azcollection.azure_rm_azurefirewall_module`, and :ref:`ansible_collections.openstack.cloud.baremetal_node_action_module` for examples."
msgstr "äŸã¯ãã:ref:`ansible_collections.azure.azcollection.azure_rm_securitygroup_module`ããã:ref:`ansible_collections.azure.azcollection.azure_rm_azurefirewall_module`ããããã³ã:ref:`ansible_collections.openstack.cloud.baremetal_node_action_module`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
msgid "requirements"
msgstr "requirements"
#: ../../rst/dev_guide/developing_modules_documenting.rst:191
msgid "List of requirements (if applicable)."
msgstr "èŠä»¶ã®ãªã¹ã (該åœããå Žå)ã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:192
msgid "Include minimum versions."
msgstr "æå°ããŒãžã§ã³ãæå®ããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
msgid "seealso"
msgstr "seealso"
#: ../../rst/dev_guide/developing_modules_documenting.rst:196
msgid "A list of references to other modules, documentation or Internet resources"
msgstr "ãã®ä»ã®ã¢ãžã¥ãŒã«ãããã¥ã¡ã³ãããŸãã¯ã€ã³ã¿ãŒããããªãœãŒã¹ãžã®åç
§ã®äžèŠ§ã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:197
msgid "In Ansible 2.10 and later, references to modules must use the FQCN or ``ansible.builtin`` for modules in ``ansible-core``."
msgstr "Ansible 2.10 以éã§ã¯ãã¢ãžã¥ãŒã«ãžã®åç
§ã ``ansible-core`` ã®ã¢ãžã¥ãŒã«ã« FQCN ãŸã㯠``ansible.builtin`` ã䜿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:198
msgid "A reference can be one of the following formats:"
msgstr "åç
§ã«ã¯ã以äžã®åœ¢åŒã®ããããã䜿çšã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:226
msgid "If you use ``ref:`` to link to an anchor that is not associated with a title, you must add a title to the ref for the link to work correctly."
msgstr "``ref:`` ã䜿çšããŠã¿ã€ãã«ãšé¢é£ä»ããããŠããªãã¢ã³ã«ãŒã«ãªã³ã¯ããå Žåã¯ããªã³ã¯ãæ£ããæ©èœããããã« ref ã«ã¿ã€ãã«ãè¿œå ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:227
msgid "You can link to non-module plugins with ``ref:`` using the rST anchor, but plugin and module anchors are never associated with a title, so you must supply a title when you link to them. For example ``ref: namespace.collection.plugin_name lookup plugin <ansible_collections.namespace.collection.plugin_name_lookup>``."
msgstr "rST ã¢ã³ã«ãŒã䜿çšã㊠``ref:`` ã§ã¢ãžã¥ãŒã«ä»¥å€ã®ãã©ã°ã€ã³ã«ãªã³ã¯ã§ããŸããããã©ã°ã€ã³ããã³ã¢ãžã¥ãŒã«ã¢ã³ã«ãŒã¯ã¿ã€ãã«ãšé¢é£ä»ããããªãããããªã³ã¯ããéã«ã¿ã€ãã«ãæå®ããå¿
èŠããããŸããããšãã°ã``ref: namespace.collection.plugin_name lookup plugin <ansible_collections.namespace.collection.plugin_name_lookup>`` ãšãªããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
msgid "notes"
msgstr "notes"
#: ../../rst/dev_guide/developing_modules_documenting.rst:232
msgid "Details of any important information that doesn't fit in one of the above sections."
msgstr "äžèšã®ã»ã¯ã·ã§ã³ã®ããããã«è©²åœããªãéèŠãªæ
å ±ã®è©³çŽ°ã§ãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:233
msgid "For example, whether ``check_mode`` is or is not supported."
msgstr "ããšãã°ã``check_mode`` ããµããŒãããããã©ãããªã©ã§ãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:238
msgid "Linking and other format macros within module documentation"
msgstr "ã¢ãžã¥ãŒã«ããã¥ã¡ã³ãå
ã®ãªã³ã¯ããã³ãã®ä»ã®åœ¢åŒãã¯ã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:240
msgid "You can link from your module documentation to other module docs, other resources on docs.ansible.com, and resources elsewhere on the internet with the help of some pre-defined macros. The correct formats for these macros are:"
msgstr "ã¢ãžã¥ãŒã«ããã¥ã¡ã³ãããä»ã®ã¢ãžã¥ãŒã«ããã¥ã¡ã³ããdocs.ansible.com ã®ä»ã®ãªãœãŒã¹ãäžéšã®äºåèšå®ãã¯ãã§ã€ã³ã¿ãŒãããäžã®ä»ã®ãªãœãŒã¹ã«ãªã³ã¯ã§ããŸãããããã®ãã¯ãã®æ£ãã圢åŒã¯æ¬¡ã®ãšããã§ãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:242
msgid "``L()`` for links with a heading. For example: ``See L(Ansible Automation Platform,https://www.ansible.com/products/automation-platform).`` As of Ansible 2.10, do not use ``L()`` for relative links between Ansible documentation and collection documentation."
msgstr "``L()`` èŠåºããžã®ãªã³ã¯ãããšãã°ã``See L(Ansible Automation Platform,https://www.ansible.com/products/automation-platform).`` ãšãªããŸããAnsible 2.10 以éãAnsible ããã¥ã¡ã³ããšã³ã¬ã¯ã·ã§ã³ã®ããã¥ã¡ã³ãã®çžå¯Ÿãªã³ã¯ã«ã¯ ``L()`` ã䜿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:243
msgid "``U()`` for URLs. For example: ``See U(https://www.ansible.com/products/automation-platform) for an overview.``"
msgstr "URL ã®å Žå㯠``U()``ãããšãã°ã``See U(https://www.ansible.com/products/automation-platform) for an overview.`` ãšãªããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:244
msgid "``R()`` for cross-references with a heading (added in Ansible 2.10). For example: ``See R(Cisco IOS Platform Guide,ios_platform_options)``. Use the RST anchor for the cross-reference. See :ref:`adding_anchors_rst` for details."
msgstr "(Ansible 2.10 ã«å«ãŸãã) èŠåºããšçžäºåç
§çš ``R()`` (äŸ: ``See R(Cisco IOS Platform Guide,ios_platform_options)``)ãã¯ãã¹åç
§ã« RST ã¢ã³ã«ãŒã䜿çšããŸãã詳现ã¯ã:ref:`adding_anchors_rst` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:245
msgid "``M()`` for module names. For example: ``See also M(ansible.builtin.yum) or M(community.general.apt_rpm)``."
msgstr "``M()`` ã¢ãžã¥ãŒã«åãããšãã° ``See also M(ansible.builtin.yum) or M(community.general.apt_rpm)`` ã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:247
msgid "There are also some macros which do not create links but we use them to display certain types of content in a uniform way:"
msgstr "ãªã³ã¯ãäœæããªããã®ã®ããã®ãã¯ãã䜿çšããŠãç¹å®ã®ã¿ã€ãã®ã³ã³ãã³ããçµ±äžããŠè¡šç€ºããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:250
msgid "``I()`` for option names. For example: ``Required if I(state=present).`` This is italicized in the documentation."
msgstr "ãªãã·ã§ã³åã®å Žå㯠``I()``ãããšãã° ``Required if I(state=present).`` ã§ããããã¯ãããã¥ã¡ã³ãã§ã¯ã€ã¿ãªãã¯äœã§ç€ºãããŠããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:252
msgid "``C()`` for files, option values, and inline code. For example: ``If not set the environment variable C(ACME_PASSWORD) will be used.`` or ``Use C(var | foo.bar.my_filter) to transform C(var) into the required format.`` This displays with a mono-space font in the documentation."
msgstr "ãã¡ã€ã«ããªãã·ã§ã³å€ãããã³ã€ã³ã©ã€ã³ã³ãŒãã®å Žå㯠``C()`` (äŸ ``If not set the environment variable C(ACME_PASSWORD) will be used.`` ãŸã㯠``Use C(var | foo.bar.my_filter) to transform C(var) into the required format.``)ãããã¯ãããã¥ã¡ã³ãã§ã¯ Monospace ãã©ã³ããšè¡šç€ºãããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:253
msgid "``B()`` currently has no standardized usage. It is displayed in boldface in the documentation."
msgstr "çŸæç¹ã§ã``B()`` ã®æšæºåããã䜿çšæ¹æ³ã¯ãããŸããããã®ããã¥ã¡ã³ãã§ã¯å€ªåã§è¡šç€ºãããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:254
msgid "``HORIZONTALLINE`` is used sparingly as a separator in long descriptions. It becomes a horizontal rule (the ``<hr>`` html tag) in the documentation."
msgstr "``HORIZONTALLINE`` ã¯ãé·ã説æã§ã¯ãåºåãæåãšããŠæ
éã«äœ¿çšãããŠãããããã¥ã¡ã³ãå
ã®æ°Žå¹³ã«ãŒã« (``<hr>`` html ã¿ã°) ã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:258
msgid "For links between modules and documentation within a collection, you can use any of the options above. For links outside of your collection, use ``R()`` if available. Otherwise, use ``U()`` or ``L()`` with full URLs (not relative links). For modules, use ``M()`` with the FQCN or ``ansible.builtin`` as shown in the example. If you are creating your own documentation site, you will need to use the `intersphinx extension <https://www.sphinx-doc.org/en/master/usage/extensions/intersphinx.html>`_ to convert ``R()`` and ``M()`` to the correct links."
msgstr "ã³ã¬ã¯ã·ã§ã³å
ã®ã¢ãžã¥ãŒã«ãšããã¥ã¡ã³ãéã®ãªã³ã¯ã«ã€ããŠã¯ãäžèšã®ãªãã·ã§ã³ã®ããããã䜿çšããããšãã§ããŸããã³ã¬ã¯ã·ã§ã³å€ã®ãªã³ã¯ã«ã€ããŠã¯ãå©çšå¯èœãªå Žå㯠``R()`` ã䜿çšããŸããå©çšã§ããªãå Žåã¯ã(çžå¯Ÿãªã³ã¯ã§ã¯ãªã) å®å
šãª URL 㧠``U()`` ãŸã㯠``L()`` ã䜿çšããŸããã¢ãžã¥ãŒã«ã®å Žåã¯ãäŸã®ããã«ãFQCN ãŸã㯠``ansible.builtin`` 㧠``M()`` ã䜿çšããŸããç¬èªã®ããã¥ã¡ã³ããµã€ããäœæããå Žåã¯ã`intersphinx è¡šçŸ <https://www.sphinx-doc.org/en/master/usage/extensions/intersphinx.html>`_ ã䜿çšã㊠``R()`` ããã³ ``M()`` ãæ£ãããªã³ã¯ã«å€æããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:261
msgid "To refer to a group of modules in a collection, use ``R()``. When a collection is not the right granularity, use ``C(..)``:"
msgstr "ã³ã¬ã¯ã·ã§ã³å
ã®ã¢ãžã¥ãŒã«ã®ã°ã«ãŒããåç
§ããã«ã¯ã``R()`` ã䜿çšããŸããã³ã¬ã¯ã·ã§ã³ãé©åãªç²åºŠã§ã¯ãªãå Žåã¯ã``C(..)`` ã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:263
msgid "``Refer to the R(kubernetes.core collection, plugins_in_kubernetes.core) for information on managing kubernetes clusters.``"
msgstr "``Refer to the R(kubernetes.core collection, plugins_in_kubernetes.core) for information on managing kubernetes clusters.``"
#: ../../rst/dev_guide/developing_modules_documenting.rst:264
msgid "``The C(win_*) modules (spread across several collections) allow you to manage various aspects of windows hosts.``"
msgstr "``The C(win_*) modules (spread across several collections) allow you to manage various aspects of windows hosts.``"
#: ../../rst/dev_guide/developing_modules_documenting.rst:268
msgid "Because it stands out better, use ``seealso`` for general references over the use of notes or adding links to the description."
msgstr "``seealso`` ã®æ¹ãç®ç«ã€ãããäžè¬çãªåç
§ã«ã¯ããŒãã®äœ¿çšã説æãžã®ãªã³ã¯ãããã``seealso`` ã䜿çšããããšãæšå¥šãããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:273
msgid "Documentation fragments"
msgstr "ããã¥ã¡ã³ããã©ã°ã¡ã³ã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:275
msgid "If you are writing multiple related modules, they may share common documentation, such as authentication details, file mode settings, ``notes:`` or ``seealso:`` entries. Rather than duplicate that information in each module's ``DOCUMENTATION`` block, you can save it once as a doc_fragment plugin and use it in each module's documentation. In Ansible, shared documentation fragments are contained in a ``ModuleDocFragment`` class in `lib/ansible/plugins/doc_fragments/ <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/doc_fragments>`_ or the equivalent directory in a collection. To include a documentation fragment, add ``extends_documentation_fragment: FRAGMENT_NAME`` in your module documentation. Use the fully qualified collection name for the FRAGMENT_NAME (for example, ``kubernetes.core.k8s_auth_options``)."
msgstr "è€æ°ã®é¢é£ã¢ãžã¥ãŒã«ãèšè¿°ããŠããå Žåã¯ãèªèšŒã®è©³çŽ°ããã¡ã€ã«ã¢ãŒãã®èšå®ã``notes:`` ã ``seealso:`` ã®ãšã³ããªãŒãªã©ãå
±éã®ããã¥ã¡ã³ããå
±æããŠããããšããããŸãããã®ãããªæ
å ±ãåã¢ãžã¥ãŒã«ã® ``DOCUMENTATION`` ãããã¯ã«è€è£œããã®ã§ã¯ãªããdoc_fragment ãã©ã°ã€ã³ãšããŠäžåºŠä¿åããåã¢ãžã¥ãŒã«ã®ããã¥ã¡ã³ãã§äœ¿çšããããšãã§ããŸããAnsible ã§ã¯ãå
±æããã¥ã¡ã³ããã©ã°ã¡ã³ãã¯ã`lib/ansible/plugins/doc_fragments/ <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/doc_fragments>`_ ã® ``ModuleDocFragment`` ã¯ã©ã¹ããŸãã¯ã³ã¬ã¯ã·ã§ã³ã®åçã®ãã£ã¬ã¯ããªãŒã«å«ãŸããŠããŸããããã¥ã¡ã³ããã©ã°ã¡ã³ããå«ããã«ã¯ãã¢ãžã¥ãŒã«ã®ããã¥ã¡ã³ãã« ``extends_documentation_fragment: FRAGMENT_NAME`` ãè¿œå ããŸããFRAGMENT_NAME ã«ã¯ãå®å
šä¿®é£Ÿãããã³ã¬ã¯ã·ã§ã³åã䜿çšããŸã (äŸ: ``kubernetes.core.k8s_auth_options``)ã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:277
msgid "Modules should only use items from a doc fragment if the module will implement all of the interface documented there in a manner that behaves the same as the existing modules which import that fragment. The goal is that items imported from the doc fragment will behave identically when used in another module that imports the doc fragment."
msgstr "ã¢ãžã¥ãŒã«ãããã¥ã¡ã³ããã©ã°ã¡ã³ãã®ã¢ã€ãã ã䜿çšããã®ã¯ããã®ãã©ã°ã¡ã³ããã€ã³ããŒãããæ¢åã®ã¢ãžã¥ãŒã«ãšåãããã«åäœããŠãããã¥ã¡ã³ãåããããã¹ãŠã®ã€ã³ã¿ãŒãã§ãŒã¹ãã¢ãžã¥ãŒã«ãå®è£
ããå Žåã®ã¿ã§ããç®æšã¯ãããã¥ã¡ã³ããã©ã°ã¡ã³ãããã€ã³ããŒããããã¢ã€ãã ããããã¥ã¡ã³ããã©ã°ã¡ã³ããã€ã³ããŒãããå¥ã®ã¢ãžã¥ãŒã«ã§äœ¿çšãããå Žåãšåãããã«åäœããããšã§ãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:279
msgid "By default, only the ``DOCUMENTATION`` property from a doc fragment is inserted into the module documentation. It is possible to define additional properties in the doc fragment in order to import only certain parts of a doc fragment or mix and match as appropriate. If a property is defined in both the doc fragment and the module, the module value overrides the doc fragment."
msgstr "ããã©ã«ãã§ã¯ãããã¥ã¡ã³ããã©ã°ã¡ã³ãã® ``DOCUMENTATION`` ããããã£ãŒãã¢ãžã¥ãŒã«ã®ããã¥ã¡ã³ãã«æ¿å
¥ãããŸããããã¥ã¡ã³ããã©ã°ã¡ã³ãã®ç¹å®ã®éšåã®ã¿ãã€ã³ããŒãããããããŸãã¯å¿
èŠã«å¿ããŠçµã¿åãããŠäžèŽãããããã«ãããã¥ã¡ã³ããã©ã°ã¡ã³ãã«è¿œå ã®ããããã£ãŒãå®çŸ©ããããšãã§ããŸããããããã£ãŒãããã¥ã¡ã³ããã©ã°ã¡ã³ããšã¢ãžã¥ãŒã«ã®äž¡æ¹ã§å®çŸ©ãããŠããå Žåãã¢ãžã¥ãŒã«å€ã¯ããã¥ã¡ã³ããã©ã°ã¡ã³ããäžæžãããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:281
msgid "Here is an example doc fragment named ``example_fragment.py``:"
msgstr "以äžã¯ã``example_fragment.py`` ãšããååã®ããã¥ã¡ã³ããã©ã°ã¡ã³ãã®äŸã§ãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:299
msgid "To insert the contents of ``OTHER`` in a module:"
msgstr "``OTHER`` ã®å
容ãã¢ãžã¥ãŒã«ã«æ¿å
¥ããã«ã¯ã以äžãè¡ããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:305
msgid "Or use both :"
msgstr "ãŸãã¯ã以äžã®äž¡æ¹ã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:318
msgid "Since Ansible 2.8, you can have user-supplied doc_fragments by using a ``doc_fragments`` directory adjacent to play or role, just like any other plugin."
msgstr "Ansible 2.8 以éããã®ä»ã®ãã©ã°ã€ã³ãšåæ§ã«ããã¬ã€ãããŒã«ã«é£æ¥ãã ``doc_fragments`` ãã£ã¬ã¯ããªãŒã䜿çšããããšã§ããŠãŒã¶ãŒãæäŸããããã¥ã¡ã³ããã©ã°ã¡ã³ããèšå®ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:320
msgid "For example, all AWS modules should include:"
msgstr "ããšãã°ããã¹ãŠã® AWS ã¢ãžã¥ãŒã«ã«ã¯ä»¥äžãå«ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:328
msgid ":ref:`docfragments_collections` describes how to incorporate documentation fragments in a collection."
msgstr "ã:ref:`docfragments_collections`ãã§ã¯ãã³ã¬ã¯ã·ã§ã³ã«ããã¥ã¡ã³ãã®ãã©ã°ã¡ã³ããçµã¿èŸŒãæ¹æ³ã説æããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:333
msgid "EXAMPLES block"
msgstr "EXAMPLES ãããã¯"
#: ../../rst/dev_guide/developing_modules_documenting.rst:335
msgid "After the shebang, the UTF-8 coding, the copyright line, the license section, and the ``DOCUMENTATION`` block comes the ``EXAMPLES`` block. Here you show users how your module works with real-world examples in multi-line plain-text YAML format. The best examples are ready for the user to copy and paste into a playbook. Review and update your examples with every change to your module."
msgstr "ã·ãã³ã®åŸãUTF-8 ã³ãŒãã£ã³ã°ãèäœæš©è¡šç€ºãã©ã€ã»ã³ã¹ã»ã¯ã·ã§ã³ãããã³ ``DOCUMENTATION`` ãããã¯ã®åŸã« ``EXAMPLES`` ãããã¯ãç¶ããŸããããã§ã¯ãã¢ãžã¥ãŒã«ãå®éã®äŸã§è€æ°è¡ã®ãã¬ãŒã³ããã¹ã YAML 圢åŒã§ã©ã®ããã«æ©èœãããããŠãŒã¶ãŒã«ç€ºããŸããæè¯ã®äŸã¯ããŠãŒã¶ãŒãã³ããŒã㊠Playbook ã«è²Œãä»ããæºåãã§ããŠããŸããã¢ãžã¥ãŒã«ã«å€æŽãå ãããã³ã«ãäŸã確èªããŠæŽæ°ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:337
msgid "Per playbook best practices, each example should include a ``name:`` line:"
msgstr "Playbook ã®ãã¹ããã©ã¯ãã£ã¹ã«åºã¥ããåäŸã«ã¯ ``name:`` è¡ãå¿
èŠã§ãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:348
msgid "The ``name:`` line should be capitalized and not include a trailing dot."
msgstr "``name:`` è¡ã¯å€§æåã«ããæ«å°Ÿã®ãããã¯å«ããªãã§ãã ããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:350
msgid "Use a fully qualified collection name (FQCN) as a part of the module's name like in the example above. For modules in ``ansible-core``, use the ``ansible.builtin.`` identifier, for example ``ansible.builtin.debug``."
msgstr "äžèšã®äŸã®ããã«ãã¢ãžã¥ãŒã«åã®äžéšãšããŠå®å
šä¿®é£Ÿã³ã¬ã¯ã·ã§ã³å (FQCN) ã䜿çšããŸãã``ansible-core`` ã®ã¢ãžã¥ãŒã«ã®å Žåã¯ã``ansible.builtin.`` èå¥å (ããšãã° ``ansible.builtin.debug``) ã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:352
msgid "If your examples use boolean options, use yes/no values. Since the documentation generates boolean values as yes/no, having the examples use these values as well makes the module documentation more consistent."
msgstr "ãµã³ãã«ã§ããŒã«å€ãªãã·ã§ã³ã䜿çšããå Žåã¯ãyes/no ã®å€ã䜿çšããŸããããã¥ã¡ã³ãã«ããããŒã«å€ã yes/no ãšããŠçæãããããããã®ãµã³ãã«ã§ã¯ãããã®å€ã䜿çšãããŠãããã¢ãžã¥ãŒã«ããã¥ã¡ã³ãã®äžè²«æ§ãä¿ãããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:354
msgid "If your module returns facts that are often needed, an example of how to use them can be helpful."
msgstr "ã¢ãžã¥ãŒã«ãå¿
èŠãªãã¡ã¯ããè¿ããšããã®äœ¿çšæ¹æ³ã®äŸã䟿å©ã§ãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:359
msgid "RETURN block"
msgstr "RETURN ãããã¯"
#: ../../rst/dev_guide/developing_modules_documenting.rst:361
msgid "After the shebang, the UTF-8 coding, the copyright line, the license section, ``DOCUMENTATION`` and ``EXAMPLES`` blocks comes the ``RETURN`` block. This section documents the information the module returns for use by other modules."
msgstr "ã·ãã³ãUTF-8ã³ãŒãã£ã³ã°ãèäœæš©è¡šç€ºãã©ã€ã»ã³ã¹ã»ã¯ã·ã§ã³ã``DOCUMENTATION`` ãããã¯ããã³ ``EXAMPLES`` ãããã¯ã®åŸã«ã``RETURN`` ãããã¯ãç¶ããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãã¢ãžã¥ãŒã«ãä»ã®ã¢ãžã¥ãŒã«ã§äœ¿çšããããã«è¿ãæ
å ±ã説æããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:363
msgid "If your module doesn't return anything (apart from the standard returns), this section of your module should read: ``RETURN = r''' # '''`` Otherwise, for each value returned, provide the following fields. All fields are required unless specified otherwise."
msgstr "ã¢ãžã¥ãŒã«ãäœãè¿ããªãå Žå㯠(æšæºã®æ»ãå€ãšã¯ç°ãªã)ãã¢ãžã¥ãŒã«ã®ãã®ã»ã¯ã·ã§ã³ã¯ ``RETURN = r''' # '''`` ãèªã¿åãå¿
èŠããããŸãããã以å€ã®å Žåã¯ãè¿ãããåå€ã«ä»¥äžã®ãã£ãŒã«ããæå®ããŸããç¹ã«æå®ããªãå Žåã¯ãã¹ãŠã®ãã£ãŒã«ããå¿
èŠã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
msgid "return name"
msgstr "return name"
#: ../../rst/dev_guide/developing_modules_documenting.rst:367
msgid "Name of the returned field."
msgstr "è¿ããããã£ãŒã«ãã®ååã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:370
msgid "Detailed description of what this value represents. Capitalized and with trailing dot."
msgstr "ãã®å€ãè¡šãå
容ã®è©³çŽ°ãªèª¬æã倧æåã§ãæ«å°Ÿã®ãããã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
msgid "returned"
msgstr "returned"
#: ../../rst/dev_guide/developing_modules_documenting.rst:372
msgid "When this value is returned, such as ``always``, ``changed`` or ``success``. This is a string and can contain any human-readable content."
msgstr "``always``ã``changed``ã``success`` ãªã©ã®ãã®å€ãè¿ããããšãããã¯æååãšãªãã人éãå€èªã§ããã³ã³ãã³ããå«ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:374
msgid "Data type."
msgstr "ããŒã¿åã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:376
msgid "If ``type='list'``, specifies the data type of the list's elements."
msgstr "``type='list'`` ã®å Žåã¯ããªã¹ãã®èŠçŽ ã®ããŒã¿ã¿ã€ããæå®ããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
msgid "sample"
msgstr "sample"
#: ../../rst/dev_guide/developing_modules_documenting.rst:378
msgid "One or more examples."
msgstr "1 ã€ä»¥äžã®äŸã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:380
msgid "Only needed if this return was extended after initial Ansible release, in other words, this is greater than the top level `version_added` field. This is a string, and not a float, for example, ``version_added: '2.3'``."
msgstr "ããã¯ãæåã® Ansible ãªãªãŒã¹ã®åŸã«ãã®è¿ãããå Žåã«ã®ã¿å¿
èŠã§ããã€ãŸããããã¯æäžäœã¬ãã«ã® `version_added` ãã£ãŒã«ãããã倧ãããªããŸããããã¯æµ®åå°æ°ç¹ã§ã¯ãªããæååã§ã (äŸ: ``version_added: '2.3'``)ã"
#: ../../rst/dev_guide/developing_modules_documenting.rst
msgid "contains"
msgstr "contains"
#: ../../rst/dev_guide/developing_modules_documenting.rst:383
msgid "Optional. To describe nested return values, set ``type: dict``, or ``type: list``/``elements: dict``, or if you really have to, ``type: complex``, and repeat the elements above for each sub-field."
msgstr "ä»»æã§ãããã¹ããããæ»ãå€ãèšè¿°ããã«ã¯ã``type: dict`` ãŸã㯠``type: list``/``elements: dict`` ãèšå®ããããæ¬åœã«å¿
èŠã§ããã° ``type: complex`` ãèšå®ããåãµããã£ãŒã«ãã«å¯ŸããŠäžèšã®èŠçŽ ãç¹°ãè¿ããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:385
msgid "Here are two example ``RETURN`` sections, one with three simple fields and one with a complex nested field:"
msgstr "以äžã®äŸã¯ã``RETURN`` ã»ã¯ã·ã§ã³ã 3 ã€ã®åçŽãªãã£ãŒã«ããšãè€éãªãã¹ãããããã£ãŒã«ããæ〠2 ã€ã®ã»ã¯ã·ã§ã³ã§ãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:435
msgid "Python imports"
msgstr "Python ã®ã€ã³ããŒã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:437
msgid "After the shebang, the UTF-8 coding, the copyright line, the license, and the sections for ``DOCUMENTATION``, ``EXAMPLES``, and ``RETURN``, you can finally add the python imports. All modules must use Python imports in the form:"
msgstr "ã·ãã³ã®åŸã«ã¯ãUTF-8 ã³ãŒãè¡ãèäœæš©è¡ãã©ã€ã»ã³ã¹ãããã³ ``DOCUMENTATION``ã``EXAMPLES``ãããã³ ``RETURN`` ã®ã»ã¯ã·ã§ã³ãæåŸã« python ã€ã³ããŒããè¿œå ã§ããŸãããã¹ãŠã®ã¢ãžã¥ãŒã«ã¯ããã®åœ¢åŒã® Python ã€ã³ããŒãã䜿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:443
msgid "The use of \"wildcard\" imports such as ``from module_utils.basic import *`` is no longer allowed."
msgstr "``from module_utils.basic import *`` ãªã©ã®ãã¯ã€ã«ãã«ãŒããã€ã³ããŒãã®äœ¿çšã¯èš±å¯ãããªããªããŸããã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:448
#: ../../rst/dev_guide/testing_documentation.rst:7
msgid "Testing module documentation"
msgstr "ã¢ãžã¥ãŒã«ããã¥ã¡ã³ããŒã·ã§ã³ã®ãã¹ã"
#: ../../rst/dev_guide/developing_modules_documenting.rst:450
msgid "To test Ansible documentation locally please :ref:`follow instruction<testing_module_documentation>`. To test documentation in collections, please see :ref:`build_collection_docsite`."
msgstr "Ansible ããã¥ã¡ã³ããããŒã«ã«ã§ãã¹ãããæ¹æ³ã¯ã:ref:`<testing_module_documentation>ã®æ瀺ã«åŸããŸãã`ãŸããã³ã¬ã¯ã·ã§ã³ã®ããã¥ã¡ã³ãããã¹ãããå Žåã¯ã:ref:`build_collection_docsite` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_general.rst:6
msgid "Developing modules"
msgstr "ã¢ãžã¥ãŒã«ã®éçº"
#: ../../rst/dev_guide/developing_modules_general.rst:8
msgid "A module is a reusable, standalone script that Ansible runs on your behalf, either locally or remotely. Modules interact with your local machine, an API, or a remote system to perform specific tasks like changing a database password or spinning up a cloud instance. Each module can be used by the Ansible API, or by the :command:`ansible` or :command:`ansible-playbook` programs. A module provides a defined interface, accepts arguments, and returns information to Ansible by printing a JSON string to stdout before exiting."
msgstr "ã¢ãžã¥ãŒã«ã¯ãAnsible ãããŒã«ã«ãŸãã¯ãªã¢ãŒãã®ããããã§å®è¡ããåå©çšå¯èœãªã¹ã¿ã³ãã¢ãã³ã¹ã¯ãªããã§ããã¢ãžã¥ãŒã«ã¯ãããŒã«ã«ãã·ã³ãAPIããŸãã¯ãªã¢ãŒãã·ã¹ãã ãšå¯Ÿè©±ããããŒã¿ããŒã¹ãã¹ã¯ãŒãã®å€æŽãã¯ã©ãŠãã€ã³ã¹ã¿ã³ã¹ã®èµ·åãªã©ã®ç¹å®ã®ã¿ã¹ã¯ãå®è¡ããŸããåã¢ãžã¥ãŒã«ã¯ãAnsible API ãŸã㯠:command:`ansible` ãŸã㯠:command:`ansible-playbook` ããã°ã©ã ã§äœ¿çšã§ããŸããã¢ãžã¥ãŒã«ã¯å®çŸ©ãããã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããåŒæ°ãåãå
¥ããçµäºåã« JSON æååã stdout ã«åºåã㊠Ansible ã«æ
å ±ãè¿ããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:10
msgid "If you need functionality that is not available in any of the thousands of Ansible modules found in collections, you can easily write your own custom module. When you write a module for local use, you can choose any programming language and follow your own rules. Use this topic to learn how to create an Ansible module in Python. After you create a module, you must add it locally to the appropriate directory so that Ansible can find and execute it. For details about adding a module locally, see :ref:`developing_locally`."
msgstr "ã³ã¬ã¯ã·ã§ã³ã«ããæ°åã® Ansible ã¢ãžã¥ãŒã«ã§å©çšã§ããªãæ©èœãå¿
èŠãªå Žåã¯ãç¬èªã®ã«ã¹ã¿ã ã¢ãžã¥ãŒã«ãç°¡åã«äœæã§ããŸããããŒã«ã«ã§äœ¿çšããããã®ã¢ãžã¥ãŒã«ãäœæããå Žåã¯ãä»»æã®ããã°ã©ãã³ã°èšèªãéžæããŠãç¬èªã®ã«ãŒã«ã«åŸãããã«ããããšãã§ããŸããæ¬ãããã¯ã䜿çšããŠãPython 㧠Ansible ã¢ãžã¥ãŒã«ãäœæããæ¹æ³ã説æããŸããã¢ãžã¥ãŒã«ãäœæããããAnsible ãæ€åºããã³å®è¡ã§ããããã«ããããé©åãªãã£ã¬ã¯ããªãŒã«ããŒã«ã«ã«è¿œå ããå¿
èŠããããŸããããŒã«ã«ã§ã¢ãžã¥ãŒã«ãè¿œå ããæ¹æ³ã¯ãã:ref:`developing_locally`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_general.rst:12
msgid "If you are developing a module in a :ref:`collection <developing_collections>`, see those documents instead."
msgstr ":ref:`collection <developing_collections>` ã§ã¢ãžã¥ãŒã«ãéçºããå Žåã¯ã代ããã«ãããã®ããã¥ã¡ã³ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_general.rst:20
msgid "Preparing an environment for developing Ansible modules"
msgstr "Ansible ã¢ãžã¥ãŒã«éçºçšã®ç°å¢ã®æºå"
#: ../../rst/dev_guide/developing_modules_general.rst:22
msgid "You just need ``ansible-core`` installed to test the module. Modules can be written in any language, but most of the following guide is assuming you are using Python. Modules for inclusion in Ansible itself must be Python or Powershell."
msgstr "ã¢ãžã¥ãŒã«ããã¹ãããããã«å¿
èŠãªã®ã¯ ``ansible-core`` ã®ã€ã³ã¹ããŒã«ã®ã¿ã§ããã¢ãžã¥ãŒã«ã¯ã©ã®èšèªã§ãèšè¿°ã§ããŸããã以äžã®ã¬ã€ãã®ã»ãšãã©ã¯ Python ã®äœ¿çšãåæãšããŠããŸããAnsible èªäœã«å«ããã¢ãžã¥ãŒã«ã¯ Python ãŸã㯠Powershell ã§ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:26
msgid "One advantage of using Python or Powershell for your custom modules is being able to use the ``module_utils`` common code that does a lot of the heavy lifting for argument processing, logging and response writing, among other things."
msgstr "ã«ã¹ã¿ã ã¢ãžã¥ãŒã«ã« Python ãŸã㯠Powershell ã䜿çšããå©ç¹ã® 1 ã€ã¯ãåŒæ°åŠçããã®ã³ã°ãå¿çã®æžã蟌ã¿ãªã©å€ãã®é¢åãªåŠçãå¯èœãª ``module_utils`` ã®äžè¬çãªã³ãŒãã䜿çšã§ããããšã§ãã"
#: ../../rst/dev_guide/developing_modules_general.rst:30
msgid "Creating a module"
msgstr "ã¢ãžã¥ãŒã«ã®äœæ"
#: ../../rst/dev_guide/developing_modules_general.rst:32
msgid "It is highly recommended that you use a ``venv`` or ``virtualenv`` for Python development."
msgstr "Python ã®éçºã«ã¯ã``venv`` ãŸã㯠``virtualenv`` ã䜿çšããããšã匷ãæšå¥šããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:34
msgid "To create a module:"
msgstr "ã¢ãžã¥ãŒã«ãäœæããã«ã¯ã以äžãè¡ããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:36
msgid "Create a ``library`` directory in your workspace, your test play should live in the same directory."
msgstr "ã¯ãŒã¯ã¹ããŒã¹ã« ``library`` ãã£ã¬ã¯ããªãŒãäœæããŸãããã¹ããã¬ã€ã¯åããã£ã¬ã¯ããªãŒã«çœ®ãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:37
msgid "Create your new module file: ``$ touch library/my_test.py``. Or just open/create it with your editor of choice."
msgstr "æ°ããã¢ãžã¥ãŒã«ãã¡ã€ã« (``$ touch library/my_test.py``) ãäœæããŸãããŸãã¯ãéžæãããšãã£ã¿ãŒã§ãããéãããäœæããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:38
msgid "Paste the content below into your new module file. It includes the :ref:`required Ansible format and documentation <developing_modules_documenting>`, a simple :ref:`argument spec for declaring the module options <argument_spec>`, and some example code."
msgstr "以äžã®å
容ãæ°ããã¢ãžã¥ãŒã«ãã¡ã€ã«ã«è²Œãä»ããŸããããã«ã¯ã:ref:`å¿
é ã® Ansible 圢åŒããã³ããã¥ã¡ã³ã <developing_modules_documenting>`ã:ref:`ã¢ãžã¥ãŒã«ãªãã·ã§ã³ã宣èšããåçŽãªåŒæ°ä»æ§ <argument_spec>`ãããã³ããã€ãã®ãµã³ãã«ã³ãŒããå«ãŸããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:39
msgid "Modify and extend the code to do what you want your new module to do. See the :ref:`programming tips <developing_modules_best_practices>` and :ref:`Python 3 compatibility <developing_python_3>` pages for pointers on writing clean and concise module code."
msgstr "æ°ããã¢ãžã¥ãŒã«ãå®è¡ããããšãè¡ããããã«ã³ãŒããå€æŽããæ¡åŒµããŸããäœèšãªãã®ãå
¥ã£ãŠããªãã¢ãžã¥ãŒã«ã³ãŒãããç°¡æœãªã¢ãžã¥ãŒã«ã³ãŒãã®äœæã«é¢ãããã³ãã¯ãã:ref:`ããã°ã©ãã³ã°ã®ãã³ã <developing_modules_best_practices>`ãããŒãžããã³ã:ref:`Python 3 äºææ§ <developing_python_3>`ãããŒãžãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_general.rst:45
msgid "Creating an info or a facts module"
msgstr "æ
å ±ãŸãã¯ãã¡ã¯ãã¢ãžã¥ãŒã«ã®äœæ"
#: ../../rst/dev_guide/developing_modules_general.rst:47
msgid "Ansible gathers information about the target machines using facts modules, and gathers information on other objects or files using info modules. If you find yourself trying to add ``state: info`` or ``state: list`` to an existing module, that is often a sign that a new dedicated ``_facts`` or ``_info`` module is needed."
msgstr "Ansible ã¯ããã¡ã¯ãã¢ãžã¥ãŒã«ã䜿çšããŠã¿ãŒã²ãããã·ã³ã«é¢ããæ
å ±ãåéããinfo ã¢ãžã¥ãŒã«ã䜿çšããŠä»ã®ãªããžã§ã¯ãããã¡ã€ã«ã«é¢ããæ
å ±ãåéããŸããæ¢åã®ã¢ãžã¥ãŒã«ã« ``state: info`` ãŸã㯠``state: list`` ãè¿œå ããããšããéã¯ãå€ãã®å Žåããããæ°èŠã®å°çš ``_facts`` ã¢ãžã¥ãŒã«ãŸã㯠``_info`` ã¢ãžã¥ãŒã«ãå¿
èŠã«ãªããšãã眲åã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:50
msgid "In Ansible 2.8 and onwards, we have two type of information modules, they are ``*_info`` and ``*_facts``."
msgstr "Ansible 2.8 以éã§ã¯ã2 çš®é¡ã®æ
å ±ã¢ãžã¥ãŒã« (``*_info`` ããã³ ``*_facts``) ããããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:52
msgid "If a module is named ``<something>_facts``, it should be because its main purpose is returning ``ansible_facts``. Do not name modules that do not do this with ``_facts``. Only use ``ansible_facts`` for information that is specific to the host machine, for example network interfaces and their configuration, which operating system and which programs are installed."
msgstr "ã¢ãžã¥ãŒã«ã®ååã ``<something>_facts`` ãªã®ã¯ã``ansible_facts`` ãè¿ãããšãäž»ãªç®çã ããã§ããããã¯ã``_facts`` ã§ãããè¡ããªãã¢ãžã¥ãŒã«ã«ååãä»ããªãã§ãã ããããããã¯ãŒã¯ã€ã³ã¿ãŒãã§ãŒã¹ããã®èšå®ãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãã€ã³ã¹ããŒã«ãããŠããããã°ã©ã ãªã©ããã¹ããã·ã³ã«åºæã®æ
å ±ã«ã¯ ``ansible_facts`` ã®ã¿ã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_general.rst:55
msgid "Modules that query/return general information (and not ``ansible_facts``) should be named ``_info``. General information is non-host specific information, for example information on online/cloud services (you can access different accounts for the same online service from the same host), or information on VMs and containers accessible from the machine, or information on individual files or programs."
msgstr "(``ansible_facts`` ã§ã¯ãªã) äžè¬æ
å ±ãã¯ãšãªãŒãŸãã¯è¿ãã¢ãžã¥ãŒã«ã®ååã¯ã``_info`` ã«ããå¿
èŠããããŸãããªã³ã©ã€ã³/ã¯ã©ãŠããµãŒãã¹ã«é¢ããæ
å ±ãªã©ã®äžè¬çãªæ
å ±ã¯ããã¹ã以å€ã®åºæã®æ
å ± (åããã¹ãããåããªã³ã©ã€ã³ãµãŒãã¹ã®ç°ãªãã¢ã«ãŠã³ãã«ã¢ã¯ã»ã¹ã§ãã)ããã·ã³ããã¢ã¯ã»ã¹å¯èœãªä»®æ³ãã·ã³ããã³ã³ã³ãããŒã«é¢ããæ
å ±ããŸãã¯åã
ã®ãã¡ã€ã«ãŸãã¯ããã°ã©ã ã«é¢ããæ
å ±ã§ãã"
#: ../../rst/dev_guide/developing_modules_general.rst:58
msgid "Info and facts modules, are just like any other Ansible Module, with a few minor requirements:"
msgstr "info ã¢ãžã¥ãŒã«ããã³ facts ã¢ãžã¥ãŒã«ã«ã¯ãä»ã® Ansible ã¢ãžã¥ãŒã«ãšåæ§ã«ããã»ã©éèŠã§ã¯ãªãèŠä»¶ããããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:60
msgid "They MUST be named ``<something>_info`` or ``<something>_facts``, where <something> is singular."
msgstr "åå㯠``<something>_info`` ãŸã㯠``<something>_facts`` ã§ãã<something> ã¯åæ°ã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:61
msgid "Info ``*_info`` modules MUST return in the form of the :ref:`result dictionary<common_return_values>` so other modules can access them."
msgstr "info ã® ``*_info`` ã¢ãžã¥ãŒã«ã¯ãä»ã®ã¢ãžã¥ãŒã«ãã¢ã¯ã»ã¹ã§ããããã« :ref:`çµæãã£ã¬ã¯ããªãŒ<common_return_values>` ã®åœ¢åŒã§è¿ãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:62
msgid "Fact ``*_facts`` modules MUST return in the ``ansible_facts`` field of the :ref:`result dictionary<common_return_values>` so other modules can access them."
msgstr "fact ã® ``*_facts`` ã¢ãžã¥ãŒã«ã¯ãä»ã®ã¢ãžã¥ãŒã«ããããã«ã¢ã¯ã»ã¹ã§ããããã« :ref:`çµæãã£ã¬ã¯ããªãŒ<common_return_values>` ã® ``ansible_facts`` ãã£ãŒã«ãã«è¿ãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:63
msgid "They MUST support :ref:`check_mode <check_mode_dry>`."
msgstr ":ref:`check_mode <check_mode_dry>` ããµããŒãããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:64
msgid "They MUST NOT make any changes to the system."
msgstr "ã·ã¹ãã ã«å€æŽãå ããªãã§ãã ããã"
#: ../../rst/dev_guide/developing_modules_general.rst:65
msgid "They MUST document the :ref:`return fields<return_block>` and :ref:`examples<examples_block>`."
msgstr ":ref:`return fields<return_block>` ããã³ :ref:`examples<examples_block>` ãææžåããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:67
msgid "The rest is just like creating a normal module."
msgstr "æ®ãã¯éåžžã®ã¢ãžã¥ãŒã«ãäœæããã®ãšåãã§ãã"
#: ../../rst/dev_guide/developing_modules_general.rst:70
msgid "Verifying your module code"
msgstr "ã¢ãžã¥ãŒã«ã³ãŒãã®ç¢ºèª"
#: ../../rst/dev_guide/developing_modules_general.rst:72
msgid "After you modify the sample code above to do what you want, you can try out your module. Our :ref:`debugging tips <debugging_modules>` will help if you run into bugs as you verify your module code."
msgstr "äžèšã®ãµã³ãã«ã³ãŒããä¿®æ£ããããã¢ãžã¥ãŒã«ãè©Šãããšãã§ããŸãã:ref:`ãããã°ã®ãã³ã <debugging_modules>` ã¯ãã¢ãžã¥ãŒã«ã³ãŒããæ€èšŒããéã«ãã°ãçºçããå Žåã«åœ¹ç«ã¡ãŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:77
msgid "Verifying your module code locally"
msgstr "ã¢ãžã¥ãŒã«ã³ãŒãã®ããŒã«ã«ã§ã®ç¢ºèª"
#: ../../rst/dev_guide/developing_modules_general.rst:79
msgid "The simplest way is to use ``ansible`` adhoc command:"
msgstr "æãç°¡åãªæ¹æ³ã¯ã``ansible`` ã¢ãããã¯ã³ãã³ãã䜿çšããããšã§ãã"
#: ../../rst/dev_guide/developing_modules_general.rst:85
msgid "If your module does not need to target a remote host, you can quickly and easily exercise your code locally like this:"
msgstr "ã¢ãžã¥ãŒã«ããªã¢ãŒããã¹ãã察象ã«ããå¿
èŠããªãå Žåã¯ã以äžã®ããã«ã³ãŒããããŒã«ã«ã§ç°¡åã«äœ¿çšã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:91
msgid "If for any reason (pdb, using print(), faster iteration, etc) you want to avoid going through Ansible, another way is to create an arguments file, a basic JSON config file that passes parameters to your module so that you can run it. Name the arguments file ``/tmp/args.json`` and add the following content:"
msgstr "äœããã®çç±ã§ (pdbãprint()ãããé«éãªå埩ãªã©) Ansible ã®äœ¿çšãåé¿ãããå Žåã¯ãã¢ãžã¥ãŒã«ã«åŒæ°ãã¡ã€ã« (ãã©ã¡ãŒã¿ãŒãæž¡ãåºæ¬ç㪠JSON èšå®ãã¡ã€ã«) ãäœæããŠå®è¡ã§ããããã«ããŸãããã®åŒæ°ãã¡ã€ã«ã«ã¯ ``/tmp/args.json`` ãšããååãä»ãã以äžã®å
容ãè¿œå ããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:104
msgid "Then the module can be tested locally and directly. This skips the packing steps and uses module_utils files directly:"
msgstr "ã¢ãžã¥ãŒã«ã¯ããŒã«ã«ã§çŽæ¥ãã¹ãã§ããããã«ãªããŸããããã«ããããããã³ã°ã®æé ãçç¥ãããmodule_utils ãã¡ã€ã«ãçŽæ¥äœ¿çšã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:110
msgid "It should return output like this:"
msgstr "ãã®å Žåã以äžã®ãããªåºåãè¿ãããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:119
msgid "Verifying your module code in a playbook"
msgstr "Playbook ã§ã®ã¢ãžã¥ãŒã«ã³ãŒãã®ç¢ºèª"
#: ../../rst/dev_guide/developing_modules_general.rst:121
msgid "You can easily run a full test by including it in a playbook, as long as the ``library`` directory is in the same directory as the play:"
msgstr "``library`` ãã£ã¬ã¯ããªãŒããã¬ã€ãšåããã£ã¬ã¯ããªãŒã«ããéããPlaybook ã«è¿œå ããŠå®å
šãªãã¹ããç°¡åã«å®è¡ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:123
msgid "Create a playbook in any directory: ``$ touch testmod.yml``"
msgstr "ä»»æã®ãã£ã¬ã¯ããªãŒã« Playbook ãäœæããŸã (``$ touch testmod.yml``)ã"
#: ../../rst/dev_guide/developing_modules_general.rst:124
msgid "Add the following to the new playbook file:"
msgstr "以äžãæ°ãã Playbook ãã¡ã€ã«ã«è¿œå ããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:140
msgid "Run the playbook and analyze the output: ``$ ansible-playbook ./testmod.yml``"
msgstr "Playbook ãå®è¡ããåºåãåæããŸã (``$ ansible-playbook ./testmod.yml``)ã"
#: ../../rst/dev_guide/developing_modules_general.rst:143
msgid "Testing your newly-created module"
msgstr "æ°ãã«äœæããã¢ãžã¥ãŒã«ã®ãã¹ã"
#: ../../rst/dev_guide/developing_modules_general.rst:145
msgid "The following two examples will get you started with testing your module code. Please review our :ref:`testing <developing_testing>` section for more detailed information, including instructions for :ref:`testing module documentation <testing_module_documentation>`, adding :ref:`integration tests <testing_integration>`, and more."
msgstr "以äžã® 2 ã€ã®äŸã¯ãã¢ãžã¥ãŒã«ã³ãŒãã®ãã¹ããéå§ããŸãã:ref:`ã¢ãžã¥ãŒã«ã®ãã¹ãã®ããã¥ã¡ã³ã <testing_module_documentation>` ã®æé ã:ref:`çµ±åãã¹ã <testing_integration>` ã®è¿œå ãªã©ã®è©³çŽ°ãªæ
å ±ã¯ã:ref:`ãã¹ã <developing_testing>` ã®ã»ã¯ã·ã§ã³ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_general.rst:149
msgid "If contributing to Ansible, every new module and plugin should have integration tests, even if the tests cannot be run on Ansible CI infrastructure. In this case, the tests should be marked with the ``unsupported`` alias in `aliases file <https://docs.ansible.com/ansible/latest/dev_guide/testing/sanity/integration-aliases.html>`_."
msgstr "Ansible ã«è²¢ç®ããå Žåããã¹ãã Ansible CI ã€ã³ãã©ã¹ãã©ã¯ãã£ãŒã§å®è¡ã§ããªããŠããæ°ããã¢ãžã¥ãŒã«ãšãã©ã°ã€ã³ã«ã¯çµ±åãã¹ããå¿
èŠã§ãããã®å Žåããã¹ã㯠`aliases file <https://docs.ansible.com/ansible/latest/dev_guide/testing/sanity/integration-aliases.html>`_ ã® ``unsupported`` ãšã€ãªã¢ã¹ã§ããŒã¯ä»ãããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:153
msgid "Performing sanity tests"
msgstr "å¥å
šæ§ãã¹ãã®å®è¡"
#: ../../rst/dev_guide/developing_modules_general.rst:155
msgid "You can run through Ansible's sanity checks in a container:"
msgstr "Ansible ã®å¥å
šæ§ãã§ãã¯ãã³ã³ãããŒã§å®è¡ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:157
msgid "``$ ansible-test sanity -v --docker --python 3.10 MODULE_NAME``"
msgstr "``$ ansible-test sanity -v --docker --python 3.10 MODULE_NAME``"
#: ../../rst/dev_guide/developing_modules_general.rst:160
msgid "Note that this example requires Docker to be installed and running. If you'd rather not use a container for this, you can choose to use ``--venv`` instead of ``--docker``."
msgstr "ãã®äŸã§ã¯ãDocker ãã€ã³ã¹ããŒã«ããŠå®è¡ããå¿
èŠããããŸããã³ã³ãããŒã䜿çšããªãå Žåã¯ã``--docker`` ã®ä»£ããã« ``--venv`` ã䜿çšã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:164
msgid "Contributing back to Ansible"
msgstr "Ansible ãžã®è²¢ç®"
#: ../../rst/dev_guide/developing_modules_general.rst:166
msgid "If you would like to contribute to ``ansible-core`` by adding a new feature or fixing a bug, `create a fork <https://help.github.com/articles/fork-a-repo/>`_ of the ansible/ansible repository and develop against a new feature branch using the ``devel`` branch as a starting point. When you have a good working code change, you can submit a pull request to the Ansible repository by selecting your feature branch as a source and the Ansible devel branch as a target."
msgstr "æ°ããæ©èœãè¿œå ããããã°ãä¿®æ£ãããããŠã``ansible-core`` ã«è²¢ç®ããå Žåã¯ãansible/ansible ãªããžããªãŒã® `ãã©ãŒã¯ã®äœæ <https://help.github.com/articles/fork-a-repo/>`_ ããéå§ç¹ãšã㊠``devel`` ãã©ã³ãã䜿çšããŠæ°æ©èœãã©ã³ãã«å¯ŸããŠéçºããŸããé©åãªäœæ¥ã³ãŒããå€æŽãããå Žåã¯ãæ©èœãã©ã³ãããœãŒã¹ãšããŠãããã³ Ansible devel ãã©ã³ããã¿ãŒã²ãããšããŠéžæããAnsible ãªããžããªãŒã«ãã«èŠæ±ãéä¿¡ããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:168
msgid "If you want to contribute a module to an :ref:`Ansible collection <contributing_maintained_collections>`, review our :ref:`submission checklist <developing_modules_checklist>`, :ref:`programming tips <developing_modules_best_practices>`, and :ref:`strategy for maintaining Python 2 and Python 3 compatibility <developing_python_3>`, as well as information about :ref:`testing <developing_testing>` before you open a pull request."
msgstr "ã¢ãžã¥ãŒã«ã :ref:`Ansible ã³ã¬ã¯ã·ã§ã³ <contributing_maintained_collections>` ã«æäŸããå Žåã¯ãã:ref:`æåºã®ãã§ãã¯ã¢ãŠã <developing_modules_checklist>`ããã:ref:`ããã°ã©ã ã®ãã³ã <developing_modules_best_practices>`ãããªãã³ã«ã:ref:`Python 2 ããã³ Python 3 ã®äºææ§ãç¶æããã¹ãã©ããžãŒ <developing_python_3>`ãã確èªããŠãã ããããã«èŠæ±ãäœæããåã«ã:ref:`ãã¹ã <developing_testing>` ã«é¢ããæ
å ±ã䜵ããŠåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_general.rst:170
msgid "The :ref:`Community Guide <ansible_community_guide>` covers how to open a pull request and what happens next."
msgstr "ã:ref:`ã³ãã¥ããã£ãŒã¬ã€ã <ansible_community_guide>`ãã§ã¯ããã«èŠæ±ãéãæ¹æ³ãšã次ã«å®è¡ããããšã説æããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:174
msgid "Communication and development support"
msgstr "éä¿¡ããã³éçºã®ãµããŒã"
#: ../../rst/dev_guide/developing_modules_general.rst:176
msgid "Join the ``#ansible-devel`` chat channel (using Matrix at ansible.im or using IRC at `irc.libera.chat <https://libera.chat/>`_) for discussions surrounding Ansible development."
msgstr "``#ansible-devel`` ãã£ãããã£ã³ãã«ïŒansible.imã§Matrixã䜿çšããŸãã¯`irc.libera.chat <https://libera.chat/>`ã§IRCã䜿çšïŒã«åå ããŠãAnsible ã®éçºã«é¢ããè°è«ãè¡ããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:178
msgid "For questions and discussions pertaining to using the Ansible product, join the ``#ansible`` channel."
msgstr "Ansible 補åã®äœ¿çšã«é¢ãã質åããã³è²¢ç®ã«ã€ããŠã¯ã``#ansible`` ãã£ã³ãã«ã«åå ããŸãã"
#: ../../rst/dev_guide/developing_modules_general.rst:180
msgid "To find other topic-specific chat channels, look at :ref:`Community Guide, Communicating <communication_irc>`."
msgstr "ä»ã®ãããã¯åºæã®ãã£ãããã£ã³ãã«ãæ¢ãã«ã¯ã:ref:`Community Guide, Communicating <communication_irc>` ãã芧ãã ããã"
#: ../../rst/dev_guide/developing_modules_general.rst:183
msgid "Credit"
msgstr "è¬èŸ"
#: ../../rst/dev_guide/developing_modules_general.rst:185
msgid "Thank you to Thomas Stringer (`@trstringer <https://github.com/trstringer>`_) for contributing source material for this topic."
msgstr "ãã®ãããã¯ã®å
ãšãªãè³æãæäŸããŠããã ãã Thomas Stringer (`@trstringer <https://github.com/trstringer>`_) æ°ã«æè¬ã®æã瀺ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:5
msgid "Developing Cisco ACI modules"
msgstr "Cisco ACI ã¢ãžã¥ãŒã«ã®éçº"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:6
msgid "This is a brief walk-through of how to create new Cisco ACI modules for Ansible."
msgstr "Ansible åãã«æ°ãã Cisco ACI ã¢ãžã¥ãŒã«ãäœæããæ¹æ³ã«é¢ããç°¡åãªãŠã©ãŒã¯ã¹ã«ãŒã§ãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:8
msgid "For more information about Cisco ACI, look at the :ref:`Cisco ACI user guide <aci_guide>`."
msgstr "Cisco ACI ã®è©³çŽ°ã¯ãã:ref:`Cisco ACI ãŠãŒã¶ãŒã¬ã€ã <aci_guide>`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:10
#: ../../rst/dev_guide/developing_modules_general_windows.rst:13
msgid "What's covered in this section:"
msgstr "æ¬é
ã§åãäžããããŠããå
容:"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:20
#: ../../rst/dev_guide/testing_units_modules.rst:14
msgid "Introduction"
msgstr "ã¯ããã«"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:21
msgid "The `cisco.aci collection <https://galaxy.ansible.com/cisco/aci>`_ already includes a large number of Cisco ACI modules, however the ACI object model is huge and covering all possible functionality would easily cover more than 1500 individual modules."
msgstr "`cisco.aci collection <https://galaxy.ansible.com/cisco/aci>`_ ã«ã¯ãã§ã«å€æ°ã® Cisco ACI ã¢ãžã¥ãŒã«ãå«ãŸããŠããŸãããACI ãªããžã§ã¯ãã¢ãã«ã¯å€§ããããã¹ãŠã®æ©èœã«å¯Ÿå¿ããããã1500 以äžã®ã¢ãžã¥ãŒã«ãç°¡åã«å¯Ÿå¿ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:23
msgid "If you need specific functionality, you have 2 options:"
msgstr "ç¹å®ã®æ©èœãå¿
èŠãªå Žåã¯ã2 ã€ã®ãªãã·ã§ã³ããããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:25
msgid "Learn the ACI object model and use the low-level APIC REST API using the :ref:`aci_rest <aci_rest_module>` module"
msgstr "ACI ãªããžã§ã¯ãã¢ãã«ãåŠç¿ããã:ref:`aci_rest <aci_rest_module>`ãã¢ãžã¥ãŒã«ã䜿çšããŠäœã¬ãã«ã® APIC REST API ã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:26
msgid "Write your own dedicated modules, which is actually quite easy"
msgstr "ç¬èªã®å°çšã¢ãžã¥ãŒã«ãäœæããããšã¯ãå®éã«ã¯éåžžã«ç°¡åã§ãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:30
#: ../../rst/dev_guide/developing_modules_general_aci.rst:413
msgid "`Ansible ACI collection <https://github.com/CiscoDevNet/ansible-aci>`_"
msgstr "`Ansible ACI collection <https://github.com/CiscoDevNet/ansible-aci>`_"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:31
#: ../../rst/dev_guide/developing_modules_general_aci.rst:414
msgid "Github repository of the ansible ACI collection"
msgstr "Ansible ACI ã³ã¬ã¯ã·ã§ã³ã® GitHub ãªããžããªãŒ"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:32
#: ../../rst/dev_guide/developing_modules_general_aci.rst:409
msgid ":ref:`hacking_collections`"
msgstr ":ref:`collections`"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:33
msgid "Information on how to contribute to collections."
msgstr "ã³ã¬ã¯ã·ã§ã³ãžã®è²¢ç®æ¹æ³ã«é¢ããæ
å ±ã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:34
msgid "`ACI Fundamentals: ACI Policy Model <https://www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/1-x/aci-fundamentals/b_ACI-Fundamentals/b_ACI-Fundamentals_chapter_010001.html>`_"
msgstr "`ACI Fundamentals: ACI Policy Model <https://www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/1-x/aci-fundamentals/b_ACI-Fundamentals/b_ACI-Fundamentals_chapter_010001.html>`_"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:35
msgid "A good introduction to the ACI object model."
msgstr "ACI ãªããžã§ã¯ãã¢ãã«ã®åªããæŠèŠ"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:36
msgid "`APIC Management Information Model reference <https://developer.cisco.com/docs/apic-mim-ref/>`_"
msgstr "`APIC Management Information Model reference <https://developer.cisco.com/docs/apic-mim-ref/>`_"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:37
msgid "Complete reference of the APIC object model."
msgstr "APIC ãªããžã§ã¯ãã¢ãã«ã®å®å
šãªãªãã¡ã¬ã³ã¹"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:38
msgid "`APIC REST API Configuration Guide <https://www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/2-x/rest_cfg/2_1_x/b_Cisco_APIC_REST_API_Configuration_Guide.html>`_"
msgstr "`APIC REST API Configuration Guide <https://www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/2-x/rest_cfg/2_1_x/b_Cisco_APIC_REST_API_Configuration_Guide.html>`_"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:39
msgid "Detailed guide on how the APIC REST API is designed and used, incl. many examples."
msgstr "APIC REST API ãèšèšããã³äœ¿çšããæ¹æ³ã«ã€ããŠã®è©³çŽ°ã¬ã€ããå€æ°ã®äŸããããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:42
msgid "So let's look at how a typical ACI module is built up."
msgstr "ããã§ã¯ãå
žåç㪠ACI ã¢ãžã¥ãŒã«ãã©ã®ããã«æ§ç¯ãããããèŠãŠã¿ãŸãããã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:48
msgid "ACI module structure"
msgstr "ACI ã¢ãžã¥ãŒã«æ§é "
#: ../../rst/dev_guide/developing_modules_general_aci.rst:51
msgid "Importing objects from Python libraries"
msgstr "Python ã©ã€ãã©ãªãŒããã®ãªããžã§ã¯ãã®ã€ã³ããŒã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:52
msgid "The following imports are standard across ACI modules:"
msgstr "以äžã®ã€ã³ããŒãã¯ãACI ã¢ãžã¥ãŒã«å
šäœã§æšæºã®ãã®ã§ãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:61
msgid "Defining the argument spec"
msgstr "åŒæ°ä»æ§ã®å®çŸ©"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:62
msgid "The first line adds the standard connection parameters to the module. After that, the next section will update the ``argument_spec`` dictionary with module-specific parameters. The module-specific parameters should include:"
msgstr "æåã®è¡ã¯ãæšæºã®æ¥ç¶ãã©ã¡ãŒã¿ãŒãã¢ãžã¥ãŒã«ã«è¿œå ããŸãããã®åŸã以äžã®ã»ã¯ã·ã§ã³ã¯ã¢ãžã¥ãŒã«åºæã®ãã©ã¡ãŒã¿ãŒã§ ``argument_spec`` ãã£ã¯ã·ã§ããªãŒãæŽæ°ããŸããã¢ãžã¥ãŒã«åºæã®ãã©ã¡ãŒã¿ãŒã«ã¯ä»¥äžãå«ãŸããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:64
msgid "the object_id (usually the name)"
msgstr "object_id (éåžžã¯åå)"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:65
msgid "the configurable properties of the object"
msgstr "ãªããžã§ã¯ãã®èšå®å¯èœãªããããã£ãŒ"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:66
msgid "the parent object IDs (all parents up to the root)"
msgstr "芪ãªããžã§ã¯ã ID (ã«ãŒããŸã§ã®ãã¹ãŠã®èŠª)"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:67
msgid "only child classes that are a 1-to-1 relationship (1-to-many/many-to-many require their own module to properly manage)"
msgstr "1 察 1 ã®é¢ä¿ã§ããåã¯ã©ã¹ã®ã¿ (1 察å€/å€å¯Ÿå€ã§ã¯ãç¬èªã®ã¢ãžã¥ãŒã«ãé©åã«ç®¡çããå¿
èŠããããŸã)"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:68
msgid "the state"
msgstr "ç¶æ
"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:70
msgid "``state: absent`` to ensure object does not exist"
msgstr "``state: absent``: ãªããžã§ã¯ããååšããªãããšã確èªãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:71
msgid "``state: present`` to ensure the object and configs exist; this is also the default"
msgstr "``state: present``: ãªããžã§ã¯ããšèšå®ãååšããããšã確èªãã (ããã©ã«ã)"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:72
msgid "``state: query`` to retrieve information about objects in the class"
msgstr "``state: query``: ã¯ã©ã¹ã®ãªããžã§ã¯ãã«é¢ããæ
å ±ãååŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:90
msgid "Do not provide default values for configuration arguments. Default values could cause unintended changes to the object."
msgstr "èšå®åŒæ°ã®ããã©ã«ãå€ãæå®ããªãã§ãã ãããããã©ã«ãå€ã«ããããªããžã§ã¯ããžã®æå³ããªãå€æŽãçããå¯èœæ§ããããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:93
msgid "Using the AnsibleModule object"
msgstr "AnsibleModule ãªããžã§ã¯ãã®äœ¿çš"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:94
msgid "The following section creates an AnsibleModule instance. The module should support check-mode, so we pass the ``argument_spec`` and ``supports_check_mode`` arguments. Since these modules support querying the APIC for all objects of the module's class, the object/parent IDs should only be required if ``state: absent`` or ``state: present``."
msgstr "次ã®ã»ã¯ã·ã§ã³ã§ã¯ãAnsibleModule ã€ã³ã¹ã¿ã³ã¹ãäœæããŸããã¢ãžã¥ãŒã«ã¯ãã§ãã¯ã¢ãŒãããµããŒãããå¿
èŠãããããã``argument_spec`` åŒæ°ããã³ ``supports_check_mode`` åŒæ°ãæž¡ããŸãããããã®ã¢ãžã¥ãŒã«ã¯ãã¢ãžã¥ãŒã«ã®ã¯ã©ã¹ã®ãã¹ãŠã®ãªããžã§ã¯ãã«å¯Ÿãã APIC ã®ã¯ãšãªãŒããµããŒãããããããªããžã§ã¯ã/芪 ID ã¯ã``state: absent`` ãŸã㯠``state: present`` ã®å Žåã«éãå¿
èŠã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:109
msgid "Mapping variable definition"
msgstr "ãããã³ã°å€æ°å®çŸ©"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:110
msgid "Once the AnsibleModule object has been initiated, the necessary parameter values should be extracted from ``params`` and any data validation should be done. Usually the only params that need to be extracted are those related to the ACI object configuration and its child configuration. If you have integer objects that you would like to validate, then the validation should be done here, and the ``ACIModule.payload()`` method will handle the string conversion."
msgstr "AnsibleModule ãªããžã§ã¯ããéå§ãããããå¿
èŠãªãã©ã¡ãŒã¿ãŒã®å€ã ``params`` ããæœåºããããŒã¿ã®æ€èšŒãè¡ãå¿
èŠããããŸããéåžžãæœåºããå¿
èŠãããå¯äžã®ãã©ã¡ãŒã¿ãŒã ACI ãªããžã§ã¯ãã®èšå®ããã³ãã®åèšå®ã«é¢é£ãããã©ã¡ãŒã¿ãŒã®ã¿ãšãªããŸããæ€èšŒããæŽæ°ãªããžã§ã¯ããããå Žåã¯ãæ€èšŒãè¡ãå¿
èŠããããŸããããŒã¿æ€èšŒã¯ããã§è¡ãå¿
èŠãããã``ACIModule.payload()`` ã¡ãœããã¯å€ææååãåŠçããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:126
msgid "Using the ACIModule object"
msgstr "ACIModule ãªããžã§ã¯ãã®äœ¿çš"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:127
msgid "The ACIModule class handles most of the logic for the ACI modules. The ACIModule extends functionality to the AnsibleModule object, so the module instance must be passed into the class instantiation."
msgstr "ACIModule ã¯ã©ã¹ã¯ãACI ã¢ãžã¥ãŒã«ã®ããžãã¯ã®å€§éšåãåŠçããŸããACIModule ã¯æ©èœã AnsibleModule ãªããžã§ã¯ãã«æ¡åŒµãããããã¢ãžã¥ãŒã«ã€ã³ã¹ã¿ã³ã¹ãã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹åã«æž¡ãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:133
msgid "The ACIModule has six main methods that are used by the modules:"
msgstr "ACIModule ã«ã¯ãã¢ãžã¥ãŒã«ã«ãã£ãŠäœ¿çšããã 6 ã€ã®äž»ãªã¡ãœããããããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:135
msgid "construct_url"
msgstr "construct_url"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:136
msgid "get_existing"
msgstr "get_existing"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:137
msgid "payload"
msgstr "payload"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:138
msgid "get_diff"
msgstr "get_diff"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:139
msgid "post_config"
msgstr "post_config"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:140
msgid "delete_config"
msgstr "delete_config"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:142
msgid "The first two methods are used regardless of what value is passed to the ``state`` parameter."
msgstr "æåã® 2 ã€ã®ã¡ãœããã¯ã``state`` ãã©ã¡ãŒã¿ãŒã«æž¡ãããå€ã«é¢ä¿ãªã䜿çšãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:145
msgid "Constructing URLs"
msgstr "URL ã®æ§ç¯"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:146
msgid "The ``construct_url()`` method is used to dynamically build the appropriate URL to interact with the object, and the appropriate filter string that should be appended to the URL to filter the results."
msgstr "``construct_url()`` ã¡ãœããã¯ããªããžã§ã¯ããšå¯Ÿè©±ããããã«é©å㪠URL ãšãURL ã«è¿œå ããŠçµæã«ãã£ã«ã¿ãŒãèšå®ããé©åãªãã£ã«ã¿ãŒæååãåçã«æ§ç¯ããã®ã«äœ¿çšãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:148
msgid "When the ``state`` is not ``query``, the URL is the base URL to access the APIC plus the distinguished name to access the object. The filter string will restrict the returned data to just the configuration data."
msgstr "``state`` ã ``query`` ã§ãªãå ŽåãURL 㯠APIC ã«ã¢ã¯ã»ã¹ããããŒã¹ URL ãšããªããžã§ã¯ãã«ã¢ã¯ã»ã¹ããããã®èå¥åã§ãããã£ã«ã¿ãŒæååã¯è¿ãããããŒã¿ãèšå®ããŒã¿ã«ã®ã¿å¶éããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:149
msgid "When ``state`` is ``query``, the URL and filter string used depends on what parameters are passed to the object. This method handles the complexity so that it is easier to add new modules and so that all modules are consistent in what type of data is returned."
msgstr "``state`` ã ``query`` ãããå Žåã䜿çšããã URL ããã³ãã£ã«ã¿ãŒæååã¯ããªããžã§ã¯ãã«æž¡ããããã©ã¡ãŒã¿ãŒã«ãã£ãŠç°ãªããŸãããã®æ¹æ³ã¯è€éæ§ãåŠçãããããæ°ããã¢ãžã¥ãŒã«ã®è¿œå ã容æã«ãªããŸãããŸãããã¹ãŠã®ã¢ãžã¥ãŒã«ãã©ã®ã¿ã€ãã®ããŒã¿ãè¿ããã«äžè²«æ§ãæãããããã«ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:151
msgid "Our design goal is to take all ID parameters that have values, and return the most specific data possible. If you do not supply any ID parameters to the task, then all objects of the class will be returned. If your task does consist of ID parameters sed, then the data for the specific object is returned. If a partial set of ID parameters are passed, then the module will use the IDs that are passed to build the URL and filter strings appropriately."
msgstr "ãã®èšèšã®ç®çã¯ãå€ããããã¹ãŠã® ID ãã©ã¡ãŒã¿ãŒãåããæãå
·äœçãªããŒã¿ãè¿ãããšã§ããID ãã©ã¡ãŒã¿ãŒãã¿ã¹ã¯ã«æå®ããªããšãã¯ã©ã¹ã®ãã¹ãŠã®ãªããžã§ã¯ããè¿ãããŸããã¿ã¹ã¯ã ID ãã©ã¡ãŒã¿ãŒ sed ã§æ§æãããŠããå Žåã¯ãç¹å®ã®ãªããžã§ã¯ãã®ããŒã¿ãè¿ãããŸããID ãã©ã¡ãŒã¿ãŒã®äžéšãæž¡ããããšãã¢ãžã¥ãŒã«ã¯ URL ããã³ãã£ã«ã¿ãŒæååãé©åã«ãã«ãããããã«æž¡ããã ID ã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:153
msgid "The ``construct_url()`` method takes 2 required arguments:"
msgstr "``construct_url()`` ã¡ãœããã¯ãå¿
èŠãªåŒæ°ã 2 ã€åããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:155
msgid "**self** - passed automatically with the class instance"
msgstr "**self** - ã¯ã©ã¹ã€ã³ã¹ã¿ã³ã¹ã§èªåçã«æž¡ãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:156
msgid "**root_class** - A dictionary consisting of ``aci_class``, ``aci_rn``, ``target_filter``, and ``module_object`` keys"
msgstr "**root_class**: ``aci_class`` ããŒã``aci_rn`` ããŒã``target_filter`` ããŒãããã³ ``module_object`` ããŒã§æ§æããããã£ã¯ã·ã§ããªãŒ"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:158
msgid "**aci_class**: The name of the class used by the APIC, for example ``fvTenant``"
msgstr "**aci_class**: APIC ã䜿çšããã¯ã©ã¹å (äŸ: ``fvTenant``)"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:160
msgid "**aci_rn**: The relative name of the object, for example ``tn-ACME``"
msgstr "**aci_rn**: ãªããžã§ã¯ãã®çžå¯Ÿå (äŸ: ``tn-ACME``)"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:162
msgid "**target_filter**: A dictionary with key-value pairs that make up the query string for selecting a subset of entries, for example ``{'name': 'ACME'}``"
msgstr "**target_filter**: ãšã³ããªãŒã®ãµãã»ãããéžæããã¯ãšãªãŒæååãæ§æããããŒãšå€ã®ãã¢ãæã€ãã£ã¯ã·ã§ããªãŒ (äŸ: ``{'name': 'ACME'}``)"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:164
msgid "**module_object**: The particular object for this class, for example ``ACME``"
msgstr "**module_object**: ãã®ã¯ã©ã¹ã®ç¹å®ã®ãªããžã§ã¯ã (äŸ: ``ACME``)"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:166
#: ../../rst/dev_guide/developing_program_flow_modules.rst:599
#: ../../rst/dev_guide/developing_program_flow_modules.rst:638
#: ../../rst/dev_guide/developing_program_flow_modules.rst:652
#: ../../rst/dev_guide/developing_program_flow_modules.rst:752
#: ../../rst/dev_guide/developing_program_flow_modules.rst:769
#: ../../rst/dev_guide/developing_program_flow_modules.rst:783
#: ../../rst/dev_guide/developing_program_flow_modules.rst:810
#: ../../rst/dev_guide/developing_program_flow_modules.rst:827
#: ../../rst/dev_guide/testing_units_modules.rst:90
#: ../../rst/dev_guide/testing_units_modules.rst:109
msgid "Example:"
msgstr "äŸ: "
#: ../../rst/dev_guide/developing_modules_general_aci.rst:179
msgid "Some modules, like ``aci_tenant``, are the root class and so they would not need to pass any additional arguments to the method."
msgstr "``aci_tenant`` ãªã©ã®äžéšã®ã¢ãžã¥ãŒã«ã¯ root ã¯ã©ã¹ã§ãããããã¡ãœããã«è¿œå ã®åŒæ°ãæž¡ãå¿
èŠã¯ãããŸããã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:181
msgid "The ``construct_url()`` method takes 4 optional arguments, the first three imitate the root class as described above, but are for child objects:"
msgstr "``construct_url()`` ã¡ãœããã¯ã4 ã€ã®ä»»æã®åŒæ°ãåããŸããæåã® 3 ã€ã®åŒæ°ãäžèšã®ããã« root ã¯ã©ã¹ãæš¡å£ããŸãããããã¯åãªããžã§ã¯ãçšã§ãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:183
msgid "subclass_1 - A dictionary consisting of ``aci_class``, ``aci_rn``, ``target_filter``, and ``module_object`` keys"
msgstr "subclass_1 - ``aci_class`` ããŒã``aci_rn`` ããŒã``target_filter`` ããŒãããã³ ``module_object`` ããŒã§æ§æããããã£ã¯ã·ã§ããªãŒ"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:185
msgid "Example: Application Profile Class (AP)"
msgstr "äŸ: Application Profile Class (AP)"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:187
msgid "subclass_2 - A dictionary consisting of ``aci_class``, ``aci_rn``, ``target_filter``, and ``module_object`` keys"
msgstr "subclass_2 - ``aci_class`` ããŒã``aci_rn`` ããŒã``target_filter`` ããŒãããã³ ``module_object`` ããŒã§æ§æããããã£ã¯ã·ã§ããªãŒ"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:189
msgid "Example: End Point Group (EPG)"
msgstr "äŸ: ãšã³ããã€ã³ãã°ã«ãŒã (EPG)"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:191
msgid "subclass_3 - A dictionary consisting of ``aci_class``, ``aci_rn``, ``target_filter``, and ``module_object`` keys"
msgstr "subclass_3 - ``aci_class`` ããŒã``aci_rn`` ããŒã``target_filter`` ããŒãããã³ ``module_object`` ããŒã§æ§æããããã£ã¯ã·ã§ããªãŒ"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:193
msgid "Example: Binding a Contract to an EPG"
msgstr "äŸ: EPG ãžã®å¥çŽã®ãã€ã³ã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:195
msgid "child_classes - The list of APIC names for the child classes supported by the modules."
msgstr "child_classes - ã¢ãžã¥ãŒã«ããµããŒãããåã¯ã©ã¹ã® APIC åã®ãªã¹ã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:197
msgid "This is a list, even if it is a list of one"
msgstr "1 ã€ã®ãªã¹ãã§ãã£ãŠããããã¯ãªã¹ãã§ãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:198
msgid "These are the unfriendly names used by the APIC"
msgstr "ãããã¯ãAPIC ã䜿çšããåããã«ããååã§ãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:199
msgid "These are used to limit the returned child_classes when possible"
msgstr "å¯èœãªå Žåã¯ãè¿ããã child_classes ãå¶éããã®ã«äœ¿çšãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:200
msgid "Example: ``child_classes=['fvRsBDSubnetToProfile', 'fvRsNdPfxPol']``"
msgstr "äŸ: ``child_classes=['fvRsBDSubnetToProfile', 'fvRsNdPfxPol']``"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:202
msgid "Sometimes the APIC will require special characters ([, ], and -) or will use object metadata in the name (\"vlanns\" for VLAN pools); the module should handle adding special characters or joining of multiple parameters in order to keep expected inputs simple."
msgstr "APIC ã¯ãç¹æ®æå ([, ]ãããã³ -) ãèŠæ±ããããååã«ãªããžã§ã¯ãã®ã¡ã¿ããŒã¿ (ãVLANãããŒã«ã®å Žåã¯ãvlannsã) ã䜿çšãããããããšããããŸããã¢ãžã¥ãŒã«ã¯ãäºæ³ãããå
¥åã®åçŽãã«ä¿ã€ããã«ãç¹æ®æåã®è¿œå ãŸãã¯è€æ°ã®ãã©ã¡ãŒã¿ãŒã®çµåãåŠçããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:205
msgid "Getting the existing configuration"
msgstr "æ¢åèšå®ã®ååŸ"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:206
msgid "Once the URL and filter string have been built, the module is ready to retrieve the existing configuration for the object:"
msgstr "URL ããã³ãã£ã«ã¿ãŒæååãæ§ç¯ããããšãã¢ãžã¥ãŒã«ã¯ãªããžã§ã¯ãã®æ¢åã®èšå®ãååŸã§ããããã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:208
msgid "``state: present`` retrieves the configuration to use as a comparison against what was entered in the task. All values that are different than the existing values will be updated."
msgstr "``state: present`` ã¯ãã¿ã¹ã¯ã«å
¥åããå€ãšæ¯èŒãšããŠäœ¿çšããèšå®ãååŸããŸããæ¢åã®å€ãšã¯ç°ãªãå€ã¯ãã¹ãŠæŽæ°ãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:209
msgid "``state: absent`` uses the existing configuration to see if the item exists and needs to be deleted."
msgstr "``state: absent`` ã¯ãæ¢åã®èšå®ã䜿çšããŠé
ç®ãååšããåé€ããå¿
èŠããããã©ããã確èªããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:210
msgid "``state: query`` uses this to perform the query for the task and report back the existing data."
msgstr "``state: query`` ã¯ãããã䜿çšããŠã¿ã¹ã¯ã®ã¯ãšãªãŒãå®è¡ããæ¢åã®ããŒã¿ãå ±åããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:218
msgid "When state is present"
msgstr "state ã present ã®å Žå"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:219
msgid "When ``state: present``, the module needs to perform a diff against the existing configuration and the task entries. If any value needs to be updated, then the module will make a POST request with only the items that need to be updated. Some modules have children that are in a 1-to-1 relationship with another object; for these cases, the module can be used to manage the child objects."
msgstr "``state: present`` ã®å Žåãã¢ãžã¥ãŒã«ã¯æ¢åã®èšå®ãšã¿ã¹ã¯ãšã³ããªãŒã«å¯Ÿã㊠diff ãå®è¡ããå¿
èŠããããŸããå€ãæŽæ°ããå¿
èŠãããå Žåãã¢ãžã¥ãŒã«ã¯æŽæ°ãå¿
èŠãªã¢ã€ãã ã®ã¿ãå«ãŸãã POST èŠæ±ãè¡ããŸããã¢ãžã¥ãŒã«ã«ãã£ãŠã¯ãå¥ã®ãªããžã§ã¯ããš 1 察 1 ã®é¢ä¿ã«ããåããããŸãããããã®å Žåãã¢ãžã¥ãŒã«ã¯åãªããžã§ã¯ãã管çããããã«äœ¿çšã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:222
msgid "Building the ACI payload"
msgstr "ACI ãã€ããŒãã®æ§ç¯"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:223
msgid "The ``aci.payload()`` method is used to build a dictionary of the proposed object configuration. All parameters that were not provided a value in the task will be removed from the dictionary (both for the object and its children). Any parameter that does have a value will be converted to a string and added to the final dictionary object that will be used for comparison against the existing configuration."
msgstr "``aci.payload()`` ã¡ãœããã¯ãææ¡ããããªããžã§ã¯ãèšå®ã®ãã£ã¯ã·ã§ããªãŒæ§ç¯ã«äœ¿çšãããŸããã¿ã¹ã¯ã§å€ãæäŸãããŠããªããã©ã¡ãŒã¿ãŒã¯ãã¹ãŠãã£ã¯ã·ã§ããªãŒ (ãªããžã§ã¯ããšãã®åã®äž¡æ¹) ããåé€ãããŸããå€ã®ãããã©ã¡ãŒã¿ãŒã¯æååã«å€æãããæ¢åã®èšå®ãšã®æ¯èŒã«äœ¿çšãããæçµãã£ã¯ã·ã§ããªãŒãªããžã§ã¯ãã«è¿œå ãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:225
msgid "The ``aci.payload()`` method takes two required arguments and 1 optional argument, depending on if the module manages child objects."
msgstr "``aci.payload()`` ã¡ãœããã¯ãã¢ãžã¥ãŒã«ãåãªããžã§ã¯ãã管çãããã©ããã«å¿ããŠã2 ã€ã®å¿
é åŒæ°ãšã1 ã€ã®ä»»æã®åŒæ°ãåããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:227
msgid "``aci_class`` is the APIC name for the object's class, for example ``aci_class='fvBD'``"
msgstr "``aci_class`` ã¯ããªããžã§ã¯ãã®ã¯ã©ã¹ã® APIC åã§ããããšãã°ã``aci_class='fvBD'`` ã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:228
msgid "``class_config`` is the appropriate dictionary to be used as the payload for the POST request"
msgstr "``class_config`` 㯠POST èŠæ±ã®ãã€ããŒããšããŠäœ¿çšããé©åãªãã£ã¯ã·ã§ããªãŒã§ãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:230
msgid "The keys should match the names used by the APIC."
msgstr "ããŒã¯ APIC ã§äœ¿çšãããååãšäžèŽããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:231
msgid "The values should be the corresponding value in ``module.params``; these are the variables defined above"
msgstr "``module.params`` ã®å¯Ÿå¿ããå€ã§ãªããã°ãªããŸããããããã¯äžã§å®çŸ©ãããå€æ°ã§ã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:233
msgid "``child_configs`` is optional, and is a list of child config dictionaries."
msgstr "``child_configs`` ã¯ä»»æã§ãããåèšå®ã®ãã£ã¯ã·ã§ããªãŒã®äžèŠ§ã§ãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:235
msgid "The child configs include the full child object dictionary, not just the attributes configuration portion."
msgstr "åèšå®ã«ã¯ãå±æ§èšå®éšåã ãã§ãªããå®å
šãªåãªããžã§ã¯ããã£ã¯ã·ã§ããªãŒãå«ãŸããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:236
msgid "The configuration portion is built the same way as the object."
msgstr "èšå®éšåã¯ããªããžã§ã¯ããšåãæ¹æ³ã§æ§ç¯ãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:260
msgid "Performing the request"
msgstr "èŠæ±ã®å®è¡"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:261
msgid "The ``get_diff()`` method is used to perform the diff, and takes only one required argument, ``aci_class``. Example: ``aci.get_diff(aci_class='fvBD')``"
msgstr "``get_diff()`` ã¡ãœãã㯠diff ãå®è¡ããå¿
èŠãªåŒæ° ``aci_class`` ã 1 ã€ã ãåããŸããããšãã° ``aci.get_diff(aci_class='fvBD')`` ã§ãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:264
msgid "The ``post_config()`` method is used to make the POST request to the APIC if needed. This method doesn't take any arguments and handles check mode. Example: ``aci.post_config()``"
msgstr "``post_config()`` ã¡ãœããã¯ãå¿
èŠã«å¿ã㊠APIC ãžã® POST èŠæ±ãè¡ãããã«äœ¿çšãããŸãããã®ã¡ãœããã¯åŒæ°ãåãä»ããããã§ãã¯ã¢ãŒããåŠçããŸãã以äžã«äŸã瀺ããŸããããšãã°ã``aci.post_config()`` ã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:269
msgid "Example code"
msgstr "ãµã³ãã«ã³ãŒã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:299
msgid "When state is absent"
msgstr "state ã absent ã®å Žå"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:300
msgid "If the task sets the state to absent, then the ``delete_config()`` method is all that is needed. This method does not take any arguments, and handles check mode."
msgstr "ã¿ã¹ã¯ã state ã absent ã«èšå®ãããšã``delete_config()`` ã¡ãœããã®ã¿ãå¿
èŠã«ãªããŸãããã®ã¡ãœããã¯åŒæ°ãåããããã§ãã¯ã¢ãŒããåŠçããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:309
msgid "Exiting the module"
msgstr "ã¢ãžã¥ãŒã«ã®çµäº"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:310
msgid "To have the module exit, call the ACIModule method ``exit_json()``. This method automatically takes care of returning the common return values for you."
msgstr "ã¢ãžã¥ãŒã«ãçµäºããã«ã¯ãACIModule ã¡ãœãã ``exit_json()`` ãåŒã³åºããŸãããã®ã¡ãœããã¯ãäžè¬çãªæ»ãå€ãè¿ãããšãèªåçã«è¡ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:323
msgid "Testing ACI library functions"
msgstr "ACI ã©ã€ãã©ãªãŒé¢æ°ã®ãã¹ã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:324
msgid "You can test your ``construct_url()`` and ``payload()`` arguments without accessing APIC hardware by using the following python script:"
msgstr "以äžã® python ã¹ã¯ãªããã䜿çšããŠãAPIC ããŒããŠã§ã¢ã«ã¢ã¯ã»ã¹ããã« ``construct_url()`` åŒæ°ããã³ ``payload()`` åŒæ°ããã¹ãããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:383
msgid "This will result in:"
msgstr "ããã«ããã以äžãçæãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:397
msgid "Testing for sanity checks"
msgstr "å¥å
šæ§ãã§ãã¯ã®ãã¹ã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:398
msgid "For legacy versions of ansible, you can run from your fork something like:"
msgstr "Ansible ã®ã¬ã¬ã·ãŒããŒãžã§ã³ã§ã¯ã次ã®ãããªãã©ãŒã¯ããå®è¡ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:404
msgid "Meanwhile, the ACI modules have moved into a collection. Please refer to the links below, which provide detailed guidance how to setup your environment and test the collection."
msgstr "ACI ã¢ãžã¥ãŒã«ã¯ã³ã¬ã¯ã·ã§ã³ã«ç§»åããŸããã以äžã®ãªã³ã¯ãåç
§ããŠãã ãããç°å¢ãèšå®ããŠã³ã¬ã¯ã·ã§ã³ããã¹ãããæ¹æ³ã®è©³çŽ°ãªã¬ã€ãã³ã¹ãèšèŒãããŠããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:410
msgid "Information how to setup your environment to contribute to collections"
msgstr "ç°å¢ãèšå®ããŠã³ã¬ã¯ã·ã§ã³ã«è²¢ç®ããæ¹æ³"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:411
#: ../../rst/dev_guide/testing.rst:33
msgid ":ref:`testing_sanity`"
msgstr ":ref:`testing_sanity`"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:412
msgid "Information on how to build sanity tests."
msgstr "å¥å
šæ§ãã¹ããæ§ç¯ããæ¹æ³ã«é¢ããæ
å ±"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:418
msgid "Testing ACI integration tests"
msgstr "ACI çµ±åãã¹ãã®ãã¹ã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:419
#: ../../rst/dev_guide/developing_modules_general_aci.rst:449
msgid "You can run this:"
msgstr "以äžãå®è¡ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:425
msgid "You may need to add ``--python 2.7`` or ``--python 3.6`` in order to use the correct python version for performing tests."
msgstr "ãã¹ãã®å®è¡ã«é©å㪠python ããŒãžã§ã³ã䜿çšããã«ã¯ã``--python 2.7`` ãŸã㯠``--python 3.6`` ãè¿œå ããªããšãããªãå ŽåããããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:427
msgid "You may want to edit the used inventory at *test/integration/inventory.networking* and add something like:"
msgstr "*test/integration/inventory.networking* ã§äœ¿çšãããã€ã³ãã³ããªãŒãç·šéãã以äžã®ããã«è¿œå ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:443
#: ../../rst/dev_guide/testing.rst:37
msgid ":ref:`testing_integration`"
msgstr ":ref:`testing_integration`"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:444
msgid "Information on how to build integration tests."
msgstr "çµ±åãã¹ãã®æ§ç¯æ¹æ³ã«é¢ããæ
å ±ã"
#: ../../rst/dev_guide/developing_modules_general_aci.rst:448
msgid "Testing for test coverage"
msgstr "ãã¹ãã«ãã¬ãŒãžã®ãã¹ã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:5
msgid "Windows module development walkthrough"
msgstr "Windows ã¢ãžã¥ãŒã«éçºãŠã©ãŒã¯ã¹ã«ãŒ"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:7
msgid "In this section, we will walk through developing, testing, and debugging an Ansible Windows module."
msgstr "æ¬ã»ã¯ã·ã§ã³ã§ã¯ãAnsible Windows ã¢ãžã¥ãŒã«ã®éçºããã¹ããããã³ãããã°ã®éçºæé (ãŠã©ãŒã¯ã¹ã«ãŒ) ã説æããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:10
msgid "Because Windows modules are written in Powershell and need to be run on a Windows host, this guide differs from the usual development walkthrough guide."
msgstr "Windows ã¢ãžã¥ãŒã«ã¯ Powershell ã§æžãããŠãããWindows ãã¹ãäžã§å®è¡ããå¿
èŠãããããããã®ã¬ã€ãã¯éåžžã®éçºãŠã©ãŒã¯ã¹ã«ãŒã¬ã€ããšã¯ç°ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:20
msgid "Windows environment setup"
msgstr "Windows ç°å¢ã®èšå®"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:22
msgid "Unlike Python module development which can be run on the host that runs Ansible, Windows modules need to be written and tested for Windows hosts. While evaluation editions of Windows can be downloaded from Microsoft, these images are usually not ready to be used by Ansible without further modification. The easiest way to set up a Windows host so that it is ready to by used by Ansible is to set up a virtual machine using Vagrant. Vagrant can be used to download existing OS images called *boxes* that are then deployed to a hypervisor like VirtualBox. These boxes can either be created and stored offline or they can be downloaded from a central repository called Vagrant Cloud."
msgstr "Ansible ãå®è¡ãããã¹ãã§å®è¡ã§ãã Python ã¢ãžã¥ãŒã«éçºãšã¯ç°ãªããWindows ãã¹ãçšã« Windows ã¢ãžã¥ãŒã«ãäœæããã³ãã¹ãããå¿
èŠããããŸããWindows ã®è©äŸ¡ãšãã£ã·ã§ã³ã Microsoft ããããŠã³ããŒãã§ããŸãããéåžžã¯ãããã®ã€ã¡ãŒãžãè¿œå ã®å€æŽãªã㧠Ansible ã§äœ¿çšããããšã¯ã§ããŸãããAnsible ã§äœ¿çšããæºåãæŽãããã« Windows ãã¹ããèšå®ããæãç°¡åãªæ¹æ³ã¯ãVagrant ã䜿çšããŠä»®æ³ãã·ã³ãèšå®ããããšã«ãããŸããVagrant ã䜿çšãããšã*ããã¯ã¹* ãšåŒã°ããæ¢åã® OS ã€ã¡ãŒãžãããŠã³ããŒãããVirtualBox ã®ãããªãã€ããŒãã€ã¶ãŒã«ãããã€ãããŸãããããã®ããã¯ã¹ã¯ããªãã©ã€ã³ã§äœæããã³ä¿åããããVagrant Cloud ãšåŒã°ããäžå€®ãªããžããªãŒããããŠã³ããŒãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:33
#, python-format
msgid "This guide will use the Vagrant boxes created by the `packer-windoze <https://github.com/jborean93/packer-windoze>`_ repository which have also been uploaded to `Vagrant Cloud <https://app.vagrantup.com/boxes/search?utf8=%E2%9C%93&sort=downloads&provider=&q=jborean93>`_. To find out more info on how these images are created, please go to the GitHub repo and look at the ``README`` file."
msgstr "æ¬ã¬ã€ãã§ã¯ã`packer-windoze <https://github.com/jborean93/packer-windoze>`_ ãªããžããªãŒã«ããäœæããã Vagrant ããã¯ã¹ã䜿çšããŸããããã¯ã`Vagrant Cloud <https://app.vagrantup.com/boxes/search?utf8=%E2%9C%93&sort=downloads&provider=&q=jborean93>`_ ã«ã¢ããããŒããããŸããããããã®ç»åãã©ã®ããã«äœæããããã«ã€ããŠã®è©³çŽ°ã¯ãGitHub ãªããžããªãŒã§ ``README`` ãã¡ã€ã«ã確èªããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:38
msgid "Before you can get started, the following programs must be installed (please consult the Vagrant and VirtualBox documentation for installation instructions):"
msgstr "äœæ¥ãéå§ããåã«ã以äžã®ããã°ã©ã ãã€ã³ã¹ããŒã«ããå¿
èŠããããŸã (ã€ã³ã¹ããŒã«æ¹æ³ã¯ Vagrant ããã³ VirtualBox ã®ããã¥ã¡ã³ããåç
§ããŠãã ãã)ã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:41
msgid "Vagrant"
msgstr "Vagrant"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:42
msgid "VirtualBox"
msgstr "VirtualBox"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:45
msgid "Create a Windows server in a VM"
msgstr "ä»®æ³ãã·ã³ã§ Windows ãµãŒããŒãäœæ"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:47
msgid "To create a single Windows Server 2016 instance, run the following:"
msgstr "1 ã€ã® Windows Server 2016 ã€ã³ã¹ã¿ã³ã¹ãäœæããã«ã¯ã次ã®ã³ãã³ããå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:54
msgid "This will download the Vagrant box from Vagrant Cloud and add it to the local boxes on your host and then start up that instance in VirtualBox. When starting for the first time, the Windows VM will run through the sysprep process and then create a HTTP and HTTPS WinRM listener automatically. Vagrant will finish its process once the listeners are online, after which the VM can be used by Ansible."
msgstr "ããã«ãããVagrant Cloud ãã Vagrant ããã¯ã¹ãããŠã³ããŒããããã¹ãã®ããŒã«ã«ããã¯ã¹ã«è¿œå ããŠãVirtualBox ã§ãã®ã€ã³ã¹ã¿ã³ã¹ãèµ·åããŸããåããŠèµ·åãããšãWindows ä»®æ³ãã·ã³ã sysprep ããã»ã¹ãä»ããŠå®è¡ããHTTP ããã³ HTTPS WinRM ãªã¹ããŒãèªåçã«äœæããŸããVagrant ã¯ããªã¹ããŒããªã³ã©ã€ã³ã«ãªããšããã»ã¹ãçµäºããŸãããã®åŸãAnsible ã§ä»®æ³ãã·ã³ã䜿çšã§ããããã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:61
msgid "Create an Ansible inventory"
msgstr "Ansible ã€ã³ãã³ããªãŒã®äœæ"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:63
msgid "The following Ansible inventory file can be used to connect to the newly created Windows VM:"
msgstr "以äžã® Ansible ã€ã³ãã³ããªãŒãã¡ã€ã«ã䜿çšããŠãæ°ããäœæãã Windows ä»®æ³ãã·ã³ã«æ¥ç¶ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:79
msgid "The port ``55986`` is automatically forwarded by Vagrant to the Windows host that was created, if this conflicts with an existing local port then Vagrant will automatically use another one at random and display show that in the output."
msgstr "ããŒã ``55986`` ã¯ãVagrant ã«ãã£ãŠäœæããã Windows ãã¹ãã«èªåçã«è»¢éãããŸãããããæ¢åã®ããŒã«ã«ããŒããšç«¶åããå ŽåãVagrant ã¯èªåçã«å¥ã®ããŒããã©ã³ãã ã«äœ¿çšããåºåã«ããã衚瀺ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:84
msgid "The OS that is created is based on the image set. The following images can be used:"
msgstr "äœæããã OS ã¯ã€ã¡ãŒãžã»ããã«åºã¥ããŠããŸãã次ã®ã€ã¡ãŒãžã䜿çšã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:87
msgid "`jborean93/WindowsServer2012 <https://app.vagrantup.com/jborean93/boxes/WindowsServer2012>`_"
msgstr "`jborean93/WindowsServer2012 <https://app.vagrantup.com/jborean93/boxes/WindowsServer2012>`_"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:88
msgid "`jborean93/WindowsServer2012R2 <https://app.vagrantup.com/jborean93/boxes/WindowsServer2012R2>`_"
msgstr "`jborean93/WindowsServer2012R2 <https://app.vagrantup.com/jborean93/boxes/WindowsServer2012R2>`_"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:89
msgid "`jborean93/WindowsServer2016 <https://app.vagrantup.com/jborean93/boxes/WindowsServer2016>`_"
msgstr "`jborean93/WindowsServer2016 <https://app.vagrantup.com/jborean93/boxes/WindowsServer2016>`_"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:90
msgid "`jborean93/WindowsServer2019 <https://app.vagrantup.com/jborean93/boxes/WindowsServer2019>`_"
msgstr "`jborean93/WindowsServer2016 <https://app.vagrantup.com/jborean93/boxes/WindowsServer2016>`_"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:91
msgid "`jborean93/WindowsServer2022 <https://app.vagrantup.com/jborean93/boxes/WindowsServer2022>`_"
msgstr "`jborean93/WindowsServer2012R2 <https://app.vagrantup.com/jborean93/boxes/WindowsServer2012R2>`_"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:93
msgid "When the host is online, it can accessible by RDP on ``127.0.0.1:3389`` but the port may differ depending if there was a conflict. To get rid of the host, run ``vagrant destroy --force`` and Vagrant will automatically remove the VM and any other files associated with that VM."
msgstr "ãã¹ãããªã³ã©ã€ã³ã«ãªã£ããã``127.0.0.1:3389`` 㧠RDP ããã¢ã¯ã»ã¹ã§ããŸããã競åããã£ããã©ããã«ãã£ãŠããŒããç°ãªãå ŽåããããŸãããã¹ããåãé€ãã«ã¯ã``vagrant destroy --force`` ãå®è¡ãããšãVagrant ããä»®æ³ãã·ã³ãšãã®ä»®æ³ãã·ã³ã«é¢é£ä»ãããããã®ä»ã®ãã¡ã€ã«ãèªåçã«åé€ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:98
msgid "While this is useful when testing modules on a single Windows instance, these host won't work without modification with domain based modules. The Vagrantfile at `ansible-windows <https://github.com/jborean93/ansible-windows/tree/master/vagrant>`_ can be used to create a test domain environment to be used in Ansible. This repo contains three files which are used by both Ansible and Vagrant to create multiple Windows hosts in a domain environment. These files are:"
msgstr "ããã¯ãåäžã® Windows ã€ã³ã¹ã¿ã³ã¹ã§ã¢ãžã¥ãŒã«ããã¹ãããéã«åœ¹ç«ã¡ãŸããããããã®ãã¹ãã¯ãã¡ã€ã³ããŒã¹ã®ã¢ãžã¥ãŒã«ã§å€æŽããã«åäœããŸããã`ansible-windows <https://github.com/jborean93/ansible-windows/tree/master/vagrant>`_ ã® Vagrant ã䜿çšããŠãAnsible ã§äœ¿çšãããã¹ããã¡ã€ã³ç°å¢ãäœæã§ããŸãããã®ãªããžããªãŒã«ã¯ãAnsible ãš Vagrant ã§äœ¿çšãããŠãã 3 ã€ã®ãã¡ã€ã«ãå«ãŸãããã¡ã€ã³ç°å¢ã§è€æ°ã® Windows ãã¹ããäœæããã®ã«äœ¿çšã§ããŸãããã®ãã¡ã€ã«ã¯ã以äžã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:105
msgid "``Vagrantfile``: The Vagrant file that reads the inventory setup of ``inventory.yml`` and provisions the hosts that are required"
msgstr "``Vagrantfile`` - ``inventory.yml`` ã®ã€ã³ãã³ããªãŒèšå®ãèªã¿èŸŒãã§ãå¿
èŠãªãã¹ããããããžã§ãã³ã°ãã Vagrant ãã¡ã€ã«ã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:106
msgid "``inventory.yml``: Contains the hosts that are required and other connection information such as IP addresses and forwarded ports"
msgstr "``inventory.yml`` - å¿
èŠãªãã¹ããšãIP ã¢ãã¬ã¹ã転éããŒããªã©ã®ä»ã®æ¥ç¶æ
å ±ãå«ãŸããŠããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:107
msgid "``main.yml``: Ansible playbook called by Vagrant to provision the domain controller and join the child hosts to the domain"
msgstr "``main.yml`` - Vagrant ã«åŒã³åºããã Ansible Playbook ã¯ããã¡ã€ã³ã³ã³ãããŒã©ãŒãããããžã§ãã³ã°ããåãã¹ãããã¡ã€ã³ã«åå ãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:109
msgid "By default, these files will create the following environment:"
msgstr "ããã©ã«ãã§ã¯ããããã®ãã¡ã€ã«ã¯ä»¥äžã®ç°å¢ãäœæããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:111
msgid "A single domain controller running on Windows Server 2016"
msgstr "Windows Server 2016 ã§å®è¡ããŠãããã¡ã€ã³ã³ã³ãããŒã©ãŒ 1 ã€"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:112
msgid "Five child hosts for each major Windows Server version joined to that domain"
msgstr "ãã¡ã€ã³ã«åå ããŠããå Windows Server ã®ã¡ãžã£ãŒããŒãžã§ã³ã®åãã¹ã 5 å°"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:113
msgid "A domain with the DNS name ``domain.local``"
msgstr "DNS å ``domain.local`` ãæã€ãã¡ã€ã³"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:114
msgid "A local administrator account on each host with the username ``vagrant`` and password ``vagrant``"
msgstr "åãã¹ãã®ããŒã«ã«ç®¡çè
ã¢ã«ãŠã³ã (ãŠãŒã¶ãŒå ``vagrant`` ããã³ãã¹ã¯ãŒã ``vagrant``)"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:115
msgid "A domain admin account ``vagrant-domain@domain.local`` with the password ``VagrantPass1``"
msgstr "ãã¹ã¯ãŒã ``VagrantPass1`` ãå«ããã¡ã€ã³ç®¡çè
ã¢ã«ãŠã³ã ``vagrant-domain@domain.local``"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:117
msgid "The domain name and accounts can be modified by changing the variables ``domain_*`` in the ``inventory.yml`` file if it is required. The inventory file can also be modified to provision more or less servers by changing the hosts that are defined under the ``domain_children`` key. The host variable ``ansible_host`` is the private IP that will be assigned to the VirtualBox host only network adapter while ``vagrant_box`` is the box that will be used to create the VM."
msgstr "ãã¡ã€ã³åããã³ã¢ã«ãŠã³ããå€æŽããã«ã¯ãå¿
èŠãªå Žåã« ``inventory.yml`` ãã¡ã€ã«ã®å€æ° ``domain_*`` ãå€æŽããããšã§å€æŽã§ããŸããã€ã³ãã³ããªãŒãã¡ã€ã«ã¯ã``domain_children`` ããŒã§å®çŸ©ããããã¹ããå€æŽããŠãããå°ãªããµãŒããŒãããããžã§ãã³ã°ããããã«å€æŽããããšãã§ããŸãããã¹ãå€æ° ``ansible_host`` ã¯ãVirtualBox ãã¹ãã«å²ãåœãŠããããã©ã€ããŒã IP ã§ããããã¯ãŒã¯ã¢ããã¿ãŒã®ã¿ã«å²ãåœãŠãããŸããã``vagrant_box`` ã¯ä»®æ³ãã·ã³ã®äœæã«äœ¿çšããããã¯ã¹ã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:126
msgid "Provisioning the environment"
msgstr "ç°å¢ã®ããããžã§ãã³ã°"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:128
msgid "To provision the environment as is, run the following:"
msgstr "ç°å¢ããã®ãŸãŸããããžã§ãã³ã°ããã«ã¯ã次ãå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:136
msgid "Vagrant provisions each host sequentially so this can take some time to complete. If any errors occur during the Ansible phase of setting up the domain, run ``vagrant provision`` to rerun just that step."
msgstr "Vagrant ã¯åãã¹ããé çªã«ããããžã§ãã³ã°ãããããå®äºãããŸã§ã«æéããããå ŽåããããŸãããã¡ã€ã³èšå®ã® Ansible ãã§ãŒãºäžã«ãšã©ãŒãçºçããå Žåã¯ã``vagrant provision`` ãå®è¡ããŠãã®ã¹ãããã ããåå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:140
msgid "Unlike setting up a single Windows instance with Vagrant, these hosts can also be accessed using the IP address directly as well as through the forwarded ports. It is easier to access it over the host only network adapter as the normal protocol ports are used, for example RDP is still over ``3389``. In cases where the host cannot be resolved using the host only network IP, the following protocols can be access over ``127.0.0.1`` using these forwarded ports:"
msgstr "Vagrant ã§åäžã® Windows ã€ã³ã¹ã¿ã³ã¹ãã»ããã¢ããããã®ãšã¯ç°ãªãããããã®ãã¹ãã¯ã転éãããããŒããä»ããŠã ãã§ãªããIP ã¢ãã¬ã¹ã䜿çšããŠçŽæ¥ã¢ã¯ã»ã¹ããããšãã§ããŸãããã¹ãã®ã¿ã®ãããã¯ãŒã¯ã¢ããã¿ãŒã䜿çšããŠã¢ã¯ã»ã¹ããæ¹ããéåžžã®ãããã³ã«ã®ããŒãã䜿çšãããããç°¡åã§ããããšãã°ãRDP ã¯ãŸã ``3389`` ã§ã§äœ¿çšãããŸãããã¹ãã®ã¿ã®ãããã¯ãŒã¯ IP ã䜿çšããŠãã¹ãã解決ã§ããªãå Žåã以äžã®ãããã³ã«ã¯ããããã®è»¢éãããããŒãã䜿çšã㊠``127.0.0.1`` ãä»ããŠã¢ã¯ã»ã¹ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:147
msgid "``RDP``: 295xx"
msgstr "``RDP``: 295xx"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:148
msgid "``SSH``: 296xx"
msgstr "``SSH``: 296xx"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:149
msgid "``WinRM HTTP``: 297xx"
msgstr "``WinRM HTTP``: 297xx"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:150
msgid "``WinRM HTTPS``: 298xx"
msgstr "``WinRM HTTPS``: 298xx"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:151
msgid "``SMB``: 299xx"
msgstr "``SMB``: 299xx"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:153
msgid "Replace ``xx`` with the entry number in the inventory file where the domain controller started with ``00`` and is incremented from there. For example, in the default ``inventory.yml`` file, WinRM over HTTPS for ``SERVER2012R2`` is forwarded over port ``29804`` as it's the fourth entry in ``domain_children``."
msgstr "``xx`` ãããã¡ã€ã³ã³ã³ãããŒã©ãŒã ``00`` ããéå§ããã€ã³ãã³ããªãŒãã¡ã€ã«ã®ãšã³ããªãŒçªå·ã«çœ®æããŸããå€ãã€ã³ã¯ãªã¡ã³ããããŠãããŸããããšãã°ãããã©ã«ãã§ã¯ã``domain_children`` ã® 4 çªç®ã®ãšã³ããªãŒã§ããããã``inventory.yml`` ãã¡ã€ã« (WinRM over HTTPS for ``SERVER2012R2``) ãããŒã ``29804`` çµç±ã§è»¢éãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:159
msgid "Windows new module development"
msgstr "Windows æ°ããã¢ãžã¥ãŒã«éçº"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:161
msgid "When creating a new module there are a few things to keep in mind:"
msgstr "æ°ããã¢ãžã¥ãŒã«ãäœæããéã«ã¯ã以äžã®ç¹ã«çæããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:163
msgid "Module code is in Powershell (.ps1) files while the documentation is contained in Python (.py) files of the same name"
msgstr "ã¢ãžã¥ãŒã«ã®ã³ãŒã㯠Powershell (.ps1) ãã¡ã€ã«ã«ãããããã¥ã¡ã³ãã¯åãååã® Python (.py) ãã¡ã€ã«ã«å«ãŸããŠããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:164
msgid "Avoid using ``Write-Host/Debug/Verbose/Error`` in the module and add what needs to be returned to the ``$module.Result`` variable"
msgstr "ã¢ãžã¥ãŒã«ã§ã¯ ``Write-Host/Debug/Verbose/Error`` ã䜿çšããã``$module.Result`` å€æ°ã«è¿ãå¿
èŠã®ãããã®ãè¿œå ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:165
msgid "To fail a module, call ``$module.FailJson(\"failure message here\")``, an Exception or ErrorRecord can be set to the second argument for a more descriptive error message"
msgstr "ã¢ãžã¥ãŒã«ã倱æãããã«ã¯ã``$module.FailJson(\"failure message here\")`` ãåŒã³åºããŠãException ãŸã㯠ErrorRecord ã 2 çªç®ã®åŒæ°ã«èšå®ããŠããã詳现ãªãšã©ãŒã¡ãã»ãŒãžã衚瀺ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:166
msgid "You can pass in the exception or ErrorRecord as a second argument to ``FailJson(\"failure\", $_)`` to get a more detailed output"
msgstr "äŸå€ãŸã㯠ErrorRecord ã 2 ã€ç®ã®åŒæ°ãšã㊠``FailJson(\"failure\", $_)`` ã«æž¡ããšããã詳现ãªåºåãååŸã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:167
msgid "Most new modules require check mode and integration tests before they are merged into the main Ansible codebase"
msgstr "ã»ãšãã©ã®æ°èŠã¢ãžã¥ãŒã«ã«ã¯ãäž»èŠãª Ansible ã³ãŒãããŒã¹ã«ããŒãžããåã«ãã§ãã¯ã¢ãŒããšçµ±åãã¹ããå¿
èŠã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:168
msgid "Avoid using try/catch statements over a large code block, rather use them for individual calls so the error message can be more descriptive"
msgstr "倧èŠæš¡ãªã³ãŒããããã¯ã§ try/catch æã䜿çšããªãããã«ããåå¥ã®åŒã³åºãã«äœ¿çšããããšã§ããšã©ãŒã¡ãã»ãŒãžãããåããããããªãããã«ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:169
msgid "Try and catch specific exceptions when using try/catch statements"
msgstr "try/catch æã®äœ¿çšæã«ç¹å®ã®äŸå€ãè©ŠããŠæã (ãã£ããã) ãŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:170
msgid "Avoid using PSCustomObjects unless necessary"
msgstr "å¿
èŠãªå Žåãé€ã PSCustomObject ã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:171
msgid "Look for common functions in ``./lib/ansible/module_utils/powershell/`` and use the code there instead of duplicating work. These can be imported by adding the line ``#Requires -Module *`` where * is the filename to import, and will be automatically included with the module code sent to the Windows target when run via Ansible"
msgstr "éè€ããäœæ¥ãè¡ããªãããã«ã``./lib/ansible/module_utils/powershell/`` ã«ããå
±éã®é¢æ°ãæ¢ããŠãããã«ããã³ãŒãã䜿çšããŠãã ããããããã®é¢æ°ã¯ ``#Requires -Module *`` ãšããè¡ãè¿œå ããããšã§ã€ã³ããŒãããããšãã§ããŸãã* ã¯ã€ã³ããŒããããã¡ã€ã«åã§ãAnsible ãä»ããŠå®è¡ããå Žåã«ãèªåçã« Windows ã¿ãŒã²ããã«éä¿¡ãããã¢ãžã¥ãŒã«ã³ãŒããå«ãŸããŠããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:172
msgid "As well as PowerShell module utils, C# module utils are stored in ``./lib/ansible/module_utils/csharp/`` and are automatically imported in a module execution if the line ``#AnsibleRequires -CSharpUtil *`` is present"
msgstr "PowerShell ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã®ä»ã«ãC# ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã ``./lib/ansible/module_utils/csharp/`` ã«æ¬ããã``#AnsibleRequires -CSharpUtil *`` è¡ãååšããå Žåã«ãã¢ãžã¥ãŒã«å®è¡ã«èªåçã«ã€ã³ããŒããããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:173
msgid "C# and PowerShell module utils achieve the same goal but C# allows a developer to implement low level tasks, such as calling the Win32 API, and can be faster in some cases"
msgstr "C# ãš PowerShell ã¢ãžã¥ãŒã«ã®ãŠãŒãã£ãªãã£ãŒã¯åãç®æšãéæããŸãããC# ã䜿çšãããšãéçºè
㯠Win32 API ã®åŒã³åºããªã©ã®äœã¬ãã«ã®ã¿ã¹ã¯ãå®è£
ã§ããå Žåã«ãã£ãŠã¯ããé«éã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:174
msgid "Ensure the code runs under Powershell v3 and higher on Windows Server 2012 and higher; if higher minimum Powershell or OS versions are required, ensure the documentation reflects this clearly"
msgstr "ãã®ã³ãŒãã Windows Server 2012 以éã® Powershell v3 以éã§åäœããããšã確èªããŠãã ãããæå°ããŒãžã§ã³ããæ°ãã Powershell ãŸã㯠OS ãå¿
èŠãªå Žåã¯ãããã¥ã¡ã³ãã«ãã®å
容ãæ確ã«åæ ãããŠããããšã確èªããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:175
msgid "Ansible runs modules under strictmode version 2.0. Be sure to test with that enabled by putting ``Set-StrictMode -Version 2.0`` at the top of your dev script"
msgstr "Ansible ã¯ãstrictmode ããŒãžã§ã³ 2.0 ã§ã¢ãžã¥ãŒã«ãå®è¡ããŸããå¿
ããéçºã¹ã¯ãªããã®åé ã« ``Set-StrictMode -Version 2.0`` ãšèšè¿°ããŠããã®æ©èœãæå¹ã«ããŠãã¹ãããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:176
msgid "Favor native Powershell cmdlets over executable calls if possible"
msgstr "å¯èœã§ããã°ãå®è¡å¯èœãªåŒã³åºããããããã€ãã£ãã® Powershell ã³ãã³ãã¬ãããåªå
ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:177
msgid "Use the full cmdlet name instead of aliases, for example ``Remove-Item`` over ``rm``"
msgstr "ãšã€ãªã¢ã¹ã®ä»£ããã«å®å
šãªã³ãã³ãã¬ããåã䜿çšããŠãã ãã (äŸ: ``rm`` ã§ã¯ãªã ``Remove-Item`` ã䜿çš)ã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:178
msgid "Use named parameters with cmdlets, for example ``Remove-Item -Path C:\\temp`` over ``Remove-Item C:\\temp``"
msgstr "ã³ãã³ãã¬ããã§ååä»ããã©ã¡ãŒã¿ãŒã䜿çšããŸã (äŸïŒ ``Remove-Item C:\\temp`` ã§ã¯ãªã ``Remove-Item -Path C:\\temp`` ã䜿çš)ã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:180
msgid "A very basic Powershell module `win_environment <https://github.com/ansible-collections/ansible.windows/blob/main/plugins/modules/win_environment.ps1>`_ incorporates best practices for Powershell modules. It demonstrates how to implement check-mode and diff-support, and also shows a warning to the user when a specific condition is met."
msgstr "éåžžã«åºæ¬ç㪠Powershell ã¢ãžã¥ãŒã« `win_environment <https://github.com/ansible-collections/ansible.windows/blob/main/plugins/modules/win_environment.ps1>`_ ããPowershell ã¢ãžã¥ãŒã«ã®ãã¹ããã©ã¯ãã£ã¹ã«çµã¿èŸŒãŸããŠããŸããããã¯ãcheck-mode ããã³ diff-support ãå®è£
ããæ¹æ³ã瀺ããç¹å®ã®æ¡ä»¶ãæºãããããšãŠãŒã¶ãŒã«èŠåã衚瀺ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:182
msgid "A slightly more advanced module is `win_uri <https://github.com/ansible-collections/ansible.windows/blob/main/plugins/modules/win_uri.ps1>`_ which additionally shows how to use different parameter types (bool, str, int, list, dict, path) and a selection of choices for parameters, how to fail a module and how to handle exceptions."
msgstr "ããå°ãé«åºŠãªã¢ãžã¥ãŒã«ãšããŠã¯ `win_uri <https://github.com/ansible-collections/ansible.windows/blob/main/plugins/modules/win_uri.ps1>`_ ããããŸãããããã§ãããŸããŸãªãã©ã¡ãŒã¿ãŒå (boolãstrãintãlistãdictãpath) ã®äœ¿çšæ¹æ³ããã©ã¡ãŒã¿ãŒã®éžææ¹æ³ãã¢ãžã¥ãŒã«ã倱æãããæ¹æ³ãäŸå€ã®åŠçæ¹æ³ãªã©ã玹ä»ããŠããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:184
msgid "As part of the new ``AnsibleModule`` wrapper, the input parameters are defined and validated based on an argument spec. The following options can be set at the root level of the argument spec:"
msgstr "æ°ãã ``AnsibleModule`` ã©ãããŒã®äžéšãšããŠãå
¥åãã©ã¡ãŒã¿ãŒã¯åŒæ°ã®ä»æ§ã«åºã¥ããŠå®çŸ©ããã³æ€èšŒãããŸãã以äžã®ãªãã·ã§ã³ã¯ãåŒæ°ä»æ§ã®ã«ãŒãã¬ãã«ã§èšå®ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:187
msgid "``mutually_exclusive``: A list of lists, where the inner list contains module options that cannot be set together"
msgstr "``mutually_exclusive``: ãªã¹ãã®ãªã¹ãã§ãå
åŽã®ãªã¹ãã«ã¯äžç·ã«èšå®ã§ããªãã¢ãžã¥ãŒã«ãªãã·ã§ã³ãå«ãŸããŠããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:188
msgid "``no_log``: Stops the module from emitting any logs to the Windows Event log"
msgstr "``no_log``: ã¢ãžã¥ãŒã«ã Windows ã€ãã³ããã°ã«ãã°ãåºåããªãããã«ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:189
msgid "``options``: A dictionary where the key is the module option and the value is the spec for that option"
msgstr "``options``: ããŒãã¢ãžã¥ãŒã«ãªãã·ã§ã³ã§ãå€ããã®ãªãã·ã§ã³ã®ä»æ§ãšãªããã£ã¯ã·ã§ããªãŒã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:190
msgid "``required_by``: A dictionary where the option(s) specified by the value must be set if the option specified by the key is also set"
msgstr "``required_by``: ããŒã§æå®ããããªãã·ã§ã³ãèšå®ãããŠããå Žåã«ãå€ã§æå®ããããªãã·ã§ã³ãèšå®ããªããã°ãªããªããã£ã¯ã·ã§ããªãŒã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:194
msgid "``required_if``: A list of lists where the inner list contains 3 or 4 elements;"
msgstr "``required_if``: å
éšãªã¹ãã« 3 ã€ãŸã㯠4 ã€ã®èŠçŽ ãå«ãŸãããªã¹ãã®äžèŠ§"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:192
msgid "The first element is the module option to check the value against"
msgstr "æåã®èŠçŽ ã¯ãå€ã確èªããã¢ãžã¥ãŒã«ãªãã·ã§ã³ã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:193
msgid "The second element is the value of the option specified by the first element, if matched then the required if check is run"
msgstr "2 ã€ç®ã®èŠçŽ ã¯ã1 ã€ç®ã®èŠçŽ ã«ãã£ãŠæå®ããããªãã·ã§ã³ã®å€ã§ããäžèŽãããšå¿
é ã® if ãã§ãã¯ãå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:194
msgid "The third element is a list of required module options when the above is matched"
msgstr "3 ã€ç®ã®èŠçŽ ã¯ãäžèšãäžèŽããå Žåã«å¿
èŠãªã¢ãžã¥ãŒã«ãªãã·ã§ã³ã®ãªã¹ãã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:195
msgid "An optional fourth element is a boolean that states whether all module options in the third elements are required (default: ``$false``) or only one (``$true``)"
msgstr "4 çªç®ã®èŠçŽ (ä»»æ) ã¯ã3 çªç®ã®èŠçŽ ã®ã¢ãžã¥ãŒã«ãªãã·ã§ã³ããã¹ãŠå¿
èŠãªã®ã (ããã©ã«ã: ``$false``)ã1 ã€ã ããå¿
èŠãªã®ã (``$true``) ã瀺ãããŒã«å€ã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:196
msgid "``required_one_of``: A list of lists, where the inner list contains module options where at least one must be set"
msgstr "``required_one_of``: å°ãªããšã 1 ã€ã¯èšå®ããªããã°ãªããªãã¢ãžã¥ãŒã«ãªãã·ã§ã³ãå«ãŸããŠãããªã¹ããèšèŒããããªã¹ãã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:197
msgid "``required_together``: A list of lists, where the inner list contains module options that must be set together"
msgstr "``required_together``: äžç·ã«èšå®ããªããã°ãªããªãã¢ãžã¥ãŒã«ãªãã·ã§ã³ãå«ãŸããŠãããªã¹ããèšèŒããããªã¹ãã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:198
msgid "``supports_check_mode``: Whether the module supports check mode, by default this is ``$false``"
msgstr "``supports_check_mode``: ã¢ãžã¥ãŒã«ããã§ãã¯ã¢ãŒãã«å¯Ÿå¿ããŠãããã©ãã (ããã©ã«ã㯠``$false``) ãæå®ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:200
msgid "The actual input options for a module are set within the ``options`` value as a dictionary. The keys of this dictionary are the module option names while the values are the spec of that module option. Each spec can have the following options set:"
msgstr "ã¢ãžã¥ãŒã«ã®å®éã®å
¥åãªãã·ã§ã³ã¯ããã£ã¯ã·ã§ããªãŒãšãªã ``options`` å€ã«èšå®ãããŠããŸãããã®ãã£ã¯ã·ã§ããªãŒã®ããŒã¯ã¢ãžã¥ãŒã«ãªãã·ã§ã³åã§ãããå€ã¯ãã®ã¢ãžã¥ãŒã«ãªãã·ã§ã³ã®ä»æ§ã§ããåä»æ§ã«ã¯ã次ã®ãªãã·ã§ã³ãèšå®ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:204
msgid "``aliases``: A list of aliases for the module option"
msgstr "``aliases``: ã¢ãžã¥ãŒã«ãªãã·ã§ã³ã®ãšã€ãªã¢ã¹äžèŠ§"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:205
msgid "``choices``: A list of valid values for the module option, if ``type=list`` then each list value is validated against the choices and not the list itself"
msgstr "``choices``: ã¢ãžã¥ãŒã«ãªãã·ã§ã³ã®æå¹ãªå€ã®ãªã¹ãã§ãã``type=list`` ã®å Žåã¯ãåãªã¹ãã®å€ãéžæãããã®ã«å¯ŸããŠæ€èšŒããããªã¹ãèªäœã¯æ€èšŒãããŸããã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:206
msgid "``default``: The default value for the module option if not set"
msgstr "``default``: ã¢ãžã¥ãŒã«ãªãã·ã§ã³ã®ããã©ã«ãå€ (èšå®ãããŠããªãå Žå) ã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:207
msgid "``deprecated_aliases``: A list of hashtables that define aliases that are deprecated and the versions they will be removed in. Each entry must contain the keys ``name`` and ``collection_name`` with either ``version`` or ``date``"
msgstr "``deprecated_aliases``: éæšå¥šãšãªããšã€ãªã¢ã¹ãšããã®ãšã€ãªã¢ã¹ãåé€ãããããŒãžã§ã³ãå®çŸ©ããããã·ã¥ããŒãã«ã®äžèŠ§ãåãšã³ããªãŒã«ã¯ã``version`` ãŸã㯠``date`` ããã ``name`` ããŒãš ``collection_name`` ãå«ãŸããŠããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:208
msgid "``elements``: When ``type=list``, this sets the type of each list value, the values are the same as ``type``"
msgstr "``elements``: ``type=list`` ã®å Žåã¯ãåãªã¹ãå€ã®ã¿ã€ããèšå®ãããå€ã¯ ``type`` ãšåãã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:209
msgid "``no_log``: Will sanitise the input value before being returned in the ``module_invocation`` return value"
msgstr "``no_log``: ``module_invocation`` ã®æ»ãå€ã§è¿ãããåã«å
¥åå€ããµãã¿ã€ãºããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:210
msgid "``removed_in_version``: States when a deprecated module option is to be removed, a warning is displayed to the end user if set"
msgstr "``removed_in_version``: éæšå¥šã®ã¢ãžã¥ãŒã«ãªãã·ã§ã³ããã€åé€ããããã瀺ããŸãããããèšå®ãããŠããå Žåã¯ããšã³ããŠãŒã¶ãŒã«èŠåã衚瀺ãããŸã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:211
msgid "``removed_at_date``: States the date (YYYY-MM-DD) when a deprecated module option will be removed, a warning is displayed to the end user if set"
msgstr "``removed_at_date``: éæšå¥šã®ã¢ãžã¥ãŒã«ãªãã·ã§ã³ãåé€ãããæ¥ä» (YYYY-MM-DD) ã瀺ããŸãããããèšå®ãããŠããå Žåã¯ããšã³ããŠãŒã¶ãŒã«èŠåã衚瀺ãããŸã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:212
msgid "``removed_from_collection``: States from which collection the deprecated module option will be removed; must be specified if one of ``removed_in_version`` and ``removed_at_date`` is specified"
msgstr "``removed_from_collection``: éæšå¥šã®ã¢ãžã¥ãŒã«ãªãã·ã§ã³ãåé€ããã³ã¬ã¯ã·ã§ã³ã®ç¶æ
ã``removed_in_version`` ããã³ ``removed_at_date`` ã®ãããããæå®ãããŠããå Žåã¯æå®ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:213
msgid "``required``: Will fail when the module option is not set"
msgstr "``required``: ã¢ãžã¥ãŒã«ãªãã·ã§ã³ãèšå®ãããŠããªãå Žåã¯å€±æããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:224
msgid "``type``: The type of the module option, if not set then it defaults to ``str``. The valid types are;"
msgstr "``type``: ã¢ãžã¥ãŒã«ãªãã·ã§ã³ã®ã¿ã€ãã§ããèšå®ãããŠããªãå Žåã¯ãããã©ã«ã㧠``str`` ã«èšå®ãããŸããæå¹ãªã¿ã€ãã¯ä»¥äžã®ãšããã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:215
msgid "``bool``: A boolean value"
msgstr "``bool``: ããŒã«å€"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:216
msgid "``dict``: A dictionary value, if the input is a JSON or key=value string then it is converted to dictionary"
msgstr "``dict``: ãã£ã¯ã·ã§ããªãŒã®å€ãå
¥åã JSON ãŸã㯠key=value æååã®å Žåã¯ããã£ã¯ã·ã§ããªãŒã«å€æãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:217
msgid "``float``: A float or `Single <https://docs.microsoft.com/en-us/dotnet/api/system.single?view=netframework-4.7.2>`_ value"
msgstr "``float``: æµ®åå°æ°ç¹ãŸã㯠`Single <https://docs.microsoft.com/en-us/dotnet/api/system.single?view=netframework-4.7.2>`_ ã®å€"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:218
msgid "``int``: An Int32 value"
msgstr "``int``: Int32 å€"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:219
msgid "``json``: A string where the value is converted to a JSON string if the input is a dictionary"
msgstr "``json``: å
¥åããã£ã¯ã·ã§ããªãŒã§ããå Žåã«å€ã JSON æååã«å€æãããæåå"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:220
msgid "``list``: A list of values, ``elements=<type>`` can convert the individual list value types if set. If ``elements=dict`` then ``options`` is defined, the values will be validated against the argument spec. When the input is a string then the string is split by ``,`` and any whitespace is trimmed"
msgstr "``list``: å€ã®äžèŠ§ (``elements=<type>``) ãèšå®ãããŠããå Žåã¯ãåã
ã®ãªã¹ãå€ã¿ã€ããå€æã§ããŸãã``elements=dict`` ã®å Žåã¯ã``options`` ãå®çŸ©ãããå€ã¯åŒæ°ã®ä»æ§ã«å¯ŸããŠæ€èšŒãããŸããå
¥åãæååã§ããå Žåãæåå㯠``,`` ã§åå²ããã空çœæåã¯ãã¹ãŠããªãã³ã°ãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:221
msgid "``path``: A string where values likes ``%TEMP%`` are expanded based on environment values. If the input value starts with ``\\\\?\\`` then no expansion is run"
msgstr "``path``: ``%TEMP%`` ãªã©ã®å€ãç°å¢å€ã«åºã¥ããŠå±éãããæååã§ããå
¥åå€ã ``\\\\?\\`` ã§å§ãŸããšãå±éã¯å®è¡ãããŸããã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:222
msgid "``raw``: No conversions occur on the value passed in by Ansible"
msgstr "``raw``: Ansible ã«ãã£ãŠæž¡ãããå€ã§å€æãè¡ãããŸããã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:223
msgid "``sid``: Will convert Windows security identifier values or Windows account names to a `SecurityIdentifier <https://docs.microsoft.com/en-us/dotnet/api/system.security.principal.securityidentifier?view=netframework-4.7.2>`_ value"
msgstr "``sid``: Windows ã»ãã¥ãªãã£ãŒèå¥åã®å€ãŸã㯠Windows ã¢ã«ãŠã³ãåã `SecurityIdentifier <https://docs.microsoft.com/en-us/dotnet/api/system.security.principal.securityidentifier?view=netframework-4.7.2>`_ å€ã«å€æããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:224
msgid "``str``: The value is converted to a string"
msgstr "``str``: ãã®å€ã¯æååã«å€æãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:226
msgid "When ``type=dict``, or ``type=list`` and ``elements=dict``, the following keys can also be set for that module option:"
msgstr "``type=dict`` ãŸã㯠``type=list`` ããã³ ``elements=dict`` ã®å Žåã¯ããã®ã¢ãžã¥ãŒã«ãªãã·ã§ã³ã«ä»¥äžã®ããŒãèšå®ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:228
msgid "``apply_defaults``: The value is based on the ``options`` spec defaults for that key if ``True`` and null if ``False``. Only valid when the module option is not defined by the user and ``type=dict``."
msgstr "``apply_defaults``: ãã®å€ã¯ã``True`` ã®å Žåã¯ãã®ããŒã® ``options`` ä»æ§ã®ããã©ã«ãã«ãªãã``False`` ã®å Žå㯠null ã§ããã¢ãžã¥ãŒã«ãªãã·ã§ã³ããŠãŒã¶ãŒã«ãã£ãŠå®çŸ©ãããŠãããã``type=dict`` ã®å Žåã«éãæå¹ã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:229
msgid "``mutually_exclusive``: Same as the root level ``mutually_exclusive`` but validated against the values in the sub dict"
msgstr "``mutually_exclusive``: ã«ãŒãã¬ãã«ã® ``mutually_exclusive`` ãšåãã§ããããµããã£ã¯ã·ã§ããªãŒã®å€ã«å¯ŸããŠæ€èšŒãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:230
msgid "``options``: Same as the root level ``options`` but contains the valid options for the sub option"
msgstr "``options``: ã«ãŒãã¬ãã«ã® ``options`` ãšåãã§ããããµããªãã·ã§ã³ã®æå¹ãªãªãã·ã§ã³ãå«ãŸããŠããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:231
msgid "``required_if``: Same as the root level ``required_if`` but validated against the values in the sub dict"
msgstr "``required_if``: ã«ãŒãã¬ãã«ã® ``required_if`` ãšåãã§ããããµããã£ã¯ã·ã§ããªãŒã®å€ã«å¯ŸããŠæ€èšŒãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:232
msgid "``required_by``: Same as the root level ``required_by`` but validated against the values in the sub dict"
msgstr "``required_by``: ã«ãŒãã¬ãã«ã® ``required_by`` ãšåãã§ããããµããã£ã¯ã·ã§ããªãŒã®å€ã«å¯ŸããŠæ€èšŒãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:233
msgid "``required_together``: Same as the root level ``required_together`` but validated against the values in the sub dict"
msgstr "``required_together``: ã«ãŒãã¬ãã«ã® ``required_together`` ãšåãã§ããããµããã£ã¯ã·ã§ããªãŒã®å€ã«å¯ŸããŠæ€èšŒãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:234
msgid "``required_one_of``: Same as the root level ``required_one_of`` but validated against the values in the sub dict"
msgstr "``required_one_of``: ã«ãŒãã¬ãã«ã® ``required_one_of`` ãšåãã§ããããµããã£ã¯ã·ã§ããªãŒã®å€ã«å¯ŸããŠæ€èšŒãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:236
msgid "A module type can also be a delegate function that converts the value to whatever is required by the module option. For example the following snippet shows how to create a custom type that creates a ``UInt64`` value:"
msgstr "ã¢ãžã¥ãŒã«åã¯ãå€ãã¢ãžã¥ãŒã«ãªãã·ã§ã³ã§å¿
èŠãšããããã®ã«å€æããããªã²ãŒãé¢æ°ã«ããããšãã§ããŸãã次ã®ã¹ããããã®äŸã¯ã``UInt64`` å€ãäœæããã«ã¹ã¿ã åãäœæããæ¹æ³ã瀺ããŠããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:246
msgid "When in doubt, look at some of the other core modules and see how things have been implemented there."
msgstr "äžæãªå Žåã¯ãä»ã®ã³ã¢ã¢ãžã¥ãŒã«ãèŠãŠãããã«ã©ã®ããã«å®è£
ãããŠããããèŠãŠã¿ãŸãããã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:249
msgid "Sometimes there are multiple ways that Windows offers to complete a task; this is the order to favor when writing modules:"
msgstr "Windows ãã¿ã¹ã¯ãå®äºãããããã«ãè€æ°ã®æ¹æ³ãæ瀺ãããããšããããŸããã¢ãžã¥ãŒã«ãæžããšãã«å¥œãŸããé åºã¯ä»¥äžã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:252
msgid "Native Powershell cmdlets like ``Remove-Item -Path C:\\temp -Recurse``"
msgstr "``Remove-Item -Path C:\\temp -Recurse`` ãªã©ã®ãã€ãã£ãã® Powershell ã³ãã³ãã¬ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:253
msgid ".NET classes like ``[System.IO.Path]::GetRandomFileName()``"
msgstr "``[System.IO.Path]::GetRandomFileName()`` ãªã©ã® .NET ã¯ã©ã¹"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:254
msgid "WMI objects through the ``New-CimInstance`` cmdlet"
msgstr "``New-CimInstance`` ã³ãã³ãã¬ããçµç±ã® WMI ãªããžã§ã¯ã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:255
msgid "COM objects through ``New-Object -ComObject`` cmdlet"
msgstr "``New-Object -ComObject`` ã³ãã³ãã¬ããçµç±ã® COM ãªããžã§ã¯ã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:256
msgid "Calls to native executables like ``Secedit.exe``"
msgstr "``Secedit.exe`` ãªã©ããã€ãã£ãå®è¡å¯èœãã¡ã€ã«ãžã®åŒã³åºã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:258
msgid "PowerShell modules support a small subset of the ``#Requires`` options built into PowerShell as well as some Ansible-specific requirements specified by ``#AnsibleRequires``. These statements can be placed at any point in the script, but are most commonly near the top. They are used to make it easier to state the requirements of the module without writing any of the checks. Each ``requires`` statement must be on its own line, but there can be multiple requires statements in one script."
msgstr "PowerShell ã¢ãžã¥ãŒã«ã¯ãPowerShell ã«çµã¿èŸŒãŸããŠãã ``#Requires`` ãªãã·ã§ã³ã®å°ããªãµãã»ãããšã``#AnsibleRequires`` ã§æå®ãããŠãã Ansible åºæã®èŠä»¶ããµããŒãããŠããŸãããããã®ã¹ããŒãã¡ã³ãã¯ãã¹ã¯ãªããã®ä»»æã®äœçœ®ã«é
眮ã§ããŸãããæãäžè¬çãªã®ã¯å
é ä»è¿ã§ãããããã®ã¹ããŒãã¡ã³ãã¯ããã§ãã¯é
ç®ãèšè¿°ããããšãªããã¢ãžã¥ãŒã«ã®èŠä»¶ãç°¡åã«èšè¿°ããããã«äœ¿çšãããŸãã``requires`` ã¹ããŒãã¡ã³ãã¯ãããã 1 è¡ã«æžããªããã°ãªããŸãããã1 ã€ã®ã¹ã¯ãªããã«è€æ°ã® requires ã¹ããŒãã¡ã³ããèšè¿°ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:266
msgid "These are the checks that can be used within Ansible modules:"
msgstr "以äžã®ãã§ãã¯ã¯ãAnsible ã¢ãžã¥ãŒã«å
ã§äœ¿çšã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:268
msgid "``#Requires -Module Ansible.ModuleUtils.<module_util>``: Added in Ansible 2.4, specifies a module_util to load in for the module execution."
msgstr "``#Requires -Module Ansible.ModuleUtils.<module_util>``: Ansible 2.4 ã§è¿œå ãããã¢ãžã¥ãŒã«å®è¡ã®ããã«èªã¿èŸŒãã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãæå®ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:269
msgid "``#Requires -Version x.y``: Added in Ansible 2.5, specifies the version of PowerShell that is required by the module. The module will fail if this requirement is not met."
msgstr "``#Requires -Version x.y``: Ansible 2.5 ã§è¿œå ãããã¢ãžã¥ãŒã«ãå¿
èŠãšãã PowerShell ããŒãžã§ã³ãæå®ããŸãããã®èŠä»¶ãæºãããŠããªãå Žåã¯å€±æããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:270
msgid "``#AnsibleRequires -PowerShell <module_util>``: Added in Ansible 2.8, like ``#Requires -Module``, this specifies a module_util to load in for module execution."
msgstr "``#AnsibleRequires -PowerShell <module_util>``: Ansible 2.8 ã§è¿œå ãããŸããã``#Requires -Module`` ã®ããã«ãAnsible 2.8 ã§è¿œå ãããã¢ãžã¥ãŒã«å®è¡ã®ããã«èªã¿èŸŒãã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãæå®ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:271
msgid "``#AnsibleRequires -CSharpUtil <module_util>``: Added in Ansible 2.8, specifies a C# module_util to load in for the module execution."
msgstr "``#AnsibleRequires -CSharpUtil <module_util>``: Ansible 2.8 ã§è¿œå ãããã¢ãžã¥ãŒã«å®è¡ã®ããã«èªã¿èŸŒã C# ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãæå®ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:272
msgid "``#AnsibleRequires -OSVersion x.y``: Added in Ansible 2.5, specifies the OS build version that is required by the module and will fail if this requirement is not met. The actual OS version is derived from ``[Environment]::OSVersion.Version``."
msgstr "``#AnsibleRequires -OSVersion x.y``: Ansible 2.5 ã§è¿œå ãããã¢ãžã¥ãŒã«ãå¿
èŠãšãã OS ãã«ãããŒãžã§ã³ãæå®ããŸãããã®èŠä»¶ãæºãããŠããªãå Žåã¯å€±æããŸããå®éã® OS ããŒãžã§ã³ã¯ ``[Environment]::OSVersion.Version`` ããç±æ¥ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:273
msgid "``#AnsibleRequires -Become``: Added in Ansible 2.5, forces the exec runner to run the module with ``become``, which is primarily used to bypass WinRM restrictions. If ``ansible_become_user`` is not specified then the ``SYSTEM`` account is used instead."
msgstr "``#AnsibleRequires -Become``: Ansible 2.5 ã§è¿œå ãããexec ã©ã³ããŒã ``become`` ã§ã¢ãžã¥ãŒã«ã匷å¶çã«å®è¡ããŸããããã¯äž»ã« WinRM ã®å¶éãåé¿ããããã«äœ¿çšãããŸãã``ansible_become_user`` ãæå®ãããŠããªãå Žåã¯ã代ããã« ``SYSTEM`` ã¢ã«ãŠã³ãã䜿çšãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:275
msgid "The ``#AnsibleRequires -PowerShell`` and ``#AnsibleRequires -CSharpUtil`` support further features such as:"
msgstr "``#AnsibleRequires -PowerShell`` ããã³ ``#AnsibleRequires -CSharpUtil`` ã¯ã以äžã®ãããªè¿œå æ©èœããµããŒãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:278
msgid "Importing a util contained in a collection (added in Ansible 2.9)"
msgstr "ã³ã¬ã¯ã·ã§ã³ã«å«ãŸãããŠãŒãã£ãªãã£ãŒã®ã€ã³ããŒã (Ansible 2.9 ã§è¿œå )"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:279
msgid "Importing a util by relative names (added in Ansible 2.10)"
msgstr "çžå¯Ÿåã«ãããŠãŒãã£ãªãã£ãŒã®ã€ã³ããŒã (Ansible 2.10 ã§è¿œå )"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:280
msgid "Specifying the util is optional by adding `-Optional` to the import declaration (added in Ansible 2.12)."
msgstr "ãªãã·ã§ã³ã§ãã€ã³ããŒã宣èšã« `-Optional` ãè¿œå ããŠãŠãŒãã£ãªãã£ãŒãæå®ã§ããŸã (Ansible 2.12 ã§è¿œå )ã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:283
msgid "See the below examples for more details:"
msgstr "詳现ã«ã€ããŠã¯ã以äžã®äŸãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:313
msgid "For optional require statements, it is up to the module code to then verify whether the util has been imported before trying to use it. This can be done by checking if a function or type provided by the util exists or not."
msgstr "ãªãã·ã§ã³ã® require ã¹ããŒãã¡ã³ãã§ã¯ãã¢ãžã¥ãŒã«ã³ãŒãã«ããããŠãŒãã£ãªãã£ãŒã䜿çšããåã«ã€ã³ããŒãæžã¿ã§ããããšã確èªãããã©ããã決å®ãããŸããããã¯ããŠãŒãã£ãªãã£ãŒã«ãã£ãŠæäŸãããæ©èœãŸãã¯ã¿ã€ããååšããã確èªããããšã§å®è¡ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:317
msgid "While both ``#Requires -Module`` and ``#AnsibleRequires -PowerShell`` can be used to load a PowerShell module it is recommended to use ``#AnsibleRequires``. This is because ``#AnsibleRequires`` supports collection module utils, imports by relative util names, and optional util imports."
msgstr "PowerShell 㯠``#Requires -Module`` ãš ``#AnsibleRequires -PowerShell`` ã®äž¡æ¹ã䜿çšããŠããŒãã§ããŸããã``#AnsibleRequires`` ã®äœ¿çšãæšå¥šãããŸããããã¯ã``#AnsibleRequires`` ã¯ã³ã¬ã¯ã·ã§ã³ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãçžå¯ŸãŠãŒãã£ãªãã£ãŒåã«ããã€ã³ããŒããããã³ä»»æã®ãŠãŒãã£ãªãã£ãŒã®ã€ã³ããŒãããµããŒãããããã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:322
msgid "C# module utils can reference other C# utils by adding the line ``using Ansible.<module_util>;`` to the top of the script with all the other using statements."
msgstr "C# ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã¯ããã¹ãŠã®ã¹ããŒãã¡ã³ãã䜿çšããã¹ã¯ãªããã®åé ã« ``using Ansible.<module_util>;`` è¡ãè¿œå ããããšã§ãä»ã® C# ãŠãŒãã£ãªãã£ãŒãåç
§ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:328
msgid "Windows module utilities"
msgstr "Windows ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒ"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:330
msgid "Like Python modules, PowerShell modules also provide a number of module utilities that provide helper functions within PowerShell. These module_utils can be imported by adding the following line to a PowerShell module:"
msgstr "Python ã¢ãžã¥ãŒã«ãšåæ§ã«ãPowerShell ã¢ãžã¥ãŒã«ã¯ãPowerShell ã§ãã«ããŒé¢æ°ãæäŸããå€ãã®ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãæäŸããŸãããããã®ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã¯ã以äžã®è¡ã PowerShell ã¢ãžã¥ãŒã«ã«è¿œå ããŠã€ã³ããŒãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:338
msgid "This will import the module_util at ``./lib/ansible/module_utils/powershell/Ansible.ModuleUtils.Legacy.psm1`` and enable calling all of its functions. As of Ansible 2.8, Windows module utils can also be written in C# and stored at ``lib/ansible/module_utils/csharp``. These module_utils can be imported by adding the following line to a PowerShell module:"
msgstr "ããã«ãããã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã ``./lib/ansible/module_utils/powershell/Ansible.ModuleUtils.Legacy.psm1`` ã§ã€ã³ããŒãããããã¹ãŠã®é¢æ°ã®åŒã³åºããå¯èœã«ãªããŸããAnsible 2.8 ãšåæ§ã«ãWindows ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã¯ C# ã§ãèšè¿°ã§ãã``lib/ansible/module_utils/csharp`` ã«ä¿åãããŸãããããã®ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã¯ãPowerShell ã¢ãžã¥ãŒã«ã«ä»¥äžã®è¡ãè¿œå ããããšã§ã€ã³ããŒãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:348
msgid "This will import the module_util at ``./lib/ansible/module_utils/csharp/Ansible.Basic.cs`` and automatically load the types in the executing process. C# module utils can reference each other and be loaded together by adding the following line to the using statements at the top of the util:"
msgstr "ããã«ããã``./lib/ansible/module_utils/csharp/Ansible.Basic.cs`` ã§ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãã€ã³ããŒããããå®è¡äžã®ããã»ã¹ã§ã¿ã€ããèªåçã«èªã¿èŸŒãŸããŸããC# ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã¯çžäºã«åç
§ã§ãã次ã®è¡ãããŠãŒãã£ãªãã£ãŒã®äžéšã«ãã using ã¹ããŒãã¡ã³ãã«è¿œå ããŠèªã¿èŸŒãããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:357
msgid "There are special comments that can be set in a C# file for controlling the compilation parameters. The following comments can be added to the script;"
msgstr "ã³ã³ãã€ã«ãã©ã¡ãŒã¿ãŒãå¶åŸ¡ããããã« C# ãã¡ã€ã«ã«èšå®ã§ããç¹å¥ãªã³ã¡ã³ãããããŸãã以äžã®ã³ã¡ã³ããã¹ã¯ãªããã«è¿œå ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:360
msgid "``//AssemblyReference -Name <assembly dll> [-CLR [Core|Framework]]``: The assembly DLL to reference during compilation, the optional ``-CLR`` flag can also be used to state whether to reference when running under .NET Core, Framework, or both (if omitted)"
msgstr "``//AssemblyReference -Name <assembly dll> [-CLR [Core|Framework]]``: ã³ã³ãã€ã«äžã«åç
§ããã¢ã»ã³ããªãŒ DLL ã§ããä»»æã® ``-CLR`` ãã©ã°ã䜿çšããŠã.NET CoreãFrameworkããŸãã¯ãã®äž¡æ¹ (çç¥ãããŠããå Žå) ã§å®è¡ãããšãã«åç
§ãããã©ããã衚瀺ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:361
msgid "``//NoWarn -Name <error id> [-CLR [Core|Framework]]``: A compiler warning ID to ignore when compiling the code, the optional ``-CLR`` works the same as above. A list of warnings can be found at `Compiler errors <https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/index>`_"
msgstr "``//NoWarn -Name <error id> [-CLR [Core|Framework]]``: ã³ãŒããã³ã³ãã€ã«ãããšãã«ç¡èŠããã³ã³ãã€ã©èŠå ID ã§ãä»»æã® ``-CLR`` ãäžèšãšåãããã«æ©èœããŸããèŠåã®ãªã¹ãã¯ã`ã³ã³ãã€ã©ãŒãšã©ãŒ <https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/index>`_ ã§èŠã€ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:363
msgid "As well as this, the following pre-processor symbols are defined;"
msgstr "ãã®ä»ã«ã以äžã®ããªããã»ããµãŒã·ã³ãã«ãå®çŸ©ãããŠããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:365
msgid "``CORECLR``: This symbol is present when PowerShell is running through .NET Core"
msgstr "``CORECLR``: ãã®ã·ã³ãã«ã¯ãPowerShell ã .NET Core ãä»ããŠå®è¡ããŠããå Žåã«è¡šç€ºãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:366
msgid "``WINDOWS``: This symbol is present when PowerShell is running on Windows"
msgstr "``WINDOWS``: ãã®ã·ã³ãã«ã¯ãPowerShell ã Windows ã§å®è¡ããŠããå Žåã«è¡šç€ºãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:367
msgid "``UNIX``: This symbol is present when PowerShell is running on Unix"
msgstr "``UNIX``: ãã®ã·ã³ãã«ã¯ãPowerShell ã Unix ã§å®è¡ããŠããå Žåã«è¡šç€ºãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:369
msgid "A combination of these flags help to make a module util interoperable on both .NET Framework and .NET Core, here is an example of them in action:"
msgstr "ãããã©ã°ã®çµã¿åããã¯ã.NET Framework ãš .NET Core ã®äž¡æ¹ã§ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãçžäºéçšå¯èœã«ããã®ã«åœ¹ç«ã¡ãŸãã以äžã«ãå®éã®åäœäŸã瀺ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:390
msgid "The following is a list of module_utils that are packaged with Ansible and a general description of what they do:"
msgstr "以äžã« Ansible ãšäžç·ã«ããã±ãŒãžåãããŠããã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã®ãªã¹ããšããããã®æ©èœã®äžè¬çãªèª¬æã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:393
msgid "ArgvParser: Utility used to convert a list of arguments to an escaped string compliant with the Windows argument parsing rules."
msgstr "ArgvParser: åŒæ°ã®ãªã¹ãã Windows ã®åŒæ°è§£æã«ãŒã«ã«æºæ ããŠãããšã¹ã±ãŒããããæååã«å€æããã®ã«äœ¿çšããããŠãŒãã£ãªãã£ãŒã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:394
msgid "CamelConversion: Utility used to convert camelCase strings/lists/dicts to snake_case."
msgstr "CamelConversion: camelCase strings/lists/dicts ã snake_case ã«å€æããã®ã«äœ¿çšããããŠãŒãã£ãªãã£ãŒã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:395
msgid "CommandUtil: Utility used to execute a Windows process and return the stdout/stderr and rc as separate objects."
msgstr "CommandUtil: Windows ããã»ã¹ãå®è¡ããstdout/stderr ãš rc ãç°ãªããªããžã§ã¯ããšããŠè¿ãããã«äœ¿çšããããŠãŒãã£ãªãã£ãŒã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:396
msgid "FileUtil: Utility that expands on the ``Get-ChildItem`` and ``Test-Path`` to work with special files like ``C:\\pagefile.sys``."
msgstr "FileUtil: ``C:\\pagefile.sys`` ã®ãããªç¹æ®ãªãã¡ã€ã«ãæ±ãããã« ``Get-ChildItem`` ããã³ ``Test-Path`` ãæ¡åŒµãããŠãŒãã£ãªãã£ãŒã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:397
msgid "Legacy: General definitions and helper utilities for Ansible module."
msgstr "Legacy: Ansible ã¢ãžã¥ãŒã«ã®äžè¬çãªå®çŸ©ããã³ãã«ããŒãŠãŒãã£ãªãã£ãŒã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:398
msgid "LinkUtil: Utility to create, remove, and get information about symbolic links, junction points and hard inks."
msgstr "LinkUtil: ã·ã³ããªãã¯ãªã³ã¯ãåå²ç¹ãããŒãã€ã³ã¯ã«é¢ããæ
å ±ãäœæãåé€ãããã³ååŸãããŠãŒãã£ãªãã£ãŒã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:399
msgid "SID: Utilities used to convert a user or group to a Windows SID and vice versa."
msgstr "SID: ãŠãŒã¶ãŒãã°ã«ãŒãã Windows SID ã«å€æããããWindows SID ããŠãŒã¶ãŒãã°ã«ãŒãã«å€æããã®ã«äœ¿çšãããŠãŒãã£ãªãã£ãŒã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:401
msgid "For more details on any specific module utility and their requirements, please see the `Ansible module utilities source code <https://github.com/ansible/ansible/tree/devel/lib/ansible/module_utils/powershell>`_."
msgstr "ç¹å®ã®ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãšãã®èŠä»¶ã«é¢ãã詳现ã¯ã`Ansible ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã®ãœãŒã¹ã³ãŒã <https://github.com/ansible/ansible/tree/devel/lib/ansible/module_utils/powershell>`_ ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:404
msgid "PowerShell module utilities can be stored outside of the standard Ansible distribution for use with custom modules. Custom module_utils are placed in a folder called ``module_utils`` located in the root folder of the playbook or role directory."
msgstr "PowerShell ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã¯ãã«ã¹ã¿ã ã¢ãžã¥ãŒã«ã§äœ¿çšããæšæºã® Ansible ãã£ã¹ããªãã¥ãŒã·ã§ã³å€ã«ä¿åã§ããŸããã«ã¹ã¿ã ã®ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã¯ãPlaybook ãŸãã¯ããŒã«ãã£ã¬ã¯ããªãŒã®ã«ãŒããã£ã¬ã¯ããªãŒã«ãã ``module_utils`` ãšåŒã°ãããã£ã¬ã¯ããªãŒã«é
眮ãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:409
msgid "C# module utilities can also be stored outside of the standard Ansible distribution for use with custom modules. Like PowerShell utils, these are stored in a folder called ``module_utils`` and the filename must end in the extension ``.cs``, start with ``Ansible.`` and be named after the namespace defined in the util."
msgstr "C# ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã¯ãã«ã¹ã¿ã ã¢ãžã¥ãŒã«ã§äœ¿çšããããã®æšæºã® Ansible ãã£ã¹ããªãã¥ãŒã·ã§ã³å€ã«ãä¿åã§ããŸããPowerShellutils ãšåæ§ã``module_utils`` ãã£ã¬ã¯ããªãŒã«æ ŒçŽããããã¡ã€ã«åã¯æ¡åŒµå ``.cs`` ã§çµããã``Ansible.`` ã§å§ãŸãããŠãŒãã£ãªãã£ãŒã§å®çŸ©ãããåå空éã®åŸã«ååãæå®ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:413
msgid "The below example is a role structure that contains two PowerShell custom module_utils called ``Ansible.ModuleUtils.ModuleUtil1``, ``Ansible.ModuleUtils.ModuleUtil2``, and a C# util containing the namespace ``Ansible.CustomUtil``::"
msgstr "次ã®äŸã¯ãåŒã³åºããã 2 ã€ã® PowerShell ã®ã«ã¹ã¿ã ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒ (``Ansible.ModuleUtils.ModuleUtil1``ã``Ansible.ModuleUtils.ModuleUtil2``ãããã³åå空é ``Ansible.CustomUtil`` ãå«ã C# ãŠãŒãã£ãªãã£ãŒ) ãå«ãããŒã«æ§é ã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:428
msgid "Each PowerShell module_util must contain at least one function that has been exported with ``Export-ModuleMember`` at the end of the file. For example"
msgstr "PowerShell ã®åã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã«ã¯ããã¡ã€ã«ã®çµããã« ``Export-ModuleMember`` ã§ãšã¯ã¹ããŒããããé¢æ°ãå°ãªããšã 1 ã€å«ãŸããŠããå¿
èŠããããŸãã以äžã«äŸã瀺ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:437
msgid "Exposing shared module options"
msgstr "å
±æã¢ãžã¥ãŒã«ãªãã·ã§ã³ã®å
Ž"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:439
msgid "PowerShell module utils can easily expose common module options that a module can use when building its argument spec. This allows common features to be stored and maintained in one location and have those features used by multiple modules with minimal effort. Any new features or bugfixes added to one of these utils are then automatically used by the various modules that call that util."
msgstr "PowerShell ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã¯ãåŒæ°ä»æ§ãæ§ç¯ããéã«ã¢ãžã¥ãŒã«ã䜿çšã§ããå
±éã®ã¢ãžã¥ãŒã«ãªãã·ã§ã³ãç°¡åã«å
¬éã§ããŸããããã«ãããå
±éã®æ©èœã¯ 1 ã€ã®å Žæã«ä¿åããã³ç¶æã§ããæå°éã®äœæ¥ã§è€æ°ã®ã¢ãžã¥ãŒã«ã«ãã£ãŠäœ¿çšãããæ©èœãå©çšã§ããŸãããããã®ãŠãŒãã£ãªãã£ãŒã®ããããã«è¿œå ãããæ°æ©èœãŸãã¯ãã°ä¿®æ£ã¯ããã®ãŠãŒãã£ãªãã£ãŒã®ãããããåŒã³åºãããŸããŸãªã¢ãžã¥ãŒã«ã«ãã£ãŠèªåçã«äœ¿çšãããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:444
msgid "An example of this would be to have a module util that handles authentication and communication against an API This util can be used by multiple modules to expose a common set of module options like the API endpoint, username, password, timeout, cert validation, and so on without having to add those options to each module spec."
msgstr "ãã®äŸãšããŠã¯ãAPI ã«å¯ŸããèªèšŒãšéä¿¡ãåŠçããã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒããããŸãããã®ãŠãŒãã£ãªãã£ãŒã¯ãAPI ãšã³ããã€ã³ãããŠãŒã¶ãŒåããã¹ã¯ãŒããã¿ã€ã ã¢ãŠããèªå®æ€èšŒãªã©ã®å
±éã®ã¢ãžã¥ãŒã«ãªãã·ã§ã³ã»ãããå
¬éãããããåã¢ãžã¥ãŒã«ä»æ§ã«ãããã®ãªãã·ã§ã³ãè¿œå ããªããŠããè€æ°ã®ã¢ãžã¥ãŒã«ã«ãã£ãŠäœ¿çšã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:448
msgid "The standard convention for a module util that has a shared argument spec would have"
msgstr "å
±æåŒæ°ä»æ§ãæã€ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã®æšæºèŠåã¯æ¬¡ã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:451
msgid "A ``Get-<namespace.name.util name>Spec`` function that outputs the common spec for a module"
msgstr "ã¢ãžã¥ãŒã«ã®å
±éã®ä»æ§ãåºåãã ``Get-<namespace.name.util name>Spec`` é¢æ°"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:451
msgid "It is highly recommended to make this function name be unique to the module to avoid any conflicts with other utils that can be loaded"
msgstr "èªã¿èŸŒã¿ã§ããä»ã®ãŠãŒãã£ãªãã£ãŒãšã®ç«¶åãé¿ããããã«ããã®é¢æ°åãã¢ãžã¥ãŒã«ã«åºæã®ãã®ã«åŒ·ãæšå¥šããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:452
msgid "The format of the output spec is a Hashtable in the same format as the ``$spec`` used for normal modules"
msgstr "åºåä»æ§ã®åœ¢åŒã¯ãéåžžã®ã¢ãžã¥ãŒã«ã«äœ¿çšããã ``$spec`` ãšåã圢åŒã®ããã·ã¥ããŒãã«ã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:453
msgid "A function that takes in an ``AnsibleModule`` object called under the ``-Module`` parameter which it can use to get the shared options"
msgstr "``-Module`` ãã©ã¡ãŒã¿ãŒäžã§åŒã³åºããã ``AnsibleModule`` ãªããžã§ã¯ããåãå
¥ããé¢æ°ãããã䜿çšããŠå
±æãªãã·ã§ã³ãååŸã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:455
msgid "Because these options can be shared across various module it is highly recommended to keep the module option names and aliases in the shared spec as specific as they can be. For example do not have a util option called ``password``, rather you should prefix it with a unique name like ``acme_password``."
msgstr "ãããã®ãªãã·ã§ã³ã¯åçš®ã¢ãžã¥ãŒã«éã§å
±æã§ãããããã¢ãžã¥ãŒã«ãªãã·ã§ã³åãšãšã€ãªã¢ã¹ããå¯èœãªéãå
·äœçãªä»æ§ã«ç¶æããããšãé«ãæšå¥šãããŸããããšãã°ã``password`` ãŠãŒãã£ãªãã£ãŒãªãã·ã§ã³ããããŸãããããšãã°ã``acme_password`` ãªã©ã®äžæã®ååã§ãã¬ãã£ãã¯ã¹ãä»ããã¹ãã§ã¯ãããŸããã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:460
msgid "Failure to have a unique option name or alias can prevent the util being used by module that also use those names or aliases for its own options."
msgstr "äžæã®ãªãã·ã§ã³åãŸãã¯ãšã€ãªã¢ã¹ããªããšãã¢ãžã¥ãŒã«ããŠãŒãã£ãªãã£ãŒã䜿çšã§ããªããªããã¢ãžã¥ãŒã«ããããã®ååãŸãã¯ãšã€ãªã¢ã¹ãç¬èªã®ãªãã·ã§ã³ã«äœ¿çšããå¯èœæ§ããããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:463
msgid "The following is an example module util called ``ServiceAuth.psm1`` in a collection that implements a common way for modules to authentication with a service."
msgstr "以äžã¯ãã³ã¬ã¯ã·ã§ã³ã§ ``ServiceAuth.psm1`` ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã®äŸã«ãªããŸãããã®ã¢ãžã¥ãŒã«ã¯ããµãŒãã¹ã䜿çšããèªèšŒã«å
±éã®æ¹æ³ãå®è£
ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:519
msgid "For a module to take advantage of this common argument spec it can be set out like"
msgstr "ã¢ãžã¥ãŒã«ããã®å
±éã®åŒæ°ä»æ§ãå©çšã§ããããã«ããã«ã¯ã以äžã®ããã«èšå®ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:546
msgid "Options defined in the module spec will always have precedence over a util spec. Any list values under the same key in a util spec will be appended to the module spec for that same key. Dictionary values will add any keys that are missing from the module spec and merge any values that are lists or dictionaries. This is similar to how the doc fragment plugins work when extending module documentation."
msgstr "ã¢ãžã¥ãŒã«ä»æ§ã«å®çŸ©ãããŠãããªãã·ã§ã³ã¯åžžã«ãŠãŒãã£ãªãã£ãŒä»æ§ãããåªå
ãããŸãããŠãŒãã£ãªãã£ãŒä»æ§ã®åãããŒäžã®ãªã¹ãå€ã¯ãåãããŒã®ã¢ãžã¥ãŒã«ä»æ§ã«è¿œå ãããŸãããã£ã¯ã·ã§ããªãŒã®å€ã¯ãã¢ãžã¥ãŒã«ä»æ§ã«äžè¶³ããŠããéµãè¿œå ãããªã¹ããŸãã¯ãã£ã¯ã·ã§ããªãŒã§ããå€ãããŒãžããŸããããã¯ãã¢ãžã¥ãŒã«ããã¥ã¡ã³ããæ¡åŒµãããšãã«ããã¥ã¡ã³ããã©ã°ã¡ã³ããã©ã°ã€ã³ãã©ã®ããã«æ©èœããããšäŒŒãŠããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:551
msgid "To document these shared util options for a module, create a doc fragment plugin that documents the options implemented by the module util and extend the module docs for every module that implements the util to include that fragment in its docs."
msgstr "ã¢ãžã¥ãŒã«ã®ãããã®å
±æãŠãŒãã£ãªãã£ãŒãªãã·ã§ã³ãææžåããã«ã¯ãã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã«ããå®è£
ããããªãã·ã§ã³ãææžåããããã¥ã¡ã³ããã©ã°ã¡ã³ããã©ã°ã€ã³ãäœæãããŠãŒãã£ãªãã£ãŒãå®è£
ãããã¹ãŠã®ã¢ãžã¥ãŒã«ã®ã¢ãžã¥ãŒã«ããã¥ã¡ã³ããæ¡åŒµããŠããã®ãã©ã°ã¡ã³ããããã¥ã¡ã³ãã«å«ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:557
msgid "Windows playbook module testing"
msgstr "Windows Playbook ã¢ãžã¥ãŒã«ã®ãã¹ã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:559
msgid "You can test a module with an Ansible playbook. For example:"
msgstr "以äžã®ããã«ãAnsible Playbook ã§ã¢ãžã¥ãŒã«ããã¹ãã§ããŸãã以äžã«äŸã瀺ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:561
msgid "Create a playbook in any directory ``touch testmodule.yml``."
msgstr "ä»»æã®ãã£ã¬ã¯ããªãŒã« Playbook ãäœæããŸã (``touch testmodule.yml``)ã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:562
msgid "Create an inventory file in the same directory ``touch hosts``."
msgstr "åããã£ã¬ã¯ããªãŒ ``touch hosts`` ã«ã€ã³ãã³ããªãŒãã¡ã€ã«ãäœæããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:563
msgid "Populate the inventory file with the variables required to connect to a Windows host(s)."
msgstr "Windows ãã¹ããžã®æ¥ç¶ã«å¿
èŠãªå€æ°ãæå®ããŠã€ã³ãã³ããªãŒãã¡ã€ã«ãèšå®ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:564
msgid "Add the following to the new playbook file::"
msgstr "以äžãæ°ãã Playbook ãã¡ã€ã«ã«è¿œå ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:574
msgid "Run the playbook ``ansible-playbook -i hosts testmodule.yml``"
msgstr "Playbook ``ansible-playbook -i hosts testmodule.yml`` ãå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:576
msgid "This can be useful for seeing how Ansible runs with the new module end to end. Other possible ways to test the module are shown below."
msgstr "ããã¯ãAnsible ãæ°ããã¢ãžã¥ãŒã«ã§ãšã³ãããŒãšã³ãã§ã©ã®ããã«å®è¡ããããã確èªããã®ã«åœ¹ç«ã¡ãŸããã¢ãžã¥ãŒã«ããã¹ãããä»ã®å¯èœãªæ¹æ³ã以äžã«ç€ºããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:582
msgid "Windows debugging"
msgstr "Windows ã®ãããã°"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:584
msgid "Debugging a module currently can only be done on a Windows host. This can be useful when developing a new module or implementing bug fixes. These are some steps that need to be followed to set this up:"
msgstr "çŸåšãã¢ãžã¥ãŒã«ã®ãããã°ã¯ Windows ãã¹ãã§ã®ã¿å®è¡ã§ããŸããããã¯ãæ°ããã¢ãžã¥ãŒã«ãéçºãããããã°ä¿®æ£ãå®è£
ããããããšãã«åœ¹ç«ã¡ãŸãããããèšå®ããã«ã¯ã次ã®æé ã«åŸãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:588
msgid "Copy the module script to the Windows server"
msgstr "ã¢ãžã¥ãŒã«ã¹ã¯ãªããã Windows ãµãŒããŒã«ã³ããŒããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:589
msgid "Copy the folders ``./lib/ansible/module_utils/powershell`` and ``./lib/ansible/module_utils/csharp`` to the same directory as the script above"
msgstr "``./lib/ansible/module_utils/powershell`` ãã£ã¬ã¯ããªãŒãš ``./lib/ansible/module_utils/csharp`` ãã£ã¬ã¯ããªãŒãäžèšã®ã¹ã¯ãªãããšåããã£ã¬ã¯ããªãŒã«ã³ããŒããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:590
msgid "Add an extra ``#`` to the start of any ``#Requires -Module`` lines in the module code, this is only required for any lines starting with ``#Requires -Module``"
msgstr "ã¢ãžã¥ãŒã«ã³ãŒãã«ãããã¹ãŠã® ``#Requires -Module`` è¡ã®å
é ã« ``#`` ãè¿œå ããŠãã ãããããã¯ã``#Requires -Module`` ã§å§ãŸãè¡ã«ã®ã¿å¿
èŠã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:591
msgid "Add the following to the start of the module script that was copied to the server:"
msgstr "以äžãããµãŒããŒã«ã³ããŒãããã¢ãžã¥ãŒã«ã¹ã¯ãªããã®å
é ã«è¿œå ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:623
msgid "You can add more args to ``$complex_args`` as required by the module or define the module options through a JSON file with the structure:"
msgstr "ã¢ãžã¥ãŒã«ã«å¿
èŠãªå Žå㯠``$complex_args`` ã«ããã«åŒæ°ãè¿œå ãããããã®æ§é ãæ〠JSON ãã¡ã€ã«ã§ã¢ãžã¥ãŒã«ãªãã·ã§ã³ãå®çŸ©ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:637
msgid "There are multiple IDEs that can be used to debug a Powershell script, two of the most popular ones are"
msgstr "Powershell ã¹ã¯ãªããã®ãããã°ã«äœ¿çšã§ãã IDE ãè€æ°ããã以äžã® 2 ã€ãæãäžè¬çãªãã®ã«ãªããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:640
msgid "`Powershell ISE`_"
msgstr "`Powershell ISE`_"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:641
msgid "`Visual Studio Code`_"
msgstr "`Visual Studio Code`_"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:646
msgid "To be able to view the arguments as passed by Ansible to the module follow these steps."
msgstr "Ansible ãã¢ãžã¥ãŒã«ã«æž¡ããåŒæ°ã衚瀺ããã«ã¯ã次ã®æé ã«åŸããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:649
msgid "Prefix the Ansible command with :envvar:`ANSIBLE_KEEP_REMOTE_FILES=1<ANSIBLE_KEEP_REMOTE_FILES>` to specify that Ansible should keep the exec files on the server."
msgstr "Ansible ã³ãã³ãã®åã« :envvar:`ANSIBLE_KEEP_REMOTE_FILES=1<ANSIBLE_KEEP_REMOTE_FILES>` ãä»ããŠãAnsible ã exec ãã¡ã€ã«ããµãŒãäžã«ä¿æããããã«æå®ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:650
msgid "Log onto the Windows server using the same user account that Ansible used to execute the module."
msgstr "Ansible ãã¢ãžã¥ãŒã«ã®å®è¡ã«äœ¿çšããã®ãšåããŠãŒã¶ãŒã¢ã«ãŠã³ãã䜿çšã㊠Windows ãµãŒããŒã«ãã°ã€ã³ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:651
msgid "Navigate to ``%TEMP%\\..``. It should contain a folder starting with ``ansible-tmp-``."
msgstr "``%TEMP%\\..`` ã«ç§»åããŸããããã«ã¯ã``ansible-tmp-`` ã§å§ãŸããã£ã¬ã¯ããªãŒãå«ãŸããã¯ãã§ãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:652
msgid "Inside this folder, open the PowerShell script for the module."
msgstr "ãã®ãã£ã¬ã¯ããªãŒå
ã§ãã¢ãžã¥ãŒã«ã® PowerShell ã¹ã¯ãªãããéããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:653
msgid "In this script is a raw JSON script under ``$json_raw`` which contains the module arguments under ``module_args``. These args can be assigned manually to the ``$complex_args`` variable that is defined on your debug script or put in the ``args.json`` file."
msgstr "ãã®ã¹ã¯ãªããã¯ã``$json_raw`` ã«ããçã® JSON ã¹ã¯ãªããã§ã``module_args`` ã®äžã«ã¢ãžã¥ãŒã«åŒæ°ãå«ãŸããŠããŸãããããã®åŒæ°ã¯ããããã°ã¹ã¯ãªããã§å®çŸ©ããã ``$complex_args`` å€æ°ã«æåã§å²ãåœãŠããã``args.json`` ãã¡ã€ã«ã«çœ®ãããã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:657
msgid "Windows unit testing"
msgstr "Windows ãŠããããã¹ã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:659
msgid "Currently there is no mechanism to run unit tests for Powershell modules under Ansible CI."
msgstr "çŸåšãAnsible CI 㧠Powershell ã¢ãžã¥ãŒã«ã®ãŠããããã¹ããå®è¡ããã¡ã«ããºã ã¯ãããŸããã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:663
msgid "Windows integration testing"
msgstr "Windows çµ±åãã¹ã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:665
msgid "Integration tests for Ansible modules are typically written as Ansible roles. These test roles are located in ``./test/integration/targets``. You must first set up your testing environment, and configure a test inventory for Ansible to connect to."
msgstr "Ansible ã¢ãžã¥ãŒã«ã®çµ±åãã¹ãã¯éåžž Ansible ããŒã«ãšããŠèšè¿°ãããŸãããããã®ãã¹ãããŒã«ã¯ ``./test/integration/targets`` ã«ãããŸãããŸãããã¹ãç°å¢ãèšå®ããŠãAnsible ãæ¥ç¶ã§ããããã«ãã¹ãã€ã³ãã³ããªãŒãèšå®ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:669
msgid "In this example we will set up a test inventory to connect to two hosts and run the integration tests for win_stat:"
msgstr "ãã®äŸã§ã¯ã2 ã€ã®ãã¹ãã«æ¥ç¶ããwin_stat ã®çµ±åãã¹ããå®è¡ããããã®ãã¹ãã€ã³ãã³ããªãŒãèšå®ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:672
msgid "Run the command ``source ./hacking/env-setup`` to prepare environment."
msgstr "ç°å¢ãæºåããã«ã¯ã``source ./hacking/env-setup`` ã³ãã³ããå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:673
msgid "Create a copy of ``./test/integration/inventory.winrm.template`` and name it ``inventory.winrm``."
msgstr "``./test/integration/inventory.winrm.template`` ã®ã³ããŒãäœæãã``inventory.winrm`` ãšããååãæå®ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:674
msgid "Fill in entries under ``[windows]`` and set the required variables that are needed to connect to the host."
msgstr "``[windows]`` ã®äžã«ãšã³ããªãŒãå
¥åãããã¹ããžã®æ¥ç¶ã«å¿
èŠãªå€æ°ãèšå®ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:675
msgid ":ref:`Install the required Python modules <windows_winrm>` to support WinRM and a configured authentication method."
msgstr "WinRM ãšãèšå®ãããèªèšŒæ¹æ³ããµããŒãããã®ã« :ref:`å¿
èŠãª Python ã¢ãžã¥ãŒã«ãã€ã³ã¹ããŒã« <windows_winrm>` ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:676
msgid "To execute the integration tests, run ``ansible-test windows-integration win_stat``; you can replace ``win_stat`` with the role you want to test."
msgstr "çµ±åãã¹ããå®è¡ããã«ã¯ã``ansible-test windows-integration win_stat`` ãå®è¡ããŸãã``win_stat`` ã¯ããã¹ãããããŒã«ã«çœ®ãæããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:678
msgid "This will execute all the tests currently defined for that role. You can set the verbosity level using the ``-v`` argument just as you would with ansible-playbook."
msgstr "ããã«ããããã®ããŒã«ã«å¯ŸããŠçŸåšå®çŸ©ãããŠãããã¹ãŠã®ãã¹ããå®è¡ãããŸããansible-playbook ã®å Žåãšåãããã«ã``-v`` åŒæ°ã䜿çšããŠè©³çŽ°ã¬ãã«ãèšå®ã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:682
msgid "When developing tests for a new module, it is recommended to test a scenario once in check mode and twice not in check mode. This ensures that check mode does not make any changes but reports a change, as well as that the second run is idempotent and does not report changes. For example:"
msgstr "æ°ããã¢ãžã¥ãŒã«ã®ãã¹ããéçºãããšãã¯ãã·ããªãªããã§ãã¯ã¢ãŒã㧠1 åããã§ãã¯ã¢ãŒã以å€ã§ 2 åãã¹ãããããšãæšå¥šãããŸããããã«ããããã§ãã¯ã¢ãŒãã§ã¯å€æŽã¯è¡ããããå€æŽãå ±åãããŸãããŸãã2 åç®ã®å®è¡ã¯åªçã§ãããå€æŽã¯å ±åãããŸããã以äžã«äŸã瀺ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:735
msgid "Windows communication and development support"
msgstr "Windows ã®éä¿¡ããã³éçºãµããŒã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:737
msgid "Join the ``#ansible-devel`` or ``#ansible-windows`` chat channels (using Matrix at ansible.im or using IRC at `irc.libera.chat <https://libera.chat/>`_) for discussions about Ansible development for Windows."
msgstr "``#ansible-devel`` ãŸãã¯``#ansible-windows``ãã£ãããã£ã³ãã«ïŒansible.imã§Matrixã䜿çšããŸãã¯`irc.libera.chat <https://libera.chat/>`ã§IRCã䜿çšïŒã«åå ããŠãWindowsåãã®Ansible éçºã«é¢ããè°è«ãè¡ããŸãã"
#: ../../rst/dev_guide/developing_modules_general_windows.rst:739
msgid "For questions and discussions pertaining to using the Ansible product, use the ``#ansible`` channel."
msgstr "Ansible 補åã®äœ¿çšã«é¢ãã質åããã³è²¢ç®ã«ã€ããŠã¯ã``#ansible`` ãã£ã³ãã«ã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:5
msgid "Creating a new collection"
msgstr "æ°èŠã³ã¬ã¯ã·ã§ã³ã®äœæ"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:7
msgid "Starting with Ansible 2.10, related modules should be developed in a collection. The Ansible core team and community compiled these module development tips and tricks to help companies developing Ansible modules for their products and users developing Ansible modules for third-party products. See :ref:`developing_collections` for a more detailed description of the collections format and additional development guidelines."
msgstr "Ansible 2.10 以éãé¢é£ããã¢ãžã¥ãŒã«ãã³ã¬ã¯ã·ã§ã³ã§éçºããå¿
èŠããããŸããAnsible ã³ã¢ããŒã ããã³ã³ãã¥ããã£ãŒã¯ããããã®ã¢ãžã¥ãŒã«éçºã®ãã³ããšã³ãããŸãšããŠãèªç€Ÿè£œåçšã® Ansible ã¢ãžã¥ãŒã«ãéçºããŠããäŒæ¥ãããµãŒãããŒãã£ãŒè£œåçšã® Ansible ã¢ãžã¥ãŒã«ãéçºããŠãããŠãŒã¶ãŒãæ¯æŽããŸããã³ã¬ã¯ã·ã§ã³ã®åœ¢åŒãšè¿œå ã®éçºã¬ã€ãã©ã€ã³ã®è©³çŽ°ã¯ãã:ref:`developing_collections`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:15
msgid "Before you start coding"
msgstr "ã³ãŒãã£ã³ã°ãéå§ããåã«"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:17
msgid "This list of prerequisites is designed to help ensure that you develop high-quality modules that work well with ansible-core and provide a seamless user experience."
msgstr "ãã®åææ¡ä»¶ã®ãªã¹ãã¯ãansible-core ã§é©åã«æ©èœããã·ãŒã ã¬ã¹ãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããé«å質ã®ã¢ãžã¥ãŒã«ã確å®ã«éçºã§ããããã«èšèšãããŠããŸãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:19
msgid "Read though all the pages linked off :ref:`developing_modules_general`; paying particular focus to the :ref:`developing_modules_checklist`."
msgstr "ã:ref:`developing_modules_general`ããããªã³ã¯ãããŠãããã¹ãŠã®ããŒãžãèªã¿ãŸããç¹ã«ãã:ref:`developing_modules_checklist`ãã«æ³šæããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:20
msgid "We encourage PEP 8 compliance. See :ref:`testing_pep8` for more information."
msgstr "PEP 8 ã³ã³ãã©ã€ã¢ã³ã¹ãæšå¥šãããŸãã詳现ã¯ã:ref:`testing_pep8`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:21
msgid "We encourage supporting :ref:`Python 2.6+ and Python 3.5+ <developing_python_3>`."
msgstr ":ref:`Python 2.6 以éããã³ Python 3.5 以é <developing_python_3>` ããµããŒãããããšãæšå¥šãããŸãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:22
msgid "Look at Ansible Galaxy and review the naming conventions in your functional area (such as cloud, networking, databases)."
msgstr "Ansible Galaxy ã確èªããæ©èœãšãªã¢ (ã¯ã©ãŠãããããã¯ãŒã¯ãããŒã¿ããŒã¹ãªã©) ã§åœåèŠåã確èªããŸãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:23
msgid "With great power comes great responsibility: Ansible collection maintainers have a duty to help keep content up to date and release collections they are responsible for regularly. As with all successful community projects, collection maintainers should keep a watchful eye for reported issues and contributions."
msgstr "倧ããªåã«ã¯å€§ããªè²¬ä»»ã䌎ããŸããAnsible ã³ã¬ã¯ã·ã§ã³ã®ã¡ã³ãããŒã«ã¯ãã³ã³ãã³ããææ°ã®ç¶æ
ã«ä¿ã¡ãå®æçã«è²¬ä»»ã®ããã³ã¬ã¯ã·ã§ã³ããªãªãŒã¹ããã®ãæ¯æŽãã矩åããããŸããæåããŠãããã¹ãŠã®ã³ãã¥ããã£ãŒãããžã§ã¯ããšåæ§ã«ãã³ã¬ã¯ã·ã§ã³ã®ã¡ã³ãããŒã¯ãå ±åãããåé¡ãè²¢ç®ã«æ³šæãæãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:24
msgid "We strongly recommend unit and/or integration tests. Unit tests are especially valuable when external resources (such as cloud or network devices) are required. For more information see :ref:`developing_testing` and the `Testing Working Group <https://github.com/ansible/community/blob/main/meetings/README.md>`_."
msgstr "ãŠããããã¹ããçµ±åãã¹ãã匷ãæšå¥šãããŸãããŠããããã¹ãã¯ãå€éšãªãœãŒã¹ (ã¯ã©ãŠãããããã¯ãŒã¯ããã€ã¹ãªã©) ãå¿
èŠãªå Žåã«ç¹ã«åœ¹ã«ç«ã¡ãŸãã詳现ã«ã€ããŠã¯ãã:ref:`developing_testing`ãããã³ã`Testing Working Group <https://github.com/ansible/community/blob/main/meetings/README.md>`_ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:28
msgid "Naming conventions"
msgstr "åœåèŠå"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:30
msgid "Fully Qualified Collection Names (FQCNs) for plugins and modules include three elements:"
msgstr "ãã©ã°ã€ã³ããã³ã¢ãžã¥ãŒã«çšã®å®å
šä¿®é£Ÿã³ã¬ã¯ã·ã§ã³å (FQCN) ã«ã¯ 3 ã€ã®èŠçŽ ããããŸãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:32
msgid "the Galaxy namespace, which generally represents the company or group"
msgstr "Galaxy åå空éãéåžžãäŒç€ŸãŸãã¯ã°ã«ãŒããè¡šããŸãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:33
msgid "the collection name, which generally represents the product or OS"
msgstr "ã³ã¬ã¯ã·ã§ã³åãéåžžã¯è£œåãŸã㯠OS ãè¡šããŸãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:37
msgid "the plugin or module name"
msgstr "ãã©ã°ã€ã³ãŸãã¯ã¢ãžã¥ãŒã«å"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:35
msgid "always in lower case"
msgstr "åžžã«å°æå"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:36
msgid "words separated with an underscore (``_``) character"
msgstr "åèªã¯ã¢ã³ããŒã¹ã³ã¢ (``_``) æåã§åºåãããŸãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:37
msgid "singular, rather than plural, for example, ``command`` not ``commands``"
msgstr "è€æ°åœ¢ã§ã¯ãªããåæ°åœ¢ (äŸ: ``commands`` ã§ã¯ãªã ``command``)"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:39
msgid "For example, ``community.mongodb.mongodb_linux`` or ``cisco.meraki.meraki_device``."
msgstr "ããšãã°ã``community.mongodb.mongodb_linux`` ãŸã㯠``cisco.meraki.meraki_device`` ã§ãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:41
msgid "It is convenient if the organization and repository names on GitHub (or elsewhere) match your namespace and collection names on Ansible Galaxy, but it is not required. The plugin names you select, however, are always the same in your code repository and in your collection artifact on Galaxy."
msgstr "GitHub (ãŸãã¯å¥ã®å Žæ) ã®çµç¹ãšãªããžããªãŒåã Ansible Galaxy ã®åå空éãšã³ã¬ã¯ã·ã§ã³åãšäžèŽããå Žåã«äŸ¿å©ã§ãããå¿
é ã§ã¯ãããŸããããã ããéžæãããã©ã°ã€ã³åã¯ãã³ãŒããªããžããªãŒãš Galaxy ã®ã³ã¬ã¯ã·ã§ã³ã¢ãŒãã£ãã¡ã¯ãã§åžžã«åãã§ãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:44
msgid "Speak to us"
msgstr "ãåãåãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:46
msgid "Circulating your ideas before coding helps you adopt good practices and avoid common mistakes. After reading the \"Before you start coding\" section you should have a reasonable idea of the structure of your modules. Write a list of your proposed plugin and/or module names, with a short description of what each one does. Circulate that list on IRC or a mailing list so the Ansible community can review your ideas for consistency and familiarity. Names and functionality that are consistent, predictable, and familiar make your collection easier to use."
msgstr "ã³ãŒãã£ã³ã°ã®åã«ã¢ã€ãã¢ãåºãåãããšã§ãè¯ãç¿æ
£ãåãå
¥ããããããééããé¿ããããšãã§ããŸãããã³ãŒãã£ã³ã°ãå§ããåã«ãã®ã»ã¯ã·ã§ã³ãèªãã åŸãã¢ãžã¥ãŒã«ã®æ§é ã«ã€ããŠåŠ¥åœãªã¢ã€ãã¢ãããã¯ãã§ããææ¡ãããã©ã°ã€ã³ãã¢ãžã¥ãŒã«ã®ååã®ãªã¹ããæžãããããããäœãããã®ããç°¡åã«èª¬æããŠãã ããããã®ãªã¹ãããIRC ãã¡ãŒãªã³ã°ãªã¹ãã§å
±æããŠãAnsible ã³ãã¥ããã£ãŒãäžè²«æ§ã芪ãã¿ãããã®èŠ³ç¹ããã¢ã€ãã¢ãæ€èšã§ããããã«ããŸããäžè²«æ§ããããäºæž¬å¯èœã§ã芪ãã¿ãããååãæ©èœã¯ãã³ã¬ã¯ã·ã§ã³ããã䜿ããããããŸãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:51
msgid "Where to get support"
msgstr "ãµããŒããåããå Žæ"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:53
msgid "Ansible has a thriving and knowledgeable community of module developers that is a great resource for getting your questions answered."
msgstr "Ansible ã«ã¯ã掻çºã§ç¥èãè±å¯ãªã¢ãžã¥ãŒã«éçºè
ã®ã³ãã¥ããã£ãŒãããã質åã«çããããã®çŽ æŽããããªãœãŒã¹ãšãªã£ãŠããŸãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:55
msgid "In the :ref:`ansible_community_guide` you can find how to:"
msgstr ":ref:`ansible_community_guide` ã§ã以äžã®æ¹æ³ãèŠã€ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:57
msgid "Subscribe to the Mailing Lists - We suggest \"Ansible Development List\" and \"Ansible Announce list\""
msgstr "ã¡ãŒãªã³ã°ãªã¹ãããµãã¹ã¯ã©ã€ãããããšããAnsible Development Listãããã³ãAnsible Announce listãããå§ãããŸãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:58
msgid "``#ansible-devel`` - We have found that communicating on the ``#ansible-devel`` chat channel (using Matrix at ansible.im or using IRC at `irc.libera.chat <https://libera.chat/>`_) works best for developers so we can have an interactive dialogue."
msgstr "``#ansible-devel`` - ``#ansible-devel``ã®ãã£ãããã£ã³ãã«ïŒansible.im ã§Matrixã䜿çšããŸãã¯`irc.libera.chat <https://libera.chat/>`ã§IRCã䜿çšïŒã§ã®å¯Ÿè©±ãéçºè
ã«æé©ãªãã®ã§ããããšãåãã£ãŠããŸãããããã£ãŠãã€ã³ã¿ã©ã¯ãã£ããªäŒè©±ãè¡ãããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:59
msgid "Working group and other chat channel meetings - Join the various weekly meetings `meeting schedule and agenda page <https://github.com/ansible/community/blob/main/meetings/README.md>`_"
msgstr "ã¯ãŒãã³ã°ã°ã«ãŒãããã³ãã®ä»ã®ãã£ãããã£ã³ãã«ããŒãã£ã³ã° - ããŸããŸãªé±éããŒãã£ã³ã° (`meeting schedule and agenda page <https://github.com/ansible/community/blob/main/meetings/README.md>`_) ã«åå ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:62
msgid "Required files"
msgstr "å¿
é ãã¡ã€ã«"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:64
msgid "Your collection should include the following files to be usable:"
msgstr "ã³ã¬ã¯ã·ã§ã³ã«ã¯ã䜿çšå¯èœãªä»¥äžã®ãã¡ã€ã«ãå«ãŸããŠããã¯ãã§ãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:66
msgid "an ``__init__.py`` file - An empty file to initialize namespace and allow Python to import the files. *Required*"
msgstr "``__init__.py`` ãã¡ã€ã« - åå空éãåæåããPython ããã¡ã€ã«ãã€ã³ããŒãã§ããããã«ãã空ã®ãã¡ã€ã«ã*å¿
é *"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:67
msgid "at least one plugin, for example, ``/plugins/modules/$your_first_module.py``. *Required*"
msgstr "å°ãªããšã 1 ã€ã®ãã©ã°ã€ã³ (äŸ: ``/plugins/modules/$your_first_module.py``)ã*å¿
é *"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:68
msgid "if needed, one or more ``/plugins/doc_fragments/$topic.py`` files - Code documentation, such as details regarding common arguments. *Optional*"
msgstr "å¿
èŠãªå Žåã¯ã1 ã€ä»¥äžã® ``/plugins/doc_fragments/$topic.py`` ãã¡ã€ã« - äžè¬çãªåŒæ°ã®è©³çŽ°ãªã©ã®ã³ãŒãã®ããã¥ã¡ã³ãã*ä»»æ*"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:69
msgid "if needed, one or more ``/plugins/module_utils/$topic.py`` files - Code shared between more than one module, such as common arguments. *Optional*"
msgstr "å¿
èŠãªå Žåã¯ã1 ã€ä»¥äžã® ``/plugins/module_utils/$topic.py`` ãã¡ã€ã« - äžè¬çãªåŒæ°ãªã©ã®ãè€æ°ã®ã¢ãžã¥ãŒã«éã§å
±æãããã³ãŒãã*ä»»æ*"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:71
msgid "When you have these files ready, review the :ref:`developing_modules_checklist` again. If you are creating a new collection, you are responsible for all procedures related to your repository, including setting rules for contributions, finding reviewers, and testing and maintaining the code in your collection."
msgstr "ãããã®ãã¡ã€ã«ã®æºåãæŽã£ããã:ref:`developing_modules_checklist` ãå床確èªããŸããæ°ããã³ã¬ã¯ã·ã§ã³ãäœæããå Žåã¯ãè²¢ç®ã®ã«ãŒã«èšå®ãã¬ãã¥ãŒæ
åœè
ã®èŠã€ãæ¹ãã³ã¬ã¯ã·ã§ã³ã«ãããã³ãŒãã®ãã¹ãããã³ä¿å®ãªã©ããªããžããªãŒã«é¢é£ãããã¹ãŠã®æé ãæ
åœããŸãã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:73
msgid "If you need help or advice, consider joining the ``#ansible-devel`` chat channel (using Matrix at ansible.im or using IRC at `irc.libera.chat <https://libera.chat/>`_). For more information, see :ref:`developing_in_groups_support` and :ref:`communication`."
msgstr "ãã«ããã¢ããã€ã¹ãå¿
èŠãªå Žåã¯ã``#ansible-devel`` ãã£ãããã£ã³ãã«ãžã®åå ããæ€èšãã ããïŒansible.imã§Matrixã®äœ¿çšãŸãã¯`irc.libera.chat <https://libera.chat/>`_ã§IRCã䜿çšïŒã詳现ã«ã€ããŠã¯ã:ref:`developing_in_groups_support` ãš:ref:`communication` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:76
msgid "New to git or GitHub"
msgstr "git ãŸã㯠GitHub ãã¯ãããŠäœ¿çšããå Žå"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:78
msgid "We realize this may be your first use of Git or GitHub. The following guides may be of use:"
msgstr "ããã§ã¯ãGit ãŸã㯠GitHub ãåããŠäœ¿çšãããŠãŒã¶ãŒã察象ãšããŠããŸãã次ã®ã¬ã€ããåèã«ãªããããããŸããã"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:80
msgid "`How to create a fork of ansible/ansible <https://help.github.com/articles/fork-a-repo/>`_"
msgstr "`How to create a fork of ansible/ansible <https://help.github.com/articles/fork-a-repo/>`_"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:81
msgid "`How to sync (update) your fork <https://help.github.com/articles/syncing-a-fork/>`_"
msgstr "`How to sync (update) your fork <https://help.github.com/articles/syncing-a-fork/>`_"
#: ../../rst/dev_guide/developing_modules_in_groups.rst:82
msgid "`How to create a Pull Request (PR) <https://help.github.com/articles/about-pull-requests/>`_"
msgstr "`How to create a Pull Request (PR) <https://help.github.com/articles/about-pull-requests/>`_"
#: ../../rst/dev_guide/developing_plugins.rst:6
msgid "Developing plugins"
msgstr "ãã©ã°ã€ã³ã®éçº"
#: ../../rst/dev_guide/developing_plugins.rst:11
msgid "Plugins augment Ansible's core functionality with logic and features that are accessible to all modules. Ansible collections include a number of handy plugins, and you can easily write your own. All plugins must:"
msgstr "ãã©ã°ã€ã³ã¯ããã¹ãŠã®ã¢ãžã¥ãŒã«ãã¢ã¯ã»ã¹ã§ããããžãã¯ããã³æ©èœã䜿çšã㊠Ansible ã®ã³ã¢æ©èœãæ¡åŒµããŸããAnsible ã³ã¬ã¯ã·ã§ã³ã«ã¯å€ãã®äŸ¿å©ãªãã©ã°ã€ã³ãå«ãŸããŠãããç¬èªã®ãã©ã°ã€ã³ãç°¡åã«äœæã§ããŸãããã¹ãŠã®ãã©ã°ã€ã³ã§ã¯ã以äžãè¡ãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:13
msgid "be written in Python"
msgstr "Python ã§æžãããŠããã"
#: ../../rst/dev_guide/developing_plugins.rst:14
msgid "raise errors"
msgstr "ãšã©ãŒãçºçãããã"
#: ../../rst/dev_guide/developing_plugins.rst:15
msgid "return strings in unicode"
msgstr "Unicode ã§æååãè¿ãã"
#: ../../rst/dev_guide/developing_plugins.rst:16
msgid "conform to Ansible's configuration and documentation standards"
msgstr "Ansible ã®èšå®ããã³ããã¥ã¡ã³ãã®æšæºä»æ§ã«æºæ ããã"
#: ../../rst/dev_guide/developing_plugins.rst:18
msgid "Once you've reviewed these general guidelines, you can skip to the particular type of plugin you want to develop."
msgstr "ãããã®äžè¬çãªã¬ã€ãã©ã€ã³ã確èªããããéçºããç¹å®ã®ã¿ã€ãã®ãã©ã°ã€ã³ã«é²ãã§ãã ããã"
#: ../../rst/dev_guide/developing_plugins.rst:21
msgid "Writing plugins in Python"
msgstr "Python ã§ã®ãã©ã°ã€ã³ã®äœæ"
#: ../../rst/dev_guide/developing_plugins.rst:23
msgid "You must write your plugin in Python so it can be loaded by the ``PluginLoader`` and returned as a Python object that any module can use. Since your plugin will execute on the controller, you must write it in a :ref:`compatible version of Python <control_node_requirements>`."
msgstr "``PluginLoader`` ã«ããèªã¿èŸŒãŸããã¢ãžã¥ãŒã«ã䜿çšã§ãã Python ãªããžã§ã¯ããšããŠè¿ãã«ã¯ãPython ã§ãã©ã°ã€ã³ãäœæããå¿
èŠããããŸãããã©ã°ã€ã³ã¯ã³ã³ãããŒã©ãŒã§å®è¡ããããã:ref:`äºææ§ã®ãã Python ããŒãžã§ã³ <control_node_requirements>` ã§äœæããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:26
msgid "Raising errors"
msgstr "ãšã©ãŒã®çºç"
#: ../../rst/dev_guide/developing_plugins.rst:28
msgid "You should return errors encountered during plugin execution by raising ``AnsibleError()`` or a similar class with a message describing the error. When wrapping other exceptions into error messages, you should always use the ``to_native`` Ansible function to ensure proper string compatibility across Python versions:"
msgstr "ãã©ã°ã€ã³ã®å®è¡äžã«çºçãããšã©ãŒã¯ã``AnsibleError()`` ãŸãã¯ãšã©ãŒãèšè¿°ããã¡ãã»ãŒãžã®ããåæ§ã®ã¯ã©ã¹ãçºçãããŠè¿ãå¿
èŠããããŸããä»ã®äŸå€ããšã©ãŒã¡ãã»ãŒãžã«ã©ããããå Žåã¯ãPython ã®ããŒãžã§ã³éã§é©åãªæååã®äºææ§ã確ä¿ããããã«ãåžžã« Ansible é¢æ°ã® ``to_native`` ã䜿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:39
msgid "Since Ansible evaluates variables only when they are needed, filter and test plugins should propagate the exceptions ``jinja2.exceptions.UndefinedError`` and ``AnsibleUndefinedVariable`` to ensure undefined variables are only fatal when necessary."
msgstr "Ansibleã¯å¿
èŠãªãšãã«ã®ã¿å€æ°ãè©äŸ¡ããã®ã§ãæªå®çŸ©ã®å€æ°ãå¿
èŠãªãšãã«ã®ã¿èŽåœçãªåé¡ãèµ·ããããã«ããã£ã«ã¿ãŒããã¹ããã©ã°ã€ã³ã¯ãäŸå€``jinja2.exceptions.UndefinedError`` ãš``AnsibleUndefinedVariable`` ãäŒæãããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:41
msgid "Check the different `AnsibleError objects <https://github.com/ansible/ansible/blob/devel/lib/ansible/errors/__init__.py>`_ and see which one applies best to your situation. Check the section on the specific plugin type you're developing for type-specific error handling details."
msgstr "ããŸããŸãª`AnsibleError objects <https://github.com/ansible/ansible/blob/devel/lib/ansible/errors/__init__.py>`_ ããã§ãã¯ããŠãã©ããèªåã®ç¶æ³ã«æãé©ããŠãããã確èªããŠãã ãããéçºããŠããç¹å®ã®ãã©ã€ã°ã€ã³ã¿ã€ãã«åºæã®ãšã©ãŒåŠçã®è©³çŽ°ã«ã€ããŠã¯ããã®ã¿ã€ãã®ã»ã¯ã·ã§ã³ã確èªããŠãã ããã"
#: ../../rst/dev_guide/developing_plugins.rst:45
msgid "String encoding"
msgstr "æååãšã³ã³ãŒãã£ã³ã°"
#: ../../rst/dev_guide/developing_plugins.rst:47
msgid "You must convert any strings returned by your plugin into Python's unicode type. Converting to unicode ensures that these strings can run through Jinja2. To convert strings:"
msgstr "ãã©ã°ã€ã³ã«ãã£ãŠè¿ãããæååã¯ãPython ã® Unicode ã¿ã€ãã«å€æããå¿
èŠããããŸããUnicode ã«å€æãããšããããã®æååã Jinja2 ãä»ããŠå®è¡ã§ããããã«ãªããŸããæååãå€æããã«ã¯ã次ãå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:55
msgid "Plugin configuration & documentation standards"
msgstr "ãã©ã°ã€ã³ã®èšå®ããã³ããã¥ã¡ã³ãã®æšæºä»æ§"
#: ../../rst/dev_guide/developing_plugins.rst:57
msgid "To define configurable options for your plugin, describe them in the ``DOCUMENTATION`` section of the python file. Callback and connection plugins have declared configuration requirements this way since Ansible version 2.4; most plugin types now do the same. This approach ensures that the documentation of your plugin's options will always be correct and up-to-date. To add a configurable option to your plugin, define it in this format:"
msgstr "ãã©ã°ã€ã³ã®èšå®å¯èœãªãªãã·ã§ã³ãå®çŸ©ããã«ã¯ãpython ãã¡ã€ã«ã® ``DOCUMENTATION`` ã»ã¯ã·ã§ã³ã«èšè¿°ããŸããã³ãŒã«ããã¯ããã³ connection ãã©ã°ã€ã³ã¯ãAnsible ããŒãžã§ã³ 2.4 以éããã®æ¹æ³ã§èšå®èŠä»¶ã宣èšããŸããçŸåšãã»ãšãã©ã®ãã©ã°ã€ã³ã¿ã€ããåãããã«åäœããããã«ãªããŸããããã®æ¹æ³ã«ããããã©ã°ã€ã³ã®ãªãã·ã§ã³ã®ããã¥ã¡ã³ããåžžã«æ£ç¢ºã§ææ°ã®ç¶æ
ã«ãªããŸããèšå®å¯èœãªãªãã·ã§ã³ããã©ã°ã€ã³ã«è¿œå ããã«ã¯ã以äžã®åœ¢åŒã§å®çŸ©ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:78
msgid "To access the configuration settings in your plugin, use ``self.get_option(<option_name>)``. For the plugin types (such as 'become', 'cache', 'callback', 'cliconf', 'connection', 'httpapi', 'inventory', 'lookup', 'netconf', 'shell', and 'vars') that support embedded documentation, the controller pre-populates the settings. If you need to populate settings explicitly, use a ``self.set_options()`` call."
msgstr "ãã©ã°ã€ã³ã®æ§æèšå®ã«ã¢ã¯ã»ã¹ããã«ã¯ã``self.get_option(<option_name>)``ã䜿çšããŸããçµã¿èŸŒãŸããããã¥ã¡ã³ãããµããŒããããã©ã°ã€ã³ã¿ã€ã(äŸïŒ'become'ã'cache'ã'callback'ã'cliconf'ã'connection'ã'httpapi'ã'inventory'ã'lookup'ã'netconf'ã'shell'ãããã³'vars')ã«ã€ããŠã¯ãã³ã³ãããŒã©ãŒãèšå®ãäºåã«èšå®ããŸããæ瀺çã«èšå®ãèšå®ããå¿
èŠãããå Žåã¯ã``self.set_options()`` ã®åŒã³åºãã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/developing_plugins.rst:80
msgid "Configuration sources follow the precedence rules for values in Ansible. When there are multiple values from the same category, the value defined last takes precedence. For example, in the above configuration block, if both ``name_of_ansible_var`` and ``name_of_second_var`` are defined, the value of the ``option_name`` option will be the value of ``name_of_second_var``. Refer to :ref:`general_precedence_rules` for further information."
msgstr "èšå®ãœãŒã¹ã¯ãAnsibleã®å€ã®åªå
é äœã«ãŒã«ã«åŸããŸããåãã«ããŽãªããã®å€ãè€æ°ããå ŽåãæåŸã«å®çŸ©ãããå€ãåªå
ãããŸããããšãã°ãäžèšã®èšå®ãããã¯ã§ã¯ã``name_of_ansible_var`` ãš``name_of_second_var`` ã®äž¡æ¹ãå®çŸ©ãããŠããå Žåã``option_name`` ãªãã·ã§ã³ã®å€ã¯``name_of_second_var`` ã®å€ã«ãªããŸãã詳现ã¯:ref:`general_precedence_rules` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_plugins.rst:82
msgid "Plugins that support embedded documentation (see :ref:`ansible-doc` for the list) should include well-formed doc strings. If you inherit from a plugin, you must document the options it takes, either via a documentation fragment or as a copy. See :ref:`module_documenting` for more information on correct documentation. Thorough documentation is a good idea even if you're developing a plugin for local use."
msgstr "åã蟌ã¿ããã¥ã¡ã³ãããµããŒããããã©ã°ã€ã³ (:ref:`ansible-doc` ãªã¹ãã®å Žåãåç
§) ã¯ãé©åã«æ§ç¯ãããããã¥ã¡ã³ãæååãå«ããå¿
èŠããããŸãããã©ã°ã€ã³ããç¶æ¿ããå Žåã¯ãããã¥ã¡ã³ããã©ã°ã¡ã³ããä»ããŠããŸãã¯ã³ããŒãšããŠãå¿
èŠãªãªãã·ã§ã³ãèšè¿°ããå¿
èŠããããŸããæ£ããããã¥ã¡ã³ãã«é¢ãã詳现ã¯ãã:ref:`module_documenting`ããåç
§ããŠãã ãããããŒã«ã«ã§äœ¿çšãããã©ã°ã€ã³ãéçºããŠããå Žåã§ããå®å
šãªããã¥ã¡ã³ããäœæããããšãæšå¥šãããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:85
msgid "Developing particular plugin types"
msgstr "ç¹å®ã®ãã©ã°ã€ã³ã¿ã€ãã®éçº"
#: ../../rst/dev_guide/developing_plugins.rst:90
#: ../../rst/dev_guide/developing_program_flow_modules.rst:24
msgid "Action plugins"
msgstr "action ãã©ã°ã€ã³"
#: ../../rst/dev_guide/developing_plugins.rst:92
msgid "Action plugins let you integrate local processing and local data with module functionality."
msgstr "action ãã©ã°ã€ã³ã䜿çšãããšãããŒã«ã«åŠçãšããŒã«ã«ããŒã¿ãã¢ãžã¥ãŒã«æ©èœã«çµ±åã§ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:94
msgid "To create an action plugin, create a new class with the Base(ActionBase) class as the parent:"
msgstr "action ãã©ã°ã€ã³ãäœæããã«ã¯ãBase(ActionBase) ã¯ã©ã¹ã芪ãšããŠæ°ããã¯ã©ã¹ãäœæããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:103
msgid "From there, execute the module using the ``_execute_module`` method to call the original module. After successful execution of the module, you can modify the module return data."
msgstr "ããããã``_execute_module`` ã¡ãœããã䜿çšããŠã¢ãžã¥ãŒã«ãå®è¡ããŠãå
ã®ã¢ãžã¥ãŒã«ãåŒã³åºããŸããã¢ãžã¥ãŒã«ã®å®è¡ã«æåãããšãã¢ãžã¥ãŒã«ã®æ»ãå€ããŒã¿ãå€æŽã§ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:113
msgid "For example, if you wanted to check the time difference between your Ansible controller and your target machine(s), you could write an action plugin to check the local time and compare it to the return data from Ansible's ``setup`` module:"
msgstr "ããšãã°ãAnsible ã³ã³ãããŒã©ãŒãšã¿ãŒã²ãããã·ã³éã®æéå·®ã確èªããå Žåã¯ãaction ãã©ã°ã€ã³ãäœæããŠããŒã«ã«ã¿ã€ã ã確èªããããã Ansible ã® ``setup`` ã¢ãžã¥ãŒã«ããè¿ãããããŒã¿ãšæ¯èŒã§ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:150
msgid "This code checks the time on the controller, captures the date and time for the remote machine using the ``setup`` module, and calculates the difference between the captured time and the local time, returning the time delta in days, seconds and microseconds."
msgstr "ãã®ã³ãŒãã¯ã³ã³ãããŒã©ãŒã®æéã確èªãã``setup`` ã¢ãžã¥ãŒã«ã䜿çšããŠãªã¢ãŒããã·ã³ã®æ¥æãååŸããååŸããæéãšããŒã«ã«æéã®å·®ç°ãç®åºãããã®æéå·®ãæ¥æ°ãç§ãããã³ãã€ã¯ãç§ã§è¿ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:153
msgid "For practical examples of action plugins, see the source code for the `action plugins included with Ansible Core <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/action>`_"
msgstr "action ãã©ã°ã€ã³ã®å®éã®äŸã¯ã`Ansible Core ã«å梱ããã action ãã©ã°ã€ã³ <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/action>`_ ã®ãœãŒã¹ã³ãŒããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_plugins.rst:159
msgid "Cache plugins"
msgstr "Cache ãã©ã°ã€ã³"
#: ../../rst/dev_guide/developing_plugins.rst:161
msgid "Cache plugins store gathered facts and data retrieved by inventory plugins."
msgstr "dache ãã©ã°ã€ã³ã¯ãinventory ãã©ã°ã€ã³ã«ãã£ãŠååŸããããã¡ã¯ãããã³ããŒã¿ãæ ŒçŽããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:163
msgid "Import cache plugins using the cache_loader so you can use ``self.set_options()`` and ``self.get_option(<option_name>)``. If you import a cache plugin directly in the code base, you can only access options via ``ansible.constants``, and you break the cache plugin's ability to be used by an inventory plugin."
msgstr "``self.set_options()`` ããã³ ``self.get_option(<option_name>)`` ã䜿çšã§ãã cache_loader ã䜿çšãã cache ãã©ã°ã€ã³ãã€ã³ããŒãããŸããã³ãŒãããŒã¹ã§ cache ãã©ã°ã€ã³ãçŽæ¥ã€ã³ããŒãããå Žåã¯ã``ansible.constants`` ããã®ã¿ãªãã·ã§ã³ã«ã¢ã¯ã»ã¹ã§ããinventory ãã©ã°ã€ã³ã«ãã£ãŠäœ¿çšããã cache ãã©ã°ã€ã³ã®æ©èœãå£ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:171
msgid "There are two base classes for cache plugins, ``BaseCacheModule`` for database-backed caches, and ``BaseCacheFileModule`` for file-backed caches."
msgstr "cache ãã©ã°ã€ã³ã«ã¯ã2 ã€ã®ããŒã¹ã¯ã©ã¹ (ããŒã¿ããŒã¹ããŒã¹ã®ããã¯ã¢ããçšã®ãã£ãã·ã¥ã®å Žå㯠``BaseCacheModule``ããã¡ã€ã«ã®ããã¯ã¢ããçšã®ãã£ãã·ã¥ã®å Žå㯠``BaseCacheFileModule``) ããããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:173
msgid "To create a cache plugin, start by creating a new ``CacheModule`` class with the appropriate base class. If you're creating a plugin using an ``__init__`` method you should initialize the base class with any provided args and kwargs to be compatible with inventory plugin cache options. The base class calls ``self.set_options(direct=kwargs)``. After the base class ``__init__`` method is called ``self.get_option(<option_name>)`` should be used to access cache options."
msgstr "ãã£ãã·ã¥ãã©ã°ã€ã³ãäœæããã«ã¯ãé©åãªããŒã¹ã¯ã©ã¹ã§æ°ãã ``CacheModule`` ã¯ã©ã¹ãäœæããŠéå§ããŸãã``__init__`` ã¡ãœããã䜿çšããŠãã©ã°ã€ã³ãäœæããå Žåã¯ãæå®ããã arg ããã³ kwarg ã§ããŒã¹ã¯ã©ã¹ãåæåããã€ã³ãã³ããªãŒãã©ã°ã€ã³ãã£ãã·ã¥ãªãã·ã§ã³ãšäºææ§ãããå¿
èŠããããŸããããŒã¹ã¯ã©ã¹ã¯ ``self.set_options(direct=kwargs)`` ãåŒã³åºããŸããããŒã¹ã¯ã©ã¹ ``__init__`` ã¡ãœãããåŒã³åºããããšã``self.get_option(<option_name>)`` ã䜿çšããŠããã£ãã·ã¥ãªãã·ã§ã³ã«ã¢ã¯ã»ã¹ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:175
msgid "New cache plugins should take the options ``_uri``, ``_prefix``, and ``_timeout`` to be consistent with existing cache plugins."
msgstr "æ°ãã cache ãã©ã°ã€ã³ã¯ãæ¢åã® cache ãã©ã°ã€ã³ãšã®æŽåæ§ãä¿ã€ããã«ã``_uri`` ãªãã·ã§ã³ã``_prefix`` ãªãã·ã§ã³ãããã³ ``_timeout`` ãªãã·ã§ã³ã䜿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:188
msgid "If you use the ``BaseCacheModule``, you must implement the methods ``get``, ``contains``, ``keys``, ``set``, ``delete``, ``flush``, and ``copy``. The ``contains`` method should return a boolean that indicates if the key exists and has not expired. Unlike file-based caches, the ``get`` method does not raise a KeyError if the cache has expired."
msgstr "``BaseCacheModule`` ã䜿çšããå Žåã¯ãã¡ãœãã ``get``ã``contains``ã``keys``ã``set``ã``delete``ã``flush``ãããã³ ``copy`` ãå®è£
ããå¿
èŠããããŸãã``contains`` ã¡ãœããã¯ãããŒãååšããæå¹æéãåããŠããªãããšã瀺ãããŒã«å€ãè¿ãã¯ãã§ãããã¡ã€ã«ããŒã¹ã®ãã£ãã·ã¥ãšã¯ç°ãªãããã£ãã·ã¥ã®æå¹æéãåãããšã``get`` ã¡ãœããã«ãã£ãŠ KeyError ã¯çºçããŸããã"
#: ../../rst/dev_guide/developing_plugins.rst:190
msgid "If you use the ``BaseFileCacheModule``, you must implement ``_load`` and ``_dump`` methods that will be called from the base class methods ``get`` and ``set``."
msgstr "``BaseFileCacheModule`` ã䜿çšããå Žåã¯ãããŒã¹ã¯ã©ã¹ã¡ãœãã ``get`` ããã³ ``set`` ããåŒã³åºããã ``_load`` ã¡ãœããããã³ ``_dump`` ã¡ãœãããå®è£
ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:192
msgid "If your cache plugin stores JSON, use ``AnsibleJSONEncoder`` in the ``_dump`` or ``set`` method and ``AnsibleJSONDecoder`` in the ``_load`` or ``get`` method."
msgstr "ãã£ãã·ã¥ãã©ã°ã€ã³ã« JSON ãä¿åãããŠããå Žåã¯ã``_dump`` ã¡ãœãããŸã㯠``set`` ã¡ãœããã® ``AnsibleJSONEncoder`` ãšã``_load`` ã¡ãœãããŸãã¯``get`` ã¡ãœããã® ``AnsibleJSONDecoder`` ã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:194
msgid "For example cache plugins, see the source code for the `cache plugins included with Ansible Core <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/cache>`_."
msgstr "cache ãã©ã°ã€ã³ã®äŸã¯ã`Ansible Core ã«å梱ããã cache ãã©ã°ã€ã³ <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/cache>`_ ã®ãœãŒã¹ã³ãŒããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_plugins.rst:199
msgid "Callback plugins"
msgstr "callback ãã©ã°ã€ã³"
#: ../../rst/dev_guide/developing_plugins.rst:201
msgid "Callback plugins add new behaviors to Ansible when responding to events. By default, callback plugins control most of the output you see when running the command line programs."
msgstr "callback ãã©ã°ã€ã³ã¯ãã€ãã³ãã«å¿çããéã«æ°ããåäœã Ansible ã«è¿œå ããŸããããã©ã«ãã§ã¯ãcallback ãã©ã°ã€ã³ã¯ãã³ãã³ãã©ã€ã³ããã°ã©ã ã®å®è¡æã«è¡šç€ºãããã»ãšãã©ã®åºåãå¶åŸ¡ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:203
msgid "To create a callback plugin, create a new class with the Base(Callbacks) class as the parent:"
msgstr "callback ãã©ã°ã€ã³ãäœæããã«ã¯ãBase(Callbacks) ã¯ã©ã¹ã芪ãšããŠäœ¿çšããŠæ°èŠã¯ã©ã¹ãäœæããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:212
msgid "From there, override the specific methods from the CallbackBase that you want to provide a callback for. For plugins intended for use with Ansible version 2.0 and later, you should only override methods that start with ``v2``. For a complete list of methods that you can override, please see ``__init__.py`` in the `lib/ansible/plugins/callback <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/callback>`_ directory."
msgstr "ãããããã³ãŒã«ããã¯ãæäŸãã CallbackBase ããç¹å®ã®ã¡ãœãããäžæžãããŸããAnsible ããŒãžã§ã³ 2.0 以éã§äœ¿çšãããã©ã°ã€ã³ã§ã¯ã``v2`` ã§å§ãŸãæ¹æ³ã®ã¿ãäžæžãããŠãã ãããäžæžãã§ããã¡ãœããã®å®å
šãªãªã¹ãã¯ã`lib/ansible/plugins/callback <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/callback>`_ ãã£ã¬ã¯ããªãŒã® ``__init__.py`` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_plugins.rst:217
msgid "The following is a modified example of how Ansible's timer plugin is implemented, but with an extra option so you can see how configuration works in Ansible version 2.4 and later:"
msgstr "以äžã¯ãAnsible ã® timer ãã©ã°ã€ã³ã®å®è£
æ¹æ³ã®å€æŽäŸã§ãããã ããè¿œå ã®ãªãã·ã§ã³ã䜿çšãããšãAnsible ããŒãžã§ã³ 2.4 以éã§æ§æãã©ã®ããã«æ©èœãããã確èªã§ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:286
msgid "Note that the ``CALLBACK_VERSION`` and ``CALLBACK_NAME`` definitions are required for properly functioning plugins for Ansible version 2.0 and later. ``CALLBACK_TYPE`` is mostly needed to distinguish 'stdout' plugins from the rest, since you can only load one plugin that writes to stdout."
msgstr "``CALLBACK_VERSION`` ããã³ ``CALLBACK_NAME`` ã®å®çŸ©ã¯ãAnsible ããŒãžã§ã³ 2.0 以éã®ãã©ã°ã€ã³ãæ£ããæ©èœããããã«å¿
èŠã§ããããšã«æ³šæããŠãã ããã``CALLBACK_TYPE`` ã¯ãæšæºåºå (stdout) ã«æžã蟌ããã©ã°ã€ã³ã 1 ã€ã ãèªã¿èŸŒãããšãã§ãããããã»ãšãã©ã®ãstdoutããã©ã°ã€ã³ããã®ä»ã®ãã®ãšåºå¥ããããã«å¿
èŠã§ãã"
#: ../../rst/dev_guide/developing_plugins.rst:288
msgid "For example callback plugins, see the source code for the `callback plugins included with Ansible Core <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/callback>`_"
msgstr "callback ãã©ã°ã€ã³ã®äŸã¯ã`Ansible Core ã«å梱ããã callback ãã©ã°ã€ã³ <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/callback>`_ ã®ãœãŒã¹ã³ãŒããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_plugins.rst:290
msgid "New in ansible-core 2.11, callback plugins are notified (via ``v2_playbook_on_task_start``) of :ref:`meta<meta_module>` tasks. By default, only explicit ``meta`` tasks that users list in their plays are sent to callbacks."
msgstr "ansible-core 2.11 ã®æ°æ©èœãšããŠã:ref:`meta<meta_module>` ã¿ã¹ã¯ã®ã³ãŒã«ããã¯ãã©ã°ã€ã³ã (``v2_playbook_on_task_start`` ãä»ããŠ) éç¥ãããŸããããã©ã«ãã§ã¯ããã¬ã€ã«è¿œå ããæ瀺ç㪠``meta`` ã¿ã¹ã¯ã®ã¿ããã³ãŒã«ããã¯ã«éä¿¡ãããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:292
msgid "There are also some tasks which are generated internally and implicitly at various points in execution. Callback plugins can opt-in to receiving these implicit tasks as well, by setting ``self.wants_implicit_tasks = True``. Any ``Task`` object received by a callback hook will have an ``.implicit`` attribute, which can be consulted to determine whether the ``Task`` originated from within Ansible, or explicitly by the user."
msgstr "å®è¡ã®ããŸããŸãªæç¹ã§ãå
éšçããã³æé»çã«çæãããã¿ã¹ã¯ãããã€ããããŸããcallback ãã©ã°ã€ã³ã¯ã``self.wants_implicit_tasks = True`` ãèšå®ããããšã«ããããããã®æé»çãªã¿ã¹ã¯ãåãåãããšããªããã€ã³ã§ããŸããã³ãŒã«ããã¯ããã¯ã«ãã£ãŠåä¿¡ãã ``Task`` ãªããžã§ã¯ãã«ã¯ã``.implicit`` å±æ§ããããŸãããããåç
§ããŠã``Task`` ã Ansible å
ããããŸãã¯ãŠãŒã¶ãŒã«ãã£ãŠæ瀺çã«çºä¿¡ããããã©ããã決ããããã«åç
§ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:297
msgid "Connection plugins"
msgstr "connection ãã©ã°ã€ã³"
#: ../../rst/dev_guide/developing_plugins.rst:299
msgid "Connection plugins allow Ansible to connect to the target hosts so it can execute tasks on them. Ansible ships with many connection plugins, but only one can be used per host at a time. The most commonly used connection plugins are the ``paramiko`` SSH, native ssh (just called ``ssh``), and ``local`` connection types. All of these can be used in playbooks and with ``/usr/bin/ansible`` to connect to remote machines."
msgstr "connection ãã©ã°ã€ã³ã«ãããAnsible ã¯ã¿ãŒã²ãããã¹ãã«æ¥ç¶ããŠãã®ãã¹ãã«ããã¿ã¹ã¯ãå®è¡ã§ããããã«ããŸããAnsible ã«ã¯å€ãã® connection ãã©ã°ã€ã³ãå梱ãããŠããŸãããäžåºŠã«äœ¿çšã§ããã®ã¯ 1 ã€ã®ã¿ãšãªããŸããæãäžè¬çã«äœ¿çšããã connection ãã©ã°ã€ã³ã¯ã``paramiko`` SSHããã€ãã£ã ssh (åã« ``ssh`` ãšåŒã°ãã)ãããã³ ``local`` æ¥ç¶ã¿ã€ãã§ãããããã¯ãã¹ãŠ Playbook ã§äœ¿çšããã``/usr/bin/ansible`` ã䜿çšããŠãªã¢ãŒããã·ã³ã«æ¥ç¶ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:301
msgid "Ansible version 2.1 introduced the ``smart`` connection plugin. The ``smart`` connection type allows Ansible to automatically select either the ``paramiko`` or ``openssh`` connection plugin based on system capabilities, or the ``ssh`` connection plugin if OpenSSH supports ControlPersist."
msgstr "Ansible ããŒãžã§ã³ 2.1 ã§ã¯ã``smart`` connection ãã©ã°ã€ã³ãå°å
¥ãããŸãã``smart`` æ¥ç¶ã¿ã€ãã«ãããAnsible ã¯ãã·ã¹ãã æ©èœã«åºã¥ããŠã``paramiko`` ãŸã㯠``openssh`` connection ãã©ã°ã€ã³ã®ãããããèªåçã«éžæã§ããŸãããOpenSSH ã ControlPersist ã«å¯Ÿå¿ããŠããå Žå㯠connetion ãã©ã°ã€ã³ ``ssh`` ãéžæããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:303
msgid "To create a new connection plugin (for example, to support SNMP, Message bus, or other transports), copy the format of one of the existing connection plugins and drop it into ``connection`` directory on your :ref:`local plugin path <local_plugins>`."
msgstr "æ°ãã connetion ãã©ã°ã€ã³ (SNMPãã¡ãã»ãŒãžãã¹ããŸãã¯ãã®ä»ã®ãã©ã³ã¹ããŒãããµããŒãããå Žåãªã©) ãäœæããã«ã¯ãæ¢åã® connetion ãã©ã°ã€ã³ã®ããããã®åœ¢åŒãã³ããŒããŠã:ref:`ããŒã«ã«ãã©ã°ã€ã³ãã¹ <local_plugins>` ã«ãã ``connection`` ãã£ã¬ã¯ããªãŒã«çœ®ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:305
msgid "Connection plugins can support common options (such as the ``--timeout`` flag) by defining an entry in the documentation for the attribute name (in this case ``timeout``). If the common option has a non-null default, the plugin should define the same default since a different default would be ignored."
msgstr "connection ãã©ã°ã€ã³ã¯ãå±æ§å (ããã§ã¯ ``timeout``) ã®ããã¥ã¡ã³ãã§ãšã³ããªãŒãå®çŸ©ããããšã§ãäžè¬çãªãªãã·ã§ã³ (``--timeout`` ãã©ã°ãªã©) ããµããŒãããŸããäžè¬çãªãªãã·ã§ã³ã«ã¯ null 以å€ã®ããã©ã«ããããå Žåãå¥ã®ããã©ã«ãã¯ç¡èŠãããããããã©ã°ã€ã³ã¯åãããã©ã«ããå®çŸ©ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:307
msgid "For example connection plugins, see the source code for the `connection plugins included with Ansible Core <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/connection>`_."
msgstr "éžæãã©ã°ã€ã³ã®äŸã¯ã`Ansible Core ã«å梱ãããæ¥ç¶ãã©ã°ã€ã³ <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/connection>`_ ã®ãœãŒã¹ã³ãŒããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_plugins.rst:312
msgid "Filter plugins"
msgstr "filter ãã©ã°ã€ã³"
#: ../../rst/dev_guide/developing_plugins.rst:314
msgid "Filter plugins manipulate data. They are a feature of Jinja2 and are also available in Jinja2 templates used by the ``template`` module. As with all plugins, they can be easily extended, but instead of having a file for each one you can have several per file. Most of the filter plugins shipped with Ansible reside in a ``core.py``."
msgstr "filter ãã©ã°ã€ã³ã¯ããŒã¿ãæäœããŸããããã㯠Jinja2 ã®æ©èœã§ããã``template`` ã¢ãžã¥ãŒã«ã䜿çšãã Jinja2 ãã³ãã¬ãŒãã§å©çšã§ããŸãããã¹ãŠã®ãã©ã°ã€ã³ãšåæ§ã«ããã©ã°ã€ã³ã¯ç°¡åã«æ¡åŒµã§ããŸããããã©ã°ã€ã³ããšã«ãã¡ã€ã«ãäœæãã代ããã«ããã¡ã€ã«ããšã«è€æ°ã®ãã©ã°ã€ã³ãäœæã§ããŸããAnsible ã«å梱ãããŠãããã£ã«ã¿ãŒãã©ã°ã€ã³ã®ã»ãšãã©ã¯ã``core.py`` ã«ãããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:316
msgid "Filter plugins do not use the standard configuration and documentation system described above."
msgstr "filter ãã©ã°ã€ã³ã¯ãäžèšã®æšæºèšå®ããã³ããã¥ã¡ã³ãã·ã¹ãã ã䜿çšããŸããã"
#: ../../rst/dev_guide/developing_plugins.rst:318
msgid "Since Ansible evaluates variables only when they are needed, filter plugins should propagate the exceptions ``jinja2.exceptions.UndefinedError`` and ``AnsibleUndefinedVariable`` to ensure undefined variables are only fatal when necessary."
msgstr "Ansibleã¯å¿
èŠãªãšãã«ã®ã¿å€æ°ãè©äŸ¡ããã®ã§ãæªå®çŸ©ã®å€æ°ãå¿
èŠãªãšãã«ã®ã¿èŽåœçãªåé¡ãèµ·ããããã«ããã£ã«ã¿ãŒãã©ã°ã€ã³ã¯ãäŸå€``jinja2.exceptions.UndefinedError`` ãš``AnsibleUndefinedVariable`` ãäŒæãããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:329
msgid "For example filter plugins, see the source code for the `filter plugins included with Ansible Core <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/filter>`_."
msgstr "filter ãã©ã°ã€ã³ã®äŸã¯ã`Ansible Core ã«å梱ããã filter ãã©ã°ã€ã³ <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/filter>`_ ã®ãœãŒã¹ã³ãŒããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_plugins.rst:336
msgid "Inventory plugins parse inventory sources and form an in-memory representation of the inventory. Inventory plugins were added in Ansible version 2.4."
msgstr "inventory ãã©ã°ã€ã³ã¯ã€ã³ãã³ããªãŒãœãŒã¹ã解æããã€ã³ãã³ããªãŒã®ã€ã³ã¡ã¢ãªãŒè¡šç€ºã圢æããŸããinventory ãã©ã°ã€ã³ã¯ Ansible ããŒãžã§ã³ 2.4 ã§è¿œå ãããŸããã"
#: ../../rst/dev_guide/developing_plugins.rst:338
msgid "You can see the details for inventory plugins in the :ref:`developing_inventory` page."
msgstr "inventory ãã©ã°ã€ã³ã®è©³çŽ°ã¯ã:ref:`developing_inventory` ããŒãžãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_plugins.rst:343
msgid "Lookup plugins"
msgstr "lookup ãã©ã°ã€ã³"
#: ../../rst/dev_guide/developing_plugins.rst:345
msgid "Lookup plugins pull in data from external data stores. Lookup plugins can be used within playbooks both for looping --- playbook language constructs like ``with_fileglob`` and ``with_items`` are implemented via lookup plugins --- and to return values into a variable or parameter."
msgstr "lookup ãã©ã°ã€ã³ã¯ãå€éšããŒã¿ã¹ãã¢ããããŒã¿ããã«ããŸããlookup ãã©ã°ã€ã³ã¯ Playbook å
ã§ã«ãŒããããã (``with_fileglob`` ã ``with_items`` ãªã©ã® Playbook èšèªã®æ§é 㯠lookup ãã©ã°ã€ã³ãä»ããŠå®è£
ãããŠããŸã)ããŸãå€æ°ããã©ã¡ãŒã¿ãŒã«å€ãè¿ãããã«äœ¿çšããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:347
msgid "Lookup plugins are expected to return lists, even if just a single element."
msgstr "lookup ãã©ã°ã€ã³ã¯ãåäžã®èŠçŽ ã®ã¿ã§ãã£ãŠããªã¹ããè¿ãããšãæ³å®ãããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:349
msgid "Ansible includes many :ref:`filters <playbooks_filters>` which can be used to manipulate the data returned by a lookup plugin. Sometimes it makes sense to do the filtering inside the lookup plugin, other times it is better to return results that can be filtered in the playbook. Keep in mind how the data will be referenced when determining the appropriate level of filtering to be done inside the lookup plugin."
msgstr "Ansible ã«ã¯ãlookup ãã©ã°ã€ã³ãè¿ãããŒã¿ãæäœããããã«äœ¿çšã§ãã :ref:`filters <playbooks_filters>` ãå€æ°å«ãŸããŠããŸããlookup ãã©ã°ã€ã³å
ã§ãã£ã«ã¿ãªã³ã°ãè¡ãããšãçã«ããªã£ãŠããå Žåãããã°ãPlaybook ã§ãã£ã«ã¿ãªã³ã°ã§ããçµæãè¿ãæ¹ãããå ŽåããããŸããlookup ãã©ã°ã€ã³å
ã§å®è¡ããé©åãªãã£ã«ã¿ãªã³ã°ã¬ãã«ã決å®ãããšãã¯ãããŒã¿ãã©ã®ããã«åç
§ããããã«çæããŠãã ããã"
#: ../../rst/dev_guide/developing_plugins.rst:351
msgid "Here's a simple lookup plugin implementation --- this lookup returns the contents of a text file as a variable:"
msgstr "以äžã¯ç°¡å㪠lookup ãã©ã°ã€ã³ã®å®è£
ã§ãããã® lookup ã¯ãããã¹ããã¡ã€ã«ã®å
容ãå€æ°ãšããŠè¿ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:428
msgid "The following is an example of how this lookup is called:"
msgstr "以äžã¯ããã®ã«ãã¯ã¢ãããã©ã®ããã«åŒã³åºããããã®äŸã«ãªããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:443
msgid "For example lookup plugins, see the source code for the `lookup plugins included with Ansible Core <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/lookup>`_."
msgstr "lookup ãã©ã°ã€ã³ã®äŸã¯ã`Ansible Core ã«å梱ããã lookup ãã©ã°ã€ã³ <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/lookup>`_ ã®ãœãŒã¹ã³ãŒããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_plugins.rst:445
msgid "For more usage examples of lookup plugins, see :ref:`Using Lookups<playbooks_lookups>`."
msgstr "lookup ãã©ã°ã€ã³ã®ãã®ä»ã®äœ¿çšäŸã«ã€ããŠã¯ãã:ref:`æ€çŽ¢ã®äœ¿çš<playbooks_lookups>`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_plugins.rst:450
msgid "Test plugins"
msgstr "test ãã©ã°ã€ã³"
#: ../../rst/dev_guide/developing_plugins.rst:452
msgid "Test plugins verify data. They are a feature of Jinja2 and are also available in Jinja2 templates used by the ``template`` module. As with all plugins, they can be easily extended, but instead of having a file for each one you can have several per file. Most of the test plugins shipped with Ansible reside in a ``core.py``. These are specially useful in conjunction with some filter plugins like ``map`` and ``select``; they are also available for conditional directives like ``when:``."
msgstr "ãã¹ããã©ã°ã€ã³ã¯ããŒã¿ãæ€èšŒããŸãããã㯠Jinja2 ã®æ©èœã§ã``template`` ã¢ãžã¥ãŒã«ã䜿çšãã Jinja2 ãã³ãã¬ãŒãã§ãå©çšã§ããŸããä»ã®ãã¹ãŠã®ãã©ã°ã€ã³ãšåæ§ããã®ãã©ã°ã€ã³ã¯ç°¡åã«æ¡åŒµã§ããŸããããã©ã°ã€ã³ããšã«ãã¡ã€ã«ãäœæãã代ããã«ããã¡ã€ã«ããšã«è€æ°ã®ãã©ã°ã€ã³ãäœæã§ããŸããAnsible ã«å梱ãããŠãããã¹ããã©ã°ã€ã³ã®ã»ãšãã©ã¯ã``core.py`` ã«æ ŒçŽãããŠããŸãããããã®ãã©ã°ã€ã³ã¯ã``map`` ã ``select`` ãªã©ã® filter ãã©ã°ã€ã³ãšçµã¿åãããŠäœ¿ããšç¹ã«äŸ¿å©ã§ãããŸãã``when:`` ãªã©ã®æ¡ä»¶ä»ããã£ã¬ã¯ãã£ãã«ãå©çšã§ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:454
msgid "Test plugins do not use the standard configuration and documentation system described above."
msgstr "test ãã©ã°ã€ã³ã¯ãäžèšã®æšæºèšå®ããã³ããã¥ã¡ã³ãã·ã¹ãã ã䜿çšããŸããã"
#: ../../rst/dev_guide/developing_plugins.rst:456
msgid "Since Ansible evaluates variables only when they are needed, test plugins should propagate the exceptions ``jinja2.exceptions.UndefinedError`` and ``AnsibleUndefinedVariable`` to ensure undefined variables are only fatal when necessary."
msgstr "Ansibleã¯å¿
èŠãªãšãã«ã®ã¿å€æ°ãè©äŸ¡ããã®ã§ãæªå®çŸ©ã®å€æ°ãå¿
èŠãªãšãã«ã®ã¿èŽåœçãªåé¡ãèµ·ããããã«ããã¹ããã©ã°ã€ã³ã¯ãäŸå€``jinja2.exceptions.UndefinedError`` ãš``AnsibleUndefinedVariable`` ãäŒæãããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:467
msgid "For example test plugins, see the source code for the `test plugins included with Ansible Core <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/test>`_."
msgstr "test ãã©ã°ã€ã³ã®äŸã¯ã`Ansible Core ã«å梱ããã test ãã©ã°ã€ã³ <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/test>`_ ã®ãœãŒã¹ã³ãŒããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_plugins.rst:472
msgid "Vars plugins"
msgstr "vars ãã©ã°ã€ã³"
#: ../../rst/dev_guide/developing_plugins.rst:474
msgid "Vars plugins inject additional variable data into Ansible runs that did not come from an inventory source, playbook, or command line. Playbook constructs like 'host_vars' and 'group_vars' work using vars plugins."
msgstr "vars ãã©ã°ã€ã³ã¯ãã€ã³ãã³ããªãŒãœãŒã¹ãPlaybookããŸãã¯ã³ãã³ãã©ã€ã³ã«çµã¿èŸŒãŸããŠããªã Ansible ã®å®è¡ã«ãå€æ°ããŒã¿ãè¿œå ããŸãããhost_varsãããgroup_varsãã®ãã㪠Playbook ã®æ§æèŠçŽ ã¯ãvars ãã©ã°ã€ã³ã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:476
msgid "Vars plugins were partially implemented in Ansible 2.0 and rewritten to be fully implemented starting with Ansible 2.4. Vars plugins are supported by collections starting with Ansible 2.10."
msgstr "vars ãã©ã°ã€ã³ã¯ Ansible 2.0 ã«éšåçã«å®è£
ãããAnsible 2.4 以éã§ã¯ãå®å
šå®è£
ã«ãªãããã«æžãçŽãããŸãããvars ãã©ã°ã€ã³ã¯Ansible 2.10以éã³ã¬ã¯ã·ã§ã³ã®ãµããŒã察象ãšãªããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:478
msgid "Older plugins used a ``run`` method as their main body/work:"
msgstr "å€ããã©ã°ã€ã³ã§ã¯ã``run`` ã¡ãœãããäž»èŠãªæ¬æ/äœæ¥ãšããŠäœ¿çšããŠããŸããã"
#: ../../rst/dev_guide/developing_plugins.rst:486
msgid "Ansible 2.0 did not pass passwords to older plugins, so vaults were unavailable. Most of the work now happens in the ``get_vars`` method which is called from the VariableManager when needed."
msgstr "Ansible 2.0 ã¯å€ããã©ã°ã€ã³ã«ãã¹ã¯ãŒããæž¡ããªãã£ããããvault ã¯å©çšã§ããŸããã§ãããã»ãšãã©ã®äœæ¥ã¯ãå¿
èŠã«å¿ã㊠VariableManager ããåŒã³åºããã ``get_vars`` ã¡ãœããã§å®è¡ãããããã«ãªããŸããã"
#: ../../rst/dev_guide/developing_plugins.rst:494
msgid "The parameters are:"
msgstr "ãã©ã¡ãŒã¿ãŒã¯ä»¥äžã®ãšããã§ãã"
#: ../../rst/dev_guide/developing_plugins.rst:496
msgid "loader: Ansible's DataLoader. The DataLoader can read files, auto-load JSON/YAML and decrypt vaulted data, and cache read files."
msgstr "loader: Ansible ã® DataLoaderãDataLoader ã¯ããã¡ã€ã«ã®èªã¿åããJSON/YAML ã®èªåèªã¿èŸŒã¿ãvault ã䜿çšããããŒã¿ã®åŸ©å·ãããã³èªã¿åããã¡ã€ã«ã®ãã£ãã·ã¥ãè¡ãããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:497
msgid "path: this is 'directory data' for every inventory source and the current play's playbook directory, so they can search for data in reference to them. ``get_vars`` will be called at least once per available path."
msgstr "path: ããã¯ãã¹ãŠã®ã€ã³ãã³ããªãŒãœãŒã¹ãšçŸåšã®ãã¬ã€ã® Playbook ãã£ã¬ã¯ããªãŒã®ããã£ã¬ã¯ããªãŒããŒã¿ãã§ããããããããåç
§ããããŒã¿ãæ€çŽ¢ããããšãã§ããŸãã``get_vars`` ã¯ãå©çšå¯èœãªãã¹ããšã«æäœ 1 ååŒã³åºãããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:498
msgid "entities: these are host or group names that are pertinent to the variables needed. The plugin will get called once for hosts and again for groups."
msgstr "entities: å¿
èŠãªå€æ°ã«é¢é£ä»ãããããã¹ãåãŸãã¯ã°ã«ãŒãåã§ãããã©ã°ã€ã³ã¯ãã¹ãã«å¯Ÿã㊠1 ååŒã³åºãããã°ã«ãŒãã«å¯ŸããŠå床åŒã³åºãããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:500
msgid "This ``get_vars`` method just needs to return a dictionary structure with the variables."
msgstr "ãã® ``get_vars`` ã¡ãœããã¯å€æ°ãå«ããã£ã¯ã·ã§ããªãŒæ§é ãè¿ãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:502
msgid "Since Ansible version 2.4, vars plugins only execute as needed when preparing to execute a task. This avoids the costly 'always execute' behavior that occurred during inventory construction in older versions of Ansible. Since Ansible version 2.10, vars plugin execution can be toggled by the user to run when preparing to execute a task or after importing an inventory source."
msgstr "Ansible ããŒãžã§ã³ 2.4 以éãã¿ã¹ã¯å®è¡ã®æºåæã«å¿
èŠã«å¿ã㊠vars ãã©ã°ã€ã³ã®ã¿ãå®è¡ããŸããããã«ãããå€ãããŒãžã§ã³ã® Ansible ã®ã€ã³ãã³ããªãŒæ§ç¯äžã«çºçãããè²»çšã®ããããåžžã«å®è¡ãåäœãåé¿ãããŸããAnsible ããŒãžã§ã³ 2.10 以éãvars ãã©ã°ã€ã³ã®å®è¡ã¯ãã¿ã¹ã¯ã®å®è¡æºåæãŸãã¯ã€ã³ãã³ããªãŒãœãŒã¹ã®ã€ã³ããŒãåŸã«å®è¡ããããã«ãŠãŒã¶ãŒãåãæ¿ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:504
msgid "The user must explicitly enable vars plugins that reside in a collection. See :ref:`enable_vars` for details."
msgstr "ãŠãŒã¶ãŒã¯ãã³ã¬ã¯ã·ã§ã³ã«ãã vars ãã©ã°ã€ã³ãæ瀺çã«æå¹ã«ããå¿
èŠããããŸãã詳现ã¯ã:ref:`enable_vars` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_plugins.rst:506
msgid "Legacy vars plugins are always loaded and run by default. You can prevent them from automatically running by setting ``REQUIRES_ENABLED`` to True."
msgstr "ã¬ã¬ã·ãŒ vars ãã©ã°ã€ã³ã¯åžžã«èªã¿èŸŒãŸããå®è¡ãããŸãã``REQUIRES_ENABLED`` ã True ã«èšå®ãããšãèªåçã«å®è¡ããªãããã«ã§ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:513
msgid "Include the ``vars_plugin_staging`` documentation fragment to allow users to determine when vars plugins run."
msgstr "``vars_plugin_staging`` ããã¥ã¡ã³ããã©ã°ã¡ã³ããè¿œå ããŠããŠãŒã¶ãŒã when vars ãã©ã°ã€ã³ã®å®è¡ãå€å¥ã§ããããã«ããŸãã"
#: ../../rst/dev_guide/developing_plugins.rst:533
msgid "For example vars plugins, see the source code for the `vars plugins included with Ansible Core <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/vars>`_."
msgstr "vars ãã©ã°ã€ã³ã®äŸã¯ã`Ansible Core ã«å«ãŸãã vars ãã©ã°ã€ã³ <https://github.com/ansible/ansible/tree/devel/lib/ansible/plugins/vars>`_ ã®ãœãŒã¹ã³ãŒããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_plugins.rst:543
msgid "Learn about how to develop dynamic inventory sources"
msgstr "åçã€ã³ãã³ããªãŒãœãŒã¹ã®éçºæ¹æ³ã«ã€ããŠ"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:6
msgid "Ansible module architecture"
msgstr "Ansible ã¢ãžã¥ãŒã«ã®ã¢ãŒããã¯ãã£ãŒ"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:8
msgid "If you are working on the ``ansible-core`` code, writing an Ansible module, or developing an action plugin, you may need to understand how Ansible's program flow executes. If you are just using Ansible Modules in playbooks, you can skip this section."
msgstr "``ansible-core`` ã³ãŒãã䜿çšããŠããå ŽåãAnsible ã¢ãžã¥ãŒã«ã®äœæããŸãã¯ã¢ã¯ã·ã§ã³ãã©ã°ã€ã³ã®éçºã§ã¯ãAnsible ã®ããã°ã©ã ãããŒãã©ã®ããã«å®è¡ãããããç解ããªããšãããªãå ŽåããããŸããPlaybook 㧠Ansible ã¢ãžã¥ãŒã«ã䜿çšããŠããã ãã®å Žåã¯ããã®ã»ã¯ã·ã§ã³ãã¹ãããã§ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:16
msgid "Types of modules"
msgstr "ã¢ãžã¥ãŒã«ã®çš®é¡"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:18
msgid "Ansible supports several different types of modules in its code base. Some of these are for backwards compatibility and others are to enable flexibility."
msgstr "Ansible ã¯ãã³ãŒãããŒã¹ã§ããã€ãã®ç°ãªãã¿ã€ãã®ã¢ãžã¥ãŒã«ããµããŒãããŠããŸããäžäœäºææ§ã®ããã®ãã®ããããæè»æ§ãå¯èœã«ãããã®ããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:26
msgid "Action plugins look like modules to anyone writing a playbook. Usage documentation for most action plugins lives inside a module of the same name. Some action plugins do all the work, with the module providing only documentation. Some action plugins execute modules. The ``normal`` action plugin executes modules that don't have special action plugins. Action plugins always execute on the controller."
msgstr "action ãã©ã°ã€ã³ã¯ãPlaybook ãäœæãã人ã«ãšã£ãŠã¯ã¢ãžã¥ãŒã«ã®ããã«èŠããŸããã»ãšãã©ã® action ãã©ã°ã€ã³ã®äœ¿çšæ¹æ³ã«é¢ããããã¥ã¡ã³ãã¯ãåãååã®ã¢ãžã¥ãŒã«å
ã«ãããŸããaction ãã©ã°ã€ã³ã®äžã«ã¯ããã¹ãŠã®äœæ¥ãè¡ãªããã®ããããŸããããã®ã¢ãžã¥ãŒã«ã¯ããã¥ã¡ã³ãã®ã¿ãæäŸããŸããäžéšã® action ãã©ã°ã€ã³ã¯ã¢ãžã¥ãŒã«ãå®è¡ããŸããaction ãã©ã°ã€ã³ ``normal`` ã¯ãç¹å¥ãª action ãã©ã°ã€ã³ãæããªãã¢ãžã¥ãŒã«ãå®è¡ããŸããaction ãã©ã°ã€ã³ã¯åžžã«ã³ã³ãããŒã©ãŒã§å®è¡ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:28
msgid "Some action plugins do all their work on the controller. For example, the :ref:`debug <debug_module>` action plugin (which prints text for the user to see) and the :ref:`assert <assert_module>` action plugin (which tests whether values in a playbook satisfy certain criteria) execute entirely on the controller."
msgstr "action ãã©ã°ã€ã³ã«ãã£ãŠã³ã³ãããŒã©ãŒã§ãã¹ãŠã®äœæ¥ãæ©èœããŸããããšãã°ãaction ãã©ã°ã€ã³ :ref:`debug <debug_module>` (ãŠãŒã¶ãŒã«è¡šç€ºã§ããããã«ããã¹ããåºåãã) ããã³ action ãã©ã°ã€ã³ :ref:`assert <assert_module>` (Playbook ã®å€ãç¹å®ã®åºæºãæºãããã©ããã®ãã¹ã) ãªã©ãã³ã³ãããŒã©ãŒäžã§å®å
šã«å®è¡ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:33
msgid "Most action plugins set up some values on the controller, then invoke an actual module on the managed node that does something with these values. For example, the :ref:`template <template_module>` action plugin takes values from the user to construct a file in a temporary location on the controller using variables from the playbook environment. It then transfers the temporary file to a temporary file on the remote system. After that, it invokes the :ref:`copy module <copy_module>` which operates on the remote system to move the file into its final location, sets file permissions, and so on."
msgstr "ã»ãšãã©ã®ã¢ã¯ã·ã§ã³ãã©ã°ã€ã³ã¯ãã³ã³ãããŒã©ãŒã«ããã€ãã®å€ãèšå®ããåŸã管çããŒãã§å®éã®ã¢ãžã¥ãŒã«ãåŒã³åºããŠããããã®å€ã䜿çšããŠäœããè¡ããŸããããšãã°ãaction ãã©ã°ã€ã³ :ref:`template <template_module>` ã¯ããŠãŒã¶ãŒããå€ãåãåããPlaybook ç°å¢ããã®å€æ°ã䜿çšããŠãã³ã³ãããŒã©ãŒã®äžæçãªå Žæã«ãã¡ã€ã«ãäœæããŸãããã®åŸããã®äžæãã¡ã€ã«ãããªã¢ãŒãã·ã¹ãã ã®äžæãã¡ã€ã«ã«è»¢éããŸãããã®åŸããªã¢ãŒãã·ã¹ãã äžã§åäœãã :ref:`copy ã¢ãžã¥ãŒã« <copy_module>` ãèµ·åããŠããã¡ã€ã«ãæçµçãªå Žæã«ç§»åããããã¡ã€ã«ã®ããŒããã·ã§ã³ãèšå®ãããªã©ã®äœæ¥ãè¡ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:44
msgid "New-style modules"
msgstr "æ°ã¹ã¿ã€ã«ã®ã¢ãžã¥ãŒã«"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:46
msgid "All of the modules that ship with Ansible fall into this category. While you can write modules in any language, all official modules (shipped with Ansible) use either Python or PowerShell."
msgstr "Ansible ã«å梱ãããã¢ãžã¥ãŒã«ã¯ãã¹ãŠãã®ã«ããŽãªãŒã«åé¡ãããŸããã¢ãžã¥ãŒã«ã¯ä»»æã®èšèªã§èšè¿°ã§ããŸããã(Ansible ã«å梱ãããŠãã) æ£åŒãªã¢ãžã¥ãŒã«ã¯ãã¹ãŠ Python ãŸã㯠PowerShell ã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:48
msgid "New-style modules have the arguments to the module embedded inside of them in some manner. Old-style modules must copy a separate file over to the managed node, which is less efficient as it requires two over-the-wire connections instead of only one."
msgstr "æ°ããã¹ã¿ã€ã«ã®ã¢ãžã¥ãŒã«ã«ã¯ããªãããã®æ¹æ³ã§å®è£
ãããŠããã¢ãžã¥ãŒã«ã«åŒæ°ããããŸããå€ãã¹ã¿ã€ã«ã®ã¢ãžã¥ãŒã«ã¯ã管çããŒãã«åå¥ã®ãã¡ã€ã«ã管çããŒãã«ã³ããŒããå¿
èŠããããŸããããã¯ã1 ã€ã®æ¥ç¶ã§ã¯ãªãããããã¯ãŒã¯äžã®æ¥ç¶ã 2 ã€å¿
èŠã§ãããããå¹çãæªããªããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:56
msgid "Python"
msgstr "Python"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:58
msgid "New-style Python modules use the :ref:`Ansiballz` framework for constructing modules. These modules use imports from :code:`ansible.module_utils` to pull in boilerplate module code, such as argument parsing, formatting of return values as :term:`JSON`, and various file operations."
msgstr "æ°ããã¹ã¿ã€ã«ã® Python ã¢ãžã¥ãŒã«ã¯ãã¢ãžã¥ãŒã«ã®æ§ç¯ã« :ref:`Ansiballz` ãã¬ãŒã ã¯ãŒã¯ã䜿çšããŸãããããã®ã¢ãžã¥ãŒã«ã¯ã:code:`ansible.module_utils` ããã€ã³ããŒãã䜿çšããåŒæ°ã®è§£æã:term:`JSON` ãªã©ã®ããŸããŸãªãã¡ã€ã«æäœã®æ»ãå€ã®ãã©ãŒããããªã©ãboilerplate ã¢ãžã¥ãŒã«ã³ãŒããšããŠååŸããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:63
msgid "In Ansible, up to version 2.0.x, the official Python modules used the :ref:`module_replacer` framework. For module authors, :ref:`Ansiballz` is largely a superset of :ref:`module_replacer` functionality, so you usually do not need to understand the differences between them."
msgstr "ããŒãžã§ã³ 2.0.x ãŸã§ã® Ansible ã§ã¯ãå
¬åŒã® Python ã¢ãžã¥ãŒã«ã :ref:`module_replacer`ã䜿çšããŠããŸããã:ref:`Ansiballz` ã¯ã:ref:`module_replacer` æ©èœã®äžäœã»ããã§ãããããéåžžã¯ã¢ãžã¥ãŒã«äœæè
ããããã®éããç解ããå¿
èŠã¯ãããŸããã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:71
msgid "PowerShell"
msgstr "PowerShell"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:73
msgid "New-style PowerShell modules use the :ref:`module_replacer` framework for constructing modules. These modules get a library of PowerShell code embedded in them before being sent to the managed node."
msgstr "æ°ããã¹ã¿ã€ã«ã® PowerShell ã¢ãžã¥ãŒã«ã¯ãã¢ãžã¥ãŒã«ã®æ§ç¯ã« :ref:`module_replacer` ã䜿çšããŸãããããã®ã¢ãžã¥ãŒã«ã¯ã管çããŒãã«éä¿¡ãããåã«ãããã«çµã¿èŸŒãŸããŠãã PowerShell ã³ãŒãã®ã©ã€ãã©ãªãŒãååŸããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:80
msgid "JSONARGS modules"
msgstr "JSONARGS ã¢ãžã¥ãŒã«"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:82
msgid "These modules are scripts that include the string ``<<INCLUDE_ANSIBLE_MODULE_JSON_ARGS>>`` in their body. This string is replaced with the JSON-formatted argument string. These modules typically set a variable to that value like this:"
msgstr "ãããã®ã¢ãžã¥ãŒã«ã¯ãæ¬æã«æåå ``<<INCLUDE_ANSIBLE_MODULE_JSON_ARGS>>`` ãå«ãŸããã¹ã¯ãªããã§ãããã®æåå㯠JSON 圢åŒã®åŒæ°æååã«çœ®ãæããããŸãããããã®ã¢ãžã¥ãŒã«ã¯ãéåžžãå€æ°ã以äžã®ãããªå€ã«èšå®ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:90
msgid "Which is expanded as:"
msgstr "ããã¯ä»¥äžã®ããã«å±éãããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:96
msgid "Ansible outputs a :term:`JSON` string with bare quotes. Double quotes are used to quote string values, double quotes inside of string values are backslash escaped, and single quotes may appear unescaped inside of a string value. To use JSONARGS, your scripting language must have a way to handle this type of string. The example uses Python's triple quoted strings to do this. Other scripting languages may have a similar quote character that won't be confused by any quotes in the JSON or it may allow you to define your own start-of-quote and end-of-quote characters. If the language doesn't give you any of these then you'll need to write a :ref:`non-native JSON module <flow_want_json_modules>` or :ref:`Old-style module <flow_old_style_modules>` instead."
msgstr "Ansible ã¯ã:term:`JSON` ã®æååãåŒçšç¬Šãªãã§åºåããŸããæååå€ã®åŒçšã«ã¯äºéåŒçšç¬Šã䜿çšãããæååå€ã®äžã®äºéåŒçšç¬Šã¯ããã¯ã¹ã©ãã·ã¥ã§ãšã¹ã±ãŒããããæååå€ã®äžã®äžéåŒçšç¬Šã¯ãšã¹ã±ãŒããããã«è¡šç€ºãããããšããããŸããJSONARGS ã䜿çšããã«ã¯ãã¹ã¯ãªããèšèªããã®çš®ã®æååãåŠçããæ¹æ³ãåããŠããå¿
èŠããããŸãããã®äŸã§ã¯ãPython ã®äžéåŒçšç¬Šæååã䜿çšããŠããŸããä»ã®ã¹ã¯ãªããèšèªã§ã¯ãJSON å
ã®åŒçšç¬Šãšæ··åãããªããããªåæ§ã®åŒçšç¬ŠæåãçšæãããŠããããç¬èªã®åŒçšéå§æåãåŒçšçµäºæåãå®çŸ©ã§ãããããå ŽåããããŸããã䜿ãã®èšèªããããæäŸããŠããªãå Žåã¯ã代ããã« :ref:`éãã€ãã£ã JSON ã¢ãžã¥ãŒã« <flow_want_json_modules>` ãŸã㯠:ref:`å€ãã¹ã¿ã€ã«ã®ã¢ãžã¥ãŒã« <flow_old_style_modules>` ãèšè¿°ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:108
msgid "These modules typically parse the contents of ``json_arguments`` using a JSON library and then use them as native variables throughout the code."
msgstr "ãããã®ã¢ãžã¥ãŒã«ã¯éåžžãJSON ã©ã€ãã©ãªãŒã䜿çšã㊠``json_arguments`` ã®ã³ã³ãã³ãã解æãã次ã«ã³ãŒãå
šäœã§ãã€ãã£ãå€æ°ãšããŠäœ¿çšããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:114
msgid "Non-native want JSON modules"
msgstr "ãã€ãã£ã以å€ã® JSON ã¢ãžã¥ãŒã«"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:116
msgid "If a module has the string ``WANT_JSON`` in it anywhere, Ansible treats it as a non-native module that accepts a filename as its only command line parameter. The filename is for a temporary file containing a :term:`JSON` string containing the module's parameters. The module needs to open the file, read and parse the parameters, operate on the data, and print its return data as a JSON encoded dictionary to stdout before exiting."
msgstr "ã¢ãžã¥ãŒã«ã«æåå ``WANT_JSON`` ããããšãAnsible ã¯ããã¡ã€ã«åãã³ãã³ãã©ã€ã³ãã©ã¡ãŒã¿ãŒãšããŠã®ã¿èš±å¯ããéãã€ãã£ãã¢ãžã¥ãŒã«ãšããŠæ±ããŸãããã¡ã€ã«åã¯ãã¢ãžã¥ãŒã«ã®ãã©ã¡ãŒã¿ãŒãå«ã :term:`JSON` æååãå«ãäžæçãªãã¡ã€ã«åãã§ããã¢ãžã¥ãŒã«ã¯ãã¡ã€ã«ãéãããã©ã¡ãŒã¿ãŒãèªã¿åãããã³è§£æããããŒã¿ã§æäœããçµäºããåã«ãã®æ»ãå€ã JSON ãšã³ã³ãŒããã£ã¬ã¯ããªãŒãšã㊠stdout ã«åºåããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:123
msgid "These types of modules are self-contained entities. As of Ansible 2.1, Ansible only modifies them to change a shebang line if present."
msgstr "ãããã®ã¢ãžã¥ãŒã«ã¿ã€ãã¯èªå·±å®çµåãšã³ãã£ãã£ãŒã§ããAnsible 2.1 以éãAnsible ã§ã¯ãååšããå Žåã«ã®ã¿ãã·ãã³è¡ãå€æŽããããã«ããããå€æŽããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:126
msgid "Examples of Non-native modules written in ruby are in the `Ansible for Rubyists <https://github.com/ansible/ansible-for-rubyists>`_ repository."
msgstr "Ruby ã§æžãããéãã€ãã£ãã¢ãžã¥ãŒã«ã®äŸã¯ã`Ansible for Rubyists <https://github.com/ansible/ansible-for-rubyists>`_ ãªããžããªãŒã«ãããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:132
msgid "Binary modules"
msgstr "ãã€ããªãŒã¢ãžã¥ãŒã«"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:134
msgid "From Ansible 2.2 onwards, modules may also be small binary programs. Ansible doesn't perform any magic to make these portable to different systems so they may be specific to the system on which they were compiled or require other binary runtime dependencies. Despite these drawbacks, you may have to compile a custom module against a specific binary library if that's the only way to get access to certain resources."
msgstr "Ansible 2.2 以éãã¢ãžã¥ãŒã«ã¯å°èŠæš¡ã®ãã€ããªãŒããã°ã©ã ã§ããããŸããAnsible ã¯ãããããç°ãªãã·ã¹ãã ã«ç§»æ€ã§ããããã«ããæ©èœããªããããã³ã³ãã€ã«ãããã·ã¹ãã ã«åºæã®ãã®ã§ãã£ãããä»ã®ãã€ããªãŒã©ã³ã¿ã€ã ã«äŸåãããã®ãå¿
èŠã§ãã£ããããŸãããã®ãããªæ¬ ç¹ã¯ãããŸãããç¹å®ã®ãªãœãŒã¹ã«ã¢ã¯ã»ã¹ããããã®å¯äžã®æ¹æ³ã§ããã°ãç¹å®ã®ãã€ããªãŒã©ã€ãã©ãªãŒã«å¯Ÿããã«ã¹ã¿ã ã¢ãžã¥ãŒã«ã®ã³ã³ãã€ã«ãå¿
èŠã«ãªãå ŽåããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:141
msgid "Binary modules take their arguments and return data to Ansible in the same way as :ref:`want JSON modules <flow_want_json_modules>`."
msgstr "ãã€ããªã¢ãžã¥ãŒã«ã¯ãåŒæ°ãåãã:ref:`want JSON ã¢ãžã¥ãŒã« <flow_want_json_modules>` ãšåãæ¹æ³ã§ããŒã¿ã Ansible ã«è¿ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:144
msgid "One example of a `binary module <https://github.com/ansible/ansible/blob/devel/test/integration/targets/binary_modules/library/helloworld.go>`_ written in go."
msgstr "Go ã§èšè¿°ããã ` ãã€ããªãŒã¢ãžã¥ãŒã« <https://github.com/ansible/ansible/blob/devel/test/integration/targets/binary_modules/library/helloworld.go>`_ ã®äžäŸ"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:151
msgid "Old-style modules"
msgstr "å€ãã¹ã¿ã€ã«ã®ã¢ãžã¥ãŒã«"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:153
msgid "Old-style modules are similar to :ref:`want JSON modules <flow_want_json_modules>`, except that the file that they take contains ``key=value`` pairs for their parameters instead of :term:`JSON`. Ansible decides that a module is old-style when it doesn't have any of the markers that would show that it is one of the other types."
msgstr "å€ãã¹ã¿ã€ã«ã®ã¢ãžã¥ãŒã«ã¯ã:ref:`want JSON ã¢ãžã¥ãŒã« <flow_want_json_modules>` ãšäŒŒãŠããŸããã䜿çšãããã¡ã€ã«ã :term:`JSON` ã§ã¯ãªã ``key=value`` ã®ãã¢ããã©ã¡ãŒã¿ã«å«ãã§ããç¹ãç°ãªããŸããAnsible ã¯ãã¢ãžã¥ãŒã«ã«ä»ã®ã¿ã€ãã® 1 ã€ã§ããããšã瀺ãããŒã«ãŒããªããšããã®ã¢ãžã¥ãŒã«ãå€ãã¹ã¿ã€ã«ã§ãããšå€æããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:162
msgid "How modules are executed"
msgstr "ã¢ãžã¥ãŒã«ã®å®è¡æ¹æ³"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:164
msgid "When a user uses :program:`ansible` or :program:`ansible-playbook`, they specify a task to execute. The task is usually the name of a module along with several parameters to be passed to the module. Ansible takes these values and processes them in various ways before they are finally executed on the remote machine."
msgstr ":program:`ansible` ãŸã㯠:program:`ansible-playbook` ã䜿çšããå Žåã¯ãå®è¡ããã¿ã¹ã¯ãæå®ããŸããã¿ã¹ã¯ã¯éåžžãã¢ãžã¥ãŒã«ã«æž¡ãè€æ°ã®ãã©ã¡ãŒã¿ãŒãæã€ã¢ãžã¥ãŒã«ã®ååã§ããAnsible ã¯ãããã®å€ãååŸããããŸããŸãªæ¹æ³ã§åŠçããŠãããæçµçã«ãªã¢ãŒããã·ã³ã§å®è¡ãããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:173
msgid "Executor/task_executor"
msgstr "Executor/task_executor"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:175
msgid "The TaskExecutor receives the module name and parameters that were parsed from the :term:`playbook <playbooks>` (or from the command line in the case of :command:`/usr/bin/ansible`). It uses the name to decide whether it's looking at a module or an :ref:`Action Plugin <flow_action_plugins>`. If it's a module, it loads the :ref:`Normal Action Plugin <flow_normal_action_plugin>` and passes the name, variables, and other information about the task and play to that Action Plugin for further processing."
msgstr "TaskExecutor ã¯ã:term:`Playbook <playbooks>` (:command:`/usr/bin/ansible` ã®å Žåã¯ã³ãã³ãã©ã€ã³) ãã解æãããã¢ãžã¥ãŒã«åãšãã©ã¡ãŒã¿ãŒãåãåããŸããããã¯ãã¢ãžã¥ãŒã«ãèŠãŠããŸã㯠:ref:`action ãã©ã°ã€ã³ <flow_action_plugins>` ãèŠãŠããããå€æããããã«ååã䜿çšããŸããã¢ãžã¥ãŒã«ã®å Žåã¯ã:ref:`Normal action ãã©ã°ã€ã³ <flow_normal_action_plugin>` ãèªã¿èŸŒã¿ãã¿ã¹ã¯ãšãã¬ã€ã«é¢ããååãå€æ°ãããã³ãã®ä»ã®æ
å ±ããã®ã¢ã¯ã·ã§ã³ãã©ã°ã€ã³ã«æž¡ããŠãããã«åŠçããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:186
msgid "The ``normal`` action plugin"
msgstr "action ãã©ã°ã€ã³ ``normal``"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:188
msgid "The ``normal`` action plugin executes the module on the remote host. It is the primary coordinator of much of the work to actually execute the module on the managed machine."
msgstr "action ãã©ã°ã€ã³ ``normal`` ã¯ããªã¢ãŒããã¹ãã§ã¢ãžã¥ãŒã«ãå®è¡ããŸãã管çãã·ã³ã§ã¢ãžã¥ãŒã«ãå®éã«å®è¡ããå€ãã®äœæ¥ã«å¯Ÿããäž»èŠãªèª¿æŽåœ¹ã§ãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:192
msgid "It loads the appropriate connection plugin for the task, which then transfers or executes as needed to create a connection to that host."
msgstr "ã¿ã¹ã¯ã«é©å㪠connection ãã©ã°ã€ã³ãèªã¿èŸŒã¿ããã®ãã¹ããžã®æ¥ç¶ãäœæããããã«å¿
èŠã«å¿ããŠè»¢éãå®è¡ãè¡ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:194
msgid "It adds any internal Ansible properties to the module's parameters (for instance, the ones that pass along ``no_log`` to the module)."
msgstr "ã¢ãžã¥ãŒã«ã®ãã©ã¡ãŒã¿ãŒã«ãAnsible ã®å
éšããããã£ãŒãè¿œå ããŸã (ããšãã° ``no_log`` ãã¢ãžã¥ãŒã«ã«æž¡ããã®ãªã©)ã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:196
msgid "It works with other plugins (connection, shell, become, other action plugins) to create any temporary files on the remote machine and cleans up afterwards."
msgstr "ããã¯ãä»ã®ãã©ã°ã€ã³ (connectionãshellãbecomeããã®ä»ã® action ãã©ã°ã€ã³) ãšé£æºããŠããªã¢ãŒããã·ã³ã«äžæãã¡ã€ã«ãäœæããåŸã§åé€ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:199
msgid "It pushes the module and module parameters to the remote host, although the :ref:`module_common <flow_executor_module_common>` code described in the next section decides which format those will take."
msgstr "ããã«ãã¢ãžã¥ãŒã«ããã³ã¢ãžã¥ãŒã«ãã©ã¡ãŒã¿ãŒããªã¢ãŒããã¹ãã«ããã·ã¥ãããŸããã次ã®ã»ã¯ã·ã§ã³ã§èª¬æãã :ref:`module_common <flow_executor_module_common>` ã³ãŒãããã©ã®åœ¢åŒãåãã®ã決å®ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:203
msgid "It handles any special cases regarding modules (for instance, async execution, or complications around Windows modules that must have the same names as Python modules, so that internal calling of modules from other Action Plugins work.)"
msgstr "ã¢ãžã¥ãŒã«ã«é¢ããç¹æ®ãªã±ãŒã¹ãåŠçããŸã (ããšãã°ãéåæå®è¡ããPython ã¢ãžã¥ãŒã«ãšåãååãæããªããã°ãªããªã Windows ã¢ãžã¥ãŒã«ã®è€éããªã©ãããã«ãããä»ã® action ãã©ã°ã€ã³ããã®ã¢ãžã¥ãŒã«ã®å
éšåŒã³åºããæ©èœããŸã)ã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:206
msgid "Much of this functionality comes from the `BaseAction` class, which lives in :file:`plugins/action/__init__.py`. It uses the ``Connection`` and ``Shell`` objects to do its work."
msgstr "ãã®æ©èœã®å€ãã¯ã`BaseAction` ã¯ã©ã¹ (:file:`plugins/action/__init__.py` ã«ãã) ããååŸãããŸããããã¯ã``Connection`` ãªããžã§ã¯ãããã³ ``Shell`` ãªããžã§ã¯ãã䜿çšããŠäœæ¥ãè¡ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:211
msgid "When :term:`tasks <tasks>` are run with the ``async:`` parameter, Ansible uses the ``async`` Action Plugin instead of the ``normal`` Action Plugin to invoke it. That program flow is currently not documented. Read the source for information on how that works."
msgstr ":term:`ã¿ã¹ã¯ <tasks>` ã ``async:`` ãã©ã¡ãŒã¿ãŒã§å®è¡ããŠããå ŽåãAnsible ã¯ãaction ãã©ã°ã€ã³ ``normal`` ã®ä»£ããã« ``async`` ã䜿çšããŠãããåŒã³åºããŸãããã®ããã°ã©ã ãããŒã¯çŸåšææžåãããŠããŸããããããã©ã®ããã«æ©èœãããã«ã€ããŠã¯ããœãŒã¹ããèªã¿ãã ããã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:219
msgid "Executor/module_common.py"
msgstr "Executor/module_common.py"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:221
msgid "Code in :file:`executor/module_common.py` assembles the module to be shipped to the managed node. The module is first read in, then examined to determine its type:"
msgstr ":file:`executor/module_common.py` ã®ã³ãŒãã¯ã管çããŒãã«å梱ããã¢ãžã¥ãŒã«ãã¢ã»ã³ãã«ããŸãããŸããã¢ãžã¥ãŒã«ãæåã«èªã¿èŸŒãŸãããã®åŸã¯ãã®ã¿ã€ããå€æããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:225
msgid ":ref:`PowerShell <flow_powershell_modules>` and :ref:`JSON-args modules <flow_jsonargs_modules>` are passed through :ref:`Module Replacer <module_replacer>`."
msgstr ":ref:`PowerShell <flow_powershell_modules>` ããã³ :ref:`JSON-args ã¢ãžã¥ãŒã« <flow_jsonargs_modules>` ã¯ã:ref:`Module Replacer <module_replacer>` çµç±ã§æž¡ãããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:226
msgid "New-style :ref:`Python modules <flow_python_modules>` are assembled by :ref:`Ansiballz`."
msgstr "æ°ããã¹ã¿ã€ã«ã® :ref:`Python ã¢ãžã¥ãŒã« <flow_python_modules>` 㯠:ref:`Ansiballz` ã«ããã¢ã»ã³ãã«ãããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:227
msgid ":ref:`Non-native-want-JSON <flow_want_json_modules>`, :ref:`Binary modules <flow_binary_modules>`, and :ref:`Old-Style modules <flow_old_style_modules>` aren't touched by either of these and pass through unchanged."
msgstr ":ref:`Non-native-want-JSON <flow_want_json_modules>`ã:ref:`ãã€ããªãŒã¢ãžã¥ãŒã« <flow_binary_modules>`ãããã³ :ref:`å€ãã¹ã¿ã€ã«ã®ã¢ãžã¥ãŒã« <flow_old_style_modules>` ã¯ããããã®ã©ã¡ãã«ã觊ãããããå€æŽãããã«ãã®ãŸãŸééããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:229
msgid "After the assembling step, one final modification is made to all modules that have a shebang line. Ansible checks whether the interpreter in the shebang line has a specific path configured via an ``ansible_$X_interpreter`` inventory variable. If it does, Ansible substitutes that path for the interpreter path given in the module. After this, Ansible returns the complete module data and the module type to the :ref:`Normal Action <flow_normal_action_plugin>` which continues execution of the module."
msgstr "ã¢ã»ã³ãã«æé åŸãã·ãã³è¡ãæã€ãã¹ãŠã®ã¢ãžã¥ãŒã«ã«æçµå€æŽãè¡ãããŸããAnsible ã¯ãã·ãã³è¡å
ã®ã€ã³ã¿ãŒããªã¿ãŒã« ``ansible_$X_interpreter`` ã€ã³ãã³ããªãŒå€æ°ãä»ããŠç¹å®ã®ãã¹ãèšå®ãããŠãããã©ããã確èªããŸãããã¹ãããå ŽåãAnsible ã¯ããã®ãã¹ãããã®ã¢ãžã¥ãŒã«ã«æå®ãããŠããã€ã³ã¿ãŒããªã¿ãŒãã¹ã«çœ®ãæããŸãããã®åŸãAnsible ã¯å®å
šãªã¢ãžã¥ãŒã«ããŒã¿ãè¿ããã¢ãžã¥ãŒã«ã¿ã€ãã :ref:`normal action <flow_normal_action_plugin>` ã«è¿ããã¢ãžã¥ãŒã«ã®å®è¡ãç¶è¡ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:239
msgid "Assembler frameworks"
msgstr "ã¢ã»ã³ãã©ãŒãã¬ãŒã ã¯ãŒã¯"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:241
msgid "Ansible supports two assembler frameworks: Ansiballz and the older Module Replacer."
msgstr "Ansible ã¯ã2 ã€ã®ã¢ã»ã³ãã©ãã¬ãŒã ã¯ãŒã¯ (Ansiballz ãšå€ã Module Replacer) ããµããŒãããŠããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:246
msgid "Module Replacer framework"
msgstr "Module Replacer ãã¬ãŒã ã¯ãŒã¯"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:248
msgid "The Module Replacer framework is the original framework implementing new-style modules, and is still used for PowerShell modules. It is essentially a preprocessor (like the C Preprocessor for those familiar with that programming language). It does straight substitutions of specific substring patterns in the module file. There are two types of substitutions:"
msgstr "ã¢ãžã¥ãŒã«çœ®æãã¬ãŒã ã¯ãŒã¯ã¯ãæ°ããã¹ã¿ã€ã«ã¢ãžã¥ãŒã«ãå®è£
ããåŒãç¶ã PowerShell ã¢ãžã¥ãŒã«åãã«äœ¿çšãããŠããŸããåºæ¬çã«ã¯ã(ãã®ããã°ã©ãã³ã°èšèªã«ç²ŸéããŠãã C ããã»ããµãŒãªã©) ã§ããã¢ãžã¥ãŒã«ãã¡ã€ã«å
ã®ç¹å®ã®åŸå±æååãã¿ãŒã³ãçŽæ¥çœ®æããŸãã眮æã«ã¯ 2 ã€ã®ã¿ã€ãããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:254
msgid "Replacements that only happen in the module file. These are public replacement strings that modules can utilize to get helpful boilerplate or access to arguments."
msgstr "ã¢ãžã¥ãŒã«ãã¡ã€ã«ã§ã®ã¿å®è¡ãã眮æãã¢ãžã¥ãŒã«ã¯ã䟿å©ãª boilerplate ãåŒæ°ãžã®ã¢ã¯ã»ã¹ã«äœ¿çšã§ãããããªãã¯ã®çœ®ææååã§ãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:258
msgid ":code:`from ansible.module_utils.MOD_LIB_NAME import *` is replaced with the contents of the :file:`ansible/module_utils/MOD_LIB_NAME.py` These should only be used with :ref:`new-style Python modules <flow_python_modules>`."
msgstr ":code:`from ansible.module_utils.MOD_LIB_NAME import *` ã¯ã:file:`ansible/module_utils/MOD_LIB_NAME.py` ã®å
容ã«çœ®ãæããŸãããããã¯ã:ref:`æ°ããã¹ã¿ã€ã«ã® Python ã¢ãžã¥ãŒã« <flow_python_modules>` ãšäœµçšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:261
msgid ":code:`#<<INCLUDE_ANSIBLE_MODULE_COMMON>>` is equivalent to :code:`from ansible.module_utils.basic import *` and should also only apply to new-style Python modules."
msgstr ":code:`#<<INCLUDE_ANSIBLE_MODULE_COMMON>>` ã¯ã:code:`from ansible.module_utils.basic import *` ãšåçã§ãæ°ããã¹ã¿ã€ã«ã® Python ã¢ãžã¥ãŒã«ã®ã¿ã«é©çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:264
msgid ":code:`# POWERSHELL_COMMON` substitutes the contents of :file:`ansible/module_utils/powershell.ps1`. It should only be used with :ref:`new-style Powershell modules <flow_powershell_modules>`."
msgstr ":code:`# POWERSHELL_COMMON` ã¯ã:file:`ansible/module_utils/powershell.ps1` ã®å
容ã眮ãæããŸããããã¯ã:ref:`æ°ããã¹ã¿ã€ã«ã® Powershell ã¢ãžã¥ãŒã« <flow_powershell_modules>` ãšäœµçšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:268
msgid "Replacements that are used by ``ansible.module_utils`` code. These are internal replacement patterns. They may be used internally, in the above public replacements, but shouldn't be used directly by modules."
msgstr "``ansible.module_utils`` ã³ãŒãã«ãã䜿çšããã代æ¿åããããã¯å
éšäº€æãã¿ãŒã³ã§ãããããã¯ãäžèšã®ãããªãã¯çœ®æã§å
éšçã«äœ¿çšã§ããŸãããã¢ãžã¥ãŒã«ã§çŽæ¥äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:270
msgid ":code:`\"<<ANSIBLE_VERSION>>\"` is substituted with the Ansible version. In :ref:`new-style Python modules <flow_python_modules>` under the :ref:`Ansiballz` framework the proper way is to instead instantiate an `AnsibleModule` and then access the version from :attr:``AnsibleModule.ansible_version``."
msgstr ":code:`\"<<ANSIBLE_VERSION>>\"` ã¯ãAnsible ããŒãžã§ã³ã«çœ®ãæããããŸãã:ref:`Ansiballz` ãã¬ãŒã ã¯ãŒã¯ã®äžã® :ref:`æ°ããã¹ã¿ã€ã«ã® Python ã¢ãžã¥ãŒã« <flow_python_modules>` ã§é©åãªæ¹æ³ã¯ã代ããã« `AnsibleModule` ãã€ã³ã¹ã¿ã³ã¹åãã:attr:``AnsibleModule.ansible_version`` ããããŒãžã§ã³ã«ã¢ã¯ã»ã¹ããããšã§ãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:275
msgid ":code:`\"<<INCLUDE_ANSIBLE_MODULE_COMPLEX_ARGS>>\"` is substituted with a string which is the Python ``repr`` of the :term:`JSON` encoded module parameters. Using ``repr`` on the JSON string makes it safe to embed in a Python file. In new-style Python modules under the Ansiballz framework this is better accessed by instantiating an `AnsibleModule` and then using :attr:`AnsibleModule.params`."
msgstr ":code:`\"<<INCLUDE_ANSIBLE_MODULE_COMPLEX_ARGS>>\"` ã¯ã:term:`JSON` ã§ãšã³ã³ãŒããããã¢ãžã¥ãŒã«ãã©ã¡ãŒã¿ãŒã® Python ``repr`` ã®æååã«çœ®ãæããŸããJSON æåå㧠``repr`` ã䜿çšãããšãPython ãã¡ã€ã«ã«å®å
šã«åã蟌ãããšãã§ããŸããAnsiballz ãã¬ãŒã ã¯ãŒã¯ã®æ°ããã¹ã¿ã€ã« Python ã¢ãžã¥ãŒã«ã§ã¯ã`AnsibleModule` ãã€ã³ã¹ã¿ã³ã¹åããŠãã :attr:`AnsibleModule.params` ã䜿çšããããšã§ãããã¯ããé©åã«ã¢ã¯ã»ã¹ãããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:281
msgid ":code:`<<SELINUX_SPECIAL_FILESYSTEMS>>` substitutes a string which is a comma separated list of file systems which have a file system dependent security context in SELinux. In new-style Python modules, if you really need this you should instantiate an `AnsibleModule` and then use :attr:`AnsibleModule._selinux_special_fs`. The variable has also changed from a comma separated string of file system names to an actual python list of filesystem names."
msgstr ":code:`<<SELINUX_SPECIAL_FILESYSTEMS>>` ã¯ãSELinux ã«ãã¡ã€ã«ã·ã¹ãã ã«äŸåããã»ãã¥ãªãã£ãŒã³ã³ããã¹ãããããã¡ã€ã«ã·ã¹ãã ã®ã³ã³ãåºåãã®äžèŠ§ã§ããæååã眮ãæããŸããæ°ããã¹ã¿ã€ã«ã® Python ã¢ãžã¥ãŒã«ã§ `AnsibleModule` ãã€ã³ã¹ã¿ã³ã¹åããŠããã:attr:`AnsibleModule._selinux_special_fs` ã䜿çšããŠãã ããããŸãããã®å€æ°ã¯ããã¡ã€ã«ã·ã¹ãã åã®ã³ã³ãåºåãã®æååããããã¡ã€ã«ã·ã¹ãã åã®å®éã® python ã®ãªã¹ãã«å€æŽãããŠããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:288
msgid ":code:`<<INCLUDE_ANSIBLE_MODULE_JSON_ARGS>>` substitutes the module parameters as a JSON string. Care must be taken to properly quote the string as JSON data may contain quotes. This pattern is not substituted in new-style Python modules as they can get the module parameters another way."
msgstr ":code:`<<INCLUDE_ANSIBLE_MODULE_JSON_ARGS>>` ã¯ã¢ãžã¥ãŒã«ãã©ã¡ãŒã¿ãŒã JSON æååãšããŠçœ®ãæããŸããJSON ããŒã¿ã«ã¯åŒçšç¬Šãå«ãŸããŠããå¯èœæ§ããããããæååãé©åã«åŒçšç¬Šã§å²ãããã«æ³šæããå¿
èŠããããŸãããã®ãã¿ãŒã³ã¯ãã¢ãžã¥ãŒã«ãã©ããŒã¿ãŒãå¥ã®æ¹æ³ã§ååŸã§ãããããæ°ããã¹ã¿ã€ã«ã® Python ã¢ãžã¥ãŒã«ã§ã¯çœ®ãæããããŸããã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:293
msgid "The string :code:`syslog.LOG_USER` is replaced wherever it occurs with the ``syslog_facility`` which was named in :file:`ansible.cfg` or any ``ansible_syslog_facility`` inventory variable that applies to this host. In new-style Python modules this has changed slightly. If you really need to access it, you should instantiate an `AnsibleModule` and then use :attr:`AnsibleModule._syslog_facility` to access it. It is no longer the actual syslog facility and is now the name of the syslog facility. See the :ref:`documentation on internal arguments <flow_internal_arguments>` for details."
msgstr "æåå :code:`syslog.LOG_USER` ã¯ã:file:`ansible.cfg` ãŸãã¯ãã®ãã¹ãã«é©çšããã ``ansible_syslog_facility`` ã€ã³ãã³ããªãŒå€æ°ã§å²ãŸããŠãã ``syslog_facility`` ã«çœ®ãæããããŸããæ°ããã¹ã¿ã€ã«ã® Python ã¢ãžã¥ãŒã«ã§ã¯ãããã¯è¥å¹²å€æŽã«ãªããŸãããæ¬åœã«ã¢ã¯ã»ã¹ããå¿
èŠãããå Žåã¯ã`AnsibleModule` ãã€ã³ã¹ã¿ã³ã¹åãããã®åŸ :attr:`AnsibleModule._syslog_facility` ã䜿çšããŠã¢ã¯ã»ã¹ããå¿
èŠããããŸããããã¯å®éã® syslog æ©èœã§ã¯ãªããsyslog æ©èœã®ååã«ãªããŸãã詳现ã¯ãã:ref:`å
éšåŒæ°ã®ããã¥ã¡ã³ã <flow_internal_arguments>`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:306
msgid "Ansiballz framework"
msgstr "Ansiballz ãã¬ãŒã ã¯ãŒã¯"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:308
msgid "The Ansiballz framework was adopted in Ansible 2.1 and is used for all new-style Python modules. Unlike the Module Replacer, Ansiballz uses real Python imports of things in :file:`ansible/module_utils` instead of merely preprocessing the module. It does this by constructing a zipfile -- which includes the module file, files in :file:`ansible/module_utils` that are imported by the module, and some boilerplate to pass in the module's parameters. The zipfile is then Base64 encoded and wrapped in a small Python script which decodes the Base64 encoding and places the zipfile into a temp directory on the managed node. It then extracts just the Ansible module script from the zip file and places that in the temporary directory as well. Then it sets the PYTHONPATH to find Python modules inside of the zip file and imports the Ansible module as the special name, ``__main__``. Importing it as ``__main__`` causes Python to think that it is executing a script rather than simply importing a module. This lets Ansible run both the wrapper script and the module code in a single copy of Python on the remote machine."
msgstr "Ansiblez ãã¬ãŒã ã¯ãŒã¯ã¯ Ansible 2.1 ã§æ¡çšããããã¹ãŠã®æ°ããã¹ã¿ã€ã«ã® Python ã¢ãžã¥ãŒã«ã«äœ¿çšãããŸããModule Replacer ãšã¯ç°ãªããAnsiballz ã¯ãåã«ã¢ãžã¥ãŒã«ãååŠçããã ãã§ã¯ãªãã:file:`ansible/module_utils` ã«å«ãŸãããã®ãå®éã« Python ã§ã€ã³ããŒãããŸãããããè¡ãã«ã¯ãzipfile ãæ§ç¯ããŸããããã«ã¯ãã¢ãžã¥ãŒã«ãã¡ã€ã«ãã¢ãžã¥ãŒã«ãã€ã³ããŒããã :file:`ansible/module_utils` ã®ãã¡ã€ã«ãããã³ã¢ãžã¥ãŒã«ã®ãã©ã¡ãŒã¿ãŒãæž¡ã boilerplate ãå«ãŸããŸãããã®åŸãzipfile 㯠Base64 ã§ãšã³ã³ãŒããããå°ã㪠Python ã¹ã¯ãªããã§ã©ãããããŸãããã®ã¹ã¯ãªãã㯠Base64 ãšã³ã³ãŒãããã³ãŒãããzipfile ã管ç察象ããŒãã®äžæãã£ã¬ã¯ããªãŒã«é
眮ããŸãããã®åŸãzip ãã¡ã€ã«ãã Ansible ã¢ãžã¥ãŒã«ã¹ã¯ãªããã®ã¿ãæœåºããäžæãã£ã¬ã¯ããªãŒã«é
眮ããŸãããã®åŸãPYTHONPATH ãèšå®ããŠãzip ãã¡ã€ã«ãã Python ã¢ãžã¥ãŒã«ãæ€çŽ¢ããAnsible ã¢ãžã¥ãŒã«ãç¹æ®ãªåå ``__main__`` ãšããŠã€ã³ããŒãããŸãã``__main__`` ãšããŠã€ã³ããŒããããšãPython ã¯åã«ã¢ãžã¥ãŒã«ãã€ã³ããŒãããã®ã§ã¯ãªããã¹ã¯ãªãããå®è¡ããŠãããšèŠãªãããã«ãªããŸããããã«ãããAnsible ã¯ãã©ãããŒã¹ã¯ãªãããšã¢ãžã¥ãŒã«ã³ãŒãã®äž¡æ¹ãããªã¢ãŒããã·ã³ã® Python ã®åäžã³ããŒã§å®è¡ã§ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:322
msgid "Ansible wraps the zipfile in the Python script for two reasons:"
msgstr "Ansible ã Python ã¹ã¯ãªãã㧠zip ãã¡ã€ã«ãã©ããããã«ã¯ã以äžã® 2 ã€ã®çç±ããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:324
msgid "for compatibility with Python 2.6 which has a less functional version of Python's ``-m`` command line switch."
msgstr "Python ã® ``-m`` ã³ãã³ãã©ã€ã³ã¹ã€ããã®æ©èœãå°ãªã Python 2.6 ãšã®äºææ§ã®ããã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:327
msgid "so that pipelining will function properly. Pipelining needs to pipe the Python module into the Python interpreter on the remote node. Python understands scripts on stdin but does not understand zip files."
msgstr "ãã€ãåŠçãé©åã«æ©èœããŸããPipelining 㯠Python ã¢ãžã¥ãŒã«ããªã¢ãŒãããŒãäžã® Python ã€ã³ã¿ãŒããªã¿ãŒã«ãã€ãããå¿
èŠããããŸããPython 㯠stdin ã®ã¹ã¯ãªãããç解ããŸãããzip ãã¡ã€ã«ãç解ããŸããã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:331
msgid "Prior to Ansible 2.7, the module was executed via a second Python interpreter instead of being executed inside of the same process. This change was made once Python-2.4 support was dropped to speed up module execution."
msgstr "Ansible 2.7 ããåã®ããŒãžã§ã³ã§ã¯ãåãããã»ã¹å
ã§å®è¡ãããã®ã§ã¯ãªã 2 ã€ç®ã® Python ã€ã³ã¿ãŒããªã¿ãŒçµç±ã§å®è¡ãããŸãããã®å€æŽã¯ãPython-2.4 ãµããŒããç Žæ£ãããã¢ãžã¥ãŒã«å®è¡ã®ã¹ããŒããé«ããŸããã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:335
msgid "In Ansiballz, any imports of Python modules from the :py:mod:`ansible.module_utils` package trigger inclusion of that Python file into the zipfile. Instances of :code:`#<<INCLUDE_ANSIBLE_MODULE_COMMON>>` in the module are turned into :code:`from ansible.module_utils.basic import *` and :file:`ansible/module-utils/basic.py` is then included in the zipfile. Files that are included from :file:`module_utils` are themselves scanned for imports of other Python modules from :file:`module_utils` to be included in the zipfile as well."
msgstr "Ansiballzã§ã¯ã:py:mod:`ansible.module_utils` ããã±ãŒãžããã® Python ã¢ãžã¥ãŒã«ã®ã€ã³ããŒãã«ããããã® Python ãã¡ã€ã«ã zip ãã¡ã€ã«ã«è¿œå ãããŸããã¢ãžã¥ãŒã«å
ã® :code:`#<<INCLUDE_ANSIBLE_MODULE_COMMON>>` ã®ã€ã³ã¹ã¿ã³ã¹ã¯ :code:`from ansible.module_utils.basic import *` ã«å€æããããã®åŸ :file:`ansible/module-utils/basic.py` ã zip ãã¡ã€ã«ã«è¿œå ãããŸãã:file:`module_utils` ããè¿œå ããããã¡ã€ã«ã¯ãããèªäœã :file:`module_utils` ããã®ä»ã® Python ã¢ãžã¥ãŒã«ã®ã€ã³ããŒããã¹ãã£ã³ããåãããã« zip ãã¡ã€ã«ã«è¿œå ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:345
msgid "At present, the Ansiballz Framework cannot determine whether an import should be included if it is a relative import. Always use an absolute import that has :py:mod:`ansible.module_utils` in it to allow Ansiballz to determine that the file should be included."
msgstr "çŸç¶ãAweraiballz Framework ã¯ãçžå¯Ÿã€ã³ããŒãã®å Žåã«ã€ã³ããŒããå«ããå¿
èŠããããã©ãããå€å¥ã§ããŸãããåžžã«ããã®äžã« :py:mod:`ansible.module_utils` ããã絶察ã€ã³ããŒãã䜿çšããŠããã®ãã¡ã€ã«ãå梱ããå¿
èŠããããšå€æããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:354
msgid "Passing args"
msgstr "åŒæ°ãæž¡ã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:356
msgid "Arguments are passed differently by the two frameworks:"
msgstr "以äžã® 2 ã€ã®ãã¬ãŒã ã¯ãŒã¯ã§ã¯ãåŒæ°ã®æž¡ãæ¹ãç°ãªããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:358
msgid "In :ref:`module_replacer`, module arguments are turned into a JSON-ified string and substituted into the combined module file."
msgstr ":ref:`module_replacer` ã§ã¯ãã¢ãžã¥ãŒã«ã®åŒæ°ã¯ JSON åãããæååã«å€æãããçµåãããã¢ãžã¥ãŒã«ãã¡ã€ã«ã«çœ®ãæããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:359
msgid "In :ref:`Ansiballz`, the JSON-ified string is part of the script which wraps the zipfile. Just before the wrapper script imports the Ansible module as ``__main__``, it monkey-patches the private, ``_ANSIBLE_ARGS`` variable in ``basic.py`` with the variable values. When a :class:`ansible.module_utils.basic.AnsibleModule` is instantiated, it parses this string and places the args into :attr:`AnsibleModule.params` where it can be accessed by the module's other code."
msgstr ":ref:`Ansiballz` ã§ã¯ãJSON åãããæååã¯ãzip ãã¡ã€ã«ãã©ããããã¹ã¯ãªããã®äžéšã§ããã©ãããŒã¹ã¯ãªããã Ansible ã¢ãžã¥ãŒã«ã ``__main__`` ãšããŠã€ã³ããŒãããçŽåã«ã``basic.py`` ã®ãã©ã€ããŒãå€æ° ``_ANSIBLE_ARGS`` ãå€æ°å€ã§ã¢ã³ããŒãããããŠããŸãã:class:`ansible.module_utils.basic.AnsibleModule` ãã€ã³ã¹ã¿ã³ã¹åããããšããã®æååã解æããåŒæ°ã :attr:`AnsibleModule.params` ã«é
眮ããã¢ãžã¥ãŒã«ã®ä»ã®ã³ãŒããã¢ã¯ã»ã¹ã§ããå Žæã«çœ®ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:362
msgid "If you are writing modules, remember that the way we pass arguments is an internal implementation detail: it has changed in the past and will change again as soon as changes to the common module_utils code allow Ansible modules to forgo using :class:`ansible.module_utils.basic.AnsibleModule`. Do not rely on the internal global ``_ANSIBLE_ARGS`` variable."
msgstr "ã¢ãžã¥ãŒã«ãäœæããŠããå Žåã¯ãåŒæ°ãæž¡ãæ¹æ³ã¯å
éšå®è£
ã®è©³çŽ°ã§ããããšã«æ³šæããŠãã ãããããã¯éå»ã«å€æŽãããŠãããå
±éã®ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã³ãŒããå€æŽãããšãAnsible ã¢ãžã¥ãŒã«ã :class:`ansible.module_utils.basic.AnsibleModule` ã®äœ¿çšãããããšããã«åã³å€æŽãããŸããå
éšã°ããŒãã«å€æ° ``_ANSIBLE_ARGS`` ã«äŸåããªãã§ãã ããã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:365
msgid "Very dynamic custom modules which need to parse arguments before they instantiate an ``AnsibleModule`` may use ``_load_params`` to retrieve those parameters. Although ``_load_params`` may change in breaking ways if necessary to support changes in the code, it is likely to be more stable than either the way we pass parameters or the internal global variable."
msgstr "``AnsibleModule`` ãã€ã³ã¹ã¿ã³ã¹åããåã«åŒæ°ã解æããå¿
èŠã®ããéåžžã«åçãªã«ã¹ã¿ã ã¢ãžã¥ãŒã«ã¯ã``_load_params`` ã䜿çšããŠãããã®ãã©ã¡ãŒã¿ãŒãååŸããå ŽåããããŸããã³ãŒãã®å€æŽããµããŒãããå¿
èŠãããå Žåã¯ã``_load_params`` ãç Žå£çãªæ¹æ³ã§å€æŽããå¯èœæ§ããããŸããããã©ã¡ãŒã¿ãŒãŸãã¯å
éšã°ããŒãã«å€æ°ãæž¡ãæ¹æ³ãããå®å®ããŠããå¯èœæ§ããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:371
msgid "Prior to Ansible 2.7, the Ansible module was invoked in a second Python interpreter and the arguments were then passed to the script over the script's stdin."
msgstr "Ansible 2.7 ããåã®ããŒãžã§ã³ã§ã¯ãAnsible ã¢ãžã¥ãŒã«ã¯ 2 çªç®ã® Python ã€ã³ã¿ãŒããªã¿ãŒã§åŒã³åºãããåŒæ°ã¯ã¹ã¯ãªããã®æšæºå
¥å (stdin) ãä»ããŠã¹ã¯ãªããã«æž¡ãããŠããŸããã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:378
msgid "Internal arguments"
msgstr "å
éšåŒæ°"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:380
msgid "Both :ref:`module_replacer` and :ref:`Ansiballz` send additional arguments to the module beyond those which the user specified in the playbook. These additional arguments are internal parameters that help implement global Ansible features. Modules often do not need to know about these explicitly as the features are implemented in :py:mod:`ansible.module_utils.basic` but certain features need support from the module so it's good to know about them."
msgstr ":ref:`module_replacer` ããã³ :ref:`Ansiballz` ã®äž¡æ¹ã¯ãPlaybook ã§æå®ãããŠãŒã¶ãŒä»¥å€ã«è¿œå ã®åŒæ°ãã¢ãžã¥ãŒã«ã«éä¿¡ããŸãããããã®è¿œå ã®åŒæ°ã¯ãAnsible ã®ã°ããŒãã«æ©èœã®å®è£
ã«åœ¹ç«ã€å
éšãã©ã¡ãŒã¿ãŒã§ãããããã®æ©èœã¯ã:py:mod:`ansible.module_utils.basic` ã«å®è£
ãããŠãããããã¢ãžã¥ãŒã«ãæ瀺çã«ç解ããå¿
èŠããªãããšããã°ãã°ãããŸãããæ©èœã«ã€ããŠããçšåºŠç解ã§ããããã«ãã¢ãžã¥ãŒã«ããç¹å®ã®æ©èœã®ãµããŒããå¿
èŠã«ãªããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:387
msgid "The internal arguments listed here are global. If you need to add a local internal argument to a custom module, create an action plugin for that specific module - see ``_original_basename`` in the `copy action plugin <https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/action/copy.py#L329>`_ for an example."
msgstr "ããã«èšèŒãããŠããå
éšåŒæ°ã¯ã°ããŒãã«ã§ããã«ã¹ã¿ã ã¢ãžã¥ãŒã«ã«ããŒã«ã«ã®å
éšåŒæ°ãè¿œå ããå¿
èŠãããå Žåã¯ããã®ç¹å®ã®ã¢ãžã¥ãŒã«ã« action ãã©ã°ã€ã³ãäœæããŠãã ãããäŸã¯ãã`copy action plugin <https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/action/copy.py#L329>`_ãã®ã``_original_basename``ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:390
msgid "_ansible_no_log"
msgstr "_ansible_no_log"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:392
msgid "Boolean. Set to True whenever a parameter in a task or play specifies ``no_log``. Any module that calls :py:meth:`AnsibleModule.log` handles this automatically. If a module implements its own logging then it needs to check this value. To access in a module, instantiate an ``AnsibleModule`` and then check the value of :attr:`AnsibleModule.no_log`."
msgstr "ããŒã«å€ãã¿ã¹ã¯ãŸãã¯ãã¬ã€ã®ãã©ã¡ãŒã¿ãŒã ``no_log`` ã«æå®ããå Žåã¯åžžã« True ã«èšå®ããŸãã:py:meth:`AnsibleModule.log` ãåŒã³åºãã¢ãžã¥ãŒã«ãèªåçã«ãããåŠçããŸããã¢ãžã¥ãŒã«ããã®ç¬èªã®ãã®ã³ã°ãå®è£
ããå Žåã¯ããã®å€ã確èªããå¿
èŠããããŸããã¢ãžã¥ãŒã«ã«ã¢ã¯ã»ã¹ããã«ã¯ã``AnsibleModule`` ãã€ã³ã¹ã¿ã³ã¹åããŠã:attr:`AnsibleModule.no_log` ã®å€ã確èªããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:397
msgid "``no_log`` specified in a module's argument_spec is handled by a different mechanism."
msgstr "ã¢ãžã¥ãŒã«ã® argument_spec ã§æå®ããã ``no_log`` ã¯å¥ã®ã¡ã«ããºã ã§åŠçãããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:400
msgid "_ansible_debug"
msgstr "_ansible_debug"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:402
msgid "Boolean. Turns more verbose logging on or off and turns on logging of external commands that the module executes. If a module uses :py:meth:`AnsibleModule.debug` rather than :py:meth:`AnsibleModule.log` then the messages are only logged if ``_ansible_debug`` is set to ``True``. To set, add ``debug: True`` to :file:`ansible.cfg` or set the environment variable :envvar:`ANSIBLE_DEBUG`. To access in a module, instantiate an ``AnsibleModule`` and access :attr:`AnsibleModule._debug`."
msgstr "ããŒã«å€ã詳现ãªãã®ã³ã°ããªã³ãŸãã¯ãªãã«ããã¢ãžã¥ãŒã«ãå®è¡ããå€éšã³ãã³ãã®ãã®ã³ã°ãæå¹ã«ããŸããã¢ãžã¥ãŒã«ã :py:meth:`AnsibleModule.log` ã§ã¯ãªã :py:meth:`AnsibleModule.debug` ã䜿çšããå Žåã¯ã``_ansible_debug`` ã ``True`` ã«èšå®ãããŠããå Žåã«ã®ã¿ã¡ãã»ãŒãžããã°ã«èšé²ãããŸããèšå®ããã«ã¯ã``debug: True`` ã :file:`ansible.cfg` ã«è¿œå ããããç°å¢å€æ° :envvar:`ANSIBLE_DEBUG` ãèšå®ããŸããã¢ãžã¥ãŒã«ã«ã¢ã¯ã»ã¹ããã«ã¯ã``AnsibleModule`` ãã€ã³ã¹ã¿ã³ã¹åãã:attr:`AnsibleModule._debug` ã«ã¢ã¯ã»ã¹ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:411
msgid "_ansible_diff"
msgstr "_ansible_diff"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:413
msgid "Boolean. If a module supports it, tells the module to show a unified diff of changes to be made to templated files. To set, pass the ``--diff`` command line option. To access in a module, instantiate an `AnsibleModule` and access :attr:`AnsibleModule._diff`."
msgstr "ããŒã«å€ãã¢ãžã¥ãŒã«ããµããŒãããå Žåã¯ãã¢ãžã¥ãŒã«ã«å¯Ÿãããã³ãã¬ãŒãåããããã¡ã€ã«ã«å ããããå€æŽã®å·®ç°ãçµ±åããããã«ã¢ãžã¥ãŒã«ã«æ瀺ããŸããèšå®ããã«ã¯ã``--diff`` ã³ãã³ãã©ã€ã³ãªãã·ã§ã³ãæž¡ããŸããã¢ãžã¥ãŒã«ã«ã¢ã¯ã»ã¹ããã«ã¯ã`AnsibleModule` ãã€ã³ã¹ã¿ã³ã¹åããŠã:attr:`AnsibleModule._diff` ã«ã¢ã¯ã»ã¹ããŠãã ããã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:419
msgid "_ansible_verbosity"
msgstr "_ansible_verbosity"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:421
msgid "Unused. This value could be used for finer grained control over logging."
msgstr "æªäœ¿çšããã®å€ã¯ããã°ããã现ããå¶åŸ¡ããããã«äœ¿çšã§ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:424
msgid "_ansible_selinux_special_fs"
msgstr "_ansible_selinux_special_fs"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:426
msgid "List. Names of filesystems which should have a special SELinux context. They are used by the `AnsibleModule` methods which operate on files (changing attributes, moving, and copying). To set, add a comma separated string of filesystem names in :file:`ansible.cfg`:"
msgstr "äžèŠ§ãç¹å¥ãª SELinux ã³ã³ããã¹ããæã€å¿
èŠããããã¡ã€ã«ã·ã¹ãã ã®ååãååã¯ãã¡ã€ã« (å±æ§ã®å€æŽã移åãã³ããŒ) ã§æäœãã `AnsibleModule` ã¡ãœããã«ãã£ãŠäœ¿çšãããŸããèšå®ããã«ã¯ã:file:`ansible.cfg` ã«ããã¡ã€ã«åã®ã³ã³ãåºåãã®æååãè¿œå ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:436
msgid "Most modules can use the built-in ``AnsibleModule`` methods to manipulate files. To access in a module that needs to know about these special context filesystems, instantiate an ``AnsibleModule`` and examine the list in :attr:`AnsibleModule._selinux_special_fs`."
msgstr "ã»ãšãã©ã®ã¢ãžã¥ãŒã«ã¯ããã¡ã€ã«ãæäœããçµã¿èŸŒã¿ ``AnsibleModule`` ã¡ãœããã䜿çšã§ããŸãããããã®ç¹å¥ãªã³ã³ããã¹ããã¡ã€ã«ã·ã¹ãã ã«ã€ããŠç¥ãå¿
èŠãããã¢ãžã¥ãŒã«ã«ã¢ã¯ã»ã¹ããã«ã¯ã``AnsibleModule`` ãã€ã³ã¹ã¿ã³ã¹åãã:attr:`AnsibleModule._selinux_special_fs` ã§ãªã¹ãã調ã¹ãŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:440
msgid "This replaces :attr:`ansible.module_utils.basic.SELINUX_SPECIAL_FS` from :ref:`module_replacer`. In module replacer it was a comma separated string of filesystem names. Under Ansiballz it's an actual list."
msgstr "ããã«ããã:ref:`module_replacer` ã® :attr:`ansible.module_utils.basic.SELINUX_SPECIAL_FS` ã眮ãæããŸããã¢ãžã¥ãŒã«çœ®æã¯ããã¡ã€ã«åã®ã³ã³ãåºåãã®æååã§ãããAnsiballz ã¯ãå®éã®ãªã¹ãã«ãªããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:447
msgid "_ansible_syslog_facility"
msgstr "_ansible_syslog_facility"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:449
msgid "This parameter controls which syslog facility Ansible module logs to. To set, change the ``syslog_facility`` value in :file:`ansible.cfg`. Most modules should just use :meth:`AnsibleModule.log` which will then make use of this. If a module has to use this on its own, it should instantiate an `AnsibleModule` and then retrieve the name of the syslog facility from :attr:`AnsibleModule._syslog_facility`. The Ansiballz code is less hacky than the old :ref:`module_replacer` code:"
msgstr "ãã®ãã©ã¡ãŒã¿ãŒã¯ãAnsible ã¢ãžã¥ãŒã«ãã©ã® syslog æ©èœã«ãã°ãèšé²ããããå¶åŸ¡ããŸããèšå®ããã«ã¯ã:file:`ansible.cfg` ã® ``syslog_facility`` ã®å€ãå€æŽããŸããå€ãã®ã¢ãžã¥ãŒã«ã¯ããããå©çšãã :meth:`AnsibleModule.log` ã®ã¿ã䜿çšããå¿
èŠããããŸããã¢ãžã¥ãŒã«ãç¬èªã«ããã䜿çšããå¿
èŠãããå Žåã¯ã`AnsibleModule` ãã€ã³ã¹ã¿ã³ã¹åããŠã:attr:`AnsibleModule._syslog_facility` ãã syslog æ©èœã®ååãååŸããå¿
èŠããããŸããAnsiballz ã³ãŒãã¯å€ã :ref:`module_replacer` ã³ãŒãããããããã³ã°ãããŸããã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:470
msgid "_ansible_version"
msgstr "_ansible_version"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:472
msgid "This parameter passes the version of Ansible that runs the module. To access it, a module should instantiate an `AnsibleModule` and then retrieve it from :attr:`AnsibleModule.ansible_version`. This replaces :attr:`ansible.module_utils.basic.ANSIBLE_VERSION` from :ref:`module_replacer`."
msgstr "ãã®ãã©ã¡ãŒã¿ãŒã¯ãã¢ãžã¥ãŒã«ãå®è¡ãã Ansible ã®ããŒãžã§ã³ãæž¡ããŸããããã«ã¢ã¯ã»ã¹ããããã«ãã¢ãžã¥ãŒã«ã¯ `AnsibleModule` ãã€ã³ã¹ã¿ã³ã¹åãã:attr:`AnsibleModule.ansible_version` ããååŸããå¿
èŠããããŸããããã¯ã:ref:`module_replacer` ã® :attr:`ansible.module_utils.basic.ANSIBLE_VERSION` ã眮ãæããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:484
msgid "Module return values & Unsafe strings"
msgstr "ã¢ãžã¥ãŒã«æ»ãå€ãšå®å
šã§ãªãæåå"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:486
msgid "At the end of a module's execution, it formats the data that it wants to return as a JSON string and prints the string to its stdout. The normal action plugin receives the JSON string, parses it into a Python dictionary, and returns it to the executor."
msgstr "ã¢ãžã¥ãŒã«ã®å®è¡ã®æåŸã«ãè¿ãããããŒã¿ã JSON æååãšããŠåœ¢åŒåãããã®æååãæšæºåºå (stdout) ã«åºåããŸããéåžžã® action ãã©ã°ã€ã³ã¯ JSON æååãåãåããPython ãã£ã¯ã·ã§ããªãŒã«è§£æããŠãšã¯ãŒãã¥ãŒã¿ãŒã«è¿ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:488
msgid "If Ansible templated every string return value, it would be vulnerable to an attack from users with access to managed nodes. If an unscrupulous user disguised malicious code as Ansible return value strings, and if those strings were then templated on the controller, Ansible could execute arbitrary code. To prevent this scenario, Ansible marks all strings inside returned data as ``Unsafe``, emitting any Jinja2 templates in the strings verbatim, not expanded by Jinja2."
msgstr "Ansible ããã¹ãŠã®æååã®æ»ãå€ããã³ãã¬ãŒãåãããšã管çããŒãã«ã¢ã¯ã»ã¹ã§ãããŠãŒã¶ãŒããã®æ»æã«å¯ŸããŠè匱ã«ãªããŸããæªæã®ãããŠãŒã¶ãŒãæªæã®ããã³ãŒãã Ansible ã®æ»ãå€ã®æååãšããŠåœè£
ãããã®ãããªæååãã³ã³ãããŒã©ãŒäžã§ãã³ãã¬ãŒãåããããšãAnsible ãä»»æã®ã³ãŒããå®è¡ããå¯èœæ§ããããŸãããã®ã·ããªãªãé²ãããã«ãAnsible ã¯æ»ãå€ã®ããŒã¿å
ã®ãã¹ãŠã®æååã ``Unsafe`` ãšè¡šç€ºããæååå
ã® Jinja2 ãã³ãã¬ãŒãã Jinja2 ã§å±éããã«ãã®ãŸãŸãšãããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:490
msgid "Strings returned by invoking a module through ``ActionPlugin._execute_module()`` are automatically marked as ``Unsafe`` by the normal action plugin. If another action plugin retrieves information from a module through some other means, it must mark its return data as ``Unsafe`` on its own."
msgstr "``ActionPlugin._execute_module()`` ãä»ããŠã¢ãžã¥ãŒã«ãåŒã³åºããŠè¿ãããæååã«ã¯ãéåžžã® action ãã©ã°ã€ã³ã«ãã£ãŠèªåçã« ``Unsafe`` ãšããããŒã¯ãä»ããŸããå¥ã® action ãã©ã°ã€ã³ãä»ã®æ¹æ³ã§ã¢ãžã¥ãŒã«ããæ
å ±ãååŸããå Žåã¯ããã® action ãã©ã°ã€ã³èªèº«ããã®æ»ãå€ã« ``Unsafe`` ãšè¡šç€ºããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:492
msgid "In case a poorly-coded action plugin fails to mark its results as \"Unsafe,\" Ansible audits the results again when they are returned to the executor, marking all strings as ``Unsafe``. The normal action plugin protects itself and any other code that it calls with the result data as a parameter. The check inside the executor protects the output of all other action plugins, ensuring that subsequent tasks run by Ansible will not template anything from those results either."
msgstr "äžé©åã«ã³ãŒãã£ã³ã°ããã action ãã©ã°ã€ã³ãçµæããUnsafeããšè¡šç€ºããªãã£ãå ŽåãAnsible ã¯ãšã°ãŒãã¥ãŒã¿ãŒã«è¿ãããéã«çµæãå床ç£æ»ãããã¹ãŠã®æååã ``Unsafe`` ãšè¡šç€ºããŸããéåžžã® action ãã©ã°ã€ã³ã¯ãèªèº«ãšãçµæããŒã¿ããã©ã¡ãŒã¿ãŒãšããŠåŒã³åºããã®ä»ã®ã³ãŒããä¿è·ããŸãããšã¯ãŒãã¥ãŒã¿å
ã®ãã§ãã¯ã¯ãä»ã®ãã¹ãŠã® action ãã©ã°ã€ã³ã®åºåãä¿è·ããAnsible ãå®è¡ããåŸç¶ã®ã¿ã¹ã¯ããããã®çµæããäœãããã³ãã¬ãŒãåããããšããªãããã«ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:498
msgid "Special considerations"
msgstr "ç¹å¥ãªèæ
®äºé
"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:503
msgid "Pipelining"
msgstr "ãã€ãã©ã€ã³"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:505
msgid "Ansible can transfer a module to a remote machine in one of two ways:"
msgstr "Ansible ã¯ã以äžã®ããããã®æ¹æ³ã§ãã¢ãžã¥ãŒã«ããªã¢ãŒããã·ã³ã«è»¢éã§ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:507
msgid "it can write out the module to a temporary file on the remote host and then use a second connection to the remote host to execute it with the interpreter that the module needs"
msgstr "ããã¯ããªã¢ãŒããã¹ãã®äžæãã¡ã€ã«ã«ã¢ãžã¥ãŒã«ãæžã蟌ãããšãã§ãã次ã«ãªã¢ãŒããã¹ããžã® 2 çªç®ã®æ¥ç¶ã䜿çšããŠãã¢ãžã¥ãŒã«ãå¿
èŠãšããã€ã³ã¿ãŒããªã¿ãŒã§ãããå®è¡ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:510
msgid "or it can use what's known as pipelining to execute the module by piping it into the remote interpreter's stdin."
msgstr "ãŸãã¯ããã€ãã©ã€ã³ãšåŒã°ãããã®ã䜿çšããŠãã¢ãžã¥ãŒã«ããªã¢ãŒãã€ã³ã¿ãŒããªã¿ãŒã® stdin ã«ãã€ãããããšã§ã¢ãžã¥ãŒã«ãå®è¡ã§ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:513
msgid "Pipelining only works with modules written in Python at this time because Ansible only knows that Python supports this mode of operation. Supporting pipelining means that whatever format the module payload takes before being sent over the wire must be executable by Python via stdin."
msgstr "ãã€ãã©ã€ã³åŠçã¯ãçŸæç¹ã§ã¯ Python ã§èšè¿°ãããã¢ãžã¥ãŒã«ã§ã®ã¿æ©èœããŸããããã¯ãPython ããã®æäœã¢ãŒãããµããŒãããŠããããšã®ã¿ã Ansible ãèªèããŠããããã§ãããã€ãã©ã€ã³åããµããŒããããšããããšã¯ãã¢ãžã¥ãŒã«ãã€ããŒãããããã¯ãŒã¯çµç±ã§éä¿¡ãããåã«åã圢åŒãäœã§ãããPython ã stdin ãä»ããŠå®è¡å¯èœã§ãªããã°ãªããªãããšãæå³ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:521
msgid "Why pass args over stdin?"
msgstr "æšæºå
¥å (stdin) ã§åŒæ°ãæž¡ãçç±"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:523
msgid "Passing arguments via stdin was chosen for the following reasons:"
msgstr "以äžã®çç±ã«ãããæšæºå
¥åã§åŒæ°ãæž¡ãããšãéžæãããŸããã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:525
msgid "When combined with :ref:`ANSIBLE_PIPELINING`, this keeps the module's arguments from temporarily being saved onto disk on the remote machine. This makes it harder (but not impossible) for a malicious user on the remote machine to steal any sensitive information that may be present in the arguments."
msgstr ":ref:`ANSIBLE_PIPELINING` ãšçµã¿åããããšãã¢ãžã¥ãŒã«ã®åŒæ°ããªã¢ãŒããã·ã³äžã®ãã£ã¹ã¯ã«äžæçã«ä¿åãããŸãŸã«ããŸããããã«ããããªã¢ãŒããã·ã³äžã®æªæã®ãããŠãŒã¶ãŒãåŒæ°ã«ååšããå¯èœæ§ã®ããæ©å¯æ
å ±ãçãã®ãå°é£ã«ãªããŸã (äžå¯èœã§ã¯ãããŸãã)ã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:529
msgid "Command line arguments would be insecure as most systems allow unprivileged users to read the full commandline of a process."
msgstr "ã»ãšãã©ã®ã·ã¹ãã ã§ã¯ãæš©éã®ãªããŠãŒã¶ãŒãããã»ã¹ã®ã³ãã³ãã©ã€ã³å
šäœãèªãããšãèš±å¯ãããŠãããããã³ãã³ãã©ã€ã³åŒæ°ã¯å®å
šã§ã¯ãããŸããã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:531
msgid "Environment variables are usually more secure than the commandline but some systems limit the total size of the environment. This could lead to truncation of the parameters if we hit that limit."
msgstr "ç°å¢å€æ°ã¯éåžžã³ãã³ãã©ã€ã³ããå®å
šã§ãããç°å¢ã®åèšãµã€ãºãå¶éããã·ã¹ãã ããããŸããããã«ããããã©ã¡ãŒã¿ãŒãäžéã«éãããšããã©ã¡ãŒã¿ãŒãåãæšãŠãããå¯èœæ§ããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:539
msgid "AnsibleModule"
msgstr "AnsibleModule"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:544
msgid "Argument spec"
msgstr "åŒæ°ã®ä»æ§"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:546
msgid "The ``argument_spec`` provided to ``AnsibleModule`` defines the supported arguments for a module, as well as their type, defaults and more."
msgstr "``AnsibleModule`` ã«æäŸããã ``argument_spec`` ã¯ãã¢ãžã¥ãŒã«ã§ãµããŒããããåŒæ°ããã®åãããã©ã«ããªã©ãå®çŸ©ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:548
msgid "Example ``argument_spec``:"
msgstr "``argument_spec`` ã®äŸ:"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:564
msgid "This section will discuss the behavioral attributes for arguments:"
msgstr "æ¬ã»ã¯ã·ã§ã³ã§ã¯ãåŒæ°ã®åäœå±æ§ã説æããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:568
msgid "``type`` allows you to define the type of the value accepted for the argument. The default value for ``type`` is ``str``. Possible values are:"
msgstr "``type`` ã§ã¯ãåŒæ°ã«åãå
¥ããããå€ã®åãå®çŸ©ã§ããŸãã``type`` ã®ããã©ã«ãå€ã¯ ``str`` ã§ããå¯èœãªå€ã¯æ¬¡ã®ãšããã§ãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:570
msgid "str"
msgstr "str"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:571
msgid "list"
msgstr "list"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:572
msgid "dict"
msgstr "dict"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:573
msgid "bool"
msgstr "bool"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:574
msgid "int"
msgstr "int"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:575
msgid "float"
msgstr "float"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:576
msgid "path"
msgstr "path"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:577
msgid "raw"
msgstr "raw"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:578
msgid "jsonarg"
msgstr "jsonarg"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:579
#: ../../rst/dev_guide/style_guide/index.rst:152
msgid "json"
msgstr "json"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:580
msgid "bytes"
msgstr "bytes"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:581
msgid "bits"
msgstr "bits"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:583
msgid "The ``raw`` type, performs no type validation or type casting, and maintains the type of the passed value."
msgstr "``raw`` åã§ãåã®æ€èšŒãåãã£ã¹ããè¡ãããæž¡ãããå€ã®åãä¿æããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:587
msgid "``elements`` works in combination with ``type`` when ``type='list'``. ``elements`` can then be defined as ``elements='int'`` or any other type, indicating that each element of the specified list should be of that type."
msgstr "``elements`` ã¯ã``type='list'`` ã®æã« ``type`` ãšçµã¿åãããŠåäœããŸãã``elements`` 㯠``elements='int'`` ãªã©ã®åã§å®çŸ©ããããšãã§ããæå®ããããªã¹ãã®åèŠçŽ ããã®åã§ããããšã瀺ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:591
msgid "The ``default`` option allows sets a default value for the argument for the scenario when the argument is not provided to the module. When not specified, the default value is ``None``."
msgstr "``default`` ãªãã·ã§ã³ã¯ãåŒæ°ãã¢ãžã¥ãŒã«ã«æäŸãããŠããªãå Žåã®ã·ããªãªã®åŒæ°ã®ããã©ã«ãå€ãèšå®ããŸããæå®ããªãå Žåãããã©ã«ãå€ã¯ ``None`` ã§ãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "fallback"
msgstr "fallback"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:595
msgid "``fallback`` accepts a ``tuple`` where the first argument is a callable (function) that will be used to perform the lookup, based on the second argument. The second argument is a list of values to be accepted by the callable."
msgstr "``fallback`` ã¯ã第 1 åŒæ°ã«ã第 2 åŒæ°ã«åºã¥ããŠæ€çŽ¢ãå®è¡ããã®ã«äœ¿çšãã callable (é¢æ°) ã® ``tuple`` ãåãå
¥ããŸãã2 ã€ç®ã®åŒæ°ã¯ãcallable ãªããžã§ã¯ãã«ãã£ãŠåãå
¥ããããå€ã®ãªã¹ãã§ãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:597
msgid "The most common callable used is ``env_fallback`` which will allow an argument to optionally use an environment variable when the argument is not supplied."
msgstr "æãäžè¬çã«äœ¿çšãããŠãã callable 㯠``env_fallback`` ã§ãããã¯åŒæ°ãèšå®ãããŠããªãå Žåã«ä»»æã§ç°å¢å€æ°ã䜿çšã§ããããã«ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:607
msgid "``choices`` accepts a list of choices that the argument will accept. The types of ``choices`` should match the ``type``."
msgstr "``choices`` ã¯ãåŒæ°ãåãå
¥ããéžæè¢ã®ãªã¹ããåãå
¥ããŸãã``choices`` ã®åã¯ã``type`` ãšäžèŽããŠããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:611
msgid "``required`` accepts a boolean, either ``True`` or ``False`` that indicates that the argument is required. When not specified, ``required`` defaults to ``False``. This should not be used in combination with ``default``."
msgstr "``required`` ããŒã«å€ (``True`` ãŸã㯠``False`` ã®ãããã) ãåãå
¥ããŸããããã¯ãåŒæ°ãå¿
èŠã§ããããšã瀺ããŠããŸããæå®ããªãå Žåã``required`` ã®ããã©ã«ã㯠``False`` ã«ãªããŸããããã¯ã``default`` ãšçµã¿åãããŠäœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "no_log"
msgstr "no_log"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:615
msgid "``no_log`` accepts a boolean, either ``True`` or ``False``, that indicates explicitly whether or not the argument value should be masked in logs and output."
msgstr "``no_log`` ã«ã¯ãåŒæ°ã®å€ããã°ãåºåã§ãã¹ã¯ãããã¹ããã©ãããæ瀺çã«ç€ºãããŒã«å€ (``True`` ãŸã㯠``False``) ã䜿çšã§ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:618
msgid "In the absence of ``no_log``, if the parameter name appears to indicate that the argument value is a password or passphrase (such as \"admin_password\"), a warning will be shown and the value will be masked in logs but **not** output. To disable the warning and masking for parameters that do not contain sensitive information, set ``no_log`` to ``False``."
msgstr "``no_log`` ããªãå Žåã¯ããã©ã¡ãŒã¿ãŒåããåŒæ°ã®å€ããã¹ã¯ãŒãããã¹ãã¬ãŒãºã§ããããšã瀺ããŠããããã«èŠããå Žå (ãadmin_passwordããªã©)ãèŠåã衚瀺ãããå€ã¯ãã°ã§ãã¹ã¯ãããŸããã**åºåãããŸãã**ãæ©å¯æ
å ±ãå«ãŸãªããã©ã¡ãŒã¿ãŒã®èŠåãšãã¹ãã³ã°ãç¡å¹ã«ããã«ã¯ã``no_log`` ã ``False`` ã«èšå®ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:622
msgid "``aliases`` accepts a list of alternative argument names for the argument, such as the case where the argument is ``name`` but the module accepts ``aliases=['pkg']`` to allow ``pkg`` to be interchangeably with ``name``"
msgstr "``aliases`` ã§ã¯ãåŒæ°ã®ä»£æ¿åŒæ°åã®ãªã¹ãã䜿çšã§ããŸããããšãã°ãåŒæ°ã¯ ``name`` ã§ãããã¢ãžã¥ãŒã«ã ``aliases=['pkg']`` ãåãä»ããŠã``pkg`` ã ``name`` ãšäºææ§ãæãããããã«ããŠããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:626
msgid "``options`` implements the ability to create a sub-argument_spec, where the sub options of the top level argument are also validated using the attributes discussed in this section. The example at the top of this section demonstrates use of ``options``. ``type`` or ``elements`` should be ``dict`` is this case."
msgstr "``options`` ã¯ãäžäœã¬ãã«ã®åŒæ°ã®ãµããªãã·ã§ã³ããã®ã»ã¯ã·ã§ã³ã§èª¬æããå±æ§ã䜿çšããŠæ€èšŒããã sub-argument_spec ãäœæããæ©èœãå®è£
ããŠããŸãããã®ã»ã¯ã·ã§ã³ã®åé ã«ããäŸã¯ã``options`` ã®äœ¿çšã瀺ããŠããŸããããã§ã¯ã``type`` ãŸã㯠``elements`` 㯠``dict`` ã§ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "apply_defaults"
msgstr "apply_defaults"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:630
msgid "``apply_defaults`` works alongside ``options`` and allows the ``default`` of the sub-options to be applied even when the top-level argument is not supplied."
msgstr "``apply_defaults`` ã¯ã``options`` ãšäžŠãã§åäœããäžäœã¬ãã«ã®åŒæ°ãæå®ãããŠããªãå Žåã§ããµããªãã·ã§ã³ã® ``ããã©ã«ã`` ãé©çšã§ããããã«ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:632
msgid "In the example of the ``argument_spec`` at the top of this section, it would allow ``module.params['top_level']['second_level']`` to be defined, even if the user does not provide ``top_level`` when calling the module."
msgstr "ãã®ã»ã¯ã·ã§ã³ã®åé ã«ãã ``argument_spec`` ã®äŸã§ã¯ããŠãŒã¶ãŒãã¢ãžã¥ãŒã«ãåŒã³åºããšãã« ``top_level`` ãæå®ããªãã£ãå Žåã§ãã``module.params['top_level']['second_level']`` ãå®çŸ©ã§ããããã«ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "removed_in_version"
msgstr "removed_in_version"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:636
msgid "``removed_in_version`` indicates which version of ansible-core or a collection a deprecated argument will be removed in. Mutually exclusive with ``removed_at_date``, and must be used with ``removed_from_collection``."
msgstr "``removed_in_version`` ã¯ãéæšå¥šã®åŒæ°ãåé€ããã ansible-core ãŸãã¯ã³ã¬ã¯ã·ã§ã³ã®ããŒãžã§ã³ã瀺ããŸãã``removed_at_date`` ã§çžäºã«æä»ãšãªãã``removed_from_collection`` ã§äœ¿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "removed_at_date"
msgstr "removed_at_date"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:650
msgid "``removed_at_date`` indicates that a deprecated argument will be removed in a minor ansible-core release or major collection release after this date. Mutually exclusive with ``removed_in_version``, and must be used with ``removed_from_collection``."
msgstr "``removed_at_date`` ã¯ãéæšå¥šã®åŒæ°ãããã®æ¥ä»ä»¥éã®ãã€ããŒãª ansible-core ãªãªãŒã¹ãŸãã¯ã¡ãžã£ãŒã³ã¬ã¯ã·ã§ã³ãªãªãŒã¹ã§åé€ãããããšã瀺ããŸãã``removed_in_version`` ãšçžäºã«æä»çã§ããã``removed_from_collection`` ãšäžç·ã«äœ¿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "removed_from_collection"
msgstr "removed_from_collection"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:664
msgid "Specifies which collection (or ansible-core) deprecates this deprecated argument. Specify ``ansible.builtin`` for ansible-core, or the collection's name (format ``foo.bar``). Must be used with ``removed_in_version`` or ``removed_at_date``."
msgstr "ãã®éæšå¥šã®åŒæ°ãéæšå¥šã«ããã³ã¬ã¯ã·ã§ã³ (ãŸã㯠ansible-core) ãæå®ããŸããansible-core ã«ã¯ ``ansible.builtin``ããŸãã¯ã³ã¬ã¯ã·ã§ã³ã®åå (``foo.bar`` ã®åœ¢åŒ) ãæå®ããŸãã``removed_in_version`` ãŸã㯠``removed_at_date`` ãšå
±ã«äœ¿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "deprecated_aliases"
msgstr "deprecated_aliases"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:668
msgid "Deprecates aliases of this argument. Must contain a list or tuple of dictionaries having some the following keys:"
msgstr "ãã®åŒæ°ã®ãšã€ãªã¢ã¹ãéæšå¥šã«ããŸãã以äžã®ããŒãæã€ãã£ã¯ã·ã§ããªãŒã®ãªã¹ããŸãã¯ã¿ãã«ãå«ãŸããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "name"
msgstr "name"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:672
msgid "The name of the alias to deprecate. (Required.)"
msgstr "éæšå¥šã«ãããšã€ãªã¢ã¹ã®åå (å¿
é )"
#: ../../rst/dev_guide/developing_program_flow_modules.rst
#: ../../rst/dev_guide/testing/sanity/update-bundled.rst
msgid "version"
msgstr "version"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:676
msgid "The version of ansible-core or the collection this alias will be removed in. Either ``version`` or ``date`` must be specified."
msgstr "ansible-coreããŸãã¯ãã®ãšã€ãªã¢ã¹ã¯åé€ãããã³ã¬ã¯ã·ã§ã³ã®ããŒãžã§ã³ã``version`` ãŸã㯠``date`` ã®ãããããæå®ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "date"
msgstr "date"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:680
msgid "The a date after which a minor release of ansible-core or a major collection release will no longer contain this alias.. Either ``version`` or ``date`` must be specified."
msgstr "ansible-core ã®ãã€ããŒãªãªãŒã¹ãŸãã¯ã¡ãžã£ãŒã³ã¬ã¯ã·ã§ã³ãªãªãŒã¹ã«ãã®ãšã€ãªã¢ã¹ãå«ãŸããªããªã£ãæ¥ä»ã``version`` ãŸã㯠``date`` ã®ãããããæå®ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "collection_name"
msgstr "collection_name"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:684
msgid "Specifies which collection (or ansible-core) deprecates this deprecated alias. Specify ``ansible.builtin`` for ansible-core, or the collection's name (format ``foo.bar``). Must be used with ``version`` or ``date``."
msgstr "ãã®éæšå¥šã®ãšã€ãªã¢ã¹ãéæšå¥šã«ããã³ã¬ã¯ã·ã§ã³ (ãŸã㯠ansible-core) ãæå®ããŸããansible-core ã«ã¯ ``ansible.builtin``ããŸãã¯ã³ã¬ã¯ã·ã§ã³ã®åå (``foo.bar`` ã®åœ¢åŒ) ãæå®ããŸãã``version`` ãŸã㯠``date`` ãšå
±ã«äœ¿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:686
msgid "Examples:"
msgstr "äŸ:"
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "mutually_exclusive"
msgstr "mutually_exclusive"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:710
msgid "If ``options`` is specified, ``mutually_exclusive`` refers to the sub-options described in ``options`` and behaves as in :ref:`argument_spec_dependencies`."
msgstr "``options`` ãæå®ãããšã``mutually_exclusive`` 㯠``options`` ã§èª¬æãããŠãããµããªãã·ã§ã³ãåç
§ãã:ref:`argument_spec_dependencies` ã®ããã«åäœããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "required_together"
msgstr "required_together"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:714
msgid "If ``options`` is specified, ``required_together`` refers to the sub-options described in ``options`` and behaves as in :ref:`argument_spec_dependencies`."
msgstr "``options`` ãæå®ãããšã``required_together`` 㯠``options`` ã§èª¬æãããŠãããµããªãã·ã§ã³ãåç
§ãã:ref:`argument_spec_dependencies` ã®ããã«åäœããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "required_one_of"
msgstr "required_one_of"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:718
msgid "If ``options`` is specified, ``required_one_of`` refers to the sub-options described in ``options`` and behaves as in :ref:`argument_spec_dependencies`."
msgstr "``options`` ãæå®ãããšã``required_one_of`` 㯠``options`` ã§èª¬æãããŠãããµããªãã·ã§ã³ãåç
§ãã:ref:`argument_spec_dependencies` ã®ããã«åäœããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "required_if"
msgstr "required_if"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:722
msgid "If ``options`` is specified, ``required_if`` refers to the sub-options described in ``options`` and behaves as in :ref:`argument_spec_dependencies`."
msgstr "``options`` ãæå®ãããšã``required_if`` 㯠``options`` ã§èª¬æãããŠãããµããªãã·ã§ã³ãåç
§ãã:ref:`argument_spec_dependencies` ã®ããã«åäœããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst
msgid "required_by"
msgstr "required_by"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:726
msgid "If ``options`` is specified, ``required_by`` refers to the sub-options described in ``options`` and behaves as in :ref:`argument_spec_dependencies`."
msgstr "``options`` ãæå®ãããšã``required_by`` 㯠``options`` ã§èª¬æãããŠãããµããªãã·ã§ã³ãåç
§ãã:ref:`argument_spec_dependencies` ã®ããã«åäœããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:732
msgid "Dependencies between module options"
msgstr "ã¢ãžã¥ãŒã«ãªãã·ã§ã³ã®äŸåé¢ä¿"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:734
msgid "The following are optional arguments for ``AnsibleModule()``:"
msgstr "以äžã¯ã``AnsibleModule()`` ã®ä»»æã®åŒæ°ã§ãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:750
msgid "Must be a sequence (list or tuple) of sequences of strings. Every sequence of strings is a list of option names which are mutually exclusive. If more than one options of a list are specified together, Ansible will fail the module with an error."
msgstr "æååã·ãŒã±ã³ã¹ã®ã·ãŒã±ã³ã¹ (ãªã¹ããŸãã¯ã¿ãã«) ã§ããæååã®ã·ãŒã±ã³ã¹ã¯çžäºæä»çãªãªãã·ã§ã³åã®ãªã¹ãã§ãããªã¹ãã®è€æ°ã®ãªãã·ã§ã³ãæå®ãããšãAnsible ã¯ãšã©ãŒãåºããŠã¢ãžã¥ãŒã«ã«å€±æããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:761
msgid "In this example, the options ``path`` and ``content`` must not specified at the same time. Also the options ``repository_url`` and ``repository_filename`` must not be specified at the same time. But specifying ``path`` and ``repository_url`` is accepted."
msgstr "ãã®äŸã§ã¯ã``path`` ãªãã·ã§ã³ãš ``content`` ãªãã·ã§ã³ã¯åæã«æå®ããªãã§ãã ããã``repository_url`` ãªãã·ã§ã³ãš ``repository_filename`` ãªãã·ã§ã³ãåæã«æå®ããããšã¯ã§ããŸããããã ãã``path`` ããã³ ``repository_url`` ãæå®ããããšã¯ã§ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:763
msgid "To ensure that precisely one of two (or more) options is specified, combine ``mutually_exclusive`` with ``required_one_of``."
msgstr "æ£ç¢ºã« 2 ã€ã®ãªãã·ã§ã³ (ãŸãã¯è€æ°ã®) ãªãã·ã§ã³ã®ãããããæå®ããããã«ããã«ã¯ã``mutually_exclusive`` ãš ``required_one_of`` ãçµã¿åãããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:767
msgid "Must be a sequence (list or tuple) of sequences of strings. Every sequence of strings is a list of option names which are must be specified together. If at least one of these options are specified, the other ones from the same sequence must all be present."
msgstr "æååã®ã·ãŒã±ã³ã¹ã®ã·ãŒã±ã³ã¹ (ãªã¹ããŸãã¯ã¿ãã«) ã§ããå¿
èŠããããŸããæååã®ãã¹ãŠã®ã·ãŒã±ã³ã¹ã¯ãäžç·ã«æå®ããå¿
èŠããããªãã·ã§ã³åã®ãªã¹ãã§ãããããã®ãªãã·ã§ã³ãå°ãªããšã 1 ã€æå®ãããŠããå Žåã¯ãåãã·ãŒã±ã³ã¹ã®ä»ã®ãªãã·ã§ã³ããã¹ãŠååšããŠããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:777
msgid "In this example, if one of the options ``file_path`` or ``file_hash`` is specified, Ansible will fail the module with an error if the other one is not specified."
msgstr "ãã®äŸã§ã¯ã``file_path`` ãŸã㯠``file_hash`` ã®ããããã®ãªãã·ã§ã³ãæå®ããä»ã®ãªãã·ã§ã³ãæå®ããŠããªããšãAnsible ã¯ãšã©ãŒãåºããŠã¢ãžã¥ãŒã«ã«å€±æããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:781
msgid "Must be a sequence (list or tuple) of sequences of strings. Every sequence of strings is a list of option names from which at least one must be specified. If none one of these options are specified, Ansible will fail module execution."
msgstr "æååã®ã·ãŒã±ã³ã¹ã®ã·ãŒã±ã³ã¹ (ãªã¹ããŸãã¯ã¿ãã«) ã§ããå¿
èŠããããŸããæååã®ãã¹ãŠã®ã·ãŒã±ã³ã¹ã¯ãå°ãªããšã 1 ã€ãæå®ããå¿
èŠããããªãã·ã§ã³åã®ãªã¹ãã§ãããããã®ãªãã·ã§ã³ãããããæå®ãããŠããªãå ŽåãAnsible ã¯ã¢ãžã¥ãŒã«ã®å®è¡ã«å€±æããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:791
msgid "In this example, at least one of ``path`` and ``content`` must be specified. If none are specified, execution will fail. Specifying both is explicitly allowed; to prevent this, combine ``required_one_of`` with ``mutually_exclusive``."
msgstr "ãã®äŸã§ã¯ã``path`` ããã³ ``content`` ã®ãããããæå®ããå¿
èŠããããŸããæå®ããªããšãå®è¡ã倱æããŸããäž¡æ¹ã®å€ãæå®ãããšãæ瀺çã«èš±å¯ãããŸãããããåé¿ããã«ã¯ã``required_one_of`` ãš ``mutually_exclusive`` ãçµã¿åãããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:795
msgid "Must be a sequence of sequences. Every inner sequence describes one conditional dependency. Every sequence must have three or four values. The first two values are the option's name and the option's value which describes the condition. The further elements of the sequence are only needed if the option of that name has precisely this value."
msgstr "äžé£ã®ã·ãŒã±ã³ã¹ã®ã·ãŒã±ã³ã¹ã§ããå¿
èŠããããŸãããã¹ãŠã®å
éšã·ãŒã±ã³ã¹ã§ã¯ãæ¡ä»¶ã®äŸåé¢ä¿ã 1 ã€èª¬æããŸãããã¹ãŠã®ã·ãŒã±ã³ã¹ã«ã¯ãå€ã 3 ã€ãŸã㯠4 ã€å¿
èŠã§ããæåã® 2 ã€ã®å€ã¯ããªãã·ã§ã³åãšããã®æ¡ä»¶ã説æãããªãã·ã§ã³ã®å€ã§ããã·ãŒã±ã³ã¹ã®è¿œå èŠçŽ ã¯ããã®ååã®ãªãã·ã§ã³ãæ£ç¢ºã«ãã®å€ãæã£ãŠããå Žåã«ã®ã¿å¿
èŠã§ãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:797
msgid "If you want that all options in a list of option names are specified if the condition is met, use one of the following forms:"
msgstr "æ¡ä»¶ãæºããããå Žåã«ãªãã·ã§ã³åã®ãªã¹ãå
ã®ãªãã·ã§ã³ããã¹ãŠæå®ããå Žåã¯ã次ã®ããããã®åœ¢åŒã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:804
msgid "If you want that at least one option of a list of option names is specified if the condition is met, use the following form:"
msgstr "æ¡ä»¶ãæºããããå Žåã«ãªãã·ã§ã³åã®äžèŠ§ã®ãªãã·ã§ã³ã 1 ã€ä»¥äžæå®ããå Žåã¯ã以äžã®åœ¢åŒã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:819
msgid "In this example, if the user specifies ``state=present``, at least one of the options ``path`` and ``content`` must be supplied (or both). To make sure that precisely one can be specified, combine ``required_if`` with ``mutually_exclusive``."
msgstr "ãã®äŸã§ã¯ããŠãŒã¶ãŒã ``state=present`` ãæå®ããŠããå Žåã¯ã``path`` ãš ``content`` ã®ãããã (ãŸãã¯äž¡æ¹) ã®ãªãã·ã§ã³ãæå®ããå¿
èŠããããŸããå¿
ãæå®ããããã«ããã«ã¯ã``required_if`` ãš ``mutually_exclusive`` ãçµã¿åãããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:821
msgid "On the other hand, if ``force`` (a boolean parameter) is set to ``true``, ``yes`` etc., both ``force_reason`` and ``force_code`` must be specified."
msgstr "äžæ¹ã``force`` (ããŒã«å€ãã©ã¡ãŒã¿ãŒ) ã ``true``ã``yes`` ãªã©ã«èšå®ãããŠããå Žåã¯ã``force_reason`` ãš ``force_code`` ã®äž¡æ¹ãæå®ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:825
msgid "Must be a dictionary mapping option names to sequences of option names. If the option name in a dictionary key is specified, the option names it maps to must all also be specified. Note that instead of a sequence of option names, you can also specify one single option name."
msgstr "ãªãã·ã§ã³åã®ã·ãŒã±ã³ã¹ãžã®ãã£ã¯ã·ã§ããªãŒãããã³ã°ãªãã·ã§ã³åã§ããå¿
èŠããããŸãããã£ã¯ã·ã§ããªãŒããŒã§ãªãã·ã§ã³åãæå®ãããšããã®ãªãã·ã§ã³åããã¹ãŠæå®ããå¿
èŠããããŸãããªãã·ã§ã³åã®ã·ãŒã±ã³ã¹ã®ä»£ããã«ããªãã·ã§ã³ã®ååã 1 ã€æå®ããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:836
msgid "In the example, if ``force`` is specified, ``force_reason`` must also be specified. Also, if ``path`` is specified, then three three options ``mode``, ``owner`` and ``group`` also must be specified."
msgstr "ãã®äŸã§ã¯ã``force`` ãæå®ãããŠããå Žåã¯ã``force_reason`` ãæå®ããå¿
èŠããããŸãããŸãã``path`` ãæå®ãããŠããå Žåã¯ã3 ã€ã®ãªãã·ã§ã³ ``mode``ã``owner``ãããã³ ``group`` ãæå®ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:839
msgid "Declaring check mode support"
msgstr "ãã§ãã¯ã¢ãŒãã®ãµããŒãã®å®£èš"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:841
msgid "To declare that a module supports check mode, supply ``supports_check_mode=True`` to the ``AnsibleModule()`` call:"
msgstr "ã¢ãžã¥ãŒã«ã確èªã¢ãŒãããµããŒãããããšã宣èšããã«ã¯ã``AnsibleModule()`` åŒã³åºãã« ``supports_check_mode=True`` ãæå®ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:847
msgid "The module can determine whether it is called in check mode by checking the boolean value ``module.check_mode``. If it evaluates to ``True``, the module must take care not to do any modification."
msgstr "ã¢ãžã¥ãŒã«ã¯ãããŒã«å€ ``module.check_mode`` ã確èªããããšã§ããã§ãã¯ã¢ãŒãã§åŒã³åºããããã©ãããå€æã§ããŸãã``True`` ã«è©äŸ¡ããå Žåãã¢ãžã¥ãŒã«ã¯å€æŽãè¡ããªãããã«ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:849
msgid "If ``supports_check_mode=False`` is specified, which is the default value, the module will exit in check mode with ``skipped=True`` and message ``remote module (<insert module name here>) does not support check mode``."
msgstr "``supports_check_mode=False`` ãæå®ãããŠããå Žå (ããã©ã«ãå€)ãã¢ãžã¥ãŒã«ã¯ãã§ãã¯ã¢ãŒã㧠``skipped=True`` ããã³ ``remote module (<insert module name here>) does not support check mode`` ã¡ãã»ãŒãžã§çµäºããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:852
msgid "Adding file options"
msgstr "ãã¡ã€ã«ãªãã·ã§ã³ã®è¿œå "
#: ../../rst/dev_guide/developing_program_flow_modules.rst:854
msgid "To declare that a module should add support for all common file options, supply ``add_file_common_args=True`` to the ``AnsibleModule()`` call:"
msgstr "ã¢ãžã¥ãŒã«ããã¹ãŠã®å
±éãã¡ã€ã«ãªãã·ã§ã³ã®ãµããŒããè¿œå ããããšã宣èšããã«ã¯ã``add_file_common_args=True`` ã ``AnsibleModule()`` åŒã³åºãã«æå®ããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:860
msgid "You can find `a list of all file options here <https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/doc_fragments/files.py>`_. It is recommended that you make your ``DOCUMENTATION`` extend the doc fragment ``ansible.builtin.files`` (see :ref:`module_docs_fragments`) in this case, to make sure that all these fields are correctly documented."
msgstr "`ããã§ããã¡ã€ã«ãªãã·ã§ã³ã®äžèŠ§ <https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/doc_fragments/files.py>`_ ã確èªã§ããŸããä»åã¯ã``DOCUMENTATION`` ãããã¥ã¡ã³ããã©ã°ã¡ã³ã ``ansible.builtin.files`` (:ref:`module_docs_fragments` ãåç
§) ãæ¡åŒµãããããã®ãã£ãŒã«ãããã¹ãŠæ£ããææžåãããŠããããšã確èªããããšãæšå¥šãããŸãã"
#: ../../rst/dev_guide/developing_program_flow_modules.rst:862
msgid "The helper functions ``module.load_file_common_arguments()`` and ``module.set_fs_attributes_if_different()`` can be used to handle these arguments for you:"
msgstr "ãã«ããŒé¢æ° ``module.load_file_common_arguments()`` ããã³ ``module.set_fs_attributes_if_different()`` ã䜿çšããŠã以äžã®åŒæ°ãæ±ãããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:5
msgid "Ansible and Python 3"
msgstr "Ansible ããã³ Python 3"
#: ../../rst/dev_guide/developing_python_3.rst:7
msgid "The ``ansible-core`` code runs Python 3 (for specific versions check :ref:`Control Node Requirements <control_node_requirements>` Contributors to ``ansible-core`` and to Ansible Collections should be aware of the tips in this document so that they can write code that will run on the same versions of Python as the rest of Ansible."
msgstr "``ansible-core`` ã³ãŒã㯠Python3 ãå®è¡ããŸã (ç¹å®ã®ããŒãžã§ã³ã«ã€ããŠã¯:ref:`Control Node Requirements <control_node_requirements>` ã確èªããŠãã ãã)ã``ansible-core`` ããã³ Ansible ã³ã¬ã¯ã·ã§ã³ãžã®ã³ã³ããªãã¥ãŒã¿ãŒã¯ãæ®ãã® Ansible ãšåãããŒãžã§ã³ã® Python ã§å®è¡ãããã³ãŒããèšè¿°ã§ããããã«ããã®ããã¥ã¡ã³ãã«èšèŒãããŠãããã³ããææ¡ããŠããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:14
msgid "We do have some considerations depending on the types of Ansible code:"
msgstr "Ansible ã³ãŒãã®ã¿ã€ãã«ãã£ãŠã¯ãããã€ãã®èæ
®äºé
ããããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:16
msgid "controller-side code - code that runs on the machine where you invoke :command:`/usr/bin/ansible`, only needs to support the controller's Python versions."
msgstr "ã³ã³ãããŒã©ãŒåŽã®ã³ãŒã - :command:`/usr/bin/ansible` ãåŒã³åºããã·ã³ã§å®è¡ãããã³ãŒããã³ã³ãããŒã©ãŒã® Python ããŒãžã§ã³ã®ã¿ããµããŒãããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:17
msgid "modules - the code which Ansible transmits to and invokes on the managed machine. Modules need to support the 'managed node' Python versions, with some exceptions."
msgstr "ã¢ãžã¥ãŒã« - Ansible ã管ç察象ãã·ã³ã«éä¿¡ããŠåŒã³åºãã³ãŒããäžéšã®äŸå€ãé€ããã¢ãžã¥ãŒã«ã¯ã管ç察象ããŒããã® Python ããŒãžã§ã³ããµããŒãããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:18
msgid "shared ``module_utils`` code - the common code that is used by modules to perform tasks and sometimes used by controller-side code as well. Shared ``module_utils`` code needs to support the same range of Python as the modules."
msgstr "å
±æãããŠãã ``module_utils`` ã³ãŒã - ã¿ã¹ã¯ãå®è¡ããããã«ã¢ãžã¥ãŒã«ã䜿çšããäžè¬çãªã³ãŒãã§ãã³ã³ãããŒã©ãŒåŽã®ã³ãŒãã§äœ¿çšãããããšããããŸããå
±æãããŠãã ``module_utils`` ã³ãŒãã¯ãã¢ãžã¥ãŒã«ãšåãç¯å²ã® Python ããµããŒãããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:20
msgid "However, the three types of code do not use the same string strategy. If you're developing a module or some ``module_utils`` code, be sure to read the section on string strategy carefully."
msgstr "ãã ãããã® 3 çš®é¡ã®ã³ãŒãã§åãæååã¹ãã©ããžãŒã䜿çšãããŠããããã§ã¯ãããŸãããã¢ãžã¥ãŒã«ãŸãã¯ããã€ãã® ``module_utils`` ã³ãŒããéçºããŠããå Žåã¯ãæååã¹ãã©ããžãŒã®ã»ã¯ã·ã§ã³ã泚æããŠãèªã¿ãã ããã"
#: ../../rst/dev_guide/developing_python_3.rst:26
msgid "Minimum version of Python 3.x and Python 2.x"
msgstr "Python 3.x ããã³ Python 2.x ã®æå°ããŒãžã§ã³"
#: ../../rst/dev_guide/developing_python_3.rst:28
msgid "See :ref:`Control Node Requirements <control_node_requirements>` and :ref:`Managed Node Requirements <managed_node_requirements>` for the specific versions supported."
msgstr "ãµããŒã察象ã®ããŒãžã§ã³ã¯ã:ref:`Control Node Requirements <control_node_requirements>` ããã³ :ref:`Managed Node Requirements <managed_node_requirements>` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/developing_python_3.rst:31
msgid "Your custom modules can support any version of Python (or other languages) you want, but the above are the requirements for the code contributed to the Ansible project."
msgstr "ã«ã¹ã¿ã ã¢ãžã¥ãŒã«ã¯ãä»»æã®ããŒãžã§ã³ã® Python (ãŸãã¯ãã®ä»ã®èšèª) ããµããŒãã§ããŸãããäžèšã¯ Ansible ãããžã§ã¯ãã«æäŸãããã³ãŒãã®èŠä»¶ã§ãã"
#: ../../rst/dev_guide/developing_python_3.rst:34
msgid "Developing Ansible code that supports Python 2 and Python 3"
msgstr "Python 2 ããã³ Python 3 ããµããŒããã Ansible ã³ãŒãã®éçº"
#: ../../rst/dev_guide/developing_python_3.rst:36
msgid "The best place to start learning about writing code that supports both Python 2 and Python 3 is `Lennart Regebro's book: Porting to Python 3 <http://python3porting.com/>`_. The book describes several strategies for porting to Python 3. The one we're using is `to support Python 2 and Python 3 from a single code base <http://python3porting.com/strategies.html#python-2-and-python-3-without-conversion>`_"
msgstr "Python 2 ãš Python 3 ã®äž¡æ¹ããµããŒãããã³ãŒãã®èšè¿°ã«ã€ããŠåŠã³å§ããã®ã«æé©ãªã®ã¯ã`Lennart Regebro ã®èæž: Porting to Python 3 <http://python3porting.com/>`_ ã§ããæ¬æžã§ã¯ãPython 3 ã«ç§»æ€ããããã®ããã€ãã®ã¹ãã©ããžãŒã説æãããŠããŸããAnsible ã§äœ¿çšããŠããã®ã¯ã`åäžã®ã³ãŒãããŒã¹ãã Python 2 ããã³ Python 3 ããµããŒããããã <http://python3porting.com/strategies.html#python-2-and-python-3-without-conversion>`_ ã§ãã"
#: ../../rst/dev_guide/developing_python_3.rst:43
msgid "Understanding strings in Python 2 and Python 3"
msgstr "Python 2 ããã³ Python 3 ã®æååãç解"
#: ../../rst/dev_guide/developing_python_3.rst:45
msgid "Python 2 and Python 3 handle strings differently, so when you write code that supports Python 3 you must decide what string model to use. Strings can be an array of bytes (like in C) or they can be an array of text. Text is what we think of as letters, digits, numbers, other printable symbols, and a small number of unprintable \"symbols\" (control codes)."
msgstr "Python 2 ãš Python 3 ã§ã¯æååã®æ±ããç°ãªããããPython 3 ããµããŒãããã³ãŒããäœæãããšãã¯ãã©ã®ãããªæååã¢ãã«ã䜿çšãããã決ããå¿
èŠããããŸããæåå㯠(C èšèªã®ããã«) ãã€ãã®é
åã«ããããšãã§ããŸãããããã¹ãã®é
åã«ããããšãã§ããŸããããã§ã®ãããã¹ãããšã¯ãæåãæ°å (digit ãŸã㯠number)ããã®ä»ã®å°å·å¯èœãªèšå·ãããã³å°æ°ã®å°å·äžå¯èœãªãèšå·ã(å¶åŸ¡ã³ãŒã) ã«ãªããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:51
msgid "In Python 2, the two types for these (:class:`str <python:str>` for bytes and :func:`unicode <python:unicode>` for text) are often used interchangeably. When dealing only with ASCII characters, the strings can be combined, compared, and converted from one type to another automatically. When non-ASCII characters are introduced, Python 2 starts throwing exceptions due to not knowing what encoding the non-ASCII characters should be in."
msgstr "Python 2 ã§ã¯ããããã® 2 ã€ã®ã¿ã€ã (ãã€ãåäœã®å Žå㯠:class:`str <python:str>`ãããã¹ãã®å Žå㯠:func:`unicode <python:unicode>`) ãããã°ãã°åãæå³ã§äœ¿çšãããŸããASCII æåã®ã¿ãåŠçããå Žåã¯ãæååãçµã¿åãããŠæ¯èŒããããã¿ã€ãããå¥ã®ã¿ã€ãã«èªåçã«å€æã§ããŸããé ASCII æåãå°å
¥ããããšãPython 2 ã¯ãé ASCII æåãã©ã®ãšã³ã³ãŒãã£ã³ã°ã«å«ãŸããã¹ããããããªãããã«äŸå€ãåºåãå§ããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:58
msgid "Python 3 changes this behavior by making the separation between bytes (:class:`bytes <python3:bytes>`) and text (:class:`str <python3:str>`) more strict. Python 3 will throw an exception when trying to combine and compare the two types. The programmer has to explicitly convert from one type to the other to mix values from each."
msgstr "Python 3 ã¯ããã€ã (:class:`bytes <python3:bytes>`) ãšããã¹ã (:class:`str <python3:str>`) ãåé¢ããããšã§ãã®åäœãå€æŽããŸããPython 3 㯠2 ã€ã®ã¿ã€ãã®çµåãšæ¯èŒãè©Šã¿ãéã«äŸå€ãåºåãããŸããããã°ã©ããŒã¯ãããåããå¥ã®åã«å€æããæ··åšãããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:63
msgid "In Python 3 it's immediately apparent to the programmer when code is mixing the byte and text types inappropriately, whereas in Python 2, code that mixes those types may work until a user causes an exception by entering non-ASCII input. Python 3 forces programmers to proactively define a strategy for working with strings in their program so that they don't mix text and byte strings unintentionally."
msgstr "Python 3 ã§ã¯ãããã°ã©ããŒã¯ãã³ãŒãããã€ãåãšããã¹ãåãäžé©åã«æ··åããŠããããšãããã«åãããŸãããPython 2 ã§ã¯ããŠãŒã¶ãŒãé ASCII å
¥åãå
¥åããŠäŸå€ãçºçãããŸã§ã¯ããããã®åãæ··åããŠããã³ãŒããåäœãããããããŸãããPython 3 ã§ã¯ãããã°ã©ããŒãæå³ããã«ããã¹ãæååãšãã€ãæååãæ··åšãããªãããã«ãããã°ã©ã ã®äžã§æååãæ±ãããã®ã¹ãã©ããžãŒãç©æ¥µçã«å®çŸ©ããããšã匷å¶ããŠããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:69
msgid "Ansible uses different strategies for working with strings in controller-side code, in :ref: `modules <module_string_strategy>`, and in :ref:`module_utils <module_utils_string_strategy>` code."
msgstr "Ansible ã¯ã:ref:`modules <module_string_strategy>` ã³ãŒãããã³ :ref:`module_utils <module_utils_string_strategy>` ã³ãŒãã®ã³ã³ãããŒã©ãŒåŽã®ã³ãŒãã§æååãæäœããããã«ããŸããŸãªã¹ãã©ããžãŒã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:75
msgid "Controller string strategy: the Unicode Sandwich"
msgstr "ã³ã³ãããŒã©ãŒæååã¹ãã©ããžãŒ: Unicode Sandwich"
#: ../../rst/dev_guide/developing_python_3.rst:77
msgid "Until recently ``ansible-core`` supported Python 2.x and followed this strategy, known as the Unicode Sandwich (named after Python 2's :func:`unicode <python:unicode>` text type). For Unicode Sandwich we know that at the border of our code and the outside world (for example, file and network IO, environment variables, and some library calls) we are going to receive bytes. We need to transform these bytes into text and use that throughout the internal portions of our code. When we have to send those strings back out to the outside world we first convert the text back into bytes. To visualize this, imagine a 'sandwich' consisting of a top and bottom layer of bytes, a layer of conversion between, and all text type in the center."
msgstr "æè¿ãŸã§ã``ansible-core`` 㯠Python 2.x ããµããŒãããUnicode Sandwich (Python 2 ã® :func:`unicode <python:unicode>` ããã¹ãã¿ã€ãã«ç±æ¥ããåå) ãšåŒã°ããã¹ãã©ããžãŒã䜿çšããŠããŸãããUnicode Sandwich ã®å Žåã¯ãã³ãŒããšå€éšã®å¢ç (ãã¡ã€ã«ããããã¯ãŒã¯ã® IOãç°å¢å€æ°ãã©ã€ãã©ãªãŒã®åŒã³åºããªã©) ã§ãã€ããåä¿¡ããããšãããããŸãããããã®ãã€ããããã¹ãã«å€æããã³ãŒãã®å
éšå
šäœã§ããã䜿çšããå¿
èŠããããŸãããããã®æååãå€éšã«è¿ãå¿
èŠãããå Žåã¯ãæåã«ããã¹ãããã€ãã«å€æããŸããããã¯ãäžäžã«ãã€ãã®å±€ããã®éã«å€æã®å±€ããã®äžå€®ã«ãããã¹ãŠã®ããã¹ãã¿ã€ããããªãããµã³ãã€ããããæ³åããŠãã ããã"
#: ../../rst/dev_guide/developing_python_3.rst:87
msgid "For compatibility reasons you will see a bunch of custom functions we developed (``to_text``/``to_bytes``/``to_native``) and while Python 2 is not a concern anymore we will continue to use them as they apply for other cases that make dealing with unicode problematic."
msgstr "äºææ§ã®çç±ãããå€ãã®ã«ã¹ã¿ã é¢æ°(``to_text``/``to_bytes``/``to_native``) ãéçºãããŸãããPython 2 ã«é¢ããæžå¿µã¯ãªããªã£ããããUnicode ã®åŠçãåé¡ã«ãªããããªå¥ã®ã±ãŒã¹ã«é©çšããããããä»åŸãåŒãç¶ãããã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:91
msgid "While we will not be using it most of it anymore, the documentation below is still useful for those developing modules that still need to support both Python 2 and 3 simultaneouslly."
msgstr "ã»ãšãã©äœ¿çšããªããªããŸããã以äžã®ããã¥ã¡ã³ã㯠Python 2 ãš 3 ã®äž¡æ¹ãåæã«ãµããŒãããå¿
èŠãããã¢ãžã¥ãŒã«ãéçºããŠããå Žåã«åœ¹ç«ã¡ãŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:95
msgid "Unicode Sandwich common borders: places to convert bytes to text in controller code"
msgstr "Unicode Sandwich ã®å
±éã®å¢ç: ã³ã³ãããŒã©ãŒã³ãŒãã®ããã¹ãã«ãã€ããå€æããå Žæ"
#: ../../rst/dev_guide/developing_python_3.rst:97
msgid "This is a partial list of places where we have to convert to and from bytes when using the Unicode Sandwich string strategy. It's not exhaustive but it gives you an idea of where to watch for problems."
msgstr "ããã¯ãUnicode Sandwich æååã¹ãã©ããžãŒã®äœ¿çšæã«ããã€ããžããŸãã¯ãã€ãããå€æããå Žæã®éšåçãªãªã¹ãã§ãã網çŸ
çã§ã¯ãããŸããããåé¡ãç£èŠããå ŽæãããããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:102
msgid "Reading and writing to files"
msgstr "ãã¡ã€ã«ã®èªã¿åãããã³æžã蟌ã¿"
#: ../../rst/dev_guide/developing_python_3.rst:104
msgid "In Python 2, reading from files yields bytes. In Python 3, it can yield text. To make code that's portable to both we don't make use of Python 3's ability to yield text but instead do the conversion explicitly ourselves. For example:"
msgstr "Python 2 ã§ã¯ããã¡ã€ã«ããèªã¿åããšãã€ããçæãããŸããPython 3 ã§ã¯ãããã¹ããçæã§ããŸããäž¡æ¹ã«ç§»æ€å¯èœãªã³ãŒããäœæããããã«ãPython 3 ã®ããã¹ãçææ©èœãå©çšããã代ããã«èªèº«ã§æ瀺çã«å€æãè¡ããŸãã以äžã«äŸã瀺ããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:122
msgid "Much of Ansible assumes that all encoded text is UTF-8. At some point, if there is demand for other encodings we may change that, but for now it is safe to assume that bytes are UTF-8."
msgstr "Ansible ã®å€ãã¯ããšã³ã³ãŒããããããã¹ãããã¹ãŠ UTF-8 ã§ããããšãåæãšããŠããŸããå°æ¥å€æŽããããšããããããããŸããããçŸæç¹ã§ã¯ããã€ãã UTF-8 ã§ãããšèããŠåé¡ãããŸããã"
#: ../../rst/dev_guide/developing_python_3.rst:126
msgid "Writing to files is the opposite process:"
msgstr "ãã¡ã€ã«ãžã®æžã蟌ã¿ã¯ããã®éã®åŠçã§ãã"
#: ../../rst/dev_guide/developing_python_3.rst:135
msgid "Note that we don't have to catch :exc:`UnicodeError` here because we're transforming to UTF-8 and all text strings in Python can be transformed back to UTF-8."
msgstr "UTF-8 ã«å€æããŠããŠãPython ã®ãã¹ãæååããã¹ãŠ UTF-8 ã«æ»ãããããããã㧠:exc:`UnicodeError` ãååŸããå¿
èŠããªãããšã«æ³šæããŠãã ããã"
#: ../../rst/dev_guide/developing_python_3.rst:140
msgid "Filesystem interaction"
msgstr "ãã¡ã€ã«ã·ã¹ãã ã®çžäºäœçš"
#: ../../rst/dev_guide/developing_python_3.rst:142
msgid "Dealing with filenames often involves dropping back to bytes because on UNIX-like systems filenames are bytes. On Python 2, if we pass a text string to these functions, the text string will be converted to a byte string inside of the function and a traceback will occur if non-ASCII characters are present. In Python 3, a traceback will only occur if the text string can't be decoded in the current locale, but it's still good to be explicit and have code which works on both versions:"
msgstr "UNIX ç³»ã·ã¹ãã ã§ã¯ãã¡ã€ã«åã¯ãã€ãã§ããããããã¡ã€ã«åãæ±ãéã«ã¯ãã°ãã°ãã€ãã«æ»ãããšã«ãªããŸããPython 2 ã§ã¯ããããã®é¢æ°ã«ããã¹ãæååãæž¡ããšãããã¹ãæååã¯é¢æ°å
ã§ãã€ãæååã«å€æãããé ASCII æåãååšããå Žåã«ã¯ãã¬ãŒã¹ããã¯ãçºçããŸããPython 3 ã§ã¯ããã¬ãŒã¹ããã¯ã¯ããã¹ãæååãçŸåšã®ãã±ãŒã«ã§ãã³ãŒãã§ããªãå Žåã«ã®ã¿çºçããŸãããæ瀺çã«äž¡æ¹ã®ããŒãžã§ã³ã§åäœããã³ãŒããçšæããŠããããšãæšå¥šãããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:163
msgid "When you are only manipulating a filename as a string without talking to the filesystem (or a C library which talks to the filesystem) you can often get away without converting to bytes:"
msgstr "ãã¡ã€ã«ã·ã¹ãã (ãŸãã¯ãã¡ã€ã«ã·ã¹ãã ãšéä¿¡ãã C ã©ã€ãã©ãªãŒ) ãšéä¿¡ããã«ãã¡ã€ã«åãæååãšããŠæäœããã ãã®å Žåã¯ããã€ãã«å€æããå¿
èŠããªãããšããããããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:174
msgid "On the other hand, if the code needs to manipulate the filename and also talk to the filesystem, it can be more convenient to transform to bytes right away and manipulate in bytes."
msgstr "äžæ¹ãã³ãŒãããã¡ã€ã«åãæäœãããã¡ã€ã«ã·ã¹ãã ãšãããšãããå Žåã¯ãããã«ãã€ããã€ãã«å€æããŠé¡ãšåäœã§æäœããæ¹ã䟿å©ã§ãã"
#: ../../rst/dev_guide/developing_python_3.rst:178
msgid "Make sure all variables passed to a function are the same type. If you're working with something like :func:`python3:os.path.join` which takes multiple strings and uses them in combination, you need to make sure that all the types are the same (either all bytes or all text). Mixing bytes and text will cause tracebacks."
msgstr "é¢æ°ã«æž¡ããããã¹ãŠã®å€æ°ãåãã¿ã€ãã§ããããšã確èªããŸãã:func:`python3:os.path.join` ã®ããã«ãè€æ°ã®æååãååŸãããããã®å€æ°ãçµã¿åãããŠäœ¿çšããå Žåã¯ããã¹ãŠã®ã¿ã€ããåã (ãã¹ãŠã®ãã€ããŸãã¯ãã¹ãŠã®ããã¹ãã®ãããã) ã«ãªãããã«ããå¿
èŠããããŸãããã€ããšããã¹ããæ··åšããããšããã¬ãŒã¹ããã¯ãçºçããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:185
msgid "Interacting with other programs"
msgstr "ä»ã®ããã°ã©ã ãšã®çžäºäœçš"
#: ../../rst/dev_guide/developing_python_3.rst:187
msgid "Interacting with other programs goes through the operating system and C libraries and operates on things that the UNIX kernel defines. These interfaces are all byte-oriented so the Python interface is byte oriented as well. On both Python 2 and Python 3, byte strings should be given to Python's subprocess library and byte strings should be expected back from it."
msgstr "ä»ã®ããã°ã©ã ãšã®å¯Ÿè©±ã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãš C ã©ã€ãã©ãªãŒãçµç±ããŠãUNIX ã«ãŒãã«ãå®çŸ©ãããã®ãæäœããŸãããããã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯ãã¹ãŠãã€ãæåã§ãããããPython ã€ã³ã¿ãŒãã§ãŒã¹ããã€ãæåã§ããPython 2 ãš Python3 ã®äž¡æ¹ã§ããã€ãæåå㯠Python ã®ãµãããã»ã¹ã©ã€ãã©ãªãŒã«æž¡ããããã€ãæååã¯ããããè¿ãããããšãæåŸ
ãããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:193
msgid "One of the main places in Ansible's controller code that we interact with other programs is the connection plugins' ``exec_command`` methods. These methods transform any text strings they receive in the command (and arguments to the command) to execute into bytes and return stdout and stderr as byte strings Higher level functions (like action plugins' ``_low_level_execute_command``) transform the output into text strings."
msgstr "Ansible ã®ã³ã³ãããŒã©ãŒã³ãŒãã§ä»ã®ããã°ã©ã ãšããåãããäž»ãªå Žæã® 1 ã€ã¯ãconnection ãã©ã°ã€ã³ã® ``exec_command`` ã¡ãœããã§ãããããã®ã¡ãœããã¯ãã³ãã³ãã§åãåã£ãããã¹ãæåå (ããã³ã³ãã³ããžã®åŒæ°) ããã€ãã«å€æããstdout ãš stderr ããã€ãæååãšããŠè¿ããŸãã(ã¢ã¯ã·ã§ã³ãã©ã°ã€ã³ã® ``_low_level_execute_command`` ã®ããã«) é«ã¬ãã«ã®é¢æ°åºåãããã¹ãæååã«å€æããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:203
msgid "Module string strategy: Native String"
msgstr "ã¢ãžã¥ãŒã«æååã¹ãã©ããžãŒ: ãã€ãã£ãæåå"
#: ../../rst/dev_guide/developing_python_3.rst:205
msgid "In modules we use a strategy known as Native Strings. This makes things easier on the community members who maintain so many of Ansible's modules, by not breaking backwards compatibility by mandating that all strings inside of modules are text and converting between text and bytes at the borders."
msgstr "ã¢ãžã¥ãŒã«ã§ã¯ããã€ãã£ãæååãšåŒã°ããã¹ãã©ããžãŒãæ¡çšããŠããŸããããã«ãããAnsible ã®å€ãã®ã¢ãžã¥ãŒã«ãä¿å®ããŠããã³ãã¥ããã£ãŒã¡ã³ããŒã¯ãã¢ãžã¥ãŒã«å
ã®ãã¹ãŠã®æååãããã¹ãã§ããããšã矩åä»ããããå¢çã§ããã¹ããšãã€ãã®éãå€æãããããããšã§ãåŸæ¹äºææ§ãå£ããªãããã«ããŠããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:211
msgid "Native strings refer to the type that Python uses when you specify a bare string literal:"
msgstr "ãã€ãã£ãæååã¯ã裞ã®æååãªãã©ã«ãæå®ãããšãã« Python ã䜿çšããã¿ã€ããåç
§ããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:218
msgid "In Python 2, these are byte strings. In Python 3 these are text strings. Modules should be coded to expect bytes on Python 2 and text on Python 3."
msgstr "Python 2 ã§ã¯ããããã¯ãã€ãæååã§ããPython 3 ã§ã¯ããããã¯ããã¹ãæååã§ããPython 2 ã§ã¯ãã€ããããã³ Python 3 ã§ã¯ããã¹ããæåŸ
ããããã«ã³ãŒãåãããŠããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:224
msgid "Module_utils string strategy: hybrid"
msgstr "Module_utils æååã¹ãã©ããžãŒ: ãã€ããªãã"
#: ../../rst/dev_guide/developing_python_3.rst:226
msgid "In ``module_utils`` code we use a hybrid string strategy. Although Ansible's ``module_utils`` code is largely like module code, some pieces of it are used by the controller as well. So it needs to be compatible with modules and with the controller's assumptions, particularly the string strategy. The module_utils code attempts to accept native strings as input to its functions and emit native strings as their output."
msgstr "``module_utils`` ã³ãŒãã§ã¯ããã€ããªãããªæååã¹ãã©ããžãŒãæ¡çšããŸããAnsible ã® ``module_utils`` ã³ãŒãã¯ã倧éšåãã¢ãžã¥ãŒã«ã³ãŒãã®ãããªãã®ã§ããããã®äžéšã¯ã³ã³ãããŒã©ãŒã§ã䜿çšãããŸãããã®ãããã¢ãžã¥ãŒã«ãã³ã³ãããŒã©ã®åææ¡ä»¶ãšã®äºææ§ãç¹ã«æååã¹ãã©ããžãŒãšã®äºææ§ãå¿
èŠã«ãªããŸããmodule_utils ã³ãŒãã¯ããã®é¢æ°ãžã®å
¥åãšããŠãã€ãã£ãæååãåãå
¥ãããã®åºåãšããŠãã€ãã£ãæååãåºåããããšããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:233
msgid "In ``module_utils`` code:"
msgstr "``module_utils`` ã³ãŒãã®å Žå:"
#: ../../rst/dev_guide/developing_python_3.rst:235
msgid "Functions **must** accept string parameters as either text strings or byte strings."
msgstr "é¢æ°ã¯ãæååãã©ã¡ãŒã¿ãŒãããã¹ãæååãŸãã¯ãã€ãæååã®ããããã§äœ¿çšã§ããããã«ãã **å¿
èŠããããŸã**ã"
#: ../../rst/dev_guide/developing_python_3.rst:236
msgid "Functions may return either the same type of string as they were given or the native string type for the Python version they are run on."
msgstr "é¢æ°ã¯ãæäŸãããæååãšåãã¿ã€ãã®æååãè¿ãããå®è¡ããŠãã Python ã®ããŒãžã§ã³ã«åããããã€ãã£ãã®æåååãè¿ãããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:237
msgid "Functions that return strings **must** document whether they return strings of the same type as they were given or native strings."
msgstr "æååãè¿ãé¢æ°ã¯ãæå®ã®æååãšåãåã®æååãè¿ãã®ãããã€ãã£ãã®æååãè¿ãã®ããææžåãã **å¿
èŠããããŸã**ã"
#: ../../rst/dev_guide/developing_python_3.rst:239
msgid "Module-utils functions are therefore often very defensive in nature. They convert their string parameters into text (using ``ansible.module_utils.common.text.converters.to_text``) at the beginning of the function, do their work, and then convert the return values into the native string type (using ``ansible.module_utils.common.text.converters.to_native``) or back to the string type that their parameters received."
msgstr "ãããã£ãŠãmodule_utils é¢æ°ã¯ãæ¬è³ªçã«éåžžã«é²åŸ¡çã§ããããšããããããŸãããã®é¢æ°ã¯ãé¢æ°ã®å
é 㧠(``ansible.module_utils.common.text.converters.to_text`` ã䜿çšããŠ) æååãã©ã¡ãŒã¿ãŒãããã¹ãã«å€æããäœæ¥ãè¡ãã(``ansible.module_utils.common.text.converters.to_native`` ã䜿çšããŠ) æ»ãå€ããã€ãã£ãã®æåååã«å€æããŸãããŸãã¯ããã©ã¡ãŒã¿ãŒãåãåã£ãæåååã«æ»ããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:246
msgid "Tips, tricks, and idioms for Python 2/Python 3 compatibility"
msgstr "Python 2/Python 3 äºæã®ããã®ãã³ããããªãã¯ãããã³ã€ãã£ãªã "
#: ../../rst/dev_guide/developing_python_3.rst:249
msgid "Use forward-compatibility boilerplate"
msgstr "åæ¹äºææ§ã®ãã boilerplate ã®äœ¿çš"
#: ../../rst/dev_guide/developing_python_3.rst:251
msgid "Use the following boilerplate code at the top of all python files to make certain constructs act the same way on Python 2 and Python 3:"
msgstr "Python 2 ãš Python 3 ã§ç¹å®ã®æ§æèŠçŽ ãåãããã«åäœããããã«ããããã«ããã¹ãŠã® python ãã¡ã€ã«ã®å
é ã«ä»¥äžã® boilerplate ã³ãŒãã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/developing_python_3.rst:260
msgid "``__metaclass__ = type`` makes all classes defined in the file into new-style classes without explicitly inheriting from :class:`object <python3:object>`."
msgstr "``__metaclass__ = type`` ã¯ããã¡ã€ã«ã§å®çŸ©ãããŠãããã¹ãŠã®ã¯ã©ã¹ã :class:`object <python3:object>` ããæ瀺çã«ç¶æ¿ããããšãªããæ°ããã¹ã¿ã€ã«ã®ã¯ã©ã¹ã«ããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:263
msgid "The ``__future__`` imports do the following:"
msgstr "``__future__`` ã®ã€ã³ããŒãã¯ä»¥äžãè¡ããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst
#: ../../rst/dev_guide/testing/sanity/future-import-boilerplate.rst:16
msgid "absolute_import"
msgstr "absolute_import"
#: ../../rst/dev_guide/developing_python_3.rst:265
msgid "Makes imports look in :data:`sys.path <python3:sys.path>` for the modules being imported, skipping the directory in which the module doing the importing lives. If the code wants to use the directory in which the module doing the importing, there's a new dot notation to do so."
msgstr "ã€ã³ããŒãã¯ãã€ã³ããŒããããã¢ãžã¥ãŒã«ã® :data:`sys.path <python3:sys.path>` ãæ€çŽ¢ããã€ã³ããŒããè¡ãã¢ãžã¥ãŒã«ãååšãããã£ã¬ã¯ããªãŒãã¹ãããããŸããã€ã³ããŒããè¡ãã¢ãžã¥ãŒã«ãååšãããã£ã¬ã¯ããªãŒãã³ãŒãã䜿çšãããå Žåã¯ãæ°ãããããè¡šèšããããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst
#: ../../rst/dev_guide/testing/sanity/future-import-boilerplate.rst:31
msgid "division"
msgstr "division"
#: ../../rst/dev_guide/developing_python_3.rst:269
msgid "Makes division of integers always return a float. If you need to find the quotient use ``x // y`` instead of ``x / y``."
msgstr "æŽæ°ã®é€ç®ãåžžã«æµ®åå°æ°ç¹ãè¿ãããã«ãªããŸããåãèŠã€ããå¿
èŠãããå Žåã¯ã``x / y`` ã®ä»£ããã« ``x // y`` ã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/developing_python_3.rst
#: ../../rst/dev_guide/testing/sanity/future-import-boilerplate.rst:43
msgid "print_function"
msgstr "print_function"
#: ../../rst/dev_guide/developing_python_3.rst:271
msgid "Changes :func:`print <python3:print>` from a keyword into a function."
msgstr "ããŒã¯ãŒãããé¢æ°ãžã® :func:`print <python3:print>` ã®å€æŽ"
#: ../../rst/dev_guide/developing_python_3.rst:274
msgid "`PEP 0328: Absolute Imports <https://www.python.org/dev/peps/pep-0328/#guido-s-decision>`_"
msgstr "`PEP 0328: Absolute Imports <https://www.python.org/dev/peps/pep-0328/#guido-s-decision>`_"
#: ../../rst/dev_guide/developing_python_3.rst:275
msgid "`PEP 0238: Division <https://www.python.org/dev/peps/pep-0238>`_"
msgstr "`PEP 0238: Division <https://www.python.org/dev/peps/pep-0238>`_"
#: ../../rst/dev_guide/developing_python_3.rst:276
msgid "`PEP 3105: Print function <https://www.python.org/dev/peps/pep-3105>`_"
msgstr "`PEP 3105: Print function <https://www.python.org/dev/peps/pep-3105>`_"
#: ../../rst/dev_guide/developing_python_3.rst:279
msgid "Prefix byte strings with ``b_``"
msgstr "ãã€ãæååã®ãã¬ãã£ãã¯ã¹: ``b_``"
#: ../../rst/dev_guide/developing_python_3.rst:281
msgid "Since mixing text and bytes types leads to tracebacks we want to be clear about what variables hold text and what variables hold bytes. We do this by prefixing any variable holding bytes with ``b_``. For instance:"
msgstr "ããã¹ãåãšãã€ãåãæ··åšãããšãã¬ãŒã¹ããã¯ãçºçãããããã©ã®å€æ°ãããã¹ããä¿æããŠããŠãã©ã®å€æ°ããã€ããä¿æããŠããããæ確ã«ããŸããããã¯ããã€ããä¿æããå€æ°ã«ã¯ã``b_`` ããã¬ãã£ãã¯ã¹ãšããŠäœ¿çšããŸãã以äžã«äŸã瀺ããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:292
msgid "We do not prefix the text strings instead because we only operate on byte strings at the borders, so there are fewer variables that need bytes than text."
msgstr "代ããã«ãããŒããŒã®ãã€ãæååã§ã®ã¿åäœããããããã¹ãæååã¯ãã¬ãã£ãã¯ã¹ãšããŠä»ããããŸããããããã£ãŠãããã¹ãæååã®åã«ãã€ãå€ãå¿
èŠãªå€æ°ãå°ãªããªããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:297
msgid "Import Ansible's bundled Python ``six`` library"
msgstr "Ansible ã®ãã³ãã«ããã Python ``six`` ã©ã€ãã©ãªãŒãã€ã³ããŒã"
#: ../../rst/dev_guide/developing_python_3.rst:299
msgid "The third-party Python `six <https://pypi.org/project/six/>`_ library exists to help projects create code that runs on both Python 2 and Python 3. Ansible includes a version of the library in module_utils so that other modules can use it without requiring that it is installed on the remote system. To make use of it, import it like this:"
msgstr "ãµãŒãããŒãã£ãŒã® Python `six <https://pypi.org/project/six/>`_ ã©ã€ãã©ãªãŒã¯ããããžã§ã¯ãã Python 2 ããã³ Python 3 ã®äž¡æ¹ã§å®è¡ããã³ãŒããäœæããã®ã«åœ¹ç«ã¡ãŸããAnsible ã«ã¯ãmodule_utils ã«ã©ã€ãã©ãªãŒã®ããŒãžã§ã³ãå«ãŸããä»ã®ã¢ãžã¥ãŒã«ããªã¢ãŒãã·ã¹ãã ã«ã€ã³ã¹ããŒã«ãããªããŠã䜿çšå¯èœãšãªãããã«ãªã£ãŠããŸããããã䜿çšããŠã以äžã®ããã«ã€ã³ããŒãããŠãã ããã"
#: ../../rst/dev_guide/developing_python_3.rst:309
msgid "Ansible can also use a system copy of six"
msgstr "Ansible ã¯ãsix ã®ã·ã¹ãã ã³ããŒã䜿çšããããšãã§ããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:311
msgid "Ansible will use a system copy of six if the system copy is a later version than the one Ansible bundles."
msgstr "Ansible ã¯ãã·ã¹ãã ã³ããŒããAnsible ããã³ãã«ããŠãããã®ãããåŸã®ããŒãžã§ã³ã®ãã®ã§ããã°ãsix ã®ã·ã¹ãã ã³ããŒã䜿çšããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:315
msgid "Handle exceptions with ``as``"
msgstr "``as`` ã§äŸå€ãåŠçããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:317
msgid "In order for code to function on Python 2.6+ and Python 3, use the new exception-catching syntax which uses the ``as`` keyword:"
msgstr "Python 2.6 以éããã³ Python 3 ã§ã³ãŒããæ©èœããã«ã¯ã``as`` ããŒã¯ãŒãã䜿çšããæ°ããäŸå€ãã£ããæ§æã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/developing_python_3.rst:327
msgid "Do **not** use the following syntax as it will fail on every version of Python 3:"
msgstr "以äžã®æ§æã¯ãPython 3 ã®ãã¹ãŠã®ããŒãžã§ã³ã§å€±æããããã**䜿çšããªãã§ãã ãã**ã"
#: ../../rst/dev_guide/developing_python_3.rst:338
msgid "Update octal numbers"
msgstr "8 é²æ°ã®æŽæ°"
#: ../../rst/dev_guide/developing_python_3.rst:340
msgid "In Python 2.x, octal literals could be specified as ``0755``. In Python 3, octals must be specified as ``0o755``."
msgstr "Python 2.x ã§ã¯ã8 é²æ°ãªãã©ã«ã¯ ``0755`` ãšæå®ã§ããŸãããPython 3 ã§ã¯ã8 é²æ°ã¯ ``0o755`` ãšæå®ããªããã°ãªããŸããã"
#: ../../rst/dev_guide/developing_python_3.rst:344
msgid "String formatting for controller code"
msgstr "ã³ã³ãããŒã©ãŒã³ãŒãã®æåå圢åŒ"
#: ../../rst/dev_guide/developing_python_3.rst:347
msgid "Use ``str.format()`` for Python 2.6 compatibility"
msgstr "Python 2.6 ã®äºææ§ã®ããã« ``str.format()`` ã®äœ¿çš"
#: ../../rst/dev_guide/developing_python_3.rst:349
msgid "Starting in Python 2.6, strings gained a method called ``format()`` to put strings together. However, one commonly used feature of ``format()`` wasn't added until Python 2.7, so you need to remember not to use it in Ansible code:"
msgstr "Python 2.6 以éãæååã«ã¯ãæååããŸãšãã ``format()`` ãšããååã®ã¡ãœãããè¿œå ãããŸããããã ãã``format()`` ã«äžè¬çã«äœ¿çšãããæ©èœã® 1 ã€ã¯ Python 2.7 ãŸã§è¿œå ãããªãã£ããããAnsible ã³ãŒãã§äœ¿çšããªãããã«æ³šæããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:361
msgid "Both of the format strings above map positional arguments of the ``format()`` method into the string. However, the first version doesn't work in Python 2.6. Always remember to put numbers into the placeholders so the code is compatible with Python 2.6."
msgstr "äžèšã®äž¡æ¹ã®åœ¢åŒæååã§ã¯ã``format()`` ã¡ãœããã®äœçœ®åŒæ°ãæååã«ãããã³ã°ããŸãããæåã®ããŒãžã§ã³ã¯ Python 2.6 ã§ã¯åäœããŸãããåžžã«æ°åããã¬ãŒã¹ãã«ããŒã«çœ®ããã³ãŒãã Python 2.6 ãšäºææ§ãæã€ããã«ããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:367
msgid "Python documentation on format strings:"
msgstr "ãã©ãŒãããæååã«é¢ããPythonã®ããã¥ã¡ã³ãïŒ"
#: ../../rst/dev_guide/developing_python_3.rst:369
msgid "`format strings in 2.6 <https://docs.python.org/2.6/library/string.html#formatstrings>`_"
msgstr "`format strings in 2.6 <https://docs.python.org/2.6/library/string.html#formatstrings>`_"
#: ../../rst/dev_guide/developing_python_3.rst:370
msgid "`format strings in 3.x <https://docs.python.org/3/library/string.html#formatstrings>`_"
msgstr "`format strings in 3.x <https://docs.python.org/3/library/string.html#formatstrings>`_"
#: ../../rst/dev_guide/developing_python_3.rst:373
msgid "Use percent format with byte strings"
msgstr "ãã€ãæååã§ã®ããŒã»ã³ãæžåŒã®äœ¿çš"
#: ../../rst/dev_guide/developing_python_3.rst:375
msgid "In Python 3.x, byte strings do not have a ``format()`` method. However, it does have support for the older, percent-formatting."
msgstr "Python 3.x ã§ã¯ããã€ãæååã« ``format()`` ã¡ãœããããããŸãããã以åã®ããŒã»ã³ã圢åŒããµããŒãããŸãã"
#: ../../rst/dev_guide/developing_python_3.rst:382
msgid "Percent formatting added in Python 3.5"
msgstr "Python 3.5 ã«è¿œå ãããããŒã»ã³ãæžåŒ"
#: ../../rst/dev_guide/developing_python_3.rst:384
msgid "Percent formatting of byte strings was added back into Python 3 in 3.5. This isn't a problem for us because Python 3.5 is our minimum version. However, if you happen to be testing Ansible code with Python 3.4 or earlier, you will find that the byte string formatting here won't work. Upgrade to Python 3.5 to test."
msgstr "Python 3 ã§ã¯ãPython 3.5 ã«ããã€ãæååã®ããŒã»ã³ãæžåŒãè¿œå ãããŸãããPython 3.5 ã¯æå°ããŒãžã§ã³ã§ãããããããã¯åé¡ã§ã¯ãããŸããããã ããPython 3.4 以åã®ããŒãžã§ã³ã§ Ansible ã®ã³ãŒãããã¹ãããŠããå Žåã¯ãããã§ã®ãã€ãæååã®æžåŒèšå®ãé©åã«åŠçãããªãããšããããŸãããã®å Žåã¯ãPython 3.5 ã«ã¢ããã°ã¬ãŒãããŠãã¹ãããŠãã ããã"
#: ../../rst/dev_guide/developing_python_3.rst:391
msgid "Python documentation on `percent formatting <https://docs.python.org/3/library/stdtypes.html#string-formatting>`_"
msgstr "`percent formatting <https://docs.python.org/3/library/stdtypes.html#string-formatting>`_ ã«é¢ãã Python ããã¥ã¡ã³ã"
#: ../../rst/dev_guide/developing_rebasing.rst:5
msgid "Rebasing a pull request"
msgstr "ãã«èŠæ±ã®ãªããŒã¹"
#: ../../rst/dev_guide/developing_rebasing.rst:7
msgid "You may find that your pull request (PR) is out-of-date and needs to be rebased. This can happen for several reasons:"
msgstr "ãã«èŠæ± (PR) ãå€ãããããªããŒã¹ãå¿
èŠã«ãªãå ŽåããããŸããããã«ã¯ããã€ãã®çç±ãèããããŸãã"
#: ../../rst/dev_guide/developing_rebasing.rst:9
msgid "Files modified in your PR are in conflict with changes which have already been merged."
msgstr "çºè¡ãã PR ã§å€æŽããããã¡ã€ã«ã¯ããã§ã«ããŒãžãããŠããå€æŽãšç«¶åããŠããŸãã"
#: ../../rst/dev_guide/developing_rebasing.rst:10
msgid "Your PR is old enough that significant changes to automated test infrastructure have occurred."
msgstr "çºè¡ãã PR ã¯ãèªååããããã¹ãã€ã³ãã©ã¹ãã©ã¯ãã£ãŒã«å€§å¹
ãªå€æŽãå ããããã»ã©å€ããã®ã§ãã"
#: ../../rst/dev_guide/developing_rebasing.rst:12
msgid "Rebasing the branch used to create your PR will resolve both of these issues."
msgstr "PR ãäœæããã®ã«äœ¿çšãããã©ã³ããåèšå®ãããšããã®äž¡æ¹ã®åé¡ã解決ãããŸãã"
#: ../../rst/dev_guide/developing_rebasing.rst:15
msgid "Configuring your remotes"
msgstr "ãªã¢ãŒãã®èšå®"
#: ../../rst/dev_guide/developing_rebasing.rst:17
msgid "Before you can rebase your PR, you need to make sure you have the proper remotes configured. These instructions apply to any repository on GitHub, including collections repositories. On other platforms (bitbucket, gitlab), the same principles and commands apply but the syntax may be different. We use the ansible/ansible repository here as an example. In other repositories, the branch names may be different. Assuming you cloned your fork in the usual fashion, the ``origin`` remote will point to your fork:"
msgstr "PR ããªããŒã¹ããåã«ãé©åãªãªã¢ãŒããèšå®ãããŠããããšã確èªããå¿
èŠããããŸãããã®æé ã¯ãã³ã¬ã¯ã·ã§ã³ãªããžããªãŒãå«ã GitHub ã®ãã¹ãŠã®ãªããžããªãŒã«é©çšãããŸããä»ã®ãã©ãããã©ãŒã (bitbucket ã gitlab) ã§ãåæ§ã®ååãšã³ãã³ããé©çšãããŸãããæ§æãç°ãªãå ŽåããããŸããããã§ã¯ãansible/ansible ã®ãªããžããªãŒãäŸã«æããŠããŸããä»ã®ãªããžããªãŒã§ã¯ããã©ã³ãåãç°ãªãå ŽåããããŸããéåžžã®æ¹æ³ã§ãã©ãŒã¯ãã¯ããŒã³ãããšä»®å®ãããšã``origin`` ã®ãªã¢ãŒãã¯æäœãããŠãŒã¶ãŒã®ãã©ãŒã¯ãæãããšã«ãªããŸãã"
#: ../../rst/dev_guide/developing_rebasing.rst:25
msgid "However, you also need to add a remote which points to the upstream repository:"
msgstr "ãã ããã¢ããã¹ããªãŒã ã®ãªããžããªãŒãåç
§ãããªã¢ãŒããè¿œå ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_rebasing.rst:31
msgid "Which should leave you with the following remotes:"
msgstr "次ã®ãªã¢ãŒããæ®ãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_rebasing.rst:41
msgid "Checking the status of your branch should show your fork is up-to-date with the ``origin`` remote:"
msgstr "ãã©ã³ãã®ã¹ããŒã¿ã¹ã確èªãããšã``origin`` ã®ãªã¢ãŒãã®ãã©ãŒã¯ãææ°ã®ç¶æ
ã§ããããšãç解ã§ããŸãã"
#: ../../rst/dev_guide/developing_rebasing.rst:51
msgid "Rebasing your branch"
msgstr "ãã©ã³ãã®ãªããŒã¹"
#: ../../rst/dev_guide/developing_rebasing.rst:53
msgid "Once you have an ``upstream`` remote configured, you can rebase the branch for your PR:"
msgstr "``upstream`` ã®ãªã¢ãŒããèšå®ããããPR ã®ãã©ã³ãããªããŒã¹ã§ããŸãã"
#: ../../rst/dev_guide/developing_rebasing.rst:59
msgid "This will replay the changes in your branch on top of the changes made in the upstream ``devel`` branch. If there are merge conflicts, you will be prompted to resolve those before you can continue."
msgstr "ããã«ãããã¢ããã¹ããªãŒã ã® ``devel`` ãã©ã³ãã§å€æŽãããã©ã³ãã«å€æŽãåçãããŸããããŒãžã®ç«¶åãçºçããå Žåã¯ãç¶è¡ããåã«è§£æ±ºããããã«æ±ããããŸãã"
#: ../../rst/dev_guide/developing_rebasing.rst:62
msgid "After you rebase, the status of your branch changes:"
msgstr "ãªããŒã¹åŸã«ããã©ã³ãã®ã¹ããŒã¿ã¹ãå€æŽã«ãªããŸãã"
#: ../../rst/dev_guide/developing_rebasing.rst:73
msgid "Don't worry, this is normal after a rebase. You should ignore the ``git status`` instructions to use ``git pull``. We'll cover what to do next in the following section."
msgstr "ãªããŒã¹ã®åŸãããã¯éåžžéããšãªããŸãã``git pull`` ã䜿çšãã ``git status`` åœä»€ã¯ç¡èŠããå¿
èŠããããŸãã次ã®ã»ã¯ã·ã§ã³ã§ã¯ã次ã«äœããããã«ã€ããŠèª¬æããŸãã"
#: ../../rst/dev_guide/developing_rebasing.rst:76
msgid "Updating your pull request"
msgstr "ãã«èŠæ±ã®æŽæ°"
#: ../../rst/dev_guide/developing_rebasing.rst:78
msgid "Now that you've rebased your branch, you need to push your changes to GitHub to update your PR."
msgstr "ãã©ã³ãããªããŒã¹ããããå€æŽã GitHub ã«ããã·ã¥ããŠãPR ãæŽæ°ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_rebasing.rst:80
msgid "Since rebasing re-writes git history, you will need to use a force push:"
msgstr "ãªããŒã¹ã¯ãgit å±¥æŽãåæžã蟌ã¿ããããã匷å¶çã«ããã·ã¥ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_rebasing.rst:86
msgid "Your PR on GitHub has now been updated. This will automatically trigger testing of your changes. You should check in on the status of your PR after tests have completed to see if further changes are required."
msgstr "GitHub ã® PR ãæŽæ°ãããŸãããããã«ãããå€æŽã®ãã¹ããèªåçã«çºçããŸãããã¹ãå®äºåŸã« PR ã®ã¹ããŒã¿ã¹ã確èªãããããªãå€æŽãå¿
èŠã§ãããã©ããã確èªããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/developing_rebasing.rst:90
msgid "Getting help rebasing"
msgstr "ãªããŒã¹ã®ãã«ã"
#: ../../rst/dev_guide/developing_rebasing.rst:92
msgid "For help with rebasing your PR, or other development related questions, join us on the #ansible-devel chat channel (using Matrix at ansible.im or using IRC at `irc.libera.chat <https://libera.chat/>`_)."
msgstr "PR ãŸãã¯ãã®ä»ã®éçºé¢é£ã®è³ªåãåèšå®ããéã«ã¯ããã£ãããã£ã³ãã« #ansible-devel ã«åå ããŸãïŒansible.imã§Matrixã䜿çšããŸãã¯`irc.libera.chat <https://libera.chat/>`ã§IRCã䜿çšïŒã"
#: ../../rst/dev_guide/developing_rebasing.rst:96
msgid ":ref:`community_development_process`"
msgstr ":ref:`community_development_process`"
#: ../../rst/dev_guide/developing_rebasing.rst:97
msgid "Information on roadmaps, opening PRs, Ansibullbot, and more"
msgstr "ããŒããããããªãŒãã³ PRSãAnsibullbot ãªã©ã«é¢ããæ
å ±"
#: ../../rst/dev_guide/migrating_roles.rst:6
msgid "Migrating Roles to Roles in Collections on Galaxy"
msgstr "ããŒã«ã®ãGalaxy ã®ã³ã¬ã¯ã·ã§ã³å
ã®ããŒã«ãžã®ç§»è¡"
#: ../../rst/dev_guide/migrating_roles.rst:8
msgid "You can migrate any existing standalone role into a collection and host the collection on Galaxy. With Ansible collections, you can distribute many roles in a single cohesive unit of re-usable automation. Inside a collection, you can share custom plugins across all roles in the collection instead of duplicating them in each role's :file:`library/`` directory."
msgstr "æ¢åã®ã¹ã¿ã³ãã¢ãã³ããŒã«ãã³ã¬ã¯ã·ã§ã³ã«ç§»è¡ããã³ã¬ã¯ã·ã§ã³ã Galaxy äžã§ãã¹ãããããšãã§ããŸããAnsible ã³ã¬ã¯ã·ã§ã³ã䜿çšãããšãåå©çšå¯èœãªèªååã® 1 ã€ã®ãŸãšãŸã£ããŠãããã§å€ãã®ããŒã«ãé
åžã§ããŸããã³ã¬ã¯ã·ã§ã³ã®äžã§ã¯ãã«ã¹ã¿ã ãã©ã°ã€ã³ãåããŒã«ã® :file:`library/`` ãã£ã¬ã¯ããªãŒã«è€è£œããã®ã§ã¯ãªããã³ã¬ã¯ã·ã§ã³å
ã®ãã¹ãŠã®ããŒã«ã§å
±æããããšãã§ããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:10
msgid "You must migrate roles to collections if you want to distribute them as certified Ansible content."
msgstr "ããŒã«ãèªå®æžã¿ã® Ansible ã³ã³ãã³ããšããŠé
åžããå Žåã¯ãããŒã«ãã³ã¬ã¯ã·ã§ã³ã«ç§»è¡ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:14
msgid "If you want to import your collection to Galaxy, you need a `Galaxy namespace <https://galaxy.ansible.com/docs/contributing/namespaces.html>`_."
msgstr "ã³ã¬ã¯ã·ã§ã³ã Galaxy ã«ã€ã³ããŒãããå Žåã¯ã`Galaxy åå空é <https://galaxy.ansible.com/docs/contributing/namespaces.html>`_ ãå¿
èŠã§ãã"
#: ../../rst/dev_guide/migrating_roles.rst:16
msgid "See :ref:`developing_collections` for details on collections."
msgstr "ã³ã¬ã¯ã·ã§ã³ã®è©³çŽ°ã¯ãã:ref:`developing_collections`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/migrating_roles.rst:24
msgid "Comparing standalone roles to collection roles"
msgstr "ã¹ã¿ã³ãã¢ãã³ããŒã«ãšã³ã¬ã¯ã·ã§ã³ããŒã«ã®æ¯èŒ"
#: ../../rst/dev_guide/migrating_roles.rst:26
msgid ":ref:`Standalone roles <playbooks_reuse_roles>` have the following directory structure:"
msgstr ":ref:`Standalone roles <playbooks_reuse_roles>` ã«ã以äžã®ãã£ã¬ã¯ããªãŒæ§é ããããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:45
msgid "The highlighted directories above will change when you migrate to a collection-based role. The collection directory structure includes a :file:`roles/` directory:"
msgstr "äžèšã®åŒ·èª¿è¡šç€ºããããã£ã¬ã¯ããªãŒã¯ãã³ã¬ã¯ã·ã§ã³ããŒã¹ã®ããŒã«ãžã®ç§»è¡æã«å€åããŸããã³ã¬ã¯ã·ã§ã³ãã£ã¬ã¯ããªãŒæ§é ã«ã¯ã:file:`roles/` ãã£ã¬ã¯ããªãŒãå«ãŸããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:70
msgid "You will need to use the Fully Qualified Collection Name (FQCN) to use the roles and plugins when you migrate your role into a collection. The FQCN is the combination of the collection ``namespace``, collection ``name``, and the content item you are referring to."
msgstr "ããŒã«ãã³ã¬ã¯ã·ã§ã³ã«ç§»è¡ãããšãã«ããŒã«ããã³ãã©ã°ã€ã³ã䜿çšããããã«ãå®å
šä¿®é£Ÿã³ã¬ã¯ã·ã§ã³å (FQCN) ã䜿çšããå¿
èŠããããŸããFQCN ã¯ãã³ã¬ã¯ã·ã§ã³ ``namespace``ãã³ã¬ã¯ã·ã§ã³ ``name``ãããã³åç
§ããã³ã³ãã³ãã¢ã€ãã ã®çµã¿åããã«ãªããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:72
msgid "So for example, in the above collection, the FQCN to access ``role1`` would be:"
msgstr "ããšãã°ãäžèšã®ã³ã¬ã¯ã·ã§ã³ã§ã¯ã``role1`` ã«ã¢ã¯ã»ã¹ãã FQCN ã¯ä»¥äžã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:79
msgid "A collection can contain one or more roles in the :file:`roles/` directory and these are almost identical to standalone roles, except you need to move plugins out of the individual roles, and use the :abbr:`FQCN (Fully Qualified Collection Name)` in some places, as detailed in the next section."
msgstr "ã³ã¬ã¯ã·ã§ã³ã«ã¯ã:file:`roles/` ãã£ã¬ã¯ããªãŒã« 1 ã€ãŸãã¯è€æ°ã®ããŒã«ãå«ããããšãã§ãããããã®ããŒã«ã¯ã¹ã¿ã³ãã¢ãã³ããŒã«ãšã»ãŒåãã§ãããã ããåå¥ã®ããŒã«ãããã©ã°ã€ã³ãå€ã«ç§»åããäžéšã§ã¯ :abbr:`FQCN (Fully Qualified Collection Name)` ã䜿çšããŸããããã¯ã次ã®ã»ã¯ã·ã§ã³ã§è©³çŽ°ã«èª¬æããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:83
msgid "In standalone roles, some of the plugin directories referenced their plugin types in the plural sense; this is not the case in collections."
msgstr "ã¹ã¿ã³ãã¢ãã³ããŒã«ã§ã¯ããã©ã°ã€ã³ãã£ã¬ã¯ããªãŒã®äžéšãè€æ°ã®æå³ã§ãã©ã°ã€ã³ã¿ã€ããåç
§ããŠããŸãããã³ã¬ã¯ã·ã§ã³ã§ã¯ãã®ããã«ãªããŸããã"
#: ../../rst/dev_guide/migrating_roles.rst:88
msgid "Migrating a role to a collection"
msgstr "ããŒã«ã®ã³ã¬ã¯ã·ã§ã³ãžã®ç§»è¡"
#: ../../rst/dev_guide/migrating_roles.rst:90
msgid "To migrate from a standalone role that contains no plugins to a collection role:"
msgstr "ãã©ã°ã€ã³ãå«ãŸããªãã¹ã¿ã³ãã¢ãã³ããŒã«ããã³ã¬ã¯ã·ã§ã³ããŒã«ã«ç§»è¡ããã«ã¯ã以äžãè¡ããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:92
msgid "Create a local :file:`ansible_collections` directory and ``cd`` to this new directory."
msgstr "ããŒã«ã«ã® :file:`ansible_collections` ãã£ã¬ã¯ããªãŒãäœæãããã®æ°ãããã£ã¬ã¯ããªãŒã« ``cd`` ãäœæããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:94
#: ../../rst/dev_guide/migrating_roles.rst:122
msgid "Create a collection. If you want to import this collection to Ansible Galaxy, you need a `Galaxy namespace <https://galaxy.ansible.com/docs/contributing/namespaces.html>`_."
msgstr "ã³ã¬ã¯ã·ã§ã³ãäœæããŸãããã®ã³ã¬ã¯ã·ã§ã³ã Ansible Galaxy ã«ã€ã³ããŒãããå Žåã¯ã`Galaxy åå空é <https://galaxy.ansible.com/docs/contributing/namespaces.html>`_ ãå¿
èŠã§ãã"
#: ../../rst/dev_guide/migrating_roles.rst:100
#: ../../rst/dev_guide/migrating_roles.rst:128
msgid "This creates the collection directory structure."
msgstr "ããã«ãããã³ã¬ã¯ã·ã§ã³ãã£ã¬ã¯ããªãŒæ§é ãäœæãããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:102
#: ../../rst/dev_guide/migrating_roles.rst:130
msgid "Copy the standalone role directory into the :file:`roles/` subdirectory of the collection. Roles in collections cannot have hyphens in the role name. Rename any such roles to use underscores instead."
msgstr "ã¹ã¿ã³ãã¢ãã³ã®ããŒã«ãã£ã¬ã¯ããªãŒãã³ã¬ã¯ã·ã§ã³ã® :file:`roles/` ãµããã£ã¬ã¯ããªãŒã«ã³ããŒããŸããã³ã¬ã¯ã·ã§ã³å
ã®ããŒã«ã«ã¯ããŒã«åã«ãã€ãã³ãèšå®ã§ããŸããããã®ãããªããŒã«ã¯ååãå€æŽãã代ããã«ã¢ã³ããŒã¹ã³ã¢ã䜿çšããããã«ããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:109
#: ../../rst/dev_guide/migrating_roles.rst:146
msgid "Update ``galaxy.yml`` to include any role dependencies."
msgstr "``galaxy.yml`` ãæŽæ°ããŠãããŒã«ã®äŸåé¢ä¿ãè¿œå ããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:111
#: ../../rst/dev_guide/migrating_roles.rst:148
msgid "Update the collection README.md file to add links to any role README.md files."
msgstr "ã³ã¬ã¯ã·ã§ã³ README.md ãã¡ã€ã«ãæŽæ°ããŠãããŒã«ã® README.md ãã¡ã€ã«ãžã®ãªã³ã¯ãè¿œå ããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:116
msgid "Migrating a role that contains plugins to a collection"
msgstr "ãã©ã°ã€ã³ãå«ãŸããããŒã«ããã³ã¬ã¯ã·ã§ã³ãžã®ç§»è¡"
#: ../../rst/dev_guide/migrating_roles.rst:118
msgid "To migrate from a standalone role that has plugins to a collection role:"
msgstr "ãã©ã°ã€ã³ãå«ãŸããªãã¹ã¿ã³ãã¢ãã³ããŒã«ããã³ã¬ã¯ã·ã§ã³ããŒã«ã«ç§»è¡ããã«ã¯ã以äžãè¡ããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:120
msgid "Create a local :file:`ansible_collections directory` and ``cd`` to this new directory."
msgstr "ããŒã«ã«ã® :file:`ansible_collections directory` ããã³ ``cd`` ããã®æ°ãããã£ã¬ã¯ããªãŒã«äœæããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:138
msgid "Move any modules to the :file:`plugins/modules/` directory."
msgstr "ã¢ãžã¥ãŒã«ã :file:`plugins/modules/` ãã£ã¬ã¯ããªãŒã«ç§»åããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:144
msgid "Move any other plugins to the appropriate :file:`plugins/PLUGINTYPE/` directory. See :ref:`migrating_plugins_collection` for additional steps that may be required."
msgstr "ãã®ä»ã®ãã©ã°ã€ã³ãé©å㪠:file:`plugins/PLUGINTYPE/` ãã£ã¬ã¯ããªãŒã«ç§»åããŸããå¿
èŠãšãªãå¯èœæ§ã®ããè¿œå æé ã«ã€ããŠã¯ãã:ref:`migrating_plugins_collection`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/migrating_roles.rst:150
msgid "Change any references to the role to use the :abbr:`FQCN (Fully Qualified Collection Name)`."
msgstr ":abbr:`FQCN (Fully Qualified Collection Name)` ã䜿çšããããã«ãããŒã«ãžã®åç
§ãå€æŽããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:163
msgid "You can alternately use the ``collections`` keyword to simplify this:"
msgstr "å¥ã®æ¹æ³ã§ã¯ã``collections`` ããŒã¯ãŒãã䜿çšããŠãããåçŽåããããšãã§ããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:181
msgid "Migrating other role plugins to a collection"
msgstr "ä»ã®ããŒã«ãã©ã°ã€ã³ããã³ã¬ã¯ã·ã§ã³ãžã®ç§»è¡"
#: ../../rst/dev_guide/migrating_roles.rst:183
msgid "To migrate other role plugins to a collection:"
msgstr "ãã®ä»ã®ããŒã«ãã©ã°ã€ã³ãã³ã¬ã¯ã·ã§ã³ã«ç§»è¡ããã«ã¯ã以äžãå®è¡ããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:186
msgid "Move each nonmodule plugins to the appropriate :file:`plugins/PLUGINTYPE/` directory. The :file:`mynamespace/mycollection/plugins/README.md` file explains the types of plugins that the collection can contain within optionally created subdirectories."
msgstr "ã¢ãžã¥ãŒã«ä»¥å€ã®åãã©ã°ã€ã³ãé©å㪠:file:`plugins/PLUGINTYPE/` ãã£ã¬ã¯ããªãŒã«ç§»åããŸãã:file:`mynamespace/mycollection/plugins/README.md` ãã¡ã€ã«ã¯ãä»»æã§äœæããããµããã£ã¬ã¯ããªãŒå
ã«ã³ã¬ã¯ã·ã§ã³ãå«ããããšãã§ãããã©ã°ã€ã³ã®ã¿ã€ãã説æããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:192
msgid "Update documentation to use the FQCN. Plugins that use ``doc_fragments`` need to use FQCN (for example, ``mydocfrag`` becomes ``mynamespace.mycollection.mydocfrag``)."
msgstr "FQCN ã䜿çšããããã«ããã¥ã¡ã³ããæŽæ°ããŸãã``doc_fragments`` ã䜿çšãããã©ã°ã€ã³ã¯ãFQCN ã䜿çšããå¿
èŠããããŸã (ããšãã°ã``mydocfrag`` 㯠``mynamespace.mycollection.mydocfrag`` ã«ãªããŸã)ã"
#: ../../rst/dev_guide/migrating_roles.rst:194
msgid "Update relative imports work in collections to start with a period. For example, :file:`./filename` and :file:`../asdfu/filestuff` works but :file:`filename` in same directory must be updated to :file:`./filename`."
msgstr "ã³ã¬ã¯ã·ã§ã³å
ã®çžå¯Ÿã€ã³ããŒãäœæ¥ãæŽæ°ããããªãªãã§éå§ããŸããããšãã°ã:file:`./filename` ããã³ :file:`../asdfu/filestuff` ã¯æå¹ã§ãããåããã£ã¬ã¯ããªãŒå
ã® :file:`filename` ã :file:`./filename` ã«æŽæ°ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:197
msgid "If you have a custom ``module_utils`` or import from ``__init__.py``, you must also:"
msgstr "ã«ã¹ã¿ã ã® ``module_utils`` ãããããŸã㯠``__init__.py`` ããã€ã³ããŒãããå Žåã¯ã以äžãå¿
èŠã«ãªããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:199
msgid "Change the Python namespace for custom ``module_utils`` to use the :abbr:`FQCN (Fully Qualified Collection Name)` along with the ``ansible_collections`` convention. See :ref:`update_module_utils_role`."
msgstr "ã«ã¹ã¿ã ``module_utils`` ã® Python åå空éãã``ansible_collections`` èŠåãšå
±ã« :abbr:`FQCN (Fully Qualified Collection Name)` ã䜿çšããããã«å€æŽããŸããã:ref:`update_module_utils_role`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/migrating_roles.rst:201
msgid "Change how you import from ``__init__.py``. See :ref:`update_init_role`."
msgstr "``__init__.py`` ããã€ã³ããŒãããæ¹æ³ãå€æŽããŸããã:ref:`update_init_role`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/migrating_roles.rst:207
msgid "Updating ``module_utils``"
msgstr "``module_utils`` ã®æŽæ°"
#: ../../rst/dev_guide/migrating_roles.rst:209
msgid "If any of your custom modules use a custom module utility, once you migrate to a collection you cannot address the module utility in the top level ``ansible.module_utils`` Python namespace. Ansible does not merge content from collections into the Ansible internal Python namespace. Update any Python import statements that refer to custom module utilities when you migrate your custom content to collections. See :ref:`module_utils in collections <collection_module_utils>` for more details."
msgstr "ã«ã¹ã¿ã ã¢ãžã¥ãŒã«ã®ãããããã«ã¹ã¿ã ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã䜿çšããŠããå Žåã¯ãã³ã¬ã¯ã·ã§ã³ã«ç§»è¡ãããšãäžäœã¬ãã«ã® ``ansible.module_utils`` Python åå空éã§ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãæ±ãããšãã§ããŸãããAnsible ã¯ãã³ã¬ã¯ã·ã§ã³ã®ã³ã³ãã³ãã Ansible å
éšã® Python åå空éã«ããŒãžããŸãããã«ã¹ã¿ã ã³ã³ãã³ããã³ã¬ã¯ã·ã§ã³ã«ç§»è¡ããéã¯ãã«ã¹ã¿ã ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãåç
§ããŠãã Python ã® import æãæŽæ°ããŠãã ããã詳现ã¯ãã:ref:`ã³ã¬ã¯ã·ã§ã³ã® module_utils <collection_module_utils>`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/migrating_roles.rst:211
msgid "When coding with ``module_utils`` in a collection, the Python import statement needs to take into account the :abbr:`FQCN (Fully Qualified Collection Name)` along with the ``ansible_collections`` convention. The resulting Python import looks similar to the following example:"
msgstr "ã³ã¬ã¯ã·ã§ã³ã§ ``module_utils`` ã䜿çšããŠã³ãŒãã£ã³ã°ããå ŽåãPython ã® import ã¹ããŒãã¡ã³ã㯠``ansible_collections`` èŠåãšãšãã« :abbr:`FQCN (Fully Qualified Collection Name)` ãèæ
®ããå¿
èŠããããŸããäœæããã Python ã€ã³ããŒãã¯ä»¥äžã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:219
msgid "You need to follow the same rules in changing paths and using namespaced names for subclassed plugins."
msgstr "ãã¹ã®å€æŽãšåãã«ãŒã«ã«åŸãããµãã¯ã©ã¹ã®ãã©ã°ã€ã³ã«åå空éã䜿çšããååã䜿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:221
msgid "The following example code snippets show a Python and a PowerShell module using both default Ansible ``module_utils`` and those provided by a collection. In this example the namespace is ``ansible_example`` and the collection is ``community``."
msgstr "以äžã®ã¹ããããã®äŸã¯ãããã©ã«ãã® Ansible ``module_utils`` ãšãã³ã¬ã¯ã·ã§ã³ã®äž¡æ¹ã䜿çšãã Python ããã³ PowerShell ã¢ãžã¥ãŒã«ã瀺ããŠããŸãããã®äŸã§ã¯ãåå空é㯠``ansible_example`` ã§ãã³ã¬ã¯ã·ã§ã³ã¯ ``community`` ã§ãã"
#: ../../rst/dev_guide/migrating_roles.rst:223
msgid "In the Python example the ``module_utils`` is ``helper`` and the :abbr:`FQCN (Fully Qualified Collection Name)` is ``ansible_example.community.plugins.module_utils.helper``:"
msgstr "Python ã®äŸã§ã¯ã``module_utils`` ã ``helper`` ã§ã:abbr:`FQCN (Fully Qualified Collection Name)` 㯠``ansible_example.community.plugins.module_utils.helper`` ã§ãã"
#: ../../rst/dev_guide/migrating_roles.rst:249
msgid "In the PowerShell example the ``module_utils`` is ``hyperv`` and the :abbr:`FQCN (Fully Qualified Collection Name)` is ``ansible_example.community.plugins.module_utils.hyperv``:"
msgstr "PowerShell ã®äŸã§ã¯ã``module_utils`` ã ``hyperv`` ã§ã:abbr:`FQCN (Fully Qualified Collection Name)` 㯠``ansible_example.community.plugins.module_utils.hyperv`` ã§ãã"
#: ../../rst/dev_guide/migrating_roles.rst:271
msgid "Importing from __init__.py"
msgstr "__init__.py ããã®ã€ã³ããŒã"
#: ../../rst/dev_guide/migrating_roles.rst:273
msgid "Because of the way that the CPython interpreter does imports, combined with the way the Ansible plugin loader works, if your custom embedded module or plugin requires importing something from an :file:`__init__.py` file, that also becomes part of your collection. You can either originate the content inside a standalone role or use the file name in the Python import statement. The following example is an :file:`__init__.py` file that is part of a callback plugin found inside a collection named ``ansible_example.community``."
msgstr "CPython ã€ã³ã¿ãŒããªã¿ãŒãã€ã³ããŒããè¡ãæ¹æ³ãšãAnsible ãã©ã°ã€ã³ããŒããŒãåäœããæ¹æ³ãçµã¿åãããããšã§ãã«ã¹ã¿ã ã®çµã¿èŸŒã¿ã¢ãžã¥ãŒã«ããã©ã°ã€ã³ã :file:`__init__.py` ãã¡ã€ã«ããäœããã€ã³ããŒãããå¿
èŠãããå Žåã¯ããããã³ã¬ã¯ã·ã§ã³ã®äžéšã«ãªããŸããã³ã³ãã³ããã¹ã¿ã³ãã¢ãã³ã®ããŒã«ã®å
éšã§çæããããPython ã® import æã§ãã¡ã€ã«åã䜿çšããããšãã§ããŸãã次ã®äŸã¯ã``ansible_example.community`` ãšããååã®ã³ã¬ã¯ã·ã§ã³ã®äžã«ãã callback ãã©ã°ã€ã³ã®äžéšã§ãã :file:`__init__.py` ãã¡ã€ã«ã§ãã"
#: ../../rst/dev_guide/migrating_roles.rst:281
msgid "Example: Migrating a standalone role with plugins to a collection"
msgstr "äŸ: ãã©ã°ã€ã³ãæã€ã¹ã¿ã³ãã¢ãã³ããŒã«ãã³ã¬ã¯ã·ã§ã³ã«ç§»è¡"
#: ../../rst/dev_guide/migrating_roles.rst:283
msgid "In this example we have a standalone role called ``my-standalone-role.webapp`` to emulate a standalone role that contains dashes in the name (which is not valid in collections). This standalone role contains a custom module in the ``library/`` directory called ``manage_webserver``."
msgstr "ãã®äŸã§ã¯ã``my-standalone-role.webapp`` ãšããååã®ã¹ã¿ã³ãã¢ãã³ã®ããŒã«ããããååã«ããã·ã¥ãå«ãŸããã¹ã¿ã³ãã¢ãã³ã®ããŒã«ããšãã¥ã¬ãŒãããŸã (ã³ã¬ã¯ã·ã§ã³ã§æå¹ãªãã®ã§ã¯ãããŸãã)ããã®ã¹ã¿ã³ãã¢ãã³ããŒã«ã«ã¯ã``manage_webserver`` ãšåŒã°ãã ``library/`` ãã£ã¬ã¯ããªãŒã®ã«ã¹ã¿ã ã¢ãžã¥ãŒã«ãå«ãŸããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:298
msgid "Create a new collection, for example, ``acme.webserver``:"
msgstr "æ°èŠã³ã¬ã¯ã·ã§ã³ãäœæããŸã (``acme.webserver`` ãªã©)ã"
#: ../../rst/dev_guide/migrating_roles.rst:311
msgid "Create the ``webapp`` role inside the collection and copy all contents from the standalone role:"
msgstr "ã³ã¬ã¯ã·ã§ã³å
ã« ``webapp`` ããŒã«ãäœæããstandalone ããŒã«ãããã¹ãŠã®ã³ã³ãã³ããã³ããŒããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:318
msgid "Move the ``manage_webserver`` module to its new home in ``acme/webserver/plugins/modules/``:"
msgstr "``manage_webserver`` ã¢ãžã¥ãŒã«ã ``acme/webserver/plugins/modules/`` å
ã®æ°ããããŒã ã«ç§»åããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:326
msgid "This example changed the original source file ``manage_webserver.py`` to the destination file ``manage.py``. This is optional but the :abbr:`FQCN (Fully Qualified Collection Name)` provides the ``webserver`` context as ``acme.webserver.manage``."
msgstr "ãã®äŸã§ã¯ãå
ã®ãœãŒã¹ãã¡ã€ã« ``manage_webserver.py`` ãå®å
ãã¡ã€ã« ``manage.py`` ã«å€æŽããŸãããããã¯ä»»æã§ããã:abbr:`FQCN (Fully Qualified Collection Name)` ã¯ã``acme.webserver.manage`` ãšã㊠``webserver`` ã®ã³ã³ããã¹ããæäŸããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:328
msgid "Change ``manage_webserver`` to ``acme.webserver.manage`` in :file:`tasks/` files in the role ( for example, ``my-standalone-role.webapp/tasks/main.yml``) and any use of the original module name."
msgstr "ããŒã«å
ã® :file:`tasks/` ãã¡ã€ã«ã§ ``manage_webserver`` ã ``acme.webserver.manage`` ã«å€æŽ (``my-standalone-role.webapp/tasks/main.yml`` ãªã©) ããå
ã®ã¢ãžã¥ãŒã«åã䜿çšããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:332
msgid "This name change is only required if you changed the original module name, but illustrates content referenced by :abbr:`FQCN (Fully Qualified Collection Name)` can offer context and in turn can make module and plugin names shorter. If you anticipate using these modules independent of the role, keep the original naming conventions. Users can add the :ref:`collections keyword <collections_using_playbook>` in their playbooks. Typically roles are an abstraction layer and users won't use components of the role independently."
msgstr "ãã®ååã®å€æŽã¯ãå
ã®ã¢ãžã¥ãŒã«åãå€æŽããå Žåã«ã®ã¿å¿
èŠã§ããã:abbr:`FQCN (Fully Qualified Collection Name)` ã§åç
§ãããã³ã³ãã³ããäŸç€ºããããšã§ãã³ã³ããã¹ããæäŸããã²ããŠã¯ã¢ãžã¥ãŒã«ããã©ã°ã€ã³ã®ååãçãããããšãã§ããŸãããããã®ã¢ãžã¥ãŒã«ãããŒã«ãšã¯é¢ä¿ãªã䜿çšããããšãæ³å®ããŠããå Žåã¯ãå
ã®åœåèŠåãç¶æããŠãã ããããŠãŒã¶ãŒã¯ãPlaybook ã« :ref:`ã³ã¬ã¯ã·ã§ã³ã®ããŒã¯ãŒã <collections_using_playbook>` ãè¿œå ããããšãã§ããŸããéåžžãããŒã«ã¯æœè±¡ã¬ã€ã€ãŒã§ããããŠãŒã¶ãŒã¯ããŒã«ã®ã³ã³ããŒãã³ããåå¥ã«äœ¿çšããããšã¯ãããŸããã"
#: ../../rst/dev_guide/migrating_roles.rst:336
msgid "Example: Supporting standalone roles and migrated collection roles in a downstream RPM"
msgstr "äŸ: ããŠã³ã¹ããªãŒã RPM ã§ã®ã¹ã¿ã³ãã¢ãã³ããŒã«ãšç§»è¡ãããã³ã¬ã¯ã·ã§ã³ããŒã«ã®ãµããŒã"
#: ../../rst/dev_guide/migrating_roles.rst:338
msgid "A standalone role can co-exist with its collection role counterpart (for example, as part of a support lifecycle of a product). This should only be done for a transition period, but these two can exist in downstream in packages such as RPMs. For example, the RHEL system roles could coexist with an `example of a RHEL system roles collection <https://github.com/maxamillion/collection-rhel-system-roles>`_ and provide existing backwards compatibility with the downstream RPM."
msgstr "ã¹ã¿ã³ãã¢ãã³ã®ããŒã«ã¯ã察å¿ããã³ã¬ã¯ã·ã§ã³ããŒã«ãšå
±åããããšãã§ããŸã (äŸ: 補åã®ãµããŒãã©ã€ããµã€ã¯ã«ã®äžéšãšããŠ)ãããã¯ç§»è¡æéã®ã¿è¡ãã¹ãã§ãããããã 2 ã€ã¯ RPM ãªã©ã®ããã±ãŒãžã§ããŠã³ã¹ããªãŒã ã«ååšããããšãã§ããŸããããšãã°ãRHEL ã®ã·ã¹ãã ããŒã«ã¯ `example of a RHEL system roles collection <https://github.com/maxamillion/collection-rhel-system-roles>`_ ãšå
±åããããŠã³ã¹ããªãŒã RPM ãšã®æ¢åã®åŸæ¹äºææ§ãæäŸããããšãã§ããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:340
msgid "This section walks through an example creating this coexistence in a downstream RPM and requires Ansible 2.9.0 or later."
msgstr "æ¬ã»ã¯ã·ã§ã³ã§ã¯ãããŠã³ã¹ããªãŒã RPM ã§ãã®å
±åãäœæããAnsible 2.9.0 以éãå¿
èŠã«ãªããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:342
msgid "To deliver a role as both a standalone role and a collection role:"
msgstr "ã¹ã¿ã³ãã¢ãã³ããŒã«ãšã³ã¬ã¯ã·ã§ã³ããŒã«ã®äž¡æ¹ãšããŠããŒã«ãæäŸããã«ã¯ã以äžãå®è¡ããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:344
msgid "Place the collection in :file:`/usr/share/ansible/collections/ansible_collections/`."
msgstr "ã³ã¬ã¯ã·ã§ã³ã :file:`/usr/share/ansible/collections/ansible_collections/` ã«çœ®ããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:345
msgid "Copy the contents of the role inside the collection into a directory named after the standalone role and place the standalone role in :file:`/usr/share/ansible/roles/`."
msgstr "ã³ã¬ã¯ã·ã§ã³å
ã®ããŒã«ã®å
容ãã¹ã¿ã³ãã¢ãã³ããŒã«ã«ã¡ãªãã§åä»ãããããã£ã¬ã¯ããªãŒã«ã³ããŒããã¹ã¿ã³ãã¢ãã³ããŒã«ã :file:`/usr/share/ansible/roles/` ã«çœ®ããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:347
msgid "All previously bundled modules and plugins used in the standalone role are now referenced by :abbr:`FQCN (Fully Qualified Collection Name)` so even though they are no longer embedded, they can be found from the collection contents.This is an example of how the content inside the collection is a unique entity and does not have to be bound to a role or otherwise. You could alternately create two separate collections: one for the modules and plugins and another for the standalone role to migrate to. The role must use the modules and plugins as :abbr:`FQCN (Fully Qualified Collection Name)`."
msgstr "ã¹ã¿ã³ãã¢ãã³ããŒã«ã§äœ¿çšãããŠããã以åã«ãã³ãã«ãããŠããã¢ãžã¥ãŒã«ããã©ã°ã€ã³ã¯ããã¹ãŠ :abbr:`FQCN (Fully Qualified Collection Name)` ã§åç
§ãããããã«ãªããŸããããã®ããããããã¯ãã¯ãåã蟌ãŸããŠããªãã«ãããããããã³ã¬ã¯ã·ã§ã³ã®ã³ã³ãã³ãããèŠã€ããããšãã§ããŸããããã¯ãã³ã¬ã¯ã·ã§ã³å
ã®ã³ã³ãã³ããåºæã®ãšã³ãã£ãã£ãŒã§ãããããŒã«ãªã©ã«çžãããå¿
èŠããªãããšã瀺ãäŸã§ããå¥ã®æ¹æ³ãšããŠã2 ã€ã®ç¬ç«ããã³ã¬ã¯ã·ã§ã³ãäœæããããšãã§ããŸãã1 ã€ã¯ã¢ãžã¥ãŒã«ãšãã©ã°ã€ã³çšããã 1 ã€ã¯ç§»è¡å
ã®ã¹ã¿ã³ãã¢ãã³ããŒã«çšã§ããããŒã«ã¯ãã¢ãžã¥ãŒã«ãšãã©ã°ã€ã³ã :abbr:`FQCN (Fully Qualified Collection Name)` ãšããŠäœ¿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/migrating_roles.rst:349
msgid "The following is an example RPM spec file that accomplishes this using this example content:"
msgstr "以äžã¯ããã®ãµã³ãã«ã®å
容ã䜿çšããŠãããå®çŸãã RPM ä»æ§ãã¡ã€ã«ã®äŸã§ãã"
#: ../../rst/dev_guide/migrating_roles.rst:414
msgid "Using ``ansible.legacy`` to access local custom modules from collections-based roles"
msgstr "``ansible.legacy`` ã䜿çšããã³ã¬ã¯ã·ã§ã³ããŒã¹ã®ããŒã«ããããŒã«ã«ã®ã«ã¹ã¿ã ã¢ãžã¥ãŒã«ãžã®ã¢ã¯ã»ã¹"
#: ../../rst/dev_guide/migrating_roles.rst:416
msgid "Some roles within a collection use :ref:`local custom modules <developing_locally>` that are not part of the collection itself. If there is a conflict between the custom module short name and the collection module name, you need to specify which module your tasks call. You can update the tasks to change ``local_module_name`` to ``ansible.legacy.local_module_name`` to ensure you are using the custom module."
msgstr "ã³ã¬ã¯ã·ã§ã³å
ã®äžéšã®ããŒã«ã¯ãã³ã¬ã¯ã·ã§ã³èªäœã®äžéšã§ã¯ãªã :ref:`local custom modules <developing_locally>` ã䜿çšããŸããã«ã¹ã¿ã ã¢ãžã¥ãŒã«ã®ççž®åãšã³ã¬ã¯ã·ã§ã³ã¢ãžã¥ãŒã«åã®éã«ç«¶åãããå Žåã¯ãã¿ã¹ã¯ãåŒã³åºãã¢ãžã¥ãŒã«ãæå®ããå¿
èŠããããŸããã¿ã¹ã¯ãæŽæ°ãã``local_module_name`` ã ``ansible.legacy.local_module_name`` ã«å€æŽããŠãã«ã¹ã¿ã ã¢ãžã¥ãŒã«ã䜿çšããŠããããšã確èªããŠãã ããã"
#: ../../rst/dev_guide/module_lifecycle.rst:5
msgid "The lifecycle of an Ansible module or plugin"
msgstr "Ansible ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ã®ã©ã€ããµã€ã¯ã«"
#: ../../rst/dev_guide/module_lifecycle.rst:7
msgid "Modules and plugins in the main Ansible repository have a defined life cycle, from the first introduction to final removal. The module and plugin lifecycle is tied to the `Ansible release cycle <release_cycle>`. A module or plugin may move through these four stages:"
msgstr "ã¡ã€ã³ã® Ansible ãªããžããªãŒã®ã¢ãžã¥ãŒã«ããã³ãã©ã°ã€ã³ã«ã¯ãæåã®å°å
¥ããæåŸã®åé€ãŸã§ã©ã€ããµã€ã¯ã«ãå®çŸ©ãããŸããã¢ãžã¥ãŒã«ããã³ãã©ã°ã€ã³ã®ã©ã€ããµã€ã¯ã«ã¯ã`Ansible ãªãªãŒã¹ãµã€ã¯ã« <release_cycle>` ã«çŽã¥ããããã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ã¯ã次㮠4 ã€ã®æ®µéãééããå¯èœæ§ããããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:10
msgid "When a module or plugin is first accepted into Ansible, we consider it in tech preview and will mark it as such in the documentation."
msgstr "ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ãæåã« Ansible ã«åãå
¥ãããããšããã¯ãããžãŒãã¬ãã¥ãŒã§ãããèæ
®ããããã®ããã«ããŒã¯ãããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:12
msgid "If a module or plugin matures, the 'preview' mark in the documentation is removed. Backward compatibility for these modules and plugins is maintained but not guaranteed, which means their parameters should be maintained with stable meanings."
msgstr "ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ãæçãããšãããã¥ã¡ã³ãã®ãpreviewãããŒã¯ãåé€ãããŸãããããã®ã¢ãžã¥ãŒã«ããã³ãã©ã°ã€ã³ã®åŸæ¹äºææ§ã¯ç¶æãããŸããä¿èšŒãããŸãããããã¯ããããã®ãã©ã¡ãŒã¿ãŒãå®å®ããæå³ã§ç¶æãããã¹ãããšãæå³ããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:14
msgid "If a module's or plugin's target API changes radically, or if someone creates a better implementation of its functionality, we may mark it deprecated. Modules and plugins that are deprecated are still available but they are reaching the end of their life cycle. We retain deprecated modules and plugins for 4 release cycles with deprecation warnings to help users update playbooks and roles that use them."
msgstr "ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ã®ã¿ãŒã²ãã API ã倧å¹
ã«å€æŽãããå ŽåããŸãã¯èª°ãããã®æ©èœã«å¯ŸããŠããè¯ãå®è£
ãäœæããå Žåã¯ãéæšå¥šãšè¡šç€ºããããšããããŸããéæšå¥šã®ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ã¯åŒãç¶ãå©çšã§ããŸãããã©ã€ããµã€ã¯ã«ã®çµããã«è¿ã¥ããŠããŸããéæšå¥šã®ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ã¯ 4 ã€ã®ãªãªãŒã¹ãµã€ã¯ã«ã®éä¿æããããŠãŒã¶ãŒã¯ããã䜿çšãã Playbook ãšããŒã«ãæŽæ°ã§ããããã«éæšå¥šã®èŠåã衚瀺ãããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:16
msgid "When a module or plugin has been deprecated for four release cycles, it is removed and replaced with a tombstone entry in the routing configuration. Modules and plugins that are removed are no longer shipped with Ansible. The tombstone entry helps users find alternative modules and plugins."
msgstr "4 ã€ã®ãªãªãŒã¹ãµã€ã¯ã«ã§ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ã¯éæšå¥šãšãªããã«ãŒãã£ã³ã°èšå®ã® tombstone ãšã³ããªãŒã«çœ®ãæããããŸããåé€ãããã¢ãžã¥ãŒã«ããã³ãã©ã°ã€ã³ã¯ Ansible ã«å梱ãããªããªããŸããtombstone ãšã³ããªãŒã¯ãå¥ã®ã¢ãžã¥ãŒã«ããã³ãã©ã°ã€ã³ãèŠã€ããããšãã§ããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:18
msgid "For modules and plugins in collections, the lifecycle is similar. Since ansible-base 2.10, it is no longer possible to mark modules as 'preview' or 'stable'."
msgstr "ã³ã¬ã¯ã·ã§ã³ã«ããã¢ãžã¥ãŒã«ããã³ãã©ã°ã€ã³ã§ã¯ãã©ã€ããµã€ã¯ã«ãé¡äŒŒããŠããŸããansible-base 2.10 ã§ã¯ãã¢ãžã¥ãŒã«ããpreviewããŸãã¯ãstableãã®ããŒã¯ãä»ããããšãã§ããªããªããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:23
msgid "Deprecating modules and plugins in the Ansible main repository"
msgstr "Ansible ã¡ã€ã³ãªããžããªãŒã§ã®ã¢ãžã¥ãŒã«ããã³ãã©ã°ã€ã³ã®éæšå¥šå"
#: ../../rst/dev_guide/module_lifecycle.rst:25
msgid "To deprecate a module in ansible-core, you must:"
msgstr "ansible-core ã§ã¢ãžã¥ãŒã«ãéæšå¥šã«ããã«ã¯ã以äžãè¡ãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:27
msgid "Rename the file so it starts with an ``_``, for example, rename ``old_cloud.py`` to ``_old_cloud.py``. This keeps the module available and marks it as deprecated on the module index pages."
msgstr "ãã¡ã€ã«ã®ååã ``_`` ã§å§ãŸãããã«å€æŽããŸããããšãã°ã``old_cloud.py`` ã®ååã ``_old_cloud.py`` ã«å€æŽããŸããããã«ãããã¢ãžã¥ãŒã«ãå©çšå¯èœã®ãŸãŸãšãªããã¢ãžã¥ãŒã«ã€ã³ããã¯ã¹ããŒãžã§éæšå¥šãšããŠããŒã¯ãããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:28
msgid "Mention the deprecation in the relevant changelog (by creating a changelog fragment with a section ``deprecated_features``)."
msgstr "(``deprecated_features`` ã»ã¯ã·ã§ã³ã䜿çšã㊠changelog ãã©ã°ã¡ã³ããäœæããããšã§) é¢é£ããå€æŽãã°ã§éæšå¥šãšãªã£ãããšã説æããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:29
msgid "Reference the deprecation in the relevant ``porting_guide_core_x.y.rst``."
msgstr "é¢é£ãã ``porting_guide_core_x.y.rst`` ã§éæšå¥šåãåç
§ããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:30
msgid "Add ``deprecated:`` to the documentation with the following sub-values:"
msgstr "次ã®ãµãå€ã䜿çšããŠã``deprecated:`` ãããã¥ã¡ã³ãã«è¿œå ããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst
msgid "removed_in"
msgstr "removed_in"
#: ../../rst/dev_guide/module_lifecycle.rst:32
#: ../../rst/dev_guide/module_lifecycle.rst:63
msgid "A ``string``, such as ``\"2.10\"``; the version of Ansible where the module will be replaced with a docs-only module stub. Usually current release +4. Mutually exclusive with :removed_by_date:."
msgstr "``\"2.10\"`` ãªã©ã® ``string`` (ã¢ãžã¥ãŒã«ãããã¥ã¡ã³ãã®ã¿ã®ã¢ãžã¥ãŒã«ã¹ã¿ãã«çœ®ãæãããã Ansible ã®ããŒãžã§ã³)ãéåžžãçŸåšã®ãªãªãŒã¹ +4 ã«ãªããŸãã:removed_by_date: ãšçžäºã«æä»çã§ãã"
#: ../../rst/dev_guide/module_lifecycle.rst
msgid "remove_by_date"
msgstr "remove_by_date"
#: ../../rst/dev_guide/module_lifecycle.rst:33
#: ../../rst/dev_guide/module_lifecycle.rst:64
msgid "(Added in ansible-base 2.10). An ISO 8601 formatted date when the module will be removed. Usually 2 years from the date the module is deprecated. Mutually exclusive with :removed_in:."
msgstr "(ansible-base 2.10 ã«è¿œå ãããŸã)ãã¢ãžã¥ãŒã«ã®åé€æã« ISO 8601 圢åŒã®æ¥ä»ãéåžžã¯ãã¢ãžã¥ãŒã«ãéæšå¥šã«ãªã£ãŠãã 2 幎éãšãªããŸãããã®ã¢ãžã¥ãŒã«ã§ã¯ã:removed_in: ãšçžäºæä»çã«ãªããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst
msgid "why"
msgstr "çç±"
#: ../../rst/dev_guide/module_lifecycle.rst:34
#: ../../rst/dev_guide/module_lifecycle.rst:65
msgid "Optional string that used to detail why this has been removed."
msgstr "ãããåé€ãããçç±ã®è©³çŽ°ã«äœ¿çšãããä»»æã®æååã§ãã"
#: ../../rst/dev_guide/module_lifecycle.rst
msgid "alternative"
msgstr "代æ¿æ¹æ³"
#: ../../rst/dev_guide/module_lifecycle.rst:35
#: ../../rst/dev_guide/module_lifecycle.rst:66
msgid "Inform users they should do instead, for example, ``Use M(whatmoduletouseinstead) instead.``."
msgstr "ãŠãŒã¶ãŒã代ããã«ãã¹ãããšãéç¥ããŸã (äŸ: ``Use M(whatmoduletouseinstead) instead.``)ã"
#: ../../rst/dev_guide/module_lifecycle.rst:37
msgid "For an example of documenting deprecation, see this `PR that deprecates multiple modules <https://github.com/ansible/ansible/pull/43781/files>`_. Some of the elements in the PR might now be out of date."
msgstr "ããã¥ã¡ã³ãã®éæšå¥šã®äŸã¯ãã`è€æ°ã®ã¢ãžã¥ãŒã«ãéæšå¥šã«ãã PR <https://github.com/ansible/ansible/pull/43781/files>`_ããåç
§ããŠãã ãããPR ã®äžéšã®èŠçŽ ãææ°ã§ãªãå¯èœæ§ããããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:41
msgid "Deprecating modules and plugins in a collection"
msgstr "ã³ã¬ã¯ã·ã§ã³ã§ã®ã¢ãžã¥ãŒã«ããã³ãã©ã°ã€ã³ã®éæšå¥šå"
#: ../../rst/dev_guide/module_lifecycle.rst:43
msgid "To deprecate a module in a collection, you must:"
msgstr "ã³ã¬ã¯ã·ã§ã³ã§ã¢ãžã¥ãŒã«ãéæšå¥šã«ããã«ã¯ã以äžãè¡ãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:45
msgid "Add a ``deprecation`` entry to ``plugin_routing`` in ``meta/runtime.yml``. For example, to deprecate the module ``old_cloud``, add:"
msgstr "``meta/runtime.yml`` ã® ``plugin_routing`` ã« ``deprecation`` ãšã³ããªãŒãè¿œå ããŸããããšãã°ãã¢ãžã¥ãŒã« ``old_cloud`` ãéæšå¥šã«ããã«ã¯ã以äžãè¿œå ããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:56
msgid "For other plugin types, you have to replace ``modules:`` with ``<plugin_type>:``, for example ``lookup:`` for lookup plugins."
msgstr "ä»ã®ãã©ã°ã€ã³ã¿ã€ãã®å Žåã``modules:`` ã ``<plugin_type>:`` ã«çœ®ãæããå¿
èŠããããŸã (æ€çŽ¢ãã©ã°ã€ã³ã®å Žå㯠``lookup:`` ãªã©)ã"
#: ../../rst/dev_guide/module_lifecycle.rst:58
msgid "Instead of ``removal_version``, you can also use ``removal_date`` with an ISO 8601 formatted date after which the module will be removed in a new major version of the collection."
msgstr "``removal_version`` ã®ä»£ããã«ãã³ã¬ã¯ã·ã§ã³ã®æ°ããã¡ãžã£ãŒããŒãžã§ã³ã§ã¢ãžã¥ãŒã«ãåé€ããããŸã§ã® ISO 8601 圢åŒã®æ¥ä»ãå
¥ãã ``removal_date`` ã䜿çšããããšãã§ããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:60
msgid "Mention the deprecation in the relevant changelog. If the collection uses ``antsibull-changelog``, create a changelog fragment with a section ``deprecated_features``."
msgstr "é¢é£ããå€æŽãã°ã§éæšå¥šã«ãªã£ãããšã説æããŸã (ã³ã¬ã¯ã·ã§ã³ã ``antsibull-changelog`` ã䜿çšããå Žåã¯ãã»ã¯ã·ã§ã³ ``deprecated_features`` ãæå®ã㊠changelog ãã©ã°ã¡ã³ããäœæããŸã)ã"
#: ../../rst/dev_guide/module_lifecycle.rst:61
msgid "Add ``deprecated:`` to the documentation of the module or plugin with the following sub-values:"
msgstr "以äžã®ãµãå€ãå«ãã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ã®ããã¥ã¡ã³ãã« ``deprecated:`` ãè¿œå ããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:69
msgid "Changing a module or plugin name in the Ansible main repository"
msgstr "Ansible ã¡ã€ã³ãªããžããªãŒã®ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³åã®å€æŽ"
#: ../../rst/dev_guide/module_lifecycle.rst:71
msgid "You can also rename a module and keep a deprecated alias to the old name by using a symlink that starts with _. This example allows the ``stat`` module to be called with ``fileinfo``, making the following examples equivalent::"
msgstr "_ ã§å§ãŸãã·ã³ããªãã¯ãªã³ã¯ã䜿çšããŠãã¢ãžã¥ãŒã«ã®ååãå€æŽããéæšå¥šã®ãšã€ãªã¢ã¹ãå€ãååã«ä¿ã€ããšãã§ããŸãããã®äŸã§ã¯ã``stat`` ã¢ãžã¥ãŒã«ã ``fileinfo`` ã§åŒã³åºãããšãã§ããããã次ã®äŸã¯åçã«ãªããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:81
msgid "Renaming a module or plugin in a collection, or redirecting a module or plugin to another collection"
msgstr "ã³ã¬ã¯ã·ã§ã³ã§ã®ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ã®ååå€æŽããŸãã¯ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ãå¥ã®ã³ã¬ã¯ã·ã§ã³ã«ãªãã€ã¬ã¯ã"
#: ../../rst/dev_guide/module_lifecycle.rst:83
msgid "To rename a module or plugin in a collection, or to redirect a module or plugin to another collection, you need to add a ``redirect`` entry to ``plugin_routing`` in ``meta/runtime.yml``. For example, to redirect the module ``old_cloud`` to ``foo.bar.new_cloud``, add:"
msgstr "ã³ã¬ã¯ã·ã§ã³ã§ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ã®ååãå€æŽããããã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ãå¥ã®ã³ã¬ã¯ã·ã§ã³ã«ãªãã€ã¬ã¯ãããã«ã¯ã``redirect`` ãšã³ããªãŒãã``meta/runtime.yml`` ã® ``plugin_routing`` ã«è¿œå ããå¿
èŠããããŸããããšãã°ãã¢ãžã¥ãŒã« ``old_cloud`` ã ``foo.bar.new_cloud`` ã«ãªãã€ã¬ã¯ãããå Žåã¯ã以äžãè¿œå ããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:92
msgid "If you want to deprecate the old name, add a ``deprecation:`` entry (see above):"
msgstr "å€ãååãéæšå¥šã«ããã«ã¯ã``deprecation:`` ãšã³ããªãŒãè¿œå ããŸã (äžèšãåç
§)ã"
#: ../../rst/dev_guide/module_lifecycle.rst:104
msgid "You need to use the Fully Qualified Collection Name (FQCN) of the new module/plugin name, even if it is located in the same collection as the redirect. By using a FQCN from another collection, you redirect the module/plugin to that collection."
msgstr "æ°èŠã¢ãžã¥ãŒã«/ãã©ã°ã€ã³åã®å®å
šä¿®é£Ÿã³ã¬ã¯ã·ã§ã³å (FQCN) ã䜿çšããå¿
èŠããããŸããããã¯ããªãã€ã¬ã¯ããšåãã³ã¬ã¯ã·ã§ã³ã«ããå Žåã§ããå¥ã®ã³ã¬ã¯ã·ã§ã³ãã FQCN ã䜿çšããã¢ãžã¥ãŒã«/ãã©ã°ã€ã³ããã®ã³ã¬ã¯ã·ã§ã³ã«ãªãã€ã¬ã¯ãããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:106
msgid "If you need to support Ansible 2.9, please note that Ansible 2.9 does not know about ``meta/runtime.yml``. With Ansible 2.9 you can still rename plugins and modules inside one collection by using symbolic links. Note that ansible-base 2.10, ansible-core 2.11, and newer will prefer ``meta/runtime.yml`` entries over symbolic links."
msgstr "Ansible 2.9 ããµããŒãããå¿
èŠãããå ŽåãAnsible 2.9 㯠``meta/runtime.yml`` ãèªèããªãç¹ã«æ³šæããŠãã ãããAnsible 2.9 ã§ã¯ãã·ã³ããªãã¯ãªã³ã¯ã䜿çšããŠã1 ã€ã®ã³ã¬ã¯ã·ã§ã³å
ã®ãã©ã°ã€ã³ãšã¢ãžã¥ãŒã«ã®ååãå€æŽã§ããŸããansible-base 2.10ãansible-core 2.11 以éã¯ã·ã³ããªãã¯ãªã³ã¯ããã ``meta/runtime.yml`` ãšã³ããªãŒã䜿çšããããšãæšå¥šãããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:110
msgid "Tombstoning a module or plugin in a collection"
msgstr "ã³ã¬ã¯ã·ã§ã³ã§ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ãç Žæ£"
#: ../../rst/dev_guide/module_lifecycle.rst:112
msgid "To remove a deprecated module or plugin from a collection, you need to tombstone it:"
msgstr "ã³ã¬ã¯ã·ã§ã³ããéæšå¥šã®ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ãåé€ããã«ã¯ããããç Žæ£ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:114
msgid "Remove the module or plugin file with related files like tests, documentation references, and documentation."
msgstr "ãã¹ããããã¥ã¡ã³ãåç
§ãããã¥ã¡ã³ããªã©ãé¢é£ãã¡ã€ã«ã§ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ãã¡ã€ã«ãåé€ããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:115
msgid "Add a tombstone entry in ``meta/runtime.yml``. For example, to tombstone the module ``old_cloud``, add:"
msgstr "``meta/runtime.yml`` ã« tombstone ãšã³ããªãŒãè¿œå ããŸããããšãã°ãã¢ãžã¥ãŒã« ``old_cloud`` ãå»æ£ããã«ã¯ã以äžãè¿œå ããŸãã"
#: ../../rst/dev_guide/module_lifecycle.rst:126
msgid "Instead of ``removal_version``, you can also use ``removal_date`` with an ISO 8601 formatted date. The date should be the date of the next major release."
msgstr "``removal_version`` ã®ä»£ããã«ãISO 8601 圢åŒã®æ¥ä»ãå
¥ãã ``removal_date`` ã䜿çšããããšãã§ããŸãããã®æ¥ä»ã¯ã次ã®ã¡ãžã£ãŒãªãªãŒã¹ã®æ¥ä»ã§ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:3
msgid "Ansible architecture"
msgstr "Ansible ã¢ãŒããã¯ãã£ãŒ"
#: ../../rst/dev_guide/overview_architecture.rst:5
msgid "Ansible is a radically simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs."
msgstr "Ansible ã¯ãã¯ã©ãŠãããããžã§ãã³ã°ãèšå®ç®¡çãã¢ããªã±ãŒã·ã§ã³ã®ãããã€ã¡ã³ãããµãŒãã¹å
ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãããã³ãã®ä»ã® IT ã®ããŒãºãèªååããéåžžã«ã·ã³ãã«ãª IT èªååãšã³ãžã³ã§ãã"
#: ../../rst/dev_guide/overview_architecture.rst:7
msgid "Being designed for multi-tier deployments since day one, Ansible models your IT infrastructure by describing how all of your systems inter-relate, rather than just managing one system at a time."
msgstr "Ansible ã¯ããªãªãŒã¹ããããã®æ¥ããå€å±€ãããã€ã¡ã³ãçšã«èšèšãããŠãããã·ã¹ãã ã 1 ã€ãã€ç®¡çãã代ããã«ããã¹ãŠã®ã·ã¹ãã ãã©ã®ããã«çžäºã«é¢é£ããŠããããèšè¿°ããããšã§ãIT ã€ã³ãã©ã¹ãã©ã¯ãã£ãŒãã¢ãã«åããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:9
msgid "It uses no agents and no additional custom security infrastructure, so it's easy to deploy - and most importantly, it uses a very simple language (YAML, in the form of Ansible Playbooks) that allow you to describe your automation jobs in a way that approaches plain English."
msgstr "ãšãŒãžã§ã³ãã䜿çšãããã«ã¹ã¿ã ã»ãã¥ãªãã£ãŒã€ã³ãã©ã¹ãã©ã¯ãã£ãŒãè¿œå ããªããããç°¡åã«ãããã€ã¡ã³ãã§ããŸããæãéèŠãªããšã¯ãéåžžã«åçŽãªèšèª (YAML ã Ansible Playbook ã®åœ¢åŒã§äœ¿çš) ã䜿çšããŠãããããåãããããè±èªã«è¿ã¥ããæ¹æ³ã§èªååãžã§ããèšè¿°ã§ããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:11
msgid "In this section, we'll give you a really quick overview of how Ansible works so you can see how the pieces fit together."
msgstr "æ¬ã»ã¯ã·ã§ã³ã§ã¯ãAnsible ã®åäœã®æŠèŠãç°¡åã«èª¬æããŸããããã«ããåããŒã¹ãã©ã®ããã«çµã¿åããããŠãããã確èªã§ããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:17
msgid "Modules"
msgstr "ã¢ãžã¥ãŒã«"
#: ../../rst/dev_guide/overview_architecture.rst:19
msgid "Ansible works by connecting to your nodes and pushing out scripts called \"Ansible modules\" to them. Most modules accept parameters that describe the desired state of the system. Ansible then executes these modules (over SSH by default), and removes them when finished. Your library of modules can reside on any machine, and there are no servers, daemons, or databases required."
msgstr "Ansible ã¯ãããŒãã«æ¥ç¶ãããAnsible ã¢ãžã¥ãŒã«ããšåŒã°ããã¹ã¯ãªãããããŒãã«ããã·ã¥ããããšã§æ©èœããŸããã»ãšãã©ã®ã¢ãžã¥ãŒã«ã¯ãã·ã¹ãã ã®åžæã®ç¶æ
ãèšè¿°ãããã©ã¡ãŒã¿ãŒãåãå
¥ããŸãããã®åŸãAnsible ã¯ãããã®ã¢ãžã¥ãŒã«ã (ããã©ã«ãã§ã¯ SSH äžã§) å®è¡ããŠãçµäºãããšåé€ãããŸããã¢ãžã¥ãŒã«ã®ã©ã€ãã©ãªãŒã¯ã©ã®ãã·ã³ã«ãé
眮ã§ãããµãŒããŒãããŒã¢ã³ããŸãã¯ããŒã¿ããŒã¹ã¯å¿
èŠãããŸããã"
#: ../../rst/dev_guide/overview_architecture.rst:22
msgid "You can :ref:`write your own modules <developing_modules_general>`, though you should first consider :ref:`whether you should <developing_modules>`. Typically you'll work with your favorite terminal program, a text editor, and probably a version control system to keep track of changes to your content. You may write specialized modules in any language that can return JSON (Ruby, Python, bash, and so on)."
msgstr ":ref:`ç¬èªã®ã¢ãžã¥ãŒã«ãèšè¿° <developing_modules_general>` ãã§ããŸãããæåã« :ref:`èšè¿°ãã¹ããã©ãã <developing_modules>` ãæ€èšããå¿
èŠããããŸããéåžžãä»»æã®ã¿ãŒããã«ããã°ã©ã ãããã¹ããšãã£ã¿ãŒãããã³ããããããŒãžã§ã³ç®¡çã·ã¹ãã ã䜿çšããŠãã³ã³ãã³ããžã®å€æŽã远跡ããŸããJSON ãè¿ãããšãã§ããä»»æã®èšèª (RubyãPythonãbash ãªã©) ã§ç¹æ®ãªã¢ãžã¥ãŒã«ãäœæã§ããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:25
msgid "Module utilities"
msgstr "ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒ"
#: ../../rst/dev_guide/overview_architecture.rst:27
msgid "When multiple modules use the same code, Ansible stores those functions as module utilities to minimize duplication and maintenance. For example, the code that parses URLs is ``lib/ansible/module_utils/url.py``. You can :ref:`write your own module utilities <developing_module_utilities>` as well. Module utilities may only be written in Python or in PowerShell."
msgstr "è€æ°ã®ã¢ãžã¥ãŒã«ãåãã³ãŒãã䜿çšããå Žåã¯ãAnsible ããã®æ©èœãã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãšããŠä¿åããéè€ãšã¡ã³ããã³ã¹ãæå°éã«æããŸããããšãã°ãURL ã解æããã³ãŒã㯠``lib/ansible/module_utils/url.py`` ãšãªããŸãã:ref:`ç¬èªã®ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãèšè¿° <developing_module_utilities>` ãããããšãã§ããŸããã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒã¯ãPython ãŸã㯠PowerShell ã§ã®ã¿èšè¿°ã§ããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:30
msgid "Plugins"
msgstr "ãã©ã°ã€ã³"
#: ../../rst/dev_guide/overview_architecture.rst:32
msgid ":ref:`Plugins <plugins_lookup>` augment Ansible's core functionality. While modules execute on the target system in separate processes (usually that means on a remote system), plugins execute on the control node within the ``/usr/bin/ansible`` process. Plugins offer options and extensions for the core features of Ansible - transforming data, logging output, connecting to inventory, and more. Ansible ships with a number of handy plugins, and you can easily :ref:`write your own <developing_plugins>`. For example, you can write an :ref:`inventory plugin <developing_inventory>` to connect to any datasource that returns JSON. Plugins must be written in Python."
msgstr ":ref:`Plugins <plugins_lookup>` ã¯ãAnsible ã®ã³ã¢æ©èœãæ¡åŒµãããã®ã§ããã¢ãžã¥ãŒã«ãã¿ãŒã²ããã·ã¹ãã ã®å¥ã®ããã»ã¹ (éåžžã¯ãªã¢ãŒãã·ã¹ãã äž) ã§å®è¡ãããã®ã«å¯Ÿãããã©ã°ã€ã³ã¯ã``/usr/bin/ansible`` ããã»ã¹å
ã®ã³ã³ãããŒã«ããŒãã§å®è¡ãããŸãããã©ã°ã€ã³ã¯ãããŒã¿ã®å€æãåºåã®ãã®ã³ã°ãã€ã³ãã³ããªãŒãžã®æ¥ç¶ãªã©ãAnsible ã®ã³ã¢æ©èœã®ãªãã·ã§ã³ãæ¡åŒµæ©èœãæäŸããŸããAnsible ã«ã¯äŸ¿å©ãªãã©ã°ã€ã³ãå€æ°å梱ãããŠãããç°¡åã« :ref:`èªäœ <developing_plugins>` ã§ããŸããããšãã°ãJSON ãè¿ãããããããŒã¿ãœãŒã¹ã«æ¥ç¶ããããã® :ref:`inventory ãã©ã°ã€ã³ <developing_inventory>` ãèšè¿°ããããšãã§ããŸãããã©ã°ã€ã³ã¯ Python ã§èšè¿°ãããŠããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:35
msgid "Inventory"
msgstr "ã€ã³ãã³ããªãŒ"
#: ../../rst/dev_guide/overview_architecture.rst:37
msgid "By default, Ansible represents the machines it manages in a file (INI, YAML, and so on) that puts all of your managed machines in groups of your own choosing."
msgstr "ããã©ã«ãã§ã¯ãAnsible ã¯ãèªèº«ãéžæããã°ã«ãŒãã«ãã¹ãŠã®ç®¡çãã·ã³ãé
眮ãããã¡ã€ã« (INIãYAML ãªã©) ã§ç®¡çãããã·ã³ãè¡šããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:39
msgid "To add new machines, there is no additional SSL signing server involved, so there's never any hassle deciding why a particular machine didn't get linked up due to obscure NTP or DNS issues."
msgstr "æ°ãããã·ã³ãè¿œå ããå Žåãè¿œå ã® SSL 眲åãµãŒããŒã¯ãªããããäžæç㪠NTP ãŸã㯠DNS ã®åé¡ãåå ã§ç¹å®ã®ãã·ã³ããªã³ã¯ãããªãã£ãçç±ãå€æããã®ã«èŠåŽããããšã¯ãããŸããã"
#: ../../rst/dev_guide/overview_architecture.rst:41
msgid "If there's another source of truth in your infrastructure, Ansible can also connect to that. Ansible can draw inventory, group, and variable information from sources like EC2, Rackspace, OpenStack, and more."
msgstr "ã€ã³ãã©ã¹ãã©ã¯ãã£ãŒã«ä¿¡é Œã§ããå¥ã®ãœãŒã¹ãããå Žåã¯ãAnsible ãããã«æ¥ç¶ã§ããŸããAnsible ã¯ãEC2ãRackspaceãOpenStack ãªã©ã®ãœãŒã¹ããã€ã³ãã³ããªãŒãã°ã«ãŒããããã³å€æ°æ
å ±ãåãåºãããšãã§ããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:43
msgid "Here's what a plain text inventory file looks like:"
msgstr "ãã¬ãŒã³ããã¹ãã®ã€ã³ãã³ããªãŒãã¡ã€ã«ã¯æ¬¡ã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:56
msgid "Once inventory hosts are listed, variables can be assigned to them in simple text files (in a subdirectory called 'group_vars/' or 'host_vars/' or directly in the inventory file."
msgstr "ã€ã³ãã³ããªãŒãã¹ãã®äžèŠ§ãäœæããããšãåçŽãªããã¹ããã¡ã€ã«åœ¢åŒã§ (ãgroup_vars/ããŸãã¯ãhost_vars/ããšããååã®ãµããã£ã¬ã¯ããªãŒå
ããŸãã¯ã€ã³ãã³ããªãŒãã¡ã€ã«ã«çŽæ¥) å²ãåœãŠãããšãã§ããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:58
msgid "Or, as already mentioned, use a dynamic inventory to pull your inventory from data sources like EC2, Rackspace, or OpenStack."
msgstr "ãŸãã¯ãäžè¿°ã®ããã«ãåçã€ã³ãã³ããªãŒã䜿çšããŠãEC2ãRackspaceãOpenStack ã®ãããªããŒã¿ãœãŒã¹ããã€ã³ãã³ããªãŒããã«ããããšãã§ããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:61
msgid "Playbooks"
msgstr "Playbook"
#: ../../rst/dev_guide/overview_architecture.rst:63
msgid "Playbooks can finely orchestrate multiple slices of your infrastructure topology, with very detailed control over how many machines to tackle at a time. This is where Ansible starts to get most interesting."
msgstr "Playbook ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ãŒããããžãŒã®è€æ°ã®ã¹ã©ã€ã¹ã现ããèª¿æŽ (ãªãŒã±ã¹ãã¬ãŒã·ã§ã³) ããããšãã§ããåæã«åãçµããã·ã³ã®æ°ãéåžžã«çŽ°ããå¶åŸ¡ããããšãã§ããŸããããããããAnsible ã§æãé
åçãªç¹ã«ãªããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:65
msgid "Ansible's approach to orchestration is one of finely-tuned simplicity, as we believe your automation code should make perfect sense to you years down the road and there should be very little to remember about special syntax or features."
msgstr "Ansible ã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãžã®ã¢ãããŒãã¯ã现ãã調æŽãããç°¡çŽ åã® 1 ã€ã§ããéåžžãèªååã³ãŒãã¯ä»åŸäœå¹Žã«ãæž¡ã£ãŠå®å
šã«ç解ã§ãããã®ã§ãããç¹å¥ãªæ§æãæ©èœã«ã€ããŠèŠããŠããã¹ãããšã¯ã»ãšãã©ãªãããã§ãã"
#: ../../rst/dev_guide/overview_architecture.rst:67
msgid "Here's what a simple playbook looks like:"
msgstr "以äžã¯åçŽãª Playbook ã®äŸã§ãã"
#: ../../rst/dev_guide/overview_architecture.rst:86
msgid "The Ansible search path"
msgstr "Ansible æ€çŽ¢ãã¹"
#: ../../rst/dev_guide/overview_architecture.rst:88
msgid "Modules, module utilities, plugins, playbooks, and roles can live in multiple locations. If you write your own code to extend Ansible's core features, you may have multiple files with similar or the same names in different locations on your Ansible control node. The search path determines which of these files Ansible will discover and use on any given playbook run."
msgstr "ã¢ãžã¥ãŒã«ãã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒããã©ã°ã€ã³ãPlaybookãããã³ããŒã«ã¯è€æ°ã®å Žæã«çœ®ãããšãã§ããŸããAnsible ã®ã³ã¢æ©èœãæ¡åŒµããããã«ç¬èªã®ã³ãŒããäœæããå Žåã¯ãAnsible ã³ã³ãããŒã«ããŒãã®ç°ãªãå Žæã«åãååãŸãã¯é¡äŒŒããååãæã€ãã¡ã€ã«ãè€æ°ååšããå ŽåããããŸããæ€çŽ¢ãã¹ã«ãããAnsible ãç¹å®ã® Playbook ã®å®è¡ã§æ€åºããŠäœ¿çšãããããã®ãã¡ã€ã«ã決ãŸããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:91
msgid "Ansible's search path grows incrementally over a run. As Ansible finds each playbook and role included in a given run, it appends any directories related to that playbook or role to the search path. Those directories remain in scope for the duration of the run, even after the playbook or role has finished executing. Ansible loads modules, module utilities, and plugins in this order:"
msgstr "Ansible ã®æ€çŽ¢ãã¹ã¯ãå®è¡äžã«åŸã
ã«å€§ãããªããŸããAnsible ã¯ãç¹å®ã®å®è¡ã«å«ãŸããå Playbook ãšããŒã«ãèŠã€ãããšããã® Playbook ãŸãã¯ããŒã«ã«é¢é£ãããã£ã¬ã¯ããªãŒãæ€çŽ¢ãã¹ã«è¿œå ããŸãããããã®ãã£ã¬ã¯ããªãŒã¯ãPlaybook ãŸãã¯ããŒã«ã®å®è¡ãçµäºããåŸã§ããå®è¡äžã¯ã¹ã³ãŒãå
ã«çãŸããŸããAnsible ã¯ãã¢ãžã¥ãŒã«ãã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãããã³ãã©ã°ã€ã³ã次ã®é åºã§èªã¿èŸŒã¿ãŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:97
msgid "Directories adjacent to a playbook specified on the command line. If you run Ansible with ``ansible-playbook /path/to/play.yml``, Ansible appends these directories if they exist:"
msgstr "ã³ãã³ãã©ã€ã³ã§æå®ãã Playbook ã«é£æ¥ãããã£ã¬ã¯ããªãŒã``ansible-playbook /path/to/play.yml`` 㧠Ansible ãå®è¡ãããã®ãã£ã¬ã¯ããªãŒãååšããå Žåã¯ãAnsible ããã®ãã£ã¬ã¯ããªãŒãè¿œå ããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:105
msgid "Directories adjacent to a playbook that is statically imported by a playbook specified on the command line. If ``play.yml`` includes ``- import_playbook: /path/to/subdir/play1.yml``, Ansible appends these directories if they exist:"
msgstr "ã³ãã³ãã©ã€ã³ã§æå®ããã Playbook ã«ãã£ãŠéçã«ã€ã³ããŒãããã Playbook ã«é£æ¥ãããã£ã¬ã¯ããªãŒã``play.yml`` ã« ``- import_playbook: /path/to/subdir/play1.yml`` ãå«ãŸããŠããŠããããã®ãã£ã¬ã¯ããªãŒãååšããå Žåã¯ãAnsible ããã®ãã£ã¬ã¯ããªãŒãè¿œå ããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:115
msgid "Subdirectories of a role directory referenced by a playbook. If ``play.yml`` runs ``myrole``, Ansible appends these directories if they exist:"
msgstr "Playbook ã«ãã£ãŠåç
§ãããããŒã«ãã£ã¬ã¯ããªãŒã®ãµããã£ã¬ã¯ããªãŒã``play.yml`` ã ``myrole`` ãå®è¡ãã次ã®ãã£ã¬ã¯ããªãŒãååšããå Žåã¯ãAnsible ããã®ãã£ã¬ã¯ããªãŒãè¿œå ããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:124
msgid "Directories specified as default paths in ``ansible.cfg`` or by the related environment variables, including the paths for the various plugin types. See :ref:`ansible_configuration_settings` for more information. Sample ``ansible.cfg`` fields:"
msgstr "``ansible.cfg`` ã®ããã©ã«ããã¹ãšããŠããŸãã¯ããŸããŸãªãã©ã°ã€ã³ã¿ã€ãã®ãã¹ãªã©ãé¢é£ããç°å¢å€æ°ã«ããæå®ããããã£ã¬ã¯ããªãŒã詳现ã¯ãã:ref:`ansible_configuration_settings`ããåç
§ããŠãã ããããµã³ãã«ã® ``ansible.cfg`` ãã£ãŒã«ãã¯ä»¥äžã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:135
msgid "Sample environment variables:"
msgstr "以äžã¯ãç°å¢å€æ°ã®äŸãšãªããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:144
msgid "The standard directories that ship as part of the Ansible distribution."
msgstr "Ansible ãã£ã¹ããªãã¥ãŒã·ã§ã³ã«å梱ãããæšæºãã£ã¬ã¯ããªãŒã"
#: ../../rst/dev_guide/overview_architecture.rst:148
msgid "Modules, module utilities, and plugins in user-specified directories will override the standard versions. This includes some files with generic names. For example, if you have a file named ``basic.py`` in a user-specified directory, it will override the standard ``ansible.module_utils.basic``."
msgstr "ãŠãŒã¶ãŒãæå®ãããã£ã¬ã¯ããªãŒã«ããã¢ãžã¥ãŒã«ãã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãããã³ãã©ã°ã€ã³ã¯æšæºããŒãžã§ã³ãäžæžãããŸããããã«ã¯ãäžè¬çãªååã®ãã¡ã€ã«ãå«ãŸããŸããããšãã°ããŠãŒã¶ãŒæå®ã®ãã£ã¬ã¯ããªãŒã« ``basic.py`` ãšããååã®ãã¡ã€ã«ãããå Žåã¯ãæšæºã® ``ansible.module_utils.basic`` ãäžæžãããŸãã"
#: ../../rst/dev_guide/overview_architecture.rst:153
msgid "If you have more than one module, module utility, or plugin with the same name in different user-specified directories, the order of commands at the command line and the order of includes and roles in each play will affect which one is found and used on that particular play."
msgstr "åãååã®ã¢ãžã¥ãŒã«ãã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒããŸãã¯ãã©ã°ã€ã³ãè€æ°ã®ãŠãŒã¶ãŒæå®ãã£ã¬ã¯ããªãŒã«ããå Žåãã³ãã³ãã©ã€ã³ã§ã®ã³ãã³ãã®é åºããåãã¬ã€ã§ã®ã€ã³ã¯ã«ãŒããšããŒã«ã®é åºã¯ããã®ç¹å®ã®ãã¬ã€ã§ã©ã®ã¢ãžã¥ãŒã«ãèŠã€ããã䜿çšããããã«ãã£ãŠç°ãªããŸãã"
#: ../../rst/dev_guide/platforms/aws_guidelines.rst:5
msgid "Guidelines for Ansible Amazon AWS module development"
msgstr "Ansible Amazon AWS ã¢ãžã¥ãŒã«éçºã®ã¬ã€ãã©ã€ã³"
#: ../../rst/dev_guide/platforms/aws_guidelines.rst:7
msgid "This guide has moved to :ref:`ansible_collections.amazon.aws.docsite.dev_guide_intro`."
msgstr "ãã®ã¬ã€ã㯠:ref:`ansible_collections.amazon.aws.docsite.dev_guide_intro` ã«ç§»åããŸããã"
#: ../../rst/dev_guide/platforms/openstack_guidelines.rst:4
msgid "OpenStack Ansible Modules"
msgstr "OpenStack Ansible ã¢ãžã¥ãŒã«"
#: ../../rst/dev_guide/platforms/openstack_guidelines.rst:6
msgid "Please see the `OpenStack guidelines <https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/docs/openstack_guidelines.rst>`_, for further information."
msgstr "詳现ã¯ã`OpenStack ã¬ã€ãã©ã€ã³ <https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/docs/openstack_guidelines.rst>`_ ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/platforms/ovirt_dev_guide.rst:4
msgid "oVirt Ansible Modules"
msgstr "oVirt Ansible ã¢ãžã¥ãŒã«"
#: ../../rst/dev_guide/platforms/ovirt_dev_guide.rst:7
msgid "See the `ovirt.ovirt collection documentation <https://github.com/oVirt/ovirt-ansible-collection/blob/master/README-developers.md>`_ for details on how to contribute to this collection."
msgstr "ãã®ã³ã¬ã¯ã·ã§ã³ãžã®è²¢ç®æ¹æ³ã¯ã`ovirt.ovirt collection documentation <https://github.com/oVirt/ovirt-ansible-collection/blob/master/README-developers.md>`_ ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/platforms/vmware_guidelines.rst:5
msgid "Guidelines for VMware module development"
msgstr "VMware ã¢ãžã¥ãŒã«éçºã®ã¬ã€ãã©ã€ã³"
#: ../../rst/dev_guide/platforms/vmware_guidelines.rst:7
msgid "This guide has moved to :ref:`ansible_collections.community.vmware.docsite.vmware_ansible_devguide`."
msgstr "ãã®ã¬ã€ã㯠:ref:`ansible_collections.community.vmware.docsite.vmware_ansible_devguide` ã«ç§»åããŸããã"
#: ../../rst/dev_guide/platforms/vmware_rest_guidelines.rst:5
msgid "Guidelines for VMware REST module development"
msgstr "VMware REST ã¢ãžã¥ãŒã«éçºã®ã¬ã€ãã©ã€ã³"
#: ../../rst/dev_guide/platforms/vmware_rest_guidelines.rst:7
msgid "This guide has moved to :ref:`ansible_collections.vmware.vmware_rest.docsite.vmware_rest_devguide`."
msgstr "ãã®ã¬ã€ã㯠:ref:`ansible_collections.vmware.vmware_rest.docsite.vmware_rest_devguide` ã«ç§»åããŸããã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:4
msgid "Basic rules"
msgstr "åºæ¬ã«ãŒã«"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:9
msgid "Use standard American English"
msgstr "æšæºçãªã¢ã¡ãªã«è±èªã䜿çšãã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:10
msgid "Ansible uses Standard American English. Watch for common words that are spelled differently in American English (color vs colour, organize vs organise, and so on)."
msgstr "Ansible ã¯æšæºçãªã¢ã¡ãªã«è±èªã䜿çšããŸããã¢ã¡ãªã«è±èªã§ã¯ç¶Žããç°ãªãäžè¬çãªåèªã«æ³šæããŠãã ãã (color ãš colourãorganize ãš organise ãªã©)ã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:13
msgid "Write for a global audience"
msgstr "äžçäžã®èªè
ã«åããŠæžã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:14
msgid "Everything you say should be understandable by people of different backgrounds and cultures. Avoid idioms and regionalism and maintain a neutral tone that cannot be misinterpreted. Avoid attempts at humor."
msgstr "èšèŒããå
容ã¯ãçãç«ã¡ãæåãéã£ãŠãç解ã§ãããã®ã§ãªããã°ãªããŸãããã€ãã£ãªã ãå°å䞻矩ã¯äœ¿çšããã誀ã£ãŠè§£éãããªãäžç«çãªè¡šçŸã䜿çšããŸãããŠãŒã¢ã¢ãªè¡šçŸã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:17
msgid "Follow naming conventions"
msgstr "åœåèŠåã«åŸã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:18
msgid "Always follow naming conventions and trademarks."
msgstr "åœåèŠåãšåæšã«ã¯åžžã«åŸã£ãŠãã ããã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:23
msgid "Use clear sentence structure"
msgstr "æ確ãªææ§é ã䜿çšãã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:24
msgid "Clear sentence structure means:"
msgstr "æ確ãªææ³æ§é ãšã¯ã以äžã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:26
msgid "Start with the important information first."
msgstr "éèŠãªæ
å ±ãæåã«ç€ºããŸãã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:27
msgid "Avoid padding/adding extra words that make the sentence harder to understand."
msgstr "æç« ã®ç解ãé£ãããªããããªåèªã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:28
msgid "Keep it short - Longer sentences are harder to understand."
msgstr "æç« ã¯çãããŸããæç« ãé·ããªãã°ãªãã»ã©ãç解ãé£ãããªããŸãã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:30
msgid "Some examples of improving sentences:"
msgstr "ããšãã°ã以äžã®ããã«æ¹åã§ããŸãã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:33
#: ../../rst/dev_guide/style_guide/basic_rules.rst:39
msgid "Bad:"
msgstr "åé¡ãããæç« : "
#: ../../rst/dev_guide/style_guide/basic_rules.rst:33
msgid "The unwise walking about upon the area near the cliff edge may result in a dangerous fall and therefore it is recommended that one remains a safe distance to maintain personal safety."
msgstr "The unwise walking about upon the area near the cliff edge may result in a dangerous fall and therefore it is recommended that one remains a safe distance to maintain personal safety. (åŽã®ç«¯è¿ããæ©ãåããšãäžã«èœã¡ãå±éºããããŸããå®å
šãç¶æããããã«å®å
šãªè·é¢ãä¿ã€ããšããå§ãããŸãã)"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:36
#: ../../rst/dev_guide/style_guide/basic_rules.rst:42
msgid "Better:"
msgstr "æ¹åäŸ: "
#: ../../rst/dev_guide/style_guide/basic_rules.rst:36
msgid "Danger! Stay away from the cliff."
msgstr "Danger! Stay away from the cliff. (å±éºã§ããåŽããé¢ããŠãã ããã)"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:39
msgid "Furthermore, large volumes of water are also required for the process of extraction."
msgstr "Furthermore, large volumes of water are also required for the process of extraction. (ãŸããææ¯ã®ããã»ã¹ã«ã¯ãæ°Žã倧éã«å¿
èŠã«ãªããŸãã)"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:42
msgid "Extraction also requires large volumes of water."
msgstr "Extraction also requires large volumes of water. (ææ¯ã«ã¯ã倧éã®æ°Žãå¿
èŠã§ãã)"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:45
msgid "Avoid verbosity"
msgstr "åé·ãé¿ãã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:46
msgid "Write short, succinct sentences. Avoid terms like:"
msgstr "çãç°¡æœãªæç« ãæžããŸãã以äžã®ãããªçšèªã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:48
msgid "\"...as has been said before,\""
msgstr "ã...as has been said beforeã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:49
msgid "\"..each and every,\""
msgstr "ã...each and everyã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:50
msgid "\"...point in time,\""
msgstr "ã...point in timeã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:51
msgid "\"...in order to,\""
msgstr "ã...in order toã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:54
msgid "Highlight menu items and commands"
msgstr "ã¡ãã¥ãŒé
ç®ããã³ã³ãã³ãã匷調衚瀺ãã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:55
msgid "When documenting menus or commands, it helps to **bold** what is important."
msgstr "ã¡ãã¥ãŒãŸãã¯ã³ãã³ããææžåããå Žåã¯ãéèŠãªå
容ã **倪å** ã«ãããšåœ¹ç«ã¡ãŸãã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:57
msgid "For menu procedures, bold the menu names, button names, and so on to help the user find them on the GUI:"
msgstr "ã¡ãã¥ãŒæé ã§ã¯ãã¡ãã¥ãŒåããã¿ã³åãªã©ã倪åã«ããŠãGUI ã§ãã®æåãèŠã€ããããããã«ããŸãã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:59
msgid "On the **File** menu, click **Open**."
msgstr "**ãã¡ã€ã«** ã¡ãã¥ãŒã§ã**éã** ãã¯ãªãã¯ããŸãã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:60
msgid "Type a name in the **User Name** field."
msgstr "**ãŠãŒã¶ãŒå** ãã£ãŒã«ãã«ååãå
¥åããŸãã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:61
msgid "In the **Open** dialog box, click **Save**."
msgstr "**éã** ãã€ã¢ãã°ããã¯ã¹ã§ã**ä¿å** ãã¯ãªãã¯ããŸãã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:62
msgid "On the toolbar, click the **Open File** icon."
msgstr "ããŒã«ããŒã§ã**ãã¡ã€ã«ãéã** ã¢ã€ã³ã³ãã¯ãªãã¯ããŸãã"
#: ../../rst/dev_guide/style_guide/basic_rules.rst:64
msgid "For code or command snippets, use the RST `code-block directive <https://www.sphinx-doc.org/en/1.5/markup/code.html#directive-code-block>`_::"
msgstr "code ãŸã㯠command ã¹ããããã®å Žåã¯ãRST ã® `code-block ãã£ã¬ã¯ãã£ã <https://www.sphinx-doc.org/en/1.5/markup/code.html#directive-code-block>`_ ã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:3
msgid "Grammar and Punctuation"
msgstr "ææ³ããã³å¥èªç¹"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:6
msgid "Common Styles and Usage, and Common Mistakes"
msgstr "äžè¬çãªã¹ã¿ã€ã«ããã³äœ¿çšæ¹æ³ããªãã³ã«äžè¬çãªééã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:9
#: ../../rst/dev_guide/testing/sanity/ignores.rst:50
msgid "Ansible"
msgstr "Ansible"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:10
msgid "Write \"Ansible.\" Not \"Ansible, Inc.\" or \"AnsibleWorks The only exceptions to this rule are when we're writing legal or financial statements."
msgstr "ãAnsible, Inc.ããŸãã¯ãAnsibleWorksããšããããAnsibleããšèšè¿°ããŠãã ããããã®ã«ãŒã«ã®å¯äžã®äŸå€ã¯ãæ³çææžãŸãã¯è²¡åè«žè¡šãäœæããå Žåã§ãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:12
msgid "Never use the logotype by itself in body text. Always keep the same font you are using the rest of the sentence."
msgstr "ããŽããŒã¯ã¯ãæ¬æã§äœ¿çšããªãã§ãã ããããã®ä»ã®æç« ã§äœ¿çšããŠãããã©ã³ããåžžã«äœ¿çšããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:14
msgid "A company is singular in the US. In other words, Ansible is an \"it,\" not a \"they.\""
msgstr "ç±³åœã§ã¯ãäŒç€Ÿã¯åæ°åœ¢ã§äœ¿çšããŸããã€ãŸããAnsible ã¯ããtheyãã§ã¯ãªããitãã«ãªããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:18
msgid "Capitalization"
msgstr "倧æå"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:19
msgid "If it's not a real product, service, or department at Ansible, don't capitalize it. Not even if it seems important. Capitalize only the first letter of the first word in headlines."
msgstr "Ansible ã®å®éã®è£œåããµãŒãã¹ããŸãã¯éšéã§ã¯ãªãå Žåã¯ã倧æåã«ããªãã§ãã ãããèŠåºãã®æåã®åèªã®æåã®æåã ãã倧æåã«ããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:22
msgid "Colon"
msgstr "ã³ãã³"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:23
msgid "A colon is generally used before a list or series: - The Triangle Area consists of three cities: Raleigh, Durham, and Chapel Hill."
msgstr "éåžžãã³ãã³ã¯ããªã¹ããŸãã¯äžé£ã®èŠçŽ ã®åã«äœ¿çšãããŸãã- The Triangle Area consists of three cities: Raleigh, Durham, and Chapel Hill."
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:26
msgid "But not if the list is a complement or object of an element in the sentence: - Before going on vacation, be sure to (1) set the alarm, (2) cancel the newspaper, and (3) ask a neighbor to collect your mail."
msgstr "ãã ãããªã¹ãããæå
ã®èŠçŽ ã®è£èªãŸãã¯ç®çèªã®å Žåã¯ã以äžã®ããã«ããŸããBefore going on vacation, be sure to (1) set the alarm, (2) cancel the newspaper, and (3) ask a neighbor to collect your mail."
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:29
msgid "Use a colon after \"as follows\" and \"the following\" if the related list comes immediately after: wedge The steps for changing directories are as follows:"
msgstr "çŽåŸã«é¢é£ãããªã¹ããè¿œå ããå Žåã¯ããas followsãããã³ãthe followingã(次ã®ãšãã) ã®åŸã«ã³ãã³ã䜿çšããŸããThe steps for changing directories are as follows:"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:32
msgid "Open a terminal."
msgstr "Open a terminal."
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:33
msgid "Type cd..."
msgstr "Type cd..."
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:35
msgid "Use a colon to introduce a bullet list (or dash, or icon/symbol of your choice):"
msgstr "ã³ãã³ã䜿çšããŠãç®æ¡æžããªã¹ã (ããã·ã¥ãã¢ã€ã³ã³ãŸãã¯èšå·ã䜿çš) ãè¿œå ããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:37
msgid "In the Properties dialog box, you'll find the following entries:"
msgstr "In the Properties dialog box, you'll find the following entries:"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:39
msgid "Connection name"
msgstr "Connection name"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:40
msgid "Count"
msgstr "Count"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:41
msgid "Cost per item"
msgstr "Cost per item"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:45
msgid "Commas"
msgstr "ã³ã³ã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:46
msgid "Use serial commas, the comma before the \"and\" in a series of three or more items:"
msgstr "3 ã€ä»¥äžã®é
ç®ãç¶ãå Žåã¯ããandãã®åã«ã³ã³ãã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:48
msgid "\"Item 1, item 2, and item 3.\""
msgstr "Item 1, item 2, and item 3."
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:51
msgid "It's easier to read that way and helps avoid confusion. The primary exception to this you will see is in PR, where it is traditional not to use serial commas because it is often the style of journalists."
msgstr "ããã«ããèªã¿ããããªããæ··ä¹±ãé¿ããããšãã§ããŸããããã«å¯Ÿããäž»ãªäŸå€ã¯ PR ã§ããPR ã§ã¯ãå€ãã®å Žåãžã£ãŒããªã¹ãåãã®ã¹ã¿ã€ã«ã«ããããã®ãããªã³ã³ãã¯äœ¿çšããŸããã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:53
msgid "Commas are always important, considering the vast difference in meanings of the following two statements."
msgstr "次㮠2 ã€ã®æç« ã®æå³ã倧ããç°ãªãããšãèãããšãã³ã³ãã¯åžžã«éèŠã§ãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:55
msgid "Let's eat, Grandma"
msgstr "Let's eat, Grandma"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:56
msgid "Let's eat Grandma."
msgstr "Let's eat Grandma."
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:58
msgid "Correct punctuation could save Grandma's life."
msgstr "æ£ããå¥èªç¹ã«ããããã°ãããã®åœãæãããšãã§ããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:60
msgid "If that does not convince you, maybe this will:"
msgstr "ãããã¯ã以äžã®äŸãã芧ãã ããã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:66
msgid "Contractions"
msgstr "çž®çŽ"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:67
msgid "Do not use contractions in Ansible documents."
msgstr "Ansible ããã¥ã¡ã³ãã§ã¯ãçž®çŽã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:70
msgid "Em dashes"
msgstr "ãšã ããã·ã¥ (ïŒ)"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:71
msgid "When possible, use em-dashes with no space on either side. When full em-dashes aren't available, use double-dashes with no spaces on either side--like this."
msgstr "å¯èœãªå Žåã¯ãäž¡åŽã«ã¹ããŒã¹ãå
¥ããã«ãšã ããã·ã¥ (ïŒ) ã䜿çšããŸãããšã ããã·ã¥ (ïŒ) ãå©çšã§ããªãå Žåã¯ãäž¡åŽã«ç©ºçœãå
¥ããã«äºéããã·ã¥ã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:73
msgid "A pair of em dashes can be used in place of commas to enhance readability. Note, however, that dashes are always more emphatic than commas."
msgstr "èªã¿ãããããããã«ãã³ã³ãã®ä»£ããã«ãšã ããã·ã¥ããã¢ã«ããŠäœ¿çšã§ããŸãããã ããããã·ã¥ã¯ã³ã³ããããåžžã«åŒ·èª¿ãããããšã«æ³šæããŠãã ããã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:75
msgid "A pair of em dashes can replace a pair of parentheses. Dashes are considered less formal than parentheses; they are also more intrusive. If you want to draw attention to the parenthetical content, use dashes. If you want to include the parenthetical content more subtly, use parentheses."
msgstr "ãšã ããã·ã¥ã®ãã¢ã¯ãæ¬åŒ§ã®ãã¢ã®ä»£ããã«äœ¿çšããããšãã§ããŸããããã·ã¥ã¯æ¬åŒ§ããã圢åŒçã§ã¯ãªããšèŠãªãããæŒãã€ãããŸããæããããšããããŸããæ¬åŒ§å
ã®ã³ã³ãã³ãã«æ³šæãåŒãããå Žåã¯ãããã·ã¥ã䜿çšããŸããæ¬åŒ§å
ã®ã³ã³ãã³ãã«ããŸã泚æãåŒããããªãå Žåã¯ãæ¬åŒ§ã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:78
msgid "When dashes are used in place of parentheses, surrounding punctuation should be omitted. Compare the following examples."
msgstr "æ¬åŒ§ã®ä»£ããã«ããã·ã¥ã䜿çšããå Žåã¯ãååŸã®å¥èªç¹ãçç¥ããŠãã ããã次ã®äŸãæ¯èŒããŠãã ããã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:87
msgid "When used in place of parentheses at the end of a sentence, only a single dash is used."
msgstr "ææ«ã«æ¬åŒ§ã®ä»£ããã«äœ¿çšããå Žåã¯ãããã·ã¥ã 1 ã€ã ã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:97
msgid "Exclamation points (!)"
msgstr "æå笊 (!)"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:98
msgid "Do not use them at the end of sentences. An exclamation point can be used when referring to a command, such as the bang (!) command."
msgstr "ææ«ã«ã¯äœ¿çšããªãã§ãã ãããæå笊ã¯ãbang (!) ãªã©ã®ã³ãã³ããåç
§ããå Žåã«äœ¿çšã§ããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:101
msgid "Gender References"
msgstr "æ§å¥ã®åç
§"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:102
msgid "Do not use gender-specific pronouns in documentation. It is far less awkward to read a sentence that uses \"they\" and \"their\" rather than \"he/she\" and \"his/hers.\""
msgstr "ããã¥ã¡ã³ããŒã·ã§ã³ã§ã¯ãæ§å¥åºæã®ä»£åè©ã¯äœ¿çšããªãã§ãã ããããhe/sheãããhis/hersãã§ã¯ãªããtheyãããã³ãtheirãã䜿çšããæ¹ãé©åã§ãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:104
msgid "It is fine to use \"you\" when giving instructions and \"the user,\" \"new users,\" and so on. in more general explanations."
msgstr "æ瀺ã瀺ãå Žåã¯ãyouããšäœ¿çšããããäžè¬çãªèª¬æã§ã¯ãthe userãããnew usersããªã©ã䜿çšãããšè¯ãã§ãããã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:106
msgid "Never use \"one\" in place of \"you\" when writing technical documentation. Using \"one\" is far too formal."
msgstr "ãã¯ãã«ã«ããã¥ã¡ã³ããäœæããéã¯ããyouã ã®æå³ã§ãoneãã䜿çšããªãã§ãã ããããoneãã䜿çšãããšå
èŠãããªããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:108
msgid "Never use \"we\" when writing. \"We\" aren't doing anything on the user side. Ansible's products are doing the work as requested by the user."
msgstr "æžã蟌ã¿æã«ãweãã¯äœ¿çšããªãã§ãã ããããweãã¯ããŠãŒã¶ãŒåŽã§ã¯äœãå®è¡ããŸãããAnsible ã®è£œåã¯ããŠãŒã¶ãŒã®èŠæ±ã«å¿ããŠäœæ¥ãè¡ããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:112
msgid "Hyphen"
msgstr "ãã€ãã³"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:113
msgid "The hyphen's primary function is the formation of certain compound terms. Do not use a hyphen unless it serves a purpose. If a compound adjective cannot be misread or, as with many psychological terms, its meaning is established, a hyphen is not necessary."
msgstr "ãã®ãã€ãã³ã®äž»ãªæ©èœã¯ãç¹å®ã®è€åçšèªã®ç¹åŸŽã§ããç®çãæºããããªãéãããã€ãã³ã¯äœ¿çšããªãã§ãã ãããè€å圢容è©ãééã£ãŠè§£éãããªãå ŽåããŸãã¯å€ãã®å¿çåŠçšèªãšåãæ§ã«ããã®æå³ã確ç«ãããŠããå Žåããã€ãã³ã¯å¿
èŠãããŸããã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:115
msgid "Use hyphens to avoid ambiguity or confusion:"
msgstr "ãã€ãã³ã¯ããããŸãããæ··ä¹±ãåé¿ããããã«äœ¿çšããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:135
msgid "In professionally printed material (particularly books, magazines, and newspapers), the hyphen is used to divide words between the end of one line and the beginning of the next. This allows for an evenly aligned right margin without highly variable (and distracting) word spacing."
msgstr "é©åãªç·šéãå¿
èŠãªåºçç© (ç¹ã«æ¬ãéèªãæ°è) ã§ã¯ãåèªãè¡ããŸãããå Žåã«ãã€ãã³ã䜿çšããŸããããã«ãããåèªã®ééã倧ããå€ãã (ãããŠæ°ãæ£ã) ããšãªããå³ããŒãžã³ãåçã«æããããšãã§ããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:139
msgid "Lists"
msgstr "ãªã¹ã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:140
msgid "Keep the structure of bulleted lists equivalent and consistent. If one bullet is a verb phrase, they should all be verb phrases. If one is a complete sentence, they should all be complete sentences, and so on."
msgstr "ç®æ¡æžãã®æ§é ãåçãã€äžè²«æ§ã®ãããã®ã«ä¿ã¡ãŸããããšãã°ã1 ã€ã®ç®æ¡æžããåè©å¥ã§ããå Žã¯ããã¹ãŠã®ç®æ¡æžããåè©å¥ã§ããå¿
èŠããããŸãã1 ã€ãå®å
šãªæã§ããå Žåããã¹ãŠã®é
ç®ãå®å
šãªæã§ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:142
msgid "Capitalize the first word of each bullet. Unless it is obvious that it is just a list of items, such as a list of items like: * computer * monitor * keyboard * mouse"
msgstr "ç®æ¡æžãã§ã¯ãããããæåã®åèªã倧æåã«ããŸãã次ã®ãããªé
ç®ã®ãªã¹ããªã©ãåã«é
ç®ã®ãªã¹ãã§ããããšãæããã§ããå Žåã¯é€ããŸã (* computer * monitor * keyboard * mouse)ã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:148
msgid "When the bulleted list appears within the context of other copy, (unless it's a straight list like the previous example) add periods, even if the bullets are sentence fragments. Part of the reason behind this is that each bullet is said to complete the original sentence."
msgstr "ç®æ¡æžããä»ã®æç« ã«å«ãŸããå Žåã¯ã(äžã®äŸã®ãããªåçŽãªãªã¹ãã§ãªãéã) ç®æ¡æžããå®å
šãªæã«ãªã£ãŠããªããŠãããªãªããè¿œå ããŸããããã¯ãåç®æ¡æžããå
ã®æãå®äºãããšèšãããŠããããã§ãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:150
msgid "In some cases where the bullets are appearing independently, such as in a poster or a homepage promotion, they do not need periods."
msgstr "ç®æ¡æžãããã¹ã¿ãŒãããŒã ããŒãžã®ããã¢ãŒã·ã§ã³ãªã©ã®ããã«ç¬ç«ããŠç€ºãããå Žåãããªãªãã¯å¿
èŠãããŸããã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:152
msgid "When giving instructional steps, use numbered lists instead of bulleted lists."
msgstr "æé ã説æãããšãã¯ãç®æ¡æžãã®ä»£ããã«çªå·ä»ããªã¹ãã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:156
msgid "Months and States"
msgstr "æããã³å·"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:157
msgid "Abbreviate months and states according to AP. Months are only abbreviated if they are used in conjunction with a day. Example: \"The President visited in January 1999.\" or \"The President visited Jan. 12.\""
msgstr "AP ã«åŸã£ãŠãæãšå·ã®ååãçç¥ããŸããæã¯ãæ¥ä»ãšçµã¿åãããŠäœ¿çšãããå Žåã«éãçç¥ãããŸããããšãã°ããThe President visited in January 1999.ããŸãã¯ãThe President visited Jan. 12.ãã§ãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:159
msgid "Months: Jan., Feb., March, April, May, June, July, Aug., Sept., Nov., Dec."
msgstr "æ: Jan.ãFeb.ãMarchãAprilãMayãJuneãJulyãAug.ãSept.ãNov.ãDec."
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:161
msgid "States: Ala., Ariz., Ark., Calif., Colo., Conn., Del., Fla., Ga., Ill., Ind., Kan., Ky., La., Md., Mass., Mich., Minn., Miss., Mo., Mont., Neb., Nev., NH, NJ, NM, NY, NC, ND, Okla., Ore., Pa., RI, SC, SD, Tenn., Vt., Va., Wash., W.Va., Wis., Wyo."
msgstr "å·: Ala.ãAriz.ãArk.ãCalif.ãColo.ãConn.ãDel.ãFla.ãGa.ãIll.ãInd.ãKan.ãKy.ãLa.ãMd.ãMass.ãMich.ãMinn.ãMiss.ãMo.ãMont.ãNeb.ãNev.ãNHãNJãNMãNYãNCãNDãOkla.ãOre.ãPa.ãRIãSCãSDãTenn.ãVt.ãVa.ãWash.ãW.Va.ãWis.ãWyo."
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:164
msgid "Numbers"
msgstr "æ°å"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:165
msgid "Numbers between one and nine are written out. 10 and above are numerals. The exception to this is writing \"4 million\" or \"4 GB.\" It's also acceptable to use numerals in tables and charts."
msgstr "1 ãã 9 ãŸã§ã®æ°åã䜿çšãããŸãã10 以äžã®å€ã¯æ°åã䜿çšããŸããã4 millionããŸãã¯ã4 GBããªã©ã¯äŸå€ãšãªããŸãããŸããè¡šããã£ãŒãã§ã¯æ°å€ã䜿çšããããšãã§ããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:168
msgid "Phone Numbers"
msgstr "é»è©±çªå·"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:170
msgid "Phone number style: 1 (919) 555-0123 x002 and 1 888-GOTTEXT"
msgstr "é»è©±çªå·ã®åœ¢åŒ: 1 (919) 555-0123 x002 ããã³ 1 888-GOTTEXT"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:174
msgid "Quotations (Using Quotation Marks and Writing Quotes)"
msgstr "åŒçš (åŒçšç¬Šã®äœ¿çšãšåŒçšã®èšè¿°)"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:175
msgid "\"Place the punctuation inside the quotes,\" the editor said."
msgstr "\"Place the punctuation inside the quotes,\" the editor said. (ãå¥èªç¹ãåŒçšç¬Šã®äžã«å
¥ããŠãã ããããšç·šéè
ã¯èšããŸãã)"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:177
msgid "Except in rare instances, use only \"said\" or \"says\" because anything else just gets in the way of the quote itself, and also tends to editorialize."
msgstr "ã»ãšãã©ã®å Žåã¯ããsaidããŸãã¯ãsaysãã ãã䜿çšããŠãã ããããã以å€ã¯ãåŒçšã®éªéã«ãªããç·šéãããåŸåãããããã§ãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:180
msgid "Place the name first right after the quote:"
msgstr "åŒçšã®çŽåŸã«ååãè¿œå ããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:180
msgid "\"I like to write first-person because I like to become the character I'm writing,\" Wally Lamb said."
msgstr "\"I like to write first-person because I like to become the character I'm writing,\" Wally Lamb said. (ãç§ã¯èªåãæžããŠãããã£ã©ã¯ã¿ãŒã«ãªãããã®ã§ãäžäººç§°ãæžãã®ã奜ãã§ãããš Wally Lamb ã¯èšããŸãã)"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:184
msgid "Not:"
msgstr "以äžã®ããã«ã¯ããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:183
msgid "\"I like to write first-person because I like to become the character I'm writing,\" said Wally Lamb."
msgstr "\"I like to write first-person because I like to become the character I'm writing,\" said Wally Lamb."
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:187
msgid "Semicolon"
msgstr "ã»ãã³ãã³"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:188
msgid "Use a semicolon to separate items in a series if the items contain commas:"
msgstr "é
ç®ã«ã³ã³ããå«ãŸããŠããå Žåã¯ãã»ãã³ãã³ã䜿çšããŠé
ç®ãåºåããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:190
msgid "Everyday I have coffee, toast, and fruit for breakfast; a salad for lunch; and a peanut butter sandwich, cookies, ice cream, and chocolate cake for dinner."
msgstr "Everyday I have coffee, toast, and fruit for breakfast; a salad for lunch; and a peanut butter sandwich, cookies, ice cream, and chocolate cake for dinner. (ç§ã¯æ¯æ¥ãæé£ã«ã³ãŒããŒãããŒã¹ããããã³ãã«ãŒããé£ã¹ãŸããã©ã³ãã¯ãµã©ããé£ã¹ããã£ããŒã«ã¯ãããŒããããã¿ãŒã®ãµã³ãã€ãããã¯ãããŒãã¢ã€ã¹ã¯ãªãŒã ãããã³ãã§ã³ã¬ãŒãã±ãŒããé£ã¹ãŸã)"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:192
msgid "Use a semicolon before a conjunctive adverb (however, therefore, otherwise, namely, for example, and so on): - I think; therefore, I am."
msgstr "æ¥ç¶è©å¯è© (howeverãthereforeãotherwiseãnamelyãfor example ãªã©) ã®åã«ã»ãã³ãã³ã䜿çšããŸãããI think; therefore, I am.ãã®ããã«ããŸãã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:196
msgid "Spacing after sentences"
msgstr "æã®åŸã®ã¹ããŒã¹"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:197
msgid "Use only a single space after a sentence."
msgstr "æã®åŸã«ã¯ãã·ã³ã°ã«ã¹ããŒã¹ã®ã¿ã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:200
msgid "Time"
msgstr "æé"
#: ../../rst/dev_guide/style_guide/grammar_punctuation.rst:201
msgid "Time of day is written as \"4 p.m.\""
msgstr "æå»ã¯ã4 p.mããšããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:5
msgid "Ansible documentation style guide"
msgstr "Ansible ããã¥ã¡ã³ãã®ã¹ã¿ã€ã«ã¬ã€ã"
#: ../../rst/dev_guide/style_guide/index.rst:7
msgid "Welcome to the Ansible style guide! To create clear, concise, consistent, useful materials on docs.ansible.com, follow these guidelines:"
msgstr "Ansible ã¹ã¿ã€ã«ã¬ã€ãã«ãããã! docs.ansible.com ã«ãæ確ããã³ç°¡æœã§ãäžè²«æ§ã®ããæçšãªããã¥ã¡ã³ããäœæããããã«ã以äžã®ã¬ã€ãã©ã€ã³ãæå®ãããŠããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:14
msgid "Linguistic guidelines"
msgstr "èšèªã®ã¬ã€ãã©ã€ã³"
#: ../../rst/dev_guide/style_guide/index.rst:16
msgid "We want the Ansible documentation to be:"
msgstr "Ansible ããã¥ã¡ã³ãã§ã¯ã以äžãç®æšã«ããŠããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:18
msgid "clear"
msgstr "æ確ãª"
#: ../../rst/dev_guide/style_guide/index.rst:19
msgid "direct"
msgstr "çŽæ¥çãª"
#: ../../rst/dev_guide/style_guide/index.rst:20
msgid "conversational"
msgstr "äŒè©±çãª"
#: ../../rst/dev_guide/style_guide/index.rst:21
msgid "easy to translate"
msgstr "解éã容æãª"
#: ../../rst/dev_guide/style_guide/index.rst:23
msgid "We want reading the docs to feel like having an experienced, friendly colleague explain how Ansible works."
msgstr "Ansible ãæäŸããããã¥ã¡ã³ãã¯ãçµéšè±å¯ã§å奜çãªååã« Ansible ã®ä»çµã¿ã説æããŠããã£ãŠãããšæãããããããªãã®ã«ããããšãç®æšã«ããŠããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:27
msgid "Stylistic cheat-sheet"
msgstr "æäœã®æ©èŠè¡š"
#: ../../rst/dev_guide/style_guide/index.rst:29
msgid "This cheat-sheet illustrates a few rules that help achieve the \"Ansible tone\":"
msgstr "以äžã®æ©èŠè¡šã¯ããAnsibleã®ããŒã³ããå®çŸããã®ã«åœ¹ç«ã€ã«ãŒã«ã瀺ããŠããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:32
msgid "Rule"
msgstr "**ã«ãŒã«**"
#: ../../rst/dev_guide/style_guide/index.rst:32
msgid "Good example"
msgstr "é©åãªäŸ"
#: ../../rst/dev_guide/style_guide/index.rst:32
msgid "Bad example"
msgstr "äžé©åãªäŸ"
#: ../../rst/dev_guide/style_guide/index.rst:34
msgid "Use active voice"
msgstr "èœåæ
ã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:34
msgid "You can run a task by"
msgstr "You can run a task by (以äžã䜿çšããŠã¿ã¹ã¯ãå®è¡ã§ããŸã)"
#: ../../rst/dev_guide/style_guide/index.rst:34
msgid "A task can be run by"
msgstr "A task can be run by (ã¿ã¹ã¯ã¯ã以äžã®ããã«å®è¡ã§ããŸã)"
#: ../../rst/dev_guide/style_guide/index.rst:36
msgid "Use the present tense"
msgstr "çŸåšåœ¢ã®äœ¿çš"
#: ../../rst/dev_guide/style_guide/index.rst:36
msgid "This command creates a"
msgstr "This command creates a (ãã®ã³ãã³ãã«ãã...ãäœæãããŸãã)"
#: ../../rst/dev_guide/style_guide/index.rst:36
msgid "This command will create a"
msgstr "This command will create a (ãã®ã³ãã³ãã«ãã...ãäœæãããŸã)"
#: ../../rst/dev_guide/style_guide/index.rst:38
msgid "Address the reader"
msgstr "èªè
ã«è©±ãããã«æžããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:38
msgid "As you expand your inventory"
msgstr "As you expand your inventory (ã€ã³ãã³ããªãŒãå±éããŸã)"
#: ../../rst/dev_guide/style_guide/index.rst:38
msgid "When the number of managed nodes grows"
msgstr "When the number of managed nodes grows (管çããŒãã®æ°ãå¢ããå Žå)"
#: ../../rst/dev_guide/style_guide/index.rst:40
msgid "Use standard English"
msgstr "æšæºè±èªã®äœ¿çš"
#: ../../rst/dev_guide/style_guide/index.rst:40
msgid "Return to this page"
msgstr "Return to this page (ãã®ããŒãžã«æ»ã)"
#: ../../rst/dev_guide/style_guide/index.rst:40
msgid "Hop back to this page"
msgstr "Hop back to this page (ãã®ããŒãžã«æ»ã)"
#: ../../rst/dev_guide/style_guide/index.rst:42
msgid "Use American English"
msgstr "ã¢ã¡ãªã«è±èªã®äœ¿çš"
#: ../../rst/dev_guide/style_guide/index.rst:42
msgid "The color of the output"
msgstr "The color of the output (åºåã®è²)"
#: ../../rst/dev_guide/style_guide/index.rst:42
msgid "The colour of the output"
msgstr "The colour of the output (åºåã®è²)"
#: ../../rst/dev_guide/style_guide/index.rst:46
msgid "Header case"
msgstr "ããããŒã®æžåŒ"
#: ../../rst/dev_guide/style_guide/index.rst:48
msgid "Headers should be written in sentence case. For example, this section's title is ``Header case``, not ``Header Case`` or ``HEADER CASE``."
msgstr "ããããŒã¯æã§äœ¿çšãããæžåŒã§èšè¿°ããå¿
èŠããããŸããããšãã°ããã®ã»ã¯ã·ã§ã³ã®ã¿ã€ãã«ã¯ã``Header Case`` ã ``HEADER CASE`` ã§ã¯ãªãã``Header case`` ãšèšè¿°ããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:53
msgid "Avoid using Latin phrases"
msgstr "ã©ãã³èªã®ãã¬ãŒãºã䜿çšããªã"
#: ../../rst/dev_guide/style_guide/index.rst:55
msgid "Latin words and phrases like ``e.g.`` or ``etc.`` are easily understood by English speakers. They may be harder to understand for others and are also tricky for automated translation."
msgstr "``e.g.``ã``etc.`` ã®ãããªã©ãã³èªããã¬ãŒãºã¯ãè±èªè©±è
ã§ããã°ç°¡åã«ç解ã§ããŸãããã ãããã®ä»ã®äººã«ãšã£ãŠã¯ç解ãé£ããå Žåããããèªå翻蚳ã®éã«ã泚æãå¿
èŠã«ãªããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:59
msgid "Use the following English terms in place of Latin terms or abbreviations:"
msgstr "ãããã£ãŠãã©ãã³èªã®çšèªãŸãã¯ç¥èªã®ä»£ããã«ãè±èªã®çšèªã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:62
msgid "Latin"
msgstr "ã©ãã³èª"
#: ../../rst/dev_guide/style_guide/index.rst:62
msgid "English"
msgstr "è±èª"
#: ../../rst/dev_guide/style_guide/index.rst:64
msgid "i.e"
msgstr "i.e (èšãæãããš)"
#: ../../rst/dev_guide/style_guide/index.rst:64
msgid "in other words"
msgstr "in other words (èšãæãããš)"
#: ../../rst/dev_guide/style_guide/index.rst:66
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:89
msgid "e.g."
msgstr "e.g. (ããšãã°)"
#: ../../rst/dev_guide/style_guide/index.rst:66
msgid "for example"
msgstr "for example (ããšãã°)"
#: ../../rst/dev_guide/style_guide/index.rst:68
msgid "etc"
msgstr "etc (ãªã©)"
#: ../../rst/dev_guide/style_guide/index.rst:68
msgid "and so on"
msgstr "and so on (ãªã©)"
#: ../../rst/dev_guide/style_guide/index.rst:70
msgid "via"
msgstr "via (ã«ãã)"
#: ../../rst/dev_guide/style_guide/index.rst:70
msgid "by/ through"
msgstr "by/ through (ã«ãã)"
#: ../../rst/dev_guide/style_guide/index.rst:72
msgid "vs./versus"
msgstr "vs./versus (察)"
#: ../../rst/dev_guide/style_guide/index.rst:72
msgid "rather than/against"
msgstr "rather than/against (察)"
#: ../../rst/dev_guide/style_guide/index.rst:77
msgid "reStructuredText guidelines"
msgstr "reStructuredText ã®ã¬ã€ãã©ã€ã³"
#: ../../rst/dev_guide/style_guide/index.rst:79
msgid "The Ansible documentation is written in reStructuredText and processed by Sphinx. We follow these technical or mechanical guidelines on all rST pages:"
msgstr "Ansible ããã¥ã¡ã³ã㯠reStructuredText ã§èšè¿°ãããSphinx ã«ãã£ãŠåŠçãããŸãããã¹ãŠã® rST ããŒãžã«å¯ŸããŠã以äžã®æè¡çãŸãã¯æ©æ¢°çãªã¬ã€ãã©ã€ã³ãæå®ãããŠããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:85
msgid "Header notation"
msgstr "ããããŒã®è¡šèšæ³"
#: ../../rst/dev_guide/style_guide/index.rst:87
msgid "`Section headers in reStructuredText <https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#sections>`_ can use a variety of notations. Sphinx will 'learn on the fly' when creating a hierarchy of headers. To make our documents easy to read and to edit, we follow a standard set of header notations. We use:"
msgstr "`Section headers in reStructuredText <https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#sections>`_ ã¯ãããŸããŸãªè¡šèšã䜿çšã§ããŸããSphinx ã¯ãããããŒã®éå±€ãäœæãããšãã«ããªã³ã¶ãã©ã€ã§åŠç¿ãããŸããããã¥ã¡ã³ããèªã¿ããããç·šéã§ããããã«ããããã«ãæšæºã®ããããŒè¡šèšæ³ã«åŸããŸãã以äžã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:93
msgid "``###`` with overline, for parts:"
msgstr "äžç·ä»ã (åéšåã®å Žå): ``###``"
#: ../../rst/dev_guide/style_guide/index.rst:101
msgid "``***`` with overline, for chapters:"
msgstr "äžç·ä»ã (ç« ã®å Žå): ``***``"
#: ../../rst/dev_guide/style_guide/index.rst:109
msgid "``===`` for sections:"
msgstr "ã»ã¯ã·ã§ã³ã®å Žå: ``===``"
#: ../../rst/dev_guide/style_guide/index.rst:116
msgid "``---`` for subsections:"
msgstr "ãµãã»ã¯ã·ã§ã³ã®å Žå: ``---``"
#: ../../rst/dev_guide/style_guide/index.rst:123
msgid "``^^^`` for sub-subsections:"
msgstr "ãµããµãã»ã¯ã·ã§ã³ã®å Žå: ``^^^``"
#: ../../rst/dev_guide/style_guide/index.rst:130
msgid "``\"\"\"`` for paragraphs:"
msgstr "ãã©ã°ã©ãã®å Žå: ``\"\"\"``"
#: ../../rst/dev_guide/style_guide/index.rst:139
msgid "Syntax highlighting - Pygments"
msgstr "æ§æã®åŒ·èª¿è¡šç€º - Pygment"
#: ../../rst/dev_guide/style_guide/index.rst:141
msgid "The Ansible documentation supports a range of `Pygments lexers <https://pygments.org/>`_ for `syntax highlighting <https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#code-examples>`_ to make our code examples look good. Each code-block must be correctly indented and surrounded by blank lines."
msgstr "Ansible ããã¥ã¡ã³ãã¯ãã³ãŒãäŸã®èŠæ ããè¯ãããããã`æ§æã®åŒ·èª¿è¡šç€º <https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#code-examples>`_ ã® `Pygments lexers <https://pygments.org/>`_ ã®ç¯å²ããµããŒãããŸããã³ãŒããããã¯ã¯é©åã«ã€ã³ãã³ãããã空ã®è¡ã§å²ãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:144
msgid "The Ansible documentation allows the following values:"
msgstr "Ansible ããã¥ã¡ã³ãã§ã¯ã以äžã®å€ã䜿çšã§ããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:146
msgid "none (no highlighting)"
msgstr "ãªã (匷調衚瀺ãªã)"
#: ../../rst/dev_guide/style_guide/index.rst:147
msgid "ansible-output (a custom lexer for Ansible output)"
msgstr "ansible-output (Ansible åºåçšã®ã«ã¹ã¿ã lexer)"
#: ../../rst/dev_guide/style_guide/index.rst:148
msgid "bash"
msgstr "bash"
#: ../../rst/dev_guide/style_guide/index.rst:149
msgid "console"
msgstr "console"
#: ../../rst/dev_guide/style_guide/index.rst:150
msgid "csharp"
msgstr "csharp"
#: ../../rst/dev_guide/style_guide/index.rst:151
msgid "ini"
msgstr "ini"
#: ../../rst/dev_guide/style_guide/index.rst:153
msgid "powershell"
msgstr "powershell"
#: ../../rst/dev_guide/style_guide/index.rst:154
msgid "python"
msgstr "python"
#: ../../rst/dev_guide/style_guide/index.rst:155
msgid "rst"
msgstr "rst"
#: ../../rst/dev_guide/style_guide/index.rst:156
msgid "sh"
msgstr "sh"
#: ../../rst/dev_guide/style_guide/index.rst:157
msgid "shell"
msgstr "shell"
#: ../../rst/dev_guide/style_guide/index.rst:158
msgid "shell-session"
msgstr "shell-session"
#: ../../rst/dev_guide/style_guide/index.rst:159
msgid "text"
msgstr "text"
#: ../../rst/dev_guide/style_guide/index.rst:160
msgid "yaml"
msgstr "yaml"
#: ../../rst/dev_guide/style_guide/index.rst:161
msgid "yaml+jinja"
msgstr "yaml+jinja"
#: ../../rst/dev_guide/style_guide/index.rst:163
msgid "For example, you can highlight Python code using following syntax:"
msgstr "ããšãã°ã以äžã®æ§æã䜿çšã㊠Python ã³ãŒãã匷調衚瀺ã§ããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:175
msgid "Internal navigation"
msgstr "å
éšããã²ãŒã·ã§ã³"
#: ../../rst/dev_guide/style_guide/index.rst:177
msgid "`Anchors (also called labels) and links <https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#ref-role>`_ work together to help users find related content. Local tables of contents also help users navigate quickly to the information they need. All internal links should use the ``:ref:`` syntax. Every page should have at least one anchor to support internal ``:ref:`` links. Long pages, or pages with multiple levels of headers, can also include a local TOC."
msgstr "`ã¢ã³ã«ãŒ (ã©ãã«ãšãåŒã°ããŸã) ããã³ãªã³ã¯ <https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#ref-role>` ã¯ãé¢é£ã³ã³ãã³ããèŠã€ããããããããã«ãããããŒã«ã«ããŒãã«ãå¿
èŠãªæ
å ±ã«ç§»åããã®ã«åœ¹ç«ã¡ãŸãããã¹ãŠã®å
éšãªã³ã¯ã§ ``:ref:`` æ§æã䜿çšããå¿
èŠããããŸãããŸããåããŒãžã«ã¯å
éš ``:ref:`` ãªã³ã¯ã«å¯Ÿå¿ããã¢ã³ã«ãŒã 1 ã€ä»¥äžå¿
èŠã«ãªããŸããé·ãããŒãžãŸãã¯è€æ°ã®ããããŒã¬ãã«ãæã€ããŒãžã«ããããŒã«ã«ã® TOC ã䜿çšã§ããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:186
msgid "Avoid raw URLs. RST and sphinx allow ::code:`https://my.example.com`, but this is unhelpful for those using screen readers. ``:ref:`` links automatically pick up the header from the anchor, but for external links, always use the ::code:`link title <link-url>`_` format."
msgstr "æªåŠçã® URL ã¯äœ¿çšããªãã§ãã ãããRST ãš sphinx ã§ã¯ ::code:`https://my.example.com` ãèš±å¯ãããŸãããããã¯ã¹ã¯ãªãŒã³ãªãŒããŒã䜿çšãããŠãŒã¶ãŒã«ãšã£ãŠã¯åœ¹ã«ç«ã¡ãŸããã``:ref:`` ãªã³ã¯ã¯ã¢ã³ã«ãŒããããããŒãèªåçã«éžæããŸãããå€éšãªã³ã¯ã®å Žåã¯åžžã« ::code:`link title <link-url>`_` 圢åŒã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:191
msgid "Adding anchors"
msgstr "ã¢ã³ã«ãŒã®è¿œå "
#: ../../rst/dev_guide/style_guide/index.rst:193
msgid "Include at least one anchor on every page"
msgstr "ãã¹ãŠã®ããŒãžã«å°ãªããšã 1 ã€ã®ã¢ã³ã«ãŒãå«ããã"
#: ../../rst/dev_guide/style_guide/index.rst:194
msgid "Place the main anchor above the main header"
msgstr "ã¡ã€ã³ããããŒã®äžã«ã¡ã€ã³ã¢ã³ã«ãŒãé
眮ããã"
#: ../../rst/dev_guide/style_guide/index.rst:195
msgid "If the file has a unique title, use that for the main page anchor::"
msgstr "ãã®ãã¡ã€ã«ã«äžæã®ã¿ã€ãã«ãããå Žåã¯ãã¡ã€ã³ããŒãžã®ã¢ã³ã«ãŒã«äœ¿çšããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:199
msgid "You may also add anchors elsewhere on the page"
msgstr "ããŒãžã«ã¢ã³ã«ãŒãè¿œå ããããšãã§ããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:202
msgid "Adding internal links"
msgstr "å
éšãªã³ã¯ã®è¿œå "
#: ../../rst/dev_guide/style_guide/index.rst:204
msgid "All internal links must use ``:ref:`` syntax. These links both point to the anchor defined above:"
msgstr "ãã¹ãŠã®å
éšãªã³ã¯ã«ã¯ ``:ref:`` æ§æã䜿çšããå¿
èŠããããŸãããããã®ãªã³ã¯ã¯å
±ã«ãäžã§å®çŸ©ããã¢ã³ã«ãŒãæå®ããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:211
msgid "The second example adds custom text for the link."
msgstr "2 ã€ç®ã®äŸã¯ããªã³ã¯ã®ã«ã¹ã¿ã ããã¹ããè¿œå ããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:214
msgid "Adding links to modules and plugins"
msgstr "ã¢ãžã¥ãŒã«ããã³ãã©ã°ã€ã³ãžã®ãªã³ã¯ã®è¿œå "
#: ../../rst/dev_guide/style_guide/index.rst:216
msgid "Ansible 2.10 and later require the extended Fully Qualified Collection Name (FQCN) as part of the links:"
msgstr "Ansible 2.10 以éã¯ããªã³ã¯ã®äžéšãšããŠãæ¡åŒµãããå®å
šä¿®é£Ÿã³ã¬ã¯ã·ã§ã³å (FQCN) ãå¿
èŠã§ãã"
#: ../../rst/dev_guide/style_guide/index.rst:228
msgid "displays as :ref:`ansible.builtin.first_found lookup plugin <ansible_collections.ansible.builtin.first_found_lookup>`."
msgstr ":ref:`ansible.builtin.first_found lookup plugin <ansible_collections.ansible.builtin.first_found_lookup>` ãšããŠè¡šç€ºããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:230
msgid "Modules require different suffixes from other plugins:"
msgstr "ã¢ãžã¥ãŒã«ã«ã¯ãä»ã®ãã©ã°ã€ã³ãšã¯ç°ãªããµãã£ãã¯ã¹ãå¿
èŠã§ãã"
#: ../../rst/dev_guide/style_guide/index.rst:232
msgid "Module links use this extended FQCN module name with ``_module`` for the anchor."
msgstr "ã¢ãžã¥ãŒã«ãªã³ã¯ã§ã¯ããã®åºç¯ãª FQCN ã¢ãžã¥ãŒã«åã«ãã¢ã³ã«ãŒã« ``_module`` ã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:233
msgid "Plugin links use this extended FQCN plugin name with the plugin type (``_connection`` for example)."
msgstr "ãã©ã°ã€ã³ã®ãªã³ã¯ã¯ããã®åºç¯ãª FQCN ãã©ã°ã€ã³åããã©ã°ã€ã³ã¿ã€ã (``_connection`` ãªã©) ã§äœ¿çšããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:242
msgid "``ansible.builtin`` is the FQCN for modules included in ``ansible.base``. Documentation links are the only place you prepend ``ansible_collections`` to the FQCN. This is used by the documentation build scripts to correctly fetch documentation from collections on Ansible Galaxy."
msgstr "``ansible.builtin`` ã¯ã``ansible.base`` ã«å«ãŸããŠããã¢ãžã¥ãŒã«ã® FQCN ã§ããããã¥ã¡ã³ãã®ãªã³ã¯ã¯ã``ansible_collections`` ã FQCN ã®åã«ä»ããå¯äžã®å Žæã§ããããã¯ãAnsible Galaxy ã®ã³ã¬ã¯ã·ã§ã³ããããã¥ã¡ã³ããé©åã«ååŸããããã«ãããã¥ã¡ã³ããã«ãã¹ã¯ãªããã«ãã䜿çšãããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:247
msgid "Adding local TOCs"
msgstr "ããŒãžå
(ããŒã«ã«) ç®æ¬¡ã®è¿œå "
#: ../../rst/dev_guide/style_guide/index.rst:249
msgid "The page you're reading includes a `local TOC <https://docutils.sourceforge.io/docs/ref/rst/directives.html#table-of-contents>`_. If you include a local TOC:"
msgstr "ãã®ããŒãžã«ã¯ `ããŒã«ã« TOC <https://docutils.sourceforge.io/docs/ref/rst/directives.html#table-of-contents>`_ ãå«ãŸããŸããããŒã«ã«ã® TOC ãè¿œå ããå Žåã¯ã以äžã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:252
msgid "place it below, not above, the main heading and (optionally) introductory text"
msgstr "ç®æ¬¡ã®äžã«ãäž»èŠãªèŠåºããš (ä»»æã§) 玹ä»æãè¿œå ããŸããç®æ¬¡ã®äžã«ã¯è¿œå ããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/index.rst:253
msgid "use the ``:local:`` directive so the page's main header is not included"
msgstr "ãã®ããŒãžã®äž»èŠãªããããŒãå«ãŸããªãããã« ``:local:`` ãã£ã¬ã¯ãã£ãã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:254
msgid "do not include a title"
msgstr "ã¿ã€ãã«ã¯é€å€ããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:256
msgid "The syntax is:"
msgstr "æ§æã¯ä»¥äžã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:264
msgid "Accessibility guidelines"
msgstr "ã¢ã¯ã»ã·ããªãã£ã®ã¬ã€ãã©ã€ã³"
#: ../../rst/dev_guide/style_guide/index.rst:266
msgid "Ansible documentation has a goal to be more accessible. Use the following guidelines to help us reach this goal."
msgstr "Ansible ããã¥ã¡ã³ãã«ã¯ãã¢ã¯ã»ã¹ãããããããšããç®æšããããŸãã次ã®ã¬ã€ãã©ã€ã³ã䜿çšããããšã§ããã®ç®æšãéæã§ããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:276
msgid "Images and alternative text"
msgstr "ã€ã¡ãŒãžããã³ä»£æ¿ããã¹ã"
#: ../../rst/dev_guide/style_guide/index.rst:269
msgid "Ensure all icons, images, diagrams, and non text elements have a meaningful alternative-text description. Do not include screen captures of CLI output. Use ``code-block`` instead."
msgstr "ãã¹ãŠã®ã¢ã€ã³ã³ãã€ã¡ãŒãžããã€ã¢ã°ã©ã ãããã³éããã¹ãèŠçŽ ã«æå³ã®ãã代æ¿ããã¹ãã®èª¬æãããããšã確èªããŠãã ãããCLI åºåã®ã¹ã¯ãªãŒã³ãã£ããã£ãŒã¯å«ããªãã§ãã ããã代ããã« ``code-block`` ã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/index.rst:279
msgid "Links and hypertext"
msgstr "ãªã³ã¯ãšãã€ããŒããã¹ã"
#: ../../rst/dev_guide/style_guide/index.rst:279
msgid "URLs and cross-reference links have descriptive text that conveys information about the content of the linked target. See :ref:`style_links` for how to format links."
msgstr "URL ãšçžäºåç
§ãªã³ã¯ã«ã¯ããªã³ã¯å
ã®ã¿ãŒã²ããã®å
容ã«é¢ããæ
å ±ãäŒãã説æããã¹ãããããŸãããªã³ã¯ã®åœ¢åŒã«ã€ããŠã¯ã:ref:`style_links` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/style_guide/index.rst:297
msgid "Tables"
msgstr "Tables"
#: ../../rst/dev_guide/style_guide/index.rst:282
msgid "Tables have a simple, logical reading order from left to right, and top to bottom. Tables include a header row and avoid empty or blank table cells. Label tables with a descriptive title."
msgstr "ããŒãã«ã«ã¯ãè«ççãªèªã¿åãé åºããããå·Šããå³ãäžããäžã«èªã¿åããŸããããŒãã«ã«ã¯ããããŒè¡ãå«ãŸãã空ã®ããŒãã«ã»ã«ã空çœã®ããŒãã«ã»ã«ãåé¿ããŸããããŒãã«ã«ã¯èª¬æçãªã¿ã€ãã«ãã©ãã«ä»ãããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:303
msgid "Colors and other visual information"
msgstr "è²ããã®ä»ã®èŠèŠæ
å ±"
#: ../../rst/dev_guide/style_guide/index.rst:300
msgid "Avoid instructions that rely solely on sensory characteristics. For example, do not use ``Click the square, blue button to continue.``"
msgstr "æèŠç¹æ§ã®ã¿ã«äŸåããåœä»€ã¯åé¿ããŸããããšãã°ã``Click the square, blue button to continue.`` ã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/index.rst:301
msgid "Convey information by methods and not by color alone."
msgstr "è²ã ãã§ã¯ãªããã¡ãœããã«ããæ
å ±ãäŒããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:302
msgid "Ensure there is sufficient contrast between foreground and background text or graphical elements in images and diagrams."
msgstr "ã€ã¡ãŒãžãå³ã®å
šæ¯ãšèæ¯ã®ããã¹ããã°ã©ãã£ãã¯èŠçŽ ã®éã«ãååãªã³ã³ãã©ã¹ããããããšã確èªããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:303
msgid "Instructions for navigating through an interface make sense without directional indicators such as left, right, above, and below."
msgstr "ã€ã³ã¿ãŒãã§ã€ã¹äžã移åããé åºã¯ãå·Šãå³ãäžãäžãªã©ã®æ¹åã€ã³ãžã±ãŒã¿ãŒããªããŠãç解ã§ããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:306
msgid "Accessibility resources"
msgstr "ã¢ã¯ã»ã·ããªãã£ãŒãªãœãŒã¹"
#: ../../rst/dev_guide/style_guide/index.rst:308
msgid "Use the following resources to help test your documentation changes:"
msgstr "以äžã®ãªãœãŒã¹ã䜿çšããŠãããã¥ã¡ã³ãã®å€æŽããã¹ãããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:310
msgid "`axe DevTools browser extension <https://chrome.google.com/webstore/detail/axe-devtools-web-accessib/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US&_ga=2.98933278.1490638154.1645821120-953800914.1645821120>`_ - Highlights accessibility issues on a website page."
msgstr "`axe DevTools browser extension <https://chrome.google.com/webstore/detail/axe-devtools-web-accessib/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US&_ga=2.98933278.1490638154.1645821120-953800914.1645821120>`_ - Web ãµã€ãã®ããŒãžäžã§ã¢ã¯ã»ã·ããªãã£ãŒã®åé¡ã匷調衚瀺ããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:311
msgid "`WAVE browser extension <https://wave.webaim.org/extension/>`_ from WebAIM - another accessibility tester."
msgstr "WebAIM ããã® `WAVE browser extension <https://wave.webaim.org/extension/>`_ - å¥ã®ã¢ã¯ã»ã·ããªãã£ãŒãã¹ã¿ãŒã"
#: ../../rst/dev_guide/style_guide/index.rst:312
msgid "`Orca screen reader <https://help.gnome.org/users/orca/stable/>`_ - Common tool used by people with vision impairments."
msgstr "`Orca screen reader <https://help.gnome.org/users/orca/stable/>`_ - èŠèŠé害ãæã€ãŠãŒã¶ãŒã䜿çšããäžè¬çãªããŒã«ã"
#: ../../rst/dev_guide/style_guide/index.rst:313
msgid "`color filter <https://www.toptal.com/designers/colorfilter/>`_ - For color-blind testing."
msgstr "`color filter <https://www.toptal.com/designers/colorfilter/>`_ - è²èŠæ€æ»çšã"
#: ../../rst/dev_guide/style_guide/index.rst:316
msgid "More resources"
msgstr "åèè³æ"
#: ../../rst/dev_guide/style_guide/index.rst:318
msgid "These pages offer more help with grammatical, stylistic, and technical rules for documentation."
msgstr "以äžã®ããŒãžã§ã¯ãããã¥ã¡ã³ãã«é¢ããææ³ãã¹ã¿ã€ã«ãããã³æè¡çãªã«ãŒã«ã玹ä»ããŠããŸãã"
#: ../../rst/dev_guide/style_guide/index.rst:333
msgid ":ref:`community_documentation_contributions`"
msgstr ":ref:`community_documentation_contributions`"
#: ../../rst/dev_guide/style_guide/index.rst:334
msgid "How to contribute to the Ansible documentation"
msgstr "Ansible ããã¥ã¡ã³ããžã®è²¢ç®æ¹æ³"
#: ../../rst/dev_guide/style_guide/index.rst:335
msgid ":ref:`testing_documentation_locally`"
msgstr ":ref:`testing_documentation_locally`"
#: ../../rst/dev_guide/style_guide/index.rst:336
msgid "How to build the Ansible documentation"
msgstr "Ansible ããã¥ã¡ã³ãã®ãã«ãæ¹æ³"
#: ../../rst/dev_guide/style_guide/index.rst:338
msgid "#ansible-docs IRC chat channel"
msgstr "IRC ãã£ãããã£ã³ãã« (#ansible-docs)"
#: ../../rst/dev_guide/style_guide/resources.rst:2
msgid "Resources"
msgstr "ãªãœãŒã¹"
#: ../../rst/dev_guide/style_guide/resources.rst:3
msgid "Follow the style of the :ref:`Ansible Documentation<ansible_documentation>`"
msgstr ":ref:`Ansible ããã¥ã¡ã³ã<ansible_documentation>` ã®ã¹ã¿ã€ã«ã«åŸã£ãŠãã ããã"
#: ../../rst/dev_guide/style_guide/resources.rst:4
msgid "Ask for advice on the ``#ansible-devel`` chat channel (using Matrix at ansible.im or using IRC at `irc.libera.chat <https://libera.chat/>`_)"
msgstr "``#ansible-devel`` ãã£ãããã£ã³ãã«ã§ã¢ããã€ã¹ãæ±ããŠãã ããïŒansible.imã§Matrixã䜿çšããŸãã¯`irc.libera.chat <https://libera.chat/>`_ã§IRCã䜿çšïŒã"
#: ../../rst/dev_guide/style_guide/resources.rst:5
msgid "Review these online style guides:"
msgstr "ãªã³ã©ã€ã³ã§å©çšã§ããã¹ã¿ã€ã«ã¬ã€ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/style_guide/resources.rst:7
msgid "`AP Stylebook <https://www.apstylebook.com>`_"
msgstr "`AP Stylebook <https://www.apstylebook.com>`_"
#: ../../rst/dev_guide/style_guide/resources.rst:8
msgid "`Chicago Manual of Style <https://www.chicagomanualofstyle.org/home.html>`_"
msgstr "`Chicago Manual of Style <https://www.chicagomanualofstyle.org/home.html>`_"
#: ../../rst/dev_guide/style_guide/resources.rst:9
msgid "`Strunk and White's Elements of Style <https://www.crockford.com/wrrrld/style.html>`_"
msgstr "`Strunk and White's Elements of Style <https://www.crockford.com/wrrrld/style.html>`_"
#: ../../rst/dev_guide/style_guide/resources.rst:10
msgid "`Google developer documentation style guide <https://developers.google.com/style/highlights>`_"
msgstr "`Google developer documentation style guide <https://developers.google.com/style/highlights>`_"
#: ../../rst/dev_guide/style_guide/search_hints.rst:5
msgid "Writing documentation so search can find it"
msgstr "æ€çŽ¢çšã®ããã¥ã¡ã³ãã®äœæ"
#: ../../rst/dev_guide/style_guide/search_hints.rst:7
msgid "One of the keys to writing good documentation is to make it findable. Readers use a combination of internal site search and external search engines such as Google or duckduckgo."
msgstr "åªããããã¥ã¡ã³ããäœæããããã®éµã® 1 ã€ã¯ãããã¥ã¡ã³ããèŠã€ããããããããšã§ããèªè
ã¯ããµã€ãå
æ€çŽ¢ããGoogleãduckduckgo ãªã©ã®å€éšæ€çŽ¢ãšã³ãžã³ãçµã¿åãããŠäœ¿çšããŸãã"
#: ../../rst/dev_guide/style_guide/search_hints.rst:9
msgid "To ensure Ansible documentation is findable, you should:"
msgstr "Ansible ããã¥ã¡ã³ããèŠã€ããããã«ããã«ã¯ã以äžãè¡ãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/style_guide/search_hints.rst:11
msgid "Use headings that clearly reflect what you are documenting."
msgstr "ããã¥ã¡ã³ãã®å
容ãæ確ã«åæ ãããèŠåºãã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/search_hints.rst:12
msgid "Use numbered lists for procedures or high-level steps where possible."
msgstr "å¯èœãªå Žåã¯ãçªå·ä»ãã®äžèŠ§ãŸãã¯æé ã®æŠèŠæé ã«äœ¿çšããŸãã"
#: ../../rst/dev_guide/style_guide/search_hints.rst:13
msgid "Avoid linking to github blobs where possible."
msgstr "å¯èœãªéããgithub ããã°ã«ã¯ãªã³ã¯ããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/search_hints.rst:17
msgid "Using clear headings in documentation"
msgstr "ããã¥ã¡ã³ãã§æ確ãªèŠåºãã®äœ¿çš"
#: ../../rst/dev_guide/style_guide/search_hints.rst:19
msgid "We all use simple English when we want to find something. For example, the title of this page could have been any one of the following:"
msgstr "äœããæ¢ããšãã¯ãç°¡åãªè±èªã䜿ããŸããããšãã°ããã®ããŒãžã®ã¿ã€ãã«ã¯æ¬¡ã®ããããã«ãªããŸãã"
#: ../../rst/dev_guide/style_guide/search_hints.rst:21
msgid "Search optimization"
msgstr "Search optimization (æ€çŽ¢ã®æé©å)"
#: ../../rst/dev_guide/style_guide/search_hints.rst:22
msgid "Findable documentation"
msgstr "Findable documentation (æ€çŽ¢å¯èœãªããã¥ã¡ã³ã)"
#: ../../rst/dev_guide/style_guide/search_hints.rst:23
msgid "Writing for findability"
msgstr "Writing for findability (èŠãããããããã®èšè¿°)"
#: ../../rst/dev_guide/style_guide/search_hints.rst:25
msgid "What we are really trying to describe is - how do I write documentation so search engines can find my content? That simple phrase is what drove the title of this section. When you are creating your headings for documentation, spend some time to think about what you would type in a search box to find it, or more importantly, how someone less familiar with Ansible would try to find that information. Your heading should be the answer to that question."
msgstr "ããã§èª¬æããããšããŠããã®ã¯ããæ€çŽ¢ãšã³ãžã³ãã³ã³ãã³ããèŠã€ããããããã«ããããã¥ã¡ã³ãã®æžãæ¹ãã§ãããã®åçŽãªãã¬ãŒãºãããã®ã»ã¯ã·ã§ã³ã®ã¿ã€ãã«ã«ãªããŸãããããã¥ã¡ã³ãã®èŠåºããäœæãããšãã¯ãæ€çŽ¢ããã¯ã¹ã«äœãå
¥åããŠæ€çŽ¢ããã®ããããã«éèŠãªããšã«ãAnsible ã«ããŸã詳ãããªããŠãŒã¶ãŒããã®æ
å ±ãã©ã®ããã«èŠã€ããããšããããèããæéãèšããŠãã ãããèŠåºãã¯ããã®è³ªåã«å¯Ÿããçãã§ããã¹ãã§ãã"
#: ../../rst/dev_guide/style_guide/search_hints.rst:27
msgid "One word of caution - you do want to limit the size of your headings. A full heading such as `How do I write documentation so search engines can find my content?` is too long. Search engines would truncate anything over 50 - 60 characters. Long headings would also wrap on smaller devices such as a smart phone."
msgstr "æ³šèš - èŠåºãã®ãµã€ãºãå¶éããå Žåã¯ã`How do I write documentation so search engines can find my content?` ãªã©ã®èŠåºãã«ãããšé·ãããŸããæ€çŽ¢ãšã³ãžã³ã¯ 50 ~ 60 æåãè¶
ãããã®ã¯åãæšãŠãŸããé·ãèŠåºãããã¹ããŒããã©ã³ãªã©ã®å°èŠæš¡ãªããã€ã¹ã§ã¯æãè¿ãããŸãã"
#: ../../rst/dev_guide/style_guide/search_hints.rst:30
msgid "Using numbered lists for `zero position` snippets"
msgstr "`zero position` ã¹ããããã®çªå·ä»ãã®ãªã¹ãã®äœ¿çš"
#: ../../rst/dev_guide/style_guide/search_hints.rst:32
msgid "Google can optimize the search results by adding a `feature snippet <https://support.google.com/websearch/answer/9351707>`_ at the top of the search results. This snippet provides a small window into the documentation on that first search result that adds more detail than the rest of the search results, and can occasionally answer the reader's questions right there, or at least verify that the linked page is what the reader is looking for."
msgstr "Google ã¯ãæ€çŽ¢çµæã®äžéšã« `æ©èœã¹ãããã <https://support.google.com/websearch/answer/9351707>`_ ãè¿œå ããŠæ€çŽ¢çµæãæé©åã§ããŸãããã®ã¹ããããã¯ãæåã®æ€çŽ¢çµæã«é¢ããããã¥ã¡ã³ãã«å°ããªãŠã£ã³ããŠãæäŸããæ®ãã®æ€çŽ¢çµæããã詳现ãè¿œå ããæã«ã¯èªè
ã®è³ªåã«ãã®å Žã§çããããå°ãªããšããªã³ã¯å
ã®ããŒãžãèªè
ã®æ¢ããŠãããã®ã§ããããšã確èªããããšãã§ããŸãã"
#: ../../rst/dev_guide/style_guide/search_hints.rst:34
msgid "Google returns the feature snippet in the form of numbered steps. Where possible, you should add a numbered list near the top of your documentation page, where appropriate. The steps can be the exact procedure a reader would follow, or could be a high level introduction to the documentation topic, such as the numbered list at the top of this page."
msgstr "Google ã¯çªå·ä»ãã®æé ã®æ©èœã¹ãããããè¿ããŸããå¯èœã§ããã°ãå¿
èŠã«å¿ããŠãããã¥ã¡ã³ãããŒãžã®äžéšä»è¿ã«çªå·ä»ããªã¹ããè¿œå ããå¿
èŠããããŸããæé ã¯ãèªè
ãåŸãæ£ç¢ºãªæé ã«ããããšãããã®ããŒãžã®äžéšã«ããçªå·ä»ããªã¹ããªã©ãããã¥ã¡ã³ããããã¯ã®æŠèŠã説æããããšãã§ããŸãã"
#: ../../rst/dev_guide/style_guide/search_hints.rst:37
msgid "Problems with github blobs on search results"
msgstr "æ€çŽ¢çµæã«é¢ãã github ãããã®åé¡"
#: ../../rst/dev_guide/style_guide/search_hints.rst:39
msgid "Search engines do not typically return github blobs in search results, at least not in higher ranked positions. While it is possible and sometimes necessary to link to github blobs from documentation, the better approach would be to copy that information into an .rst page in Ansible documentation."
msgstr "æ€çŽ¢ãšã³ãžã³ã¯éåžžãå°ãªããšãäžäœã®äœçœ®ã§ã¯ãæ€çŽ¢çµæã« github ããããè¿ããŸãããããã¥ã¡ã³ããã github ãããã«ãªã³ã¯ããããšã¯å¯èœã§ãããå Žåã«ãã£ãŠã¯å¿
èŠã§ãããããè¯ãã¢ãããŒãã¯ããã®æ
å ±ã Ansible ããã¥ã¡ã³ãã® .rst ããŒãžã«ã³ããŒããããšã§ãã"
#: ../../rst/dev_guide/style_guide/search_hints.rst:42
msgid "Other search hints"
msgstr "ä»ã®æ€çŽ¢ãã³ã"
#: ../../rst/dev_guide/style_guide/search_hints.rst:44
msgid "While it may not be possible to adapt your documentation to all search optimizations, keep the following in mind as you write your documentation:"
msgstr "ãã¹ãŠã®æ€çŽ¢æé©åã«ããã¥ã¡ã³ãã調æŽããããšãã§ããªãå ŽåããããŸãããããã¥ã¡ã³ããäœæããå Žåã¯ã以äžã®ç¹ã«çæããŠãã ããã"
#: ../../rst/dev_guide/style_guide/search_hints.rst:46
msgid "**Search engines don't parse beyond the `#` in an html page.** So for example, all the subheadings on this page are appended to the main page URL. As such, when I search for 'Using number lists for zero position snippets', the search result would be a link to the top of this page, not a link directly to the subheading I searched for. Using :ref:`local TOCs <local_toc>` helps alleviate this problem as the reader can scan for the header at top of the page and click to the section they are looking for. For critical documentation, consider creating a new page that can be a direct search result page."
msgstr "**æ€çŽ¢ãšã³ãžã³ã¯ãhtml ããŒãžå
ã® `#` 以éã¯è§£æããŸããã** ãã®ãããããšãã°ããã®ããŒãžã®ãã¹ãŠã®å°èŠåºãã¯ãã¡ã€ã³ããŒãžã® URL ã«ä»å ãããŠããŸãããã®ããããUsing number lists for zero position snippetsããšæ€çŽ¢ãããšãæ€çŽ¢çµæã¯ãã®ããŒãžã®åé ãžã®ãªã³ã¯ã«ãªããæ€çŽ¢ããå°èŠåºããžã®çŽæ¥ã®ãªã³ã¯ã«ã¯ãªããŸããã:ref:`ããŒã«ã« TOC <local_toc>` ã䜿çšãããšãèªè
ãããŒãžã«äžéšã®ããããŒã«ç®ãéããŠãæ¢ããŠããã»ã¯ã·ã§ã³ãã¯ãªãã¯ã§ããããããã®åé¡ã軜æžããããšãã§ããŸããéèŠãªææžã«ã€ããŠã¯ãæ€çŽ¢çµæã®ããŒãžã«çŽæ¥ã¢ã¯ã»ã¹ã§ããããã«æ°ããããŒãžãäœæããããšãæ€èšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/search_hints.rst:48
msgid "**Make your first few sentences clearly describe your page topic.** Search engines return not just the URL, but a short description of the information at the URL. For Ansible documentation, we do not have description metadata embedded on each page. Instead, the search engines return the first couple of sentences (140 characters) on the page. That makes your first sentence or two very important to the reader who is searching for something in Ansible."
msgstr "**æåã® 2ã3 æã§ããŒãžã®ãããã¯ãæ確ã«èª¬æããŠãã ããã** æ€çŽ¢ãšã³ãžã³ã¯ URL ã ãã§ãªãããã® URL ã«ããæ
å ±ã®ç°¡åãªèª¬æãè¿ããŸããAnsible ããã¥ã¡ã³ãã®å Žåã¯ãåããŒãžã«èª¬æã¡ã¿ããŒã¿ãåã蟌ãŸããŠããŸããããã®ä»£ãããæ€çŽ¢ãšã³ãžã³ã¯ããŒãžã®æåã® 2ã3 æ (140 æå) ãè¿ããŸãããã®ãããAnsibleã§äœããæ€çŽ¢ããŠããèªè
ã«ãšã£ãŠãæåã® 1ã2 æãéåžžã«éèŠã«ãªããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:2
msgid "Spelling - Word Usage - Common Words and Phrases to Use and Avoid"
msgstr "ã¹ãã«ãåèªã®äœ¿çšãããã³äœ¿çšãŸãã¯åé¿ããäžè¬çãªåèªãšãã¬ãŒãº"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:5
msgid "Acronyms"
msgstr "ç¥èª"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:7
msgid "Always uppercase. An acronym is a word formed from the initial letters of a name, such as ROM for Read-only memory, SaaS for Software as a Service, or by combining initial letters or part of a series of words, such as LILO for LInux LOader."
msgstr "åžžã«å€§æåã§ããé åèªãšã¯ãROM (Read-Only Memory) ã SaaS (Software as a Service) ã®ããã«ååã®é æåãã圢æãããåèªããLILO (LInux LOader) ã®ããã«äžé£ã®åèªã®é æåãäžéšãçµã¿åãããŠåœ¢æãããåèªã®ããšã§ãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:11
msgid "Spell out the acronym before using it in alone text, such as \"The Embedded DevKit (EDK)...\""
msgstr "ç¥èªã¯ãåç¬ã§äœ¿çšããåã«ããThe Embedded devkit (EDK)...ãã®ããã«æåãç¥ããã«æžããŠäœ¿çšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:14
msgid "Applications"
msgstr "ã¢ããªã±ãŒã·ã§ã³"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:15
msgid "When used as a proper name, use the capitalization of the product, such as GNUPro or Source-Navigator. When used as a command, use lowercase as appropriate, such as \"To start GCC, type ``gcc``.\""
msgstr "åºæåè©ãšããŠäœ¿çšããå Žåã¯ãGNUPro ãŸã㯠Source-Navigator ã®ããã«è£œåã®å€§æåã䜿çšããŸããã³ãã³ããšããŠäœ¿çšããå Žåã¯ããTo start GCC, type ``gcc``.ã(GCC ãèµ·åããå Žåã¯ã``gcc`` ãå
¥åããŸã) ã®ããã«ãé©åãªå°æåã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:19
msgid "\"vi\" is always lowercase."
msgstr "ãviãã¯åžžã«å°æåã§ãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:22
msgid "As"
msgstr "As"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:23
msgid "This is often used to mean \"because\", but has other connotations, for example, parallel or simultaneous actions. If you mean \"because\", say \"because\"."
msgstr "åå ã瀺ãå Žåã«ãã䜿çšãããŸããã䞊åãŸãã¯åæã®æäœãªã©ãä»ã®æå³ããããŸãããåå ããæå³ããå Žåã¯ããbecauseãã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:26
msgid "Asks for"
msgstr "Asks for"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:27
msgid "Use \"requests\" instead."
msgstr "代ããã«ãrequestsãã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:30
msgid "Assure/Ensure/Insure"
msgstr "Assure/Ensure/Insure"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:31
msgid "Assure implies a sort of mental comfort. As in \"I assured my husband that I would eventually bring home beer.\""
msgstr "ãassureãã¯ãäžçš®ã®ç²Ÿç¥çãªå®å¿ããæå³ããŸããããšãã°ããI assured my husband that I would eventually bring home beer. (ç§ã¯å€«ã«æçµçã«å®¶ã®ããŒã«ãæã£ãŠããããšãçŽæããŸãã)ãã®ããã«äœ¿çšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:33
msgid "Ensure means \"to make sure.\""
msgstr "ãensureãã¯ãã確å®ã«ããæå³ããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:35
msgid "Insure relates to monetary insurance."
msgstr "ãinsureãã¯ãééçãªä¿éºã«é¢ä¿ããããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:39
msgid "Back up"
msgstr "Back up"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:40
msgid "This is a verb. You \"back up\" files; you do not \"backup\" files."
msgstr "ããã¯åè©ã§ãããã¡ã€ã«ããããã¯ã¢ããããããšãã¯ããbackupãã§ã¯ãªãããback upããšèšèŒããŸã (You back up files)ã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:43
msgid "Backup"
msgstr "Backup"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:44
msgid "This is a noun. You create \"backup\" files; you do not create \"back up\" files."
msgstr "ããã¯åè©ã§ãããããã¯ã¢ããããã¡ã€ã«ãäœæãããšãã¯ããback upãã§ã¯ãªãããbackupããšèšèŒããŸã (You create backup files)ã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:47
msgid "Backward"
msgstr "Backward"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:48
msgid "Correct. Avoid using backwards unless you are stating that something has \"backwards compatibility.\""
msgstr "é©åã§ãããbackwards compatibilityã(åŸæ¹äºææ§) 以å€ã®èª¬æã«ããbackwardããšããåèªã䜿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:51
msgid "Backwards compatibility"
msgstr "Backwards compatibility"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:52
msgid "Correct as is."
msgstr "ãã®ãŸãŸäœ¿çšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:55
msgid "By way of"
msgstr "By way of"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:56
msgid "Use \"using\" instead."
msgstr "代ããã«ãusingãã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:59
msgid "Can/May"
msgstr "Can/May"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:60
msgid "Use \"can\" to describe actions or conditions that are possible. Use \"may\" only to describe situations where permission is being given. If either \"can,\" \"could,\" or \"may\" apply, use \"can\" because it's less tentative."
msgstr "ãcanãã¯ãå¯èœãªæäœãæ¡ä»¶ã説æããã®ã«äœ¿çšããŸããèš±å¯ãå¿
èŠãªç¶æ³ã説æããã«ã¯ããmayãã䜿çšããŸãããcanãããcouldãããŸãã¯ãmayãã®ãããããåœãŠã¯ãŸãå Žåã¯ããcanãã䜿çšããŸã (æ«å®çãªæå³åããå°ãªããã)ã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:63
msgid "CD or cd"
msgstr "CD ãŸã㯠cd"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:64
msgid "When referring to a compact disk, use CD, such as \"Insert the CD into the CD-ROM drive.\" When referring to the change directory command, use cd."
msgstr "ã³ã³ãã¯ããã£ã¹ã¯ãåç
§ããå Žåã¯ãCD ã䜿çšããŸããããšãã°ããInsert the CD into the CD-ROM drive.ã(CD ã CD-ROM ãã©ã€ãã«æ¿å
¥ããŸãã) ãšããŸãããã£ã¬ã¯ããªãŒãå€æŽãã change directory ã³ãã³ãã瀺ãå Žåã¯ãcd ã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:67
msgid "CD-ROM"
msgstr "CD-ROM"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:68
msgid "Correct. Do not use \"cdrom,\" \"CD-Rom,\" \"CDROM,\" \"cd-rom\" or any other variation. When referring to the drive, use CD-ROM drive, such as \"Insert the CD into the CD-ROM drive.\" The plural is \"CD-ROMs.\""
msgstr "ãcdromãããCD-RomãããCDROMãããcd-romããªã©ã®è¡šèšã¯äœ¿çšããªãã§ãã ããããã©ã€ããåç
§ããå Žåã¯ããInsert the CD into the CD-ROM drive (CD-ROM ãã©ã€ããªã©)ãã®ããã«ãCD-ROM driveãã䜿çšããŸããè€æ°åœ¢ã¯ãCD-ROMsããšãªããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:72
msgid "Command line"
msgstr "Command line"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:73
msgid "Correct. Do not use \"command-line\" or \"commandline\" as a noun. If used as an adjective, \"command-line\" is appropriate, for example \"command-line arguments\"."
msgstr "é©åã§ãããcommand-lineããŸãã¯ãcommandlineããåè©ãšããŠäœ¿çšããªãã§ãã ããã圢容è©ãšããŠäœ¿çšããå Žåã¯ããcommand-line argumentsãã®ããã«ããcommand-lineããé©åã§ãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:75
msgid "Use \"command line\" to describes where to place options for a command, but not where to type the command. Use \"shell prompt\" instead to describe where to type commands. The line on the display screen where a command is expected. Generally, the command line is the line that contains the most recently displayed command prompt."
msgstr "ãã³ãã³ãã©ã€ã³ãã䜿çšããŠãã³ãã³ãã®ãªãã·ã§ã³ãè¿œå ããå Žæãèšè¿°ããŸãããã³ãã³ããå
¥åããå Žæã¯èšè¿°ããŸãããã³ãã³ããå
¥åããå Žæã説æããå Žåã¯ã代ããã«ãshell promptãã䜿çšããŸããã³ãã³ããæåŸ
ãããç»é¢äžã®è¡ãšãªããŸããéåžžãã³ãã³ãã©ã€ã³ã¯ãæåŸã«è¡šç€ºãããã³ãã³ãããã³ãããå«ãè¡ãšãªããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:79
msgid "Daylight saving time (DST)"
msgstr "Daylight saving time (DST)"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:81
msgid "Correct. Do not use daylight savings time. Daylight Saving Time (DST) is often misspelled \"Daylight Savings\", with an \"s\" at the end. Other common variations are \"Summer Time\"and \"Daylight-Saving Time\". (https://www.timeanddate.com/time/dst/daylight-savings-time.html)"
msgstr "é©åã§ãããdaylight savings timeãã¯äœ¿çšããªãã§ãã ããããDaylight Saving Time (DST)ãã¯ããDaylight Savingsãã®ããã«ãæåŸã« s ãä»ããŠããå ŽåããããŸãããããã¯ééãã§ãããã®ä»ã®äžè¬çãªè¡šèšæ³ã«ã¯ããSummer Timeãããã³ãDaylight-Saving TimeãããããŸã (https://www.timeanddate.com/time/dst/daylight-savings-time.html)ã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:85
msgid "Download"
msgstr "Download"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:86
msgid "Correct. Do not use \"down load\" or \"down-load.\""
msgstr "é©åã§ãããdown loadããŸãã¯ãdown-loadãã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:90
msgid "Spell it out: \"For example.\""
msgstr "çç¥ããã«ãFor exampleããšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:93
msgid "Failover"
msgstr "Failover"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:94
msgid "When used as a noun, a failover is a backup operation that automatically switches to a standby database, server or network if the primary system fails or is temporarily shut down for servicing. Failover is an important fault tolerance function of mission-critical systems that rely on constant accessibility. Failover automatically and transparently to the user redirects requests from the failed or down system to the backup system that mimics the operations of the primary system."
msgstr "åè©ãšããŠäœ¿çšãããå Žåããã§ã€ã«ãªãŒããŒãšã¯ããã©ã€ããªãŒã·ã¹ãã ã«é害ãçºçãããããµãŒãã¹ã®ããã«äžæçã«åæ¢ããå Žåã«ãèªåçã«ã¹ã¿ã³ãã€ããŒã¿ããŒã¹ããµãŒããŒããŸãã¯ãããã¯ãŒã¯ã«åãæ¿ããããã¯ã¢ããæäœã®ããšã§ãããã§ã€ã«ãªãŒããŒã¯ãåžžã«ã¢ã¯ã»ã¹å¯èœã§ããããšãæ±ããããããã·ã§ã³ã¯ãªãã£ã«ã«ãªã·ã¹ãã ã®éèŠãªãã©ãŒã«ããã¬ã©ã³ã¹æ©èœãšãªããŸãããã§ã€ã«ãªãŒããŒã¯ãèªåçãã€ãŠãŒã¶ãŒã«ééçã«ãé害ãåæ¢ããã·ã¹ãã ããã®ãªã¯ãšã¹ããããã©ã€ããªãŒã·ã¹ãã ã®æäœãæš¡å£ããããã¯ã¢ããã·ã¹ãã ã«ãªãã€ã¬ã¯ãããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:97
msgid "Fail over"
msgstr "Fail over"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:98
msgid "When used as a verb, fail over is two words since there can be different tenses such as failed over."
msgstr "åè©ãšããŠäœ¿çšããå Žåã¯ãæå¶ãå€ããããããã« (failed over ãªã©)ã2 ã€ã®åèªã«ããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:101
msgid "Fewer"
msgstr "Fewer"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:102
msgid "Fewer is used with plural nouns. Think things you could count. Time, money, distance, and weight are often listed as exceptions to the traditional \"can you count it\" rule, often thought of a singular amounts (the work will take less than 5 hours, for example)."
msgstr "fewer ã¯ãè€æ°åœ¢ã®åè©ã§äœ¿çšããŸããæ°ãæ°ããããšãã§ãããã®ã«äœ¿çšããŸããæéããéãè·é¢ãããã³ééã¯ãåŸæ¥ã®ãæ°ããããšãã§ããããã«ãŒã«ã®äŸå€ãšããŠæããããããšãå€ããé垞㯠1 ã€ã®éãšèŠãªãããŸããããšãã°ããthe work will take less than 5 hoursã(äœæ¥ã«ãããæé㯠5 æéæªæºã§ã)ã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:105
msgid "File name"
msgstr "File name"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:106
msgid "Correct. Do not use \"filename.\""
msgstr "é©åã§ãããfilenameãã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:109
msgid "File system"
msgstr "File system"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:110
msgid "Correct. Do not use \"filesystem.\" The system that an operating system or program uses to organize and keep track of files. For example, a hierarchical file system is one that uses directories to organize files into a tree structure. Although the operating system provides its own file management system, you can buy separate file management systems. These systems interact smoothly with the operating system but provide more features, such as improved backup procedures and stricter file protection."
msgstr "é©åã§ãããfilesystemãã¯äœ¿çšããªãã§ãã ããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãŸãã¯ããã°ã©ã ããã¡ã€ã«ãæŽçãã远跡ããããã«äœ¿çšããã·ã¹ãã ã§ããããšãã°ãéå±€ãã¡ã€ã«ã·ã¹ãã ã¯ããã£ã¬ã¯ããªãŒã䜿çšããŠãã¡ã€ã«ãããªãŒæ§é ã«ç·šæãããã®ã§ãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¯ç¬èªã®ãã¡ã€ã«ç®¡çã·ã¹ãã ãæäŸããŠããŸãããå¥ã®ãã¡ã€ã«ç®¡çã·ã¹ãã ã䜿çšããããšãã§ããŸãããã®ãããªã·ã¹ãã ã¯ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšã¹ã ãŒãºã«å¯Ÿè©±ããŸãããããã¯ã¢ããæé ã®æ¹åããã¡ã€ã«ä¿è·ã®åŒ·åãªã©ãããå€ãã®æ©èœãæäŸããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:113
msgid "For instance"
msgstr "For instance"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:114
msgid "For example,\" instead."
msgstr "代ããã«ãFor exampleãã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:117
msgid "For further/additional/whatever information"
msgstr "For further/additional/whatever information"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:118
msgid "Use \"For more information\""
msgstr "ãFor more informationãã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:121
msgid "For this reason"
msgstr "For this reason"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:122
msgid "Use \"therefore\"."
msgstr "ãthereforeãã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:125
msgid "Forward"
msgstr "Forward"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:126
msgid "Correct. Avoid using \"forwards.\""
msgstr "é©åã§ãããforwardsãã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:129
msgid "Gigabyte (GB)"
msgstr "Gigabyte (GB)"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:130
msgid "2 to the 30th power (1,073,741,824) bytes. One gigabyte is equal to 1,024 megabytes. Gigabyte is often abbreviated as G or GB."
msgstr "2 ã® 30ä¹ (1,073,741,824) ãã€ãã1 ã®ã¬ãã€ã㯠1,024 ã¡ã¬ãã€ãã«çžåœããŸããã®ã¬ãã€ãã¯ãG ãŸã㯠GB ãšç¥ãããããšããããããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:133
msgid "Got"
msgstr "Got"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:134
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:208
msgid "Avoid. Use \"must\" instead."
msgstr "䜿çšããªãããã«ããŠãã ããã代ããã« \"must\" ã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:137
msgid "High-availability"
msgstr "High-availability"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:138
msgid "Correct. Do not use \"high availability.\""
msgstr "é©åã§ãããhight availabilityãã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:141
msgid "Highly available"
msgstr "Highly available"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:142
msgid "Correct. Do not use highly-available.\""
msgstr "é©åã§ããé«å¯çšæ§ã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:145
msgid "Hostname"
msgstr "Hostname"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:146
msgid "Correct. Do not use host name."
msgstr "é©åã§ãããã¹ãåã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:149
msgid "i.e."
msgstr "i.e."
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:150
msgid "Spell it out: \"That is.\""
msgstr "ãThat isãã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:153
msgid "Installer"
msgstr "Installer"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:154
msgid "Avoid. Use \"installation program\" instead."
msgstr "䜿çšããªãã§ãã ããã代ããã«ãinstallation programãã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:157
msgid "It's and its"
msgstr "It's ããã³ its"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:158
msgid "\"It's\" is a contraction for \"it is;\" use \"it is\" instead of \"it's.\" Use \"its\" as a possessive pronoun (for example, \"the store is known for its low prices\")."
msgstr "ãIt'sãã¯ãit isãã®ç瞮圢ã§ãããit'sãã§ã¯ãªããit isãã䜿çšããŸããææ代åè©ã¯ãitsããšäœ¿çšããŸããããšãã°ãthe store is known for its low pricesã(ãã®åºã¯äœäŸ¡æ Œã§ç¥ãããŠããŸã) ãšãªããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:161
msgid "Less"
msgstr "Less"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:162
msgid "Less is used with singular nouns. For example \"View less details\" wouldn't be correct but \"View less detail\" works. Use fewer when you have plural nouns (things you can count)."
msgstr "Less ã¯åæ°åè©ã§äœ¿çšãããŸããããšãã°ããView less detailsãã¯ééã£ãŠããŸããããView less detailãã¯é©åã§ããè€æ°åè© (æ°ããããç©) ã«ã¯ããfewerãã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:165
msgid "Linux"
msgstr "Linux"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:166
msgid "Correct. Do not use \"LINUX\" or \"linux\" unless referring to a command, such as \"To start Linux, type linux.\" Linux is a registered trademark of Linus Torvalds."
msgstr "é©åã§ããã³ãã³ããåç
§ããŠããå Žå (ããšãã°ãTo start Linux, type linuxã(Linux ãèµ·åããå Žåã¯ãlinux ãšå
¥åããŸã)) ãé€ãããLINUXããŸãã¯ãlinuxãã䜿çšããªãã§ãã ãããLinux ã¯ãLinus Torvalds ã®ç»é²åæšã§ãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:169
msgid "Login"
msgstr "Login"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:170
msgid "A noun used to refer to the login prompt, such as \"At the login prompt, enter your username.\""
msgstr "ãã°ã€ã³ããã³ããã瀺ãããã«äœ¿çšããŠããåè©ã§ããããšãã°ããAt the login prompt, enter your username.ã(ãã°ã€ã³ããã³ããã§ãŠãŒã¶ãŒåãå
¥åããŠãã ããã) ãšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:173
msgid "Log in"
msgstr "Log in"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:174
msgid "A verb used to refer to the act of logging in. Do not use \"login,\" \"loggin,\" \"logon,\" and other variants. For example, \"When starting your computer, you are requested to log in...\""
msgstr "ãã°ã€ã³ã®åäœãåç
§ããããã«äœ¿çšãããåè©ã§ãããloginãããlogginãããlogginããªã©ã®åœ¢ã¯äœ¿çšããªãã§ãã ãããããšãã°ããWhen starting your computer, you are requested to log in...ã(ã³ã³ãã¥ãŒã¿ãŒãèµ·åãããšããã°ã€ã³ãèŠæ±ãããŸã...) ãšè¡šç€ºãããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:177
msgid "Log on"
msgstr "Log on"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:178
msgid "To make a computer system or network recognize you so that you can begin a computer session. Most personal computers have no log-on procedure -- you just turn the machine on and begin working. For larger systems and networks, however, you usually need to enter a username and password before the computer system will allow you to execute programs."
msgstr "ã³ã³ãã¥ãŒã¿ãŒã»ãã·ã§ã³ãéå§ã§ããããã«ãã³ã³ãã¥ãŒã¿ãŒã·ã¹ãã ãŸãã¯ãããã¯ãŒã¯ã«ãŠãŒã¶ãŒãèªèãããããšã§ããã»ãšãã©ã®ã³ã³ãã¥ãŒã¿ãŒã«ã¯ãã°ãªã³æé ããããŸããããã·ã³ã®é»æºãå
¥ããã°åãããã§ãããã ãã倧èŠæš¡ã·ã¹ãã ããããã¯ãŒã¯ã®å Žåã«ã¯ãéåžžãã³ã³ãã¥ãŒã¿ã·ã¹ãã ã§ããã°ã©ã ãå®è¡ããåã«ããŠãŒã¶ãŒåãšãã¹ã¯ãŒããå
¥åããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:181
msgid "Lots of"
msgstr "Lots of"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:182
msgid "Use \"Several\" or something equivalent instead."
msgstr "代ããã«ãseveralããªã©ã®åèªã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:185
msgid "Make sure"
msgstr "Make sure"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:186
msgid "This means \"be careful to remember, attend to, or find out something.\" For example, \"...make sure that the rhedk group is listed in the output.\" Try to use verify or ensure instead."
msgstr "ããã¯ããäœããèŠãããã泚æããããèŠã€ãããããããã«æ³šæããããšããæå³ã§ããããšãã°ãã...make sure that the rhedk group is listed in the output.ã(rhedk ã°ã«ãŒããåºåã®äžèŠ§ã«å«ãŸããŠããããšã確èªããŠãã ãã) ãšãªããŸãã代ããã« verify ã ensure ã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:190
msgid "Manual/man page"
msgstr "Manual/man page"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:191
msgid "Correct. Two words. Do not use \"manpage\""
msgstr "é©åã§ãã2 ã€ã®åèªã«ãªããŸãããmanpageãã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:194
msgid "MB"
msgstr "MB"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:195
msgid "When spelled MB, short for megabyte (1,000,000 or 1,048,576 bytes, depending on the context)."
msgstr "MB ã¯ãã¡ã¬ãã€ã (ç¶æ³ã«å¿ã㊠1,000,000 ãã€ããŸã㯠1,048,576 ãã€ã) ã®ç¥èªã§ãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:196
msgid "When spelled Mb, short for megabit."
msgstr "Mb ã¯ãã¡ã¬ãããã®ç¥èªã§ãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:199
msgid "MBps"
msgstr "MBps"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:200
msgid "Short for megabytes per second, a measure of data transfer speed. Mass storage devices are generally measured in MBps."
msgstr "1 ç§ãããã®ã¡ã¬ãã€ãã®ç¥èªã§ãããŒã¿è»¢éé床ã®æž¬å®åäœã§ããéåžžã倧容éã¹ãã¬ãŒãžããã€ã¹ã¯ãMBps ã§è¡šãããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:203
msgid "MySQL"
msgstr "MySQL"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:204
msgid "Common open source database server and client package. Do not use \"MYSQL\" or \"mySQL.\""
msgstr "äžè¬çãªãªãŒãã³ãœãŒã¹ããŒã¿ããŒã¹ãµãŒããŒããã³ã¯ã©ã€ã¢ã³ãããã±ãŒãžã§ãããMYSQLããŸãã¯ãmySQLãã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:207
msgid "Need to"
msgstr "Need to"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:211
msgid "Read-only"
msgstr "Read-only"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:212
msgid "Correct. Use when referring to the access permissions of files or directories."
msgstr "é©åã§ãããã¡ã€ã«ãŸãã¯ãã£ã¬ã¯ããªãŒã®ã¢ã¯ã»ã¹ããŒããã·ã§ã³ãåç
§ããå Žåã«äœ¿çšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:215
msgid "Real time/real-time"
msgstr "Real time/real-time"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:216
msgid "Depends. If used as a noun, it is the actual time during which something takes place. For example, \"The computer may partly analyze the data in real time (as it comes in) -- R. H. March.\" If used as an adjective, \"real-time\" is appropriate. For example, \"XEmacs is a self-documenting, customizable, extensible, real-time display editor.\""
msgstr "ç¶æ³ã«ãã£ãŠç°ãªããŸããåè©ãšããŠäœ¿çšããå Žåã¯ãããã¯äœããè¡ãããå®éã®æéã«ãªããŸããããšãã°ããThe computer may partly analyze the data in real time (as it comes in) -- R. H. Marchã(ã³ã³ãã¥ãŒã¿ãŒã¯ããŒã¿ããªã¢ã«ã¿ã€ã ã§éšåçã«åæããå ŽåããããŸãã(R. H.ããŒã)) ãšãªããŸãã圢容è©ãšããŠäœ¿çšããå Žåã¯ããreal-timeããé©åã§ããããšãã°ããXEmacs is a self-documenting, customizable, extensible, real-time display editor.ã(XEmacs ã¯ãèªå·±ææžåãè¡ããã«ã¹ã¿ãã€ãºå¯èœã§ãæ¡åŒµå¯èœãªããªã¢ã«ã¿ã€ã ãã£ã¹ãã¬ã€ãšãã£ã¿ãŒã§ã) ãšãªããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:219
msgid "Refer to"
msgstr "Refer to"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:220
msgid "Use to indicate a reference (within a manual or website) or a cross-reference (to another manual or documentation source)."
msgstr "åç
§ (ããã¥ã¢ã«ãŸã㯠Web ãµã€ãå
) ãŸãã¯çžäºåç
§ (å¥ã®ããã¥ã¢ã«ãŸãã¯ããã¥ã¡ã³ããœãŒã¹) ã瀺ãããã«äœ¿çšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:223
msgid "See"
msgstr "See"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:224
msgid "Don't use. Use \"Refer to\" instead."
msgstr "䜿çšããªãã§ãã ããã代ããã«ãRefer toãã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:227
msgid "Since"
msgstr "Since"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:228
msgid "This is often used to mean \"because\", but \"since\" has connotations of time, so be careful. If you mean \"because\", say \"because\"."
msgstr "ãã®åèªã¯ãåå ããæå³ããããã«ãã䜿çšãããŸããããsinceãã«ã¯æéã®æå³åããããããã泚æããŠãã ããããåå ããæå³ããå Žåã¯ããbecauseãã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:231
msgid "Tells"
msgstr "Tells"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:232
msgid "Use \"Instructs\" instead."
msgstr "代ããã«ãinstructsãã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:235
msgid "That/which"
msgstr "That/which"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:236
msgid "\"That\" introduces a restrictive clause-a clause that must be there for the sentence to make sense. A restrictive clause often defines the noun or phrase preceding it. \"Which\" introduces a non-restrictive, parenthetical clause-a clause that could be omitted without affecting the meaning of the sentence. For example: The car was travelling at a speed that would endanger lives. The car, which was traveling at a speed that would endanger lives, swerved onto the sidewalk. Use \"who\" or \"whom,\" rather than \"that\" or \"which,\" when referring to a person."
msgstr "ãThatãã¯ãå¶éçé¢ä¿è©ç¯ãå°å
¥ããŸããããã¯ãæãæå³ããªãããã«å¿
èŠãªç¯ã§ããå¶éçé¢ä¿è©ç¯ã¯ãå€ãã®å Žåããã®åã«ããåè©ãŸãã¯å¥ãå®çŸ©ããŸãããWhichãã¯ãéå¶éã®ãæ¬åŒ§ã§å²ãŸããç¯ãå°å
¥ããŸããã€ãŸããæã®æå³ã«åœ±é¿ãäžããã«çç¥ããããšãã§ããç¯ã§ããããšãã°ããThe car was travelling at a speed that would endanger lives.ã(人åœãå±éºã«ãããé床ã§è»ãèµ°è¡ããŠããŸããã) ãšããThe car, which was traveling at a speed that would endanger lives, swerved onto the sidewalk.ã(人åœãå±éºã«ãããé床ã§èµ°è¡ããŠããè»ãæ©éã«ã®ãäžããŸãã) ã§ãã人ãæãå Žåã¯ããthatããŸãã¯ãwhichãã§ã¯ãªããwhoããŸãã¯ãwhomãã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:239
msgid "Then/than"
msgstr "Then/than"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:240
msgid "\"Then\" refers to a time in the past or the next step in a sequence. \"Than\" is used for comparisons."
msgstr "ãthenãã¯ãã²ãšç¶ãã®ãã®ã®äžãããã·ãŒã±ã³ã¹ã®éå»ã®ã¹ããããŸãã¯æ¬¡ã®ã¹ãããã®æéãæããŸããæ¯èŒã«ã¯ãthanãã䜿çšãããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:245
msgid "Third-party"
msgstr "Third-party"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:246
msgid "Correct. Do not use \"third party\"."
msgstr "é©åã§ãããthird partyãã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:249
msgid "Troubleshoot"
msgstr "Troubleshoot"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:250
msgid "Correct. Do not use \"trouble shoot\" or \"trouble-shoot.\" To isolate the source of a problem and fix it. In the case of computer systems, the term troubleshoot is usually used when the problem is suspected to be hardware -related. If the problem is known to be in software, the term debug is more commonly used."
msgstr "é©åã§ãããtrouble shootããŸãã¯ãtrouble-shootãã¯äœ¿çšããªãã§ãã ãããåé¡ã®åå ãç¹å®ããŠä¿®æ£ããããã®ãã®ã§ããã³ã³ãã¥ãŒã¿ãŒã·ã¹ãã ã®å Žåã¯ãéåžžãåé¡ãããŒããŠã§ã¢ã«é¢é£ãããã®ãšèããããå Žåã«äœ¿çšãããŸããåé¡ããœãããŠã§ã¢ã«ããããšãåãã£ãŠããå Žåã«ãããäžè¬çã«äœ¿çšãããã®ã¯ãdebugãã§ãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:253
msgid "UK"
msgstr "UK"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:254
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:266
msgid "Correct as is, no periods."
msgstr "ãã®ãšããã«äœ¿çšããŸããããªãªãã¯ä»ããŸããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:257
msgid "UNIX®"
msgstr "UNIX®"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:258
msgid "Correct. Do not use \"Unix\" or \"unix.\" UNIX® is a registered trademark of The Open Group."
msgstr "é©åã§ãããUnixããŸãã¯ãunixãã¯äœ¿çšããªãã§ãã ãããUNIX® ã¯ãThe Open Group ã®ç»é²åæšã§ãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:261
msgid "Unset"
msgstr "Unset"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:262
msgid "Don't use. Use Clear."
msgstr "䜿çšããªãã§ãã ããããClearãã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:265
msgid "US"
msgstr "US"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:269
msgid "User"
msgstr "User"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:270
msgid "When referring to the reader, use \"you\" instead of \"user.\" For example, \"The user must...\" is incorrect. Use \"You must...\" instead. If referring to more than one user, calling the collection \"users\" is acceptable, such as \"Other users may wish to access your database.\""
msgstr "èªã¿æã瀺ãå Žåã¯ããuserãã§ã¯ãªããyouãã䜿çšããŸããããšãã°ããThe user must...ãã¯æ£ãããããŸããã代ããã«ãYou must...ãã䜿çšããŠãã ãããè€æ°ã®ãŠãŒã¶ãŒã瀺ãå Žåã¯ããusersãã䜿çšã§ããŸããããšãã°ããOther users may to access your database.ã(ãã®ä»ã®ãŠãŒã¶ãŒãããŒã¿ããŒã¹ã«ã¢ã¯ã»ã¹ããããšãæãå¯èœæ§ããããŸã) ã§ãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:273
msgid "Username"
msgstr "Username"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:274
msgid "Correct. Do not use \"user name.\""
msgstr "é©åã§ãããuser nameãã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:277
msgid "View"
msgstr "View"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:278
msgid "When using as a reference (\"View the documentation available online.\"), do not use View. Use \"Refer to\" instead."
msgstr "åç
§ãšããŠäœ¿çšããå Žåãããšãã°ãView the documentation available online.ã(ãªã³ã©ã€ã³ã§äœ¿çšå¯èœãªããã¥ã¡ã³ããåç
§ããŠãã ãã) ãšããå Žåã¯ããviewãã䜿çšããªãã§ãã ããã代ããã«ãrefer toãã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:281
msgid "Within"
msgstr "Within"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:282
msgid "Don't use to refer to a file that exists in a directory. Use \"In\"."
msgstr "ãã£ã¬ã¯ããªãŒã«ãããã¡ã€ã«ãåç
§ããå Žåã¯äœ¿çšããªãã§ãã ããããInãã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:285
msgid "World Wide Web"
msgstr "World Wide Web"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:286
msgid "Correct. Capitalize each word. Abbreviate as \"WWW\" or \"Web.\""
msgstr "é©åã§ããååèªã倧æåã«ããŸããçç¥åœ¢ã¯ãWWWããŸãã¯ãWebãã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:289
msgid "Webpage"
msgstr "Webpage"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:290
msgid "Correct. Do not use \"web page\" or \"Web page.\""
msgstr "é©åã§ãããweb pageããŸãã¯ãWeb pageãã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:293
msgid "Web server"
msgstr "Web server"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:294
msgid "Correct. Do not use \"webserver\". For example, \"The Apache HTTP Server is the default Web server...\""
msgstr "é©åã§ãããwebserverãã¯äœ¿çšããªãã§ãã ãããããšãã°ããThe Apache HTTP Server is the default Web server...ã(Apache HTTP ãµãŒããŒã¯ããã©ã«ãã® Web ãµãŒããŒ...) ã§ãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:297
msgid "Website"
msgstr "Website"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:298
msgid "Correct. Do not use \"web site\" or \"Web site.\" For example, \"The Ansible website contains ...\""
msgstr "é©åã§ãããweb siteããŸãã¯ãWeb siteãã¯äœ¿çšããªãã§ãã ãããããšãã°ããThe Ansible website contains ...ã(Ansible web ãµã€ãã«...å«ãŸããŸã) ãšãªããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:301
msgid "Who/whom"
msgstr "Who/whom"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:302
msgid "Use the pronoun \"who\" as a subject. Use the pronoun \"whom\" as a direct object, an indirect object, or the object of a preposition. For example: Who owns this? To whom does this belong?"
msgstr "äž»èªã«ã¯ã代åè©ãwhoãã䜿çšããŸããçŽæ¥ç®çèªãéæ¥ç®çèªããŸãã¯å眮è©ã®ç®çèªã«ã¯ã代åè©ã®ç®çæ Œãwhomãã䜿çšããŸããããšãã°ããWho owns this?ã(ããã¯èª°ãææããŠããŸãã?) ãããTo whom does this belong?ã(ããã¯èª°ã®ãã®ã§ãã?) ãšãªããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:305
msgid "Will"
msgstr "Will"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:306
msgid "Do not use future tense unless it is absolutely necessary. For instance, do not use the sentence, \"The next section will describe the process in more detail.\" Instead, use the sentence, \"The next section describes the process in more detail.\""
msgstr "絶察ã«å¿
èŠãªå Žåãé€ããŠãæªæ¥æå¶ã¯äœ¿çšããªãã§ãã ãããããšãã°ããThe next section will describe the process in more detail.ã(次ã®ã»ã¯ã·ã§ã³ã§ããã»ã¹ã詳ãã説æããŸã) ã§ã¯ãªãããThe next section describes the process in more detail.ããšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:309
msgid "Wish"
msgstr "Wish"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:310
msgid "Use \"need\" instead of \"desire\" and \"wish.\" Use \"want\" when the reader's actions are optional (that is, they may not \"need\" something but may still \"want\" something)."
msgstr "ãdesireãããã³ãwishãã®ä»£ããã«ãneedãã䜿çšããŸããèªè
ã®æäœãä»»æã®å Žå (ã€ãŸããäœãããå¿
èŠããšã¯ããªããããããªããã©ãããã§ãäœãããæãã§ãããå¯èœæ§ãããå Žå) ã¯ãwantãã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:313
msgid "x86"
msgstr "x86"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:314
msgid "Correct. Do not capitalize the \"x.\""
msgstr "é©åã§ãããxãã¯å€§æåã«ããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:317
msgid "x86_64"
msgstr "x86_64"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:318
msgid "Do not use. Do not use \"Hammer\". Always use \"AMD64 and Intel® EM64T\" when referring to this architecture."
msgstr "ãHammerãã䜿çšããªãã§ãã ããããã®ã¢ãŒããã¯ãã£ãŒãåç
§ããå Žåã¯å¿
ããAMD64 and Intel® EM64TããšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:321
msgid "You"
msgstr "You"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:322
msgid "Correct. Do not use \"I,\" \"he,\" or \"she.\""
msgstr "é©åã§ãããIãããheãããsheãã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:325
msgid "You may"
msgstr "You may"
#: ../../rst/dev_guide/style_guide/spelling_word_choice.rst:326
msgid "Try to avoid using this. For example, \"you may\" can be eliminated from this sentence \"You may double-click on the desktop...\""
msgstr "ãã®è¡šçŸã¯äœ¿çšããªãããã«ããŠãã ãããããšãã°ããYou may double-click on the desktop...ã(ããªãã¯ãã¹ã¯ãããäžã§ããã«ã¯ãªãã¯ããããšãã§ããŸã...) ãšããæå³ã®æããã¯ãyou mayããçãããšãã§ããŸãã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:3
msgid "Trademark Usage"
msgstr "åæšã®äœ¿çšæ¹æ³"
#: ../../rst/dev_guide/style_guide/trademarks.rst:4
msgid "Why is it important to use the TM, SM, and ® for our registered marks?"
msgstr "ç»é²åæšã« TMãSMããã㳠® ã䜿çšããããšãéèŠãªçç±"
#: ../../rst/dev_guide/style_guide/trademarks.rst:6
msgid "Before a trademark is registered with the United States Patent and Trademark Office it is appropriate to use the TM or SM symbol depending whether the product is for goods or services. It is important to use the TM or SM as it is notification to the public that Ansible claims rights to the mark even though it has not yet been registered."
msgstr "åæšãç±³åœç¹èš±åæšå±ã«ç»é²ãããåã«ãTM ãŸã㯠SM ã®ã©ã¡ãã®èšå·ã䜿çšããã®ãé©åãã¯ã補åãååçšããµãŒãã¹çšãã«ãã£ãŠç°ãªããŸããAnsible ããã®ããŒã¯ã«å¯Ÿããæš©å©ã䞻匵ããŠããããšãå
¬ã«éç¥ããããã«ãåæšãç»é²ãããåãã TM ãŸã㯠SM ã䜿çšããããšãéèŠã§ãã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:8
msgid "Once the trademark is registered, it is appropriate to use the symbol in place of the TM or SM. The symbol designation must be used in conjunction with the trademark if Ansible is to fully protect its rights. If we don't protect these marks, we run the risk of losing them in the way of Aspirin or Trampoline or Escalator."
msgstr "åæšãç»é²ãããããTM ãŸã㯠SM ã®ä»£ããã«ã·ã³ãã«ã䜿çšããããšãé©åã§ããAnsible ããã®æš©å©ãå®å
šã«ä¿è·ããå Žåã¯ãã·ã³ãã«ãšåæšãçµã¿åãããŠäœ¿çšããå¿
èŠããããŸãããããã®ããŒã¯ãä¿è·ããªããšãã¢ã¹ããªã³ããã©ã³ããªã³ããšã¹ã«ã¬ãŒã¿ãŒãªã©ã®ããã«ãæš©å©ã倱ãå ŽåããããŸãã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:11
msgid "General Rules:"
msgstr "äžè¬çãªã«ãŒã«:"
#: ../../rst/dev_guide/style_guide/trademarks.rst:13
msgid "Trademarks should be used on 1st references on a page or within a section."
msgstr "åæšã¯ãããŒãžå
ãŸãã¯ã»ã¯ã·ã§ã³å
ã§æåã«åç
§ããéã«äœ¿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:15
msgid "Use Red Hat® Ansible® Automation Platform or Ansible®, on first reference when referring to products."
msgstr "補åã瀺ãæåã®åç
§ã§ã¯ãRed Hat® Ansible® Automation Platform or Ansible® ãŸã㯠Ansible® ã䜿çšããŸãã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:17
msgid "Use \"Ansible\" alone as the company name, as in \"Ansible announced quarterly results,\" which is not marked."
msgstr "ãAnsibleããäŒç€ŸåãšããŠäœ¿çšããå Žåã¯ããAnsible announced quarterly resultsã(Ansible ååæ決ç®çºè¡š) ã®ããã«ãããŒã¯ãä»ããã«äœ¿çšããŸãã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:19
msgid "Also add the trademark disclaimer. * When using Ansible trademarks in the body of written text, you should use the following credit line in a prominent place, usually a footnote."
msgstr "åæšã®å
責äºé
ãè¿œå ããŸãã* æç« ã®æ¬æã« Ansible åæšã䜿çšããå Žåã¯ãç®ç«ã€å Žæãéåžžã¯è泚ã«æ¬¡ã®ãããªè¡ãè¿œå ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:22
msgid "For Registered Trademarks: - [Name of Trademark] is a registered trademark of Red Hat, Inc. in the United States and other countries."
msgstr "ç»é²åæšã®å Žå - [Name of Trademark] is a registered trademark of Red Hat, Inc. in the United States and other countries."
#: ../../rst/dev_guide/style_guide/trademarks.rst:25
msgid "For Unregistered Trademarks (TMs/SMs): - [Name of Trademark] is a trademark of Red Hat, Inc. in the United States and other countries."
msgstr "éç»é²åæšã®å Žå (TM/SM): - [Name of Trademark] is a trademark of Red Hat, Inc. in the United States and other countries."
#: ../../rst/dev_guide/style_guide/trademarks.rst:28
msgid "For registered and unregistered trademarks: - [Name of Trademark] is a registered trademark and [Name of Trademark] is a trademark of Red Hat, Inc. in the United States and other countries."
msgstr "ç»é²åæšããã³æªç»é²åæšã®å Žå: [Name of Trademark] is a registered trademark and [Name of Trademark] is a trademark of Red Hat, Inc. in the United States and other countries."
#: ../../rst/dev_guide/style_guide/trademarks.rst:32
msgid "Guidelines for the proper use of trademarks:"
msgstr "åæšãé©åãªäœ¿çšããããã®ã¬ã€ãã©ã€ã³:"
#: ../../rst/dev_guide/style_guide/trademarks.rst:34
msgid "Always distinguish trademarks from surround text with at least initial capital letters or in all capital letters."
msgstr "åæšããåšå²ã®ããã¹ããšåºå¥ããããã«ãå°ãªããšãé æåã倧æåã«ãããããã¹ãŠã®æåã倧æåã«ããŸãã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:36
msgid "Always use proper trademark form and spelling."
msgstr "åžžã«é©åãªåæšã®åœ¢åŒãšã¹ãã«ã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:38
msgid "Never use a trademark as a noun. Always use a trademark as an adjective modifying the noun."
msgstr "åæšã¯ãåè©ãšããŠäœ¿çšããªãã§ãã ãããåæšã¯ãåžžã«åè©ã修食ãã圢容è©ãšããŠäœ¿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:40
msgid "Correct: Red Hat® Ansible® Automation Platform system performance is incredible."
msgstr "æ£ãã䜿çšæ¹æ³: ãRed Hat® Ansible® Automation Platform system performance is incredible. (Red Hat® Ansible® Automation Platform ã·ã¹ãã ã®ããã©ãŒãã³ã¹ã¯é©ç°çã§ã)ã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:43
msgid "Incorrect: Ansible's performance is incredible."
msgstr "誀ã£ã䜿çšæ¹æ³: ãAnsible's performance is incredible. (Ansible ã®ããã©ãŒãã³ã¹ã¯è
åšçã§ã)ã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:46
msgid "Never use a trademark as a verb. Trademarks are products or services, never actions."
msgstr "åæšã¯ãåè©ãšããŠäœ¿çšããªãã§ãã ãããåæšã¯è£œåãŸãã¯ãµãŒãã¹ã§ãããåäœã§ã¯ãããŸããã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:48
msgid "Correct: \"Orchestrate your entire network using Red Hat® Ansible® Automation Platform.\""
msgstr "æ£ãã䜿çšæ¹æ³: ãOrchestrate your entire network using Red Hat® Ansible® Automation Platform. (Red Hat® Ansible® Automation Platform ã䜿çšããŠãããã¯ãŒã¯å
šäœã調æŽããŸã)ã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:51
msgid "Incorrect: \"Ansible your entire network.\""
msgstr "誀ã£ã䜿çšæ¹æ³: Ansible your entire network."
#: ../../rst/dev_guide/style_guide/trademarks.rst:54
msgid "Never modify a trademark to a plural form. Instead, change the generic word from the singular to the plural."
msgstr "åæšãè€æ°åœ¢ã«å€æŽããªãã§ãã ããã代ããã«ãäžè¬çãªåèªãåæ°åœ¢ããè€æ°åœ¢ã«å€æŽããŸãã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:56
msgid "Correct: \"Corporate demand for Red Hat® Ansible® Automation Platform software is surging.\""
msgstr "æ£ãã䜿çšæ¹æ³: ãCorporate demand for Red Hat® Ansible® Automation Platform software is surging. (Red Hat® Ansible® Automation Platform ãœãããŠã§ã¢ã«å¯ŸããäŒæ¥ã®éèŠãæ¥å¢ããŠããŸã)ã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:59
msgid "Incorrect: \"Corporate demand for Ansible is surging.\""
msgstr "誀ã£ã䜿çšæ¹æ³: Corporate demand for Ansible is surging."
#: ../../rst/dev_guide/style_guide/trademarks.rst:62
msgid "Never modify a trademark from its possessive form, or make a trademark possessive. Always use it in the form it has been registered."
msgstr "åæšãæææ Œããå€æŽããããåæšãæææ Œã«ãããããªãã§ãã ãããå¿
ãç»é²ãã圢ã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:64
msgid "Never translate a trademark into another language."
msgstr "åæšãå¥ã®èšèªã«ç¿»èš³ããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:66
msgid "Never use trademarks to coin new words or names."
msgstr "åæšã䜿çšããŠæ°ããåèªãååãäœæããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:68
msgid "Never use trademarks to create a play on words."
msgstr "åæšã䜿çšããŠèšèéã³ãäœæããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:70
msgid "Never alter a trademark in any way including through unapproved fonts or visual identifiers."
msgstr "æªæ¿èªã®ãã©ã³ããèŠèŠçãªèå¥åãªã©ããããªãæ¹æ³ã§ãåæšãå€æŽããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:72
msgid "Never abbreviate or use any Ansible trademarks as an acronym."
msgstr "Ansible ã®åæšãçç¥ããããé æåã ã䜿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:75
msgid "The importance of Ansible trademarks"
msgstr "Ansible åæšã®éèŠæ§"
#: ../../rst/dev_guide/style_guide/trademarks.rst:77
msgid "The Ansible trademark and the \"A\" logo in a shaded circle are our most valuable assets. The value of these trademarks encompass the Ansible Brand. Effective trademark use is more than just a name, it defines the level of quality the customer will receive and it ties a product or service to a corporate image. A trademark may serve as the basis for many of our everyday decisions and choices. The Ansible Brand is about how we treat customers and each other. In order to continue to build a stronger more valuable Brand we must use it in a clear and consistent manner."
msgstr "Ansible ã®åæšãšãæç·ã§å²ãŸãããAãã®ããŽã¯ãåœç€Ÿã®æã䟡å€ã®ããè³ç£ã§ãããããã®åæšã®äŸ¡å€ã¯ãAnsible ãã©ã³ããå
æ¬ãããã®ã§ããå¹æçãªåæšã®äœ¿çšã¯ãåãªãååã§ã¯ãªããã客æ§ãåãåãå質ã¬ãã«ãå®çŸ©ãã補åããµãŒãã¹ãäŒæ¥ã€ã¡ãŒãžã«çµã³ã€ãããã®ã§ããåæšã¯ãç§ãã¡ã®æ¥åžžçãªææ決å®ãéžæã®å€ãã®åºç€ãšãªããã®ã§ããAnsible ãã©ã³ãã¯ãç§ãã¡ãã客æ§ãšäºãã«ã©ã®ããã«æ¥ããããšããããšã§ãããã匷åã§äŸ¡å€ã®ãããã©ã³ããæ§ç¯ãç¶ããããã«ã¯ãæ確ã§äžè²«ããæ¹æ³ã§äœ¿çšããªããã°ãªããŸããã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:79
msgid "The mark consists of the letter \"A\" in a shaded circle. As of 5/11/15, this was a pending trademark (registration in process)."
msgstr "ãã®ããŒã¯ã¯ã圱ä»ãã®åã§å²ãŸããæåãAãã§æ§æãããŠããŸãã2015 幎 5 æ 11 æ¥ã®æç¹ã§ããã®åæšã¯ä¿å±äž (ç»é²æç¶ãäž) ã§ããã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:82
msgid "Common Ansible Trademarks"
msgstr "äžè¬ç㪠Ansible ã®åæš"
#: ../../rst/dev_guide/style_guide/trademarks.rst:83
msgid "Ansible®"
msgstr "Ansible®"
#: ../../rst/dev_guide/style_guide/trademarks.rst:86
msgid "Other Common Trademarks and Resource Sites:"
msgstr "ãã®ä»ã®äžè¬çãªåæšããã³ãªãœãŒã¹ã®ãµã€ã:"
#: ../../rst/dev_guide/style_guide/trademarks.rst:87
msgid "Linux is a registered trademark of Linus Torvalds."
msgstr "Linux ã¯ãLinus Torvalds ã®ç»é²åæšã§ãã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:88
msgid "UNIX® is a registered trademark of The Open Group."
msgstr "UNIX® ã¯ãThe Open Group ã®ç»é²åæšã§ãã"
#: ../../rst/dev_guide/style_guide/trademarks.rst:89
msgid "Microsoft, Windows, Vista, XP, and NT are registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/en-us.aspx"
msgstr "Microsoft, Windows, Vista, XP, and NT are registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/en-us.aspx"
#: ../../rst/dev_guide/style_guide/trademarks.rst:90
msgid "Apple, Mac, Mac OS, Macintosh, Pages and TrueType are either registered trademarks or trademarks of Apple Computer, Inc. in the United States and/or other countries. https://www.apple.com/legal/intellectual-property/trademark/appletmlist.html"
msgstr "Apple, Mac, Mac OS, Macintosh, Pages and TrueType are either registered trademarks or trademarks of Apple Computer, Inc. in the United States and/or other countries. https://www.apple.com/legal/intellectual-property/trademark/appletmlist.html"
#: ../../rst/dev_guide/style_guide/trademarks.rst:91
msgid "Adobe, Acrobat, GoLive, InDesign, Illustrator, PostScript , PhotoShop and the OpenType logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. https://www.adobe.com/legal/permissions/trademarks.html"
msgstr "Adobe, Acrobat, GoLive, InDesign, Illustrator, PostScript , PhotoShop and the OpenType logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. https://www.adobe.com/legal/permissions/trademarks.html"
#: ../../rst/dev_guide/style_guide/trademarks.rst:92
msgid "Macromedia and Macromedia Flash are trademarks of Macromedia, Inc. https://www.adobe.com/legal/permissions/trademarks.html"
msgstr "Macromedia and Macromedia Flash are trademarks of Macromedia, Inc. https://www.adobe.com/legal/permissions/trademarks.html"
#: ../../rst/dev_guide/style_guide/trademarks.rst:93
msgid "IBM is a registered trademark of International Business Machines Corporation. https://www.ibm.com/legal/us/en/copytrade.shtml"
msgstr "IBM is a registered trademark of International Business Machines Corporation. https://www.ibm.com/legal/us/en/copytrade.shtml"
#: ../../rst/dev_guide/style_guide/trademarks.rst:94
msgid "Celeron, Celeron Inside, Centrino, Centrino logo, Core Inside, Intel Core, Intel Inside, Intel Inside logo, Itanium, Itanium Inside, Pentium, Pentium Inside,VTune, Xeon, and Xeon Inside are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. https://www.intel.com/content/www/us/en/legal/trademarks.html"
msgstr "Celeron, Celeron Inside, Centrino, Centrino logo, Core Inside, Intel Core, Intel Inside, Intel Inside logo, Itanium, Itanium Inside, Pentium, Pentium Inside,VTune, Xeon, and Xeon Inside are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. https://www.intel.com/content/www/us/en/legal/trademarks.html"
#: ../../rst/dev_guide/style_guide/voice_style.rst:3
msgid "Voice Style"
msgstr "æ
ã®ã¹ã¿ã€ã«"
#: ../../rst/dev_guide/style_guide/voice_style.rst:4
msgid "The essence of the Ansible writing style is short sentences that flow naturally together. Mix up sentence structures. Vary sentence subjects. Address the reader directly. Ask a question. And when the reader adjusts to the pace of shorter sentences, write a longer one."
msgstr "Ansible ã©ã€ãã£ã³ã°ã¹ã¿ã€ã«ã®ç¹é·ã¯ãèªç¶ã«äžç·ã«æµããçãæã§ããææ³æ§é ã¯æ··åšãããŸããæã®äž»é¡ãå€åãããŸããèªè
ã«çŽæ¥è©±ããããŸãã質åããŸããèªè
ãçãæç« ã®ããŒã¹ã«é å¿ããããé·ãæç« ãæžããŠãã ããã"
#: ../../rst/dev_guide/style_guide/voice_style.rst:6
msgid "Write how real people speak..."
msgstr "å®éã®ãŠãŒã¶ãŒã話ãããã«èšè¿°ããŸãã"
#: ../../rst/dev_guide/style_guide/voice_style.rst:7
msgid "...but try to avoid slang and colloquialisms that might not translate well into other languages."
msgstr "ãã ããä»èšèªã«é©åã«ç¿»èš³ã§ããªãå¯èœæ§ã®ããä¿èªãå£èªè¡šçŸã¯é¿ããããã«ããŠãã ããã"
#: ../../rst/dev_guide/style_guide/voice_style.rst:8
msgid "Say big things with small words."
msgstr "å°ããªããšã°ã§å€§ããªããšã説æããŸãã"
#: ../../rst/dev_guide/style_guide/voice_style.rst:9
msgid "Be direct. Tell the reader exactly what you want them to do."
msgstr "çŽæ¥çãªè¡šçŸã䜿çšããŠãã ãããèªã¿æãå®è¡ããå¿
èŠãããå
容ãæ£ç¢ºã«æ瀺ããŸãã"
#: ../../rst/dev_guide/style_guide/voice_style.rst:10
msgid "Be honest."
msgstr "èª å®ã«è¡šçŸããŸãã"
#: ../../rst/dev_guide/style_guide/voice_style.rst:11
msgid "Short sentences show confidence."
msgstr "çãæç« ã¯èªä¿¡ã瀺ããŠããŸãã"
#: ../../rst/dev_guide/style_guide/voice_style.rst:12
msgid "Grammar rules are meant to be bent, but only if the reader knows you are doing this."
msgstr "ææ³èŠåã¯ãããã¯èªè
ãäœã説æããŠããããç解ããŠããå Žåã«éãçµã¿èŸŒãŸããããšãæå³ãããŠããŸãã"
#: ../../rst/dev_guide/style_guide/voice_style.rst:13
msgid "Choose words with fewer syllables for faster reading and better understanding."
msgstr "èªã¿ããããç解ãæ·±ããããã«ãé³ç¯ãå°ãªãåèªãéžãã§ãã ããã"
#: ../../rst/dev_guide/style_guide/voice_style.rst:14
msgid "Think of copy as one-on-one conversations rather than as a speech. It's more difficult to ignore someone who is speaking to you directly."
msgstr "ã³ããŒã¯ãèŽè¡ã«å¯Ÿããã¹ããŒãã§ã¯ãªãã1 察 1 ã®å¯Ÿè©±ãšèããŠãã ãããçŽæ¥è©±ããããŠãã人ãç¡èŠããã®ã¯ããå°é£ã§ãã"
#: ../../rst/dev_guide/style_guide/voice_style.rst:15
msgid "When possible, start task-oriented sentences (those that direct a user to do something) with action words. For example: Find software... Contact support... Install the media.... and so forth."
msgstr "å¯èœãªå Žåã¯ãã¿ã¹ã¯æåã®æç« (ãŠãŒã¶ãŒã«ããäœæ¥ãæ瀺ããé
ç®) ã¯ãåäœã瀺ãçšèªã§éå§ããŸããããšãã°ããFind software...ãããContact support...ãããInstall the media...ããªã©ã§ãã"
#: ../../rst/dev_guide/style_guide/voice_style.rst:18
msgid "Active Voice"
msgstr "èœåæ
"
#: ../../rst/dev_guide/style_guide/voice_style.rst:19
msgid "Use the active voice (\"Start Linuxconf by typing...\") rather than passive (\"Linuxconf can be started by typing...\") whenever possible. Active voice makes for more lively, interesting reading. Also avoid future tense (or using the term \"will\") whenever possible For example, future tense (\"The screen will display...\") does not read as well as an active voice (\"The screen displays\"). Remember, the users you are writing for most often refer to the documentation while they are using the system, not after or in advance of using the system."
msgstr "å¯èœãªéããååæ
(ãLinuxconf can be started by typing...ã) ã§ã¯ãªããèœåæ
(ãStart Linuxconf by typing...ã) ã䜿çšããŠãã ãããèœåæ
ã®æ¹ãããçãçããšããã泚æãåŒãä»ããæç« ã«ãªããŸãããŸããæªæ¥åœ¢ (ãŸãã¯ãwillãã®äœ¿çš) ã¯å¯èœãªéã䜿çšããªãã§ãã ãããããšãã°ãæªæ¥åœ¢ (ãThe screen will display...ã) ãšèœåæ
(ãThe screen displaysã) ã§ã¯ããã¥ã¢ã³ã¹ãç°ãªããŸããèªè
ã¯ãã·ã¹ãã ã®äœ¿çšåãŸãã¯äœ¿çšåŸã§ã¯ãªããã·ã¹ãã ã®äœ¿çšäžã«ããã¥ã¡ã³ããåç
§ããããšãã»ãšãã©ã§ããããšã«æ³šæããŠãã ããã"
#: ../../rst/dev_guide/style_guide/why_use.rst:4
msgid "Why Use a Style Guide?"
msgstr "ã¹ã¿ã€ã«ã¬ã€ãã䜿çšããçç±"
#: ../../rst/dev_guide/style_guide/why_use.rst:6
msgid "Style guides are important because they ensure consistency in the content, look, and feel of a book or a website."
msgstr "ã¹ã¿ã€ã«ã¬ã€ãã¯ãããã¥ã¡ã³ããŸã㯠Web ãµã€ãã®ã³ã³ãã³ãããã³ã«ãã¯ã¢ã³ããã£ãŒã«ã®äžè²«æ§ã確ä¿ããããã«éèŠã§ãã"
#: ../../rst/dev_guide/style_guide/why_use.rst:8
msgid "Remember, a style guide is only useful if it is used, updated, and enforced. Style Guides are useful for engineering-related documentation, sales and marketing materials, support docs, community contributions, and more."
msgstr "ã¹ã¿ã€ã«ã¬ã€ãã¯ã䜿çšãæŽæ°ãããã³å®æœãããå Žåã«ã®ã¿åœ¹ç«ã€ããšã«æ³šæããŠãã ãããã¹ã¿ã€ã«ã¬ã€ãã¯ããšã³ãžãã¢ãªã³ã°é¢é£ã®ããã¥ã¡ã³ããå¶æ¥ããã³ããŒã±ãã£ã³ã°çšè³æããµããŒãããã¥ã¡ã³ããã³ãã¥ããã£ãŒãžã®è²¢ç®ãªã©ã«åœ¹ç«ã¡ãŸãã"
#: ../../rst/dev_guide/style_guide/why_use.rst:10
msgid "As changes are made to the overall Ansible site design, be sure to update this style guide with those changes. Or, should other resources listed below have major revisions, consider including company information here for ease of reference."
msgstr "Ansible ãµã€ãã®ãã¶ã€ã³å
šäœã«å€æŽãå ããããå Žåã¯ããã®å€æŽã«åãããŠæ¬ã¹ã¿ã€ã«ã¬ã€ããæŽæ°ããŠãã ããããŸãã¯ã以äžã«èšèŒãããŠãããã®ä»ã®è³æã«å€§å¹
ãªæ¹èšãããå Žåã¯ãåç
§ããããããã«ããã«äŒç€Ÿæ
å ±ãå«ããããšãæ€èšããŠãã ããã"
#: ../../rst/dev_guide/style_guide/why_use.rst:12
msgid "This style guide incorporates current Ansible resources and information so that overall site and documentation consistency can be met."
msgstr "ãã®ã¹ã¿ã€ã«ã¬ã€ãã«ã¯ãçŸåšã® Ansible ãªãœãŒã¹ãšæ
å ±ãçµã¿èŸŒãŸããŠããããããµã€ããšããã¥ã¡ã³ãå
šäœã®äžè²«æ§ãä¿ã€ããšãã§ããŸãã"
#: ../../rst/dev_guide/testing.rst:5
#: ../../rst/dev_guide/testing_running_locally.rst:7
msgid "Testing Ansible"
msgstr "Ansible ã®ãã¹ã"
#: ../../rst/dev_guide/testing.rst:12
msgid "Why test your Ansible contributions?"
msgstr "Ansible ãžã®è²¢ç®ããã¹ãããçç±"
#: ../../rst/dev_guide/testing.rst:14
msgid "If you're a developer, one of the most valuable things you can do is to look at GitHub issues and help fix bugs, since bug-fixing is almost always prioritized over feature development. Even for non-developers, helping to test pull requests for bug fixes and features is still immensely valuable."
msgstr "éçºè
ã«ãšã£ãŠãæã䟡å€ã®ããããšã® 1 ã€ããGitHub ã®åé¡ã確èªãããã°ä¿®æ£ãæäŒãããšã§ãããã°ä¿®æ£ã¯ãã»ãšãã©åžžã«ãæ©èœéçºãããåªå
ãããããã§ããéçºè
ã§ã¯ãªããŠãããã°ã®ä¿®æ£ãæ©èœã®ãã«èŠæ±ã®ãã¹ããæäŒãããšã¯éåžžã«äŸ¡å€ã®ããããšã§ãã"
#: ../../rst/dev_guide/testing.rst:16
msgid "Ansible users who understand how to write playbooks and roles should be able to test their work. GitHub pull requests will automatically run a variety of tests (for example, Azure Pipelines) that show bugs in action. However, contributors must also test their work outside of the automated GitHub checks and show evidence of these tests in the PR to ensure that their work will be more likely to be reviewed and merged."
msgstr "Ansible ãŠãŒã¶ãŒã¯ãPlaybook ãšããŒã«ã®äœææ¹æ³ãç解ããŠããã°ãèªèº«ãäœæããäœæ¥ããã¹ãã§ããã¯ãã§ããGitHub ãã«èŠæ±ã¯ããã°ã®åäœã瀺ãããŸããŸãªãã¹ã (Azure Pipeline ãªã©) ãèªåçã«å®è¡ããŸãããã ããè²¢ç®è
ã¯ãèªååããã GitHub ãã§ãã¯ä»¥å€ã§ãèªèº«ã®äœæ¥ããã¹ããããã®èšŒæ ã PR ã§ç€ºããšããã®äœæ¥ãã¬ãã¥ãŒãããŠããŒãžãããå¯èœæ§ãé«ããªããŸãã"
#: ../../rst/dev_guide/testing.rst:18
msgid "Read on to learn how Ansible is tested, how to test your contributions locally, and how to extend testing capabilities."
msgstr "Ansible ã®ãã¹ãæ¹æ³ãè²¢ç®ãããŒã«ã«ã§ãã¹ãããæ¹æ³ãããã³ãã¹ãæ©èœãæ¡åŒµããæ¹æ³ã説æããŸãã"
#: ../../rst/dev_guide/testing.rst:20
msgid "If you want to learn about testing collections, read :ref:`testing_collections`"
msgstr "ã³ã¬ã¯ã·ã§ã³ã®ãã¹ãã確èªããå Žåã¯ãã:ref:`testing_collections`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing.rst:25
msgid "Types of tests"
msgstr "ãã¹ãã®çš®é¡"
#: ../../rst/dev_guide/testing.rst:27
msgid "At a high level we have the following classifications of tests:"
msgstr "ãã¹ãã¯ã倧ããåããŠä»¥äžã®ããã«åé¡ãããŸãã"
#: ../../rst/dev_guide/testing.rst
#: ../../rst/dev_guide/testing/sanity/compile.rst:2
msgid "compile"
msgstr "ã³ã³ãã€ã«"
#: ../../rst/dev_guide/testing.rst:30
msgid ":ref:`testing_compile`"
msgstr ":ref:`testing_compile`"
#: ../../rst/dev_guide/testing.rst:31
msgid "Test python code against a variety of Python versions."
msgstr "ããŸããŸãª Python ããŒãžã§ã³ã«å¯Ÿã㊠python ã³ãŒãããã¹ãããŸãã"
#: ../../rst/dev_guide/testing.rst
msgid "sanity"
msgstr "å¥å
šæ§"
#: ../../rst/dev_guide/testing.rst:34
msgid "Sanity tests are made up of scripts and tools used to perform static code analysis."
msgstr "å¥å
šæ§ãã¹ãã¯ãéçã³ãŒãåæã®å®è¡ã«äœ¿çšãããã¹ã¯ãªããããã³ããŒã«ã§æ§æãããŠããŸãã"
#: ../../rst/dev_guide/testing.rst:35
msgid "The primary purpose of these tests is to enforce Ansible coding standards and requirements."
msgstr "ãããã®ãã¹ãã®äž»ãªç®çã¯ãAnsible ã³ãŒãã£ã³ã°ã®ä»æ§ããã³èŠä»¶ãé©çšããããšã§ãã"
#: ../../rst/dev_guide/testing.rst
msgid "integration"
msgstr "çµ±å"
#: ../../rst/dev_guide/testing.rst:38
msgid "Functional tests of modules and Ansible core functionality."
msgstr "ã¢ãžã¥ãŒã«ããã³ Ansible ã³ã¢æ©èœã®æ©èœãã¹ã"
#: ../../rst/dev_guide/testing.rst
msgid "units"
msgstr "ãŠããã"
#: ../../rst/dev_guide/testing.rst:40
#: ../../rst/dev_guide/testing_units_modules.rst:567
msgid ":ref:`testing_units`"
msgstr ":ref:`testing_units`"
#: ../../rst/dev_guide/testing.rst:41
msgid "Tests directly against individual parts of the code base."
msgstr "ã³ãŒãããŒã¹ã®åã
ã®éšåã«å¯ŸããŠçŽæ¥ãã¹ããè¡ããŸãã"
#: ../../rst/dev_guide/testing.rst:45
msgid "Testing within GitHub & Azure Pipelines"
msgstr "GitHub ããã³ Azure Pipeline ã§ã®ãã¹ã"
#: ../../rst/dev_guide/testing.rst:49
msgid "Organization"
msgstr "çµç¹"
#: ../../rst/dev_guide/testing.rst:51
msgid "When Pull Requests (PRs) are created they are tested using Azure Pipelines, a Continuous Integration (CI) tool. Results are shown at the end of every PR."
msgstr "ãã«èŠæ± (PR: Pull Requests) ãäœæããããšãç¶ç¶ççµ±å (CI) ããŒã«ã§ãã Azure Pipeline ã䜿çšããŠãã¹ããè¡ãããŸããçµæã¯ãã¹ãŠã® PR ã®æåŸã«è¡šç€ºãããŸãã"
#: ../../rst/dev_guide/testing.rst:53
msgid "When Azure Pipelines detects an error and it can be linked back to a file that has been modified in the PR then the relevant lines will be added as a GitHub comment. For example:"
msgstr "Azure Pipeline ããšã©ãŒãæ€åºããããã PR ã§å€æŽããããã¡ã€ã«ã«ãªã³ã¯ããããšãé¢é£ããè¡ã GitHub ã®ã³ã¡ã³ããšããŠè¿œå ãããŸããããšãã°ã以äžã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/testing.rst:64
msgid "From the above example we can see that ``--test pep8`` and ``--test validate-modules`` have identified an issue. The commands given allow you to run the same tests locally to ensure you've fixed all issues without having to push your changes to GitHub and wait for Azure Pipelines, for example:"
msgstr "äžèšã®äŸããã``--test pep8`` ããã³ ``--test validate-modules`` ãåé¡ãç¹å®ããããšãåãããŸããæå®ãããã³ãã³ãã䜿çšãããšãåããã¹ããããŒã«ã«ã§å®è¡ããŠãå€æŽã GitHub ã«ããã·ã¥ã㊠Azure Pipeline ãåŸ
ã€ããšãªãããã¹ãŠã®åé¡ãä¿®æ£ããããšã確èªã§ããŸãã次ã«äŸã瀺ããŸãã"
#: ../../rst/dev_guide/testing.rst:66
msgid "If you haven't already got Ansible available, use the local checkout by running:"
msgstr "Ansible ããŸã å©çšã§ããããã«ãªã£ãŠããªãå Žåã¯ãããŒã«ã«ã§ãã§ãã¯ã¢ãŠããå®è¡ããŠãã ããã"
#: ../../rst/dev_guide/testing.rst:72
msgid "Then run the tests detailed in the GitHub comment:"
msgstr "次ã«ãGitHub ã³ã¡ã³ãã§èª¬æãããã¹ããå®è¡ããŸãã"
#: ../../rst/dev_guide/testing.rst:79
msgid "If there isn't a GitHub comment stating what's failed you can inspect the results by clicking on the \"Details\" button under the \"checks have failed\" message at the end of the PR."
msgstr "GitHub ã®ã³ã¡ã³ãã«äœã倱æããããæžãããŠããªãå Žåã¯ãPR ã®æ«å°Ÿã«ãããchecks have failedããšããã¡ãã»ãŒãžã®äžã«ãããDetailsããã¿ã³ãã¯ãªãã¯ããŠçµæã確èªããããšãã§ããŸãã"
#: ../../rst/dev_guide/testing.rst:82
msgid "Rerunning a failing CI job"
msgstr "倱æãã CI ãžã§ãã®åå®è¡"
#: ../../rst/dev_guide/testing.rst:84
msgid "Occasionally you may find your PR fails due to a reason unrelated to your change. This could happen for several reasons, including:"
msgstr "ææãå€æŽãšã¯é¢ä¿ã®ãªãçç±ã§ PR ã倱æããããšããããŸããããã«ã¯ã以äžã®ãããªçç±ãèããããŸãã"
#: ../../rst/dev_guide/testing.rst:86
msgid "a temporary issue accessing an external resource, such as a yum or git repo"
msgstr "yum ã git ãªããžããªãŒãªã©ã®å€éšãªãœãŒã¹ã«ã¢ã¯ã»ã¹ããéã«äžæçã«åé¡ãçºçããå Žåã"
#: ../../rst/dev_guide/testing.rst:87
msgid "a timeout creating a virtual machine to run the tests on"
msgstr "ãã¹ããå®è¡ããããã®ä»®æ³ãã·ã³ãäœæããã¿ã€ã ã¢ãŠãã"
#: ../../rst/dev_guide/testing.rst:89
msgid "If either of these issues appear to be the case, you can rerun the Azure Pipelines test by:"
msgstr "ãããã®åé¡ã®ãããããã±ãŒã¹ãšããŠè¡šç€ºãããå Žåã¯ã以äžãå®è¡ã㊠Azure Pipelines ãã¹ããåå®è¡ã§ããŸãã"
#: ../../rst/dev_guide/testing.rst:91
msgid "adding a comment with ``/rebuild`` (full rebuild) or ``/rebuild_failed`` (rebuild only failed CI nodes) to the PR"
msgstr "``/rebuild`` (å®å
šãªåæ§ç¯) ãŸã㯠``/rebuild_failed`` (æ§ç¯ã«å€±æãã CI ããŒãã®ã¿ã®åæ§ç¯) ã§ã®ã³ã¡ã³ããè¿œå ãã"
#: ../../rst/dev_guide/testing.rst:92
msgid "closing and re-opening the PR (full rebuild)"
msgstr "PR ãéããŠå床éã (å®å
šãªåæ§ç¯)"
#: ../../rst/dev_guide/testing.rst:93
msgid "making another change to the PR and pushing to GitHub"
msgstr "PR ã«äœããã®å€æŽãå ã㊠GitHub ã«ããã·ã¥ãã"
#: ../../rst/dev_guide/testing.rst:95
msgid "If the issue persists, please contact us in the ``#ansible-devel`` chat channel (using Matrix at ansible.im or using IRC at `irc.libera.chat <https://libera.chat/>`_)."
msgstr "ããã§ãåé¡ã解決ããªãå Žåã¯ã``#ansible-devel`` ãã£ãããã£ã³ãã«ã§ãåãåãããã ããïŒansible.imã§Matrixã䜿çšããŸãã¯`irc.libera.chat <https://libera.chat/>`_ã§IRCã䜿çšïŒã"
#: ../../rst/dev_guide/testing.rst:99
msgid "How to test a PR"
msgstr "PR ããã¹ãããæ¹æ³"
#: ../../rst/dev_guide/testing.rst:101
msgid "Ideally, code should add tests that prove that the code works. That's not always possible and tests are not always comprehensive, especially when a user doesn't have access to a wide variety of platforms, or is using an API or web service. In these cases, live testing against real equipment can be more valuable than automation that runs against simulated interfaces. In any case, things should always be tested manually the first time as well."
msgstr "çæ³çã«ã¯ãã³ãŒããæ©èœããããšã蚌æãããã¹ããè¿œå ããããšãæšå¥šãããŸããç¹ã«ããŠãŒã¶ãŒãããŸããŸãªãã©ãããã©ãŒã ã«ã¢ã¯ã»ã¹ã§ããªãå ŽåããŸã㯠API ã Web ãµãŒãã¹ã䜿çšããŠããå Žåã¯ããããå¿
ãããå¯èœã§ã¯ãªãããã¹ããå¿
ãããå
æ¬çã§ã¯ãããŸããããã®ãããªå Žåã¯ãã·ãã¥ã¬ãŒã·ã§ã³ãããã€ã³ã¿ãŒãã§ãŒã¹ã«å¯ŸããŠå®è¡ãããèªååããããå®éã®æ©åšã䜿çšããã©ã€ããã¹ãã®æ¹ãæçãšãªããŸãããããã«ãããæåã®æ®µéã§ãåžžã«æåã§ãã¹ãããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing.rst:103
msgid "Thankfully, helping to test Ansible is pretty straightforward, assuming you are familiar with how Ansible works."
msgstr "Ansible ã®åäœãçç¥ããŠããã°ãAnsible ã®ãã¹ããæäŒãããšã¯éåžžã«ç°¡åã§ãã"
#: ../../rst/dev_guide/testing.rst:106
msgid "Setup: Checking out a Pull Request"
msgstr "èšå®: ãã«èŠæ±ã®ãã§ãã¯ã¢ãŠã"
#: ../../rst/dev_guide/testing.rst:108
msgid "You can do this by:"
msgstr "ããã¯ã以äžã®æ¹æ³ã§å®è¡ã§ããŸãã"
#: ../../rst/dev_guide/testing.rst:110
msgid "checking out Ansible"
msgstr "Ansible ã®ãã§ãã¯ã¢ãŠã"
#: ../../rst/dev_guide/testing.rst:111
msgid "fetching the proposed changes into a test branch"
msgstr "ææ¡ãããå€æŽããã¹ããã©ã³ãã«ååŸ"
#: ../../rst/dev_guide/testing.rst:112
msgid "testing"
msgstr "ãã¹ã"
#: ../../rst/dev_guide/testing.rst:113
msgid "commenting on that particular issue on GitHub"
msgstr "GitHub ã«ç¹å®ã®åé¡ã«ã€ããŠã®ã³ã¡ã³ã"
#: ../../rst/dev_guide/testing.rst:115
msgid "Here's how:"
msgstr "以äžã«ãå®è¡ããæ¹æ³ã説æããŸãã"
#: ../../rst/dev_guide/testing.rst:118
msgid "Testing source code from GitHub pull requests sent to us does have some inherent risk, as the source code sent may have mistakes or malicious code that could have a negative impact on your system. We recommend doing all testing on a virtual machine, whether a cloud instance, or locally. Some users like Vagrant or Docker for this, but they are optional. It is also useful to have virtual machines of different Linux or other flavors, since some features (for example, package managers such as apt or yum) are specific to those OS versions."
msgstr "GitHub ã®ãã«èŠæ±ããéãããŠãããœãŒã¹ã³ãŒãããã¹ãããããšã«ã¯ãªã¹ã¯ã䌎ããŸããéãããŠãããœãŒã¹ã³ãŒãã«ã¯ãééããæªæã®ããã³ãŒããå«ãŸããŠããŠãã·ã¹ãã ã«åœ±é¿ãåãŒãå¯èœæ§ãããããã§ãããã¹ãŠã®ãã¹ãã¯ãä»®æ³ãã·ã³äžã§è¡ãããšãæšå¥šãããŸããã¯ã©ãŠãã€ã³ã¹ã¿ã³ã¹ã§ãããŒã«ã«ã§ãããŸããŸããããã®ããã« Vagrant ã Docker ã奜ããŠãŒã¶ãŒãããŸããããããã¯ä»»æã§ãããŸããããã€ãã®æ©èœ (ããšãã°ãapt ã yum ãªã©ã®ããã±ãŒãžãããŒãžã£ãŒ) ã¯ããããã® OS ããŒãžã§ã³ã«åºæã®ãã®ã§ãããããç°ãªã Linux ããã®ä»ã®ãã¬ãŒããŒã®ä»®æ³ãã·ã³ãçšæããŠãããšäŸ¿å©ã§ãã"
#: ../../rst/dev_guide/testing.rst:125
msgid "Create a fresh area to work:"
msgstr "äœæ¥çšã«æ°ããé åãäœæããŸãã"
#: ../../rst/dev_guide/testing.rst:132
msgid "Next, find the pull request you'd like to test and make note of its number. It will look something like this::"
msgstr "次ã«ããã¹ããããã«èŠæ±ãèŠã€ããŠããã®çªå·ãæžãçããŸãã次ã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/testing.rst:136
msgid "Only test ``ansible:devel``"
msgstr "``ansible:devel`` ã®ã¿ããã¹ãããŸãã"
#: ../../rst/dev_guide/testing.rst:138
msgid "It is important that the PR request target be ``ansible:devel``, as we do not accept pull requests into any other branch. Dot releases are cherry-picked manually by Ansible staff."
msgstr "ä»ã®ãã©ã³ããžã®ãã«èŠæ±ã¯äœ¿çšã§ããªããããPR èŠæ±ã®ã¿ãŒã²ãã㯠``ansible:devel`` ã«ããããšãéèŠã§ããããããªãªãŒã¹ã¯ãAnsible ã®ã¹ã¿ãããå
¥å¿µã«éžæããŠããŸãã"
#: ../../rst/dev_guide/testing.rst:140
msgid "Use the pull request number when you fetch the proposed changes and create your branch for testing:"
msgstr "ææ¡ãããå€æŽãååŸãããã¹ãçšã«ãã©ã³ããäœæãããšãã«ãã«èŠæ±çªå·ã䜿çšããŸãã"
#: ../../rst/dev_guide/testing.rst:147
msgid "The first command fetches the proposed changes from the pull request and creates a new branch named ``testing_PRXXXX``, where the XXXX is the actual number associated with the pull request (for example, 65381). The second command checks out the newly created branch."
msgstr "1 ã€ç®ã®ã³ãã³ãã¯ãã«èŠæ±ããææ¡ãããå€æŽãååŸãã``testing_PRXXXX`` ãšããååã®æ°èŠãã©ã³ããäœæããŸããXXXX ã¯ãã«èŠæ±ã«é¢é£ããå®éã®çªå· (äŸ: 65381) ã§ãã2 ã€ç®ã®ã³ãã³ãã¯ãæ°ãã«äœæããããã©ã³ãããã§ãã¯ã¢ãŠãããŸãã"
#: ../../rst/dev_guide/testing.rst:150
msgid "If the GitHub user interface shows that the pull request will not merge cleanly, we do not recommend proceeding if you are not somewhat familiar with git and coding, as you will have to resolve a merge conflict. This is the responsibility of the original pull request contributor."
msgstr "GitHub ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã§ããã«èŠæ±ãæ£åžžã«ããŒãžãããªããšç€ºãããå Žåã¯ãããŒãžã®ç«¶åã解決ããªããã°ãªããªããããgit ããã³ã³ãŒãã£ã³ã°ã«ããŸã粟éããŠããªãå Žåã¯ãç¶è¡ããªãããšãæšå¥šãããŸããããã¯ãå
ã®ãã«èŠæ±ã®æçš¿è
ã®è²¬ä»»ã§ãã"
#: ../../rst/dev_guide/testing.rst:153
msgid "Some users do not create feature branches, which can cause problems when they have multiple, unrelated commits in their version of ``devel``. If the source looks like ``someuser:devel``, make sure there is only one commit listed on the pull request."
msgstr "äžéšã®ãŠãŒã¶ãŒã¯æ©èœãã©ã³ããäœæããªãããã``devel`` ã®ããŒãžã§ã³ã«é¢é£æ§ã®ãªãã³ããããè€æ°ããå Žåã«ãåé¡ãçºçããå¯èœæ§ããããŸãããœãŒã¹ã ``someuser:devel`` ã®ããã«è¡šç€ºãããå Žåã¯ããã«èŠæ±ã«èšèŒãããŠããã³ãããã 1 ã€ã ãã§ããããšã確èªããŠãã ããã"
#: ../../rst/dev_guide/testing.rst:155
msgid "The Ansible source includes a script that allows you to use Ansible directly from source without requiring a full installation that is frequently used by developers on Ansible."
msgstr "Ansible ã®ãœãŒã¹ã«ã¯ãAnsible ã®éçºè
ãé »ç¹ã«äœ¿çšãããã«ã€ã³ã¹ããŒã«ãå¿
èŠãšããããœãŒã¹ããçŽæ¥ Ansible ã䜿çšããããã«ããã¹ã¯ãªãããå«ãŸããŠããŸãã"
#: ../../rst/dev_guide/testing.rst:158
msgid "Simply source it (to use the Linux/Unix terminology) to begin using it immediately:"
msgstr "ãœãŒã¹ãäœæããã ã (Linux/Unix ã®çšèªã䜿çšããããã«) ã§ãããã«äœ¿ãå§ããããšãã§ããŸãã"
#: ../../rst/dev_guide/testing.rst:164
msgid "This script modifies the ``PYTHONPATH`` environment variables (along with a few other things), which will be temporarily set as long as your shell session is open."
msgstr "ãã®ã¹ã¯ãªããã¯ã``PYTHONPATH`` ç°å¢å€æ°ãå€æŽããŸã (ä»ã«ãããã€ããããŸã)ãããã¯ãã·ã§ã«ã»ãã·ã§ã³ãéããŠããéã¯äžæçã«èšå®ãããŸãã"
#: ../../rst/dev_guide/testing.rst:168
msgid "Testing the Pull Request"
msgstr "ãã«èŠæ±ã®ãã¹ã"
#: ../../rst/dev_guide/testing.rst:170
msgid "At this point, you should be ready to begin testing!"
msgstr "ãã®æç¹ã§ãã¹ããéå§ããæºåãæŽããŸããã"
#: ../../rst/dev_guide/testing.rst:172
msgid "Some ideas of what to test are:"
msgstr "äœããã¹ããããã®ã¢ã€ãã¢ãããã€ãæããŠã¿ãŸãããã"
#: ../../rst/dev_guide/testing.rst:174
msgid "Create a test Playbook with the examples in and check if they function correctly"
msgstr "äŸé¡ãå«ããã¹ã Playbook ãäœæããããããæ£ããæ©èœãããã©ããã確èªããŸãã"
#: ../../rst/dev_guide/testing.rst:175
msgid "Test to see if any Python backtraces returned (that's a bug)"
msgstr "Python ã®ããã¯ãã¬ãŒã¹ãè¿ãããŠãããã©ããããã¹ãããŸã (ããã¯ãã°ã§ã)ã"
#: ../../rst/dev_guide/testing.rst:176
msgid "Test on different operating systems, or against different library versions"
msgstr "ç°ãªããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ããŸãã¯ç°ãªãããŒãžã§ã³ã®ã©ã€ãã©ãªãŒã«å¯ŸããŠãã¹ããè¡ããŸãã"
#: ../../rst/dev_guide/testing.rst:179
msgid "Run sanity tests"
msgstr "å¥å
šæ§ãã¹ãã®å®è¡"
#: ../../rst/dev_guide/testing.rst:185
msgid "More information: :ref:`testing_sanity`"
msgstr "詳现æ
å ±: :ref:`testing_sanity`"
#: ../../rst/dev_guide/testing.rst:188
msgid "Run unit tests"
msgstr "ãŠããããã¹ãã®å®è¡"
#: ../../rst/dev_guide/testing.rst:194
msgid "More information: :ref:`testing_units`"
msgstr "詳现æ
å ±: :ref:`testing_units`"
#: ../../rst/dev_guide/testing.rst:197
msgid "Run integration tests"
msgstr "çµ±åãã¹ãã®å®è¡"
#: ../../rst/dev_guide/testing.rst:203
msgid "More information: :ref:`testing_integration`"
msgstr "詳现æ
å ±: :ref:`testing_integration`"
#: ../../rst/dev_guide/testing.rst:205
msgid "Any potential issues should be added as comments on the pull request (and it's acceptable to comment if the feature works as well), remembering to include the output of ``ansible --version``"
msgstr "æœåšçãªåé¡ãããã°ããã«èŠæ±ã«ã³ã¡ã³ããè¿œå ããå¿
èŠããããŸã (æ©èœãæ£åžžã«åäœããå Žåãã³ã¡ã³ãããŠãããŸããŸãã)ãå¿ããã« ``ansible --version`` ã®åºåã転èŒããŠãã ããã"
#: ../../rst/dev_guide/testing.rst:207
msgid "Example::"
msgstr "äŸ:"
#: ../../rst/dev_guide/testing.rst:211
msgid "If the PR does not resolve the issue, or if you see any failures from the unit/integration tests, just include that output instead:"
msgstr "PR ãåé¡ã解決ããªãå ŽåãããŠããã/çµ±åãã¹ãã§ãšã©ãŒãçºçããå Žåã¯ã代ããã«ãã®åºåã転èŒããŠãã ããã"
#: ../../rst/dev_guide/testing.rst
msgid "This change causes errors for me."
msgstr "ãã®å€æŽã«ããããšã©ãŒãçºçããŸãã"
#: ../../rst/dev_guide/testing.rst
msgid "When I ran this Ubuntu 16.04 it failed with the following:"
msgstr "When I ran this Ubuntu 16.04 it failed with the following:"
#: ../../rst/dev_guide/testing.rst
msgid "\\```"
msgstr "\\```"
#: ../../rst/dev_guide/testing.rst
msgid "some output"
msgstr "some output"
#: ../../rst/dev_guide/testing.rst
msgid "StackTrace"
msgstr "StackTrace"
#: ../../rst/dev_guide/testing.rst
msgid "some other output"
msgstr "some other output"
#: ../../rst/dev_guide/testing.rst:224
msgid "Code Coverage Online"
msgstr "ãªã³ã©ã€ã³ã®ã³ãŒãã«ãã¬ãŒãž"
#: ../../rst/dev_guide/testing.rst:226
msgid "`The online code coverage reports <https://codecov.io/gh/ansible/ansible>`_ are a good way to identify areas for testing improvement in Ansible. By following red colors you can drill down through the reports to find files which have no tests at all. Adding both integration and unit tests which show clearly how code should work, verify important Ansible functions and increase testing coverage in areas where there is none is a valuable way to help improve Ansible."
msgstr "`ãªã³ã©ã€ã³ã³ãŒãã«ãã¬ãŒãžã¬ããŒã <https://codecov.io/gh/ansible/ansible>`_ ã¯ãAnsible ã§ãã¹ããåäžããé åãç¹å®ããã®ãé©åãªæ¹æ³ã§ããèµ€ãè²ã«åŸãããšã§ãã¬ããŒããæãäžããŠããã¹ãããŸã£ãããªããã¡ã€ã«ãèŠã€ããããšãã§ããŸããã³ãŒããã©ã®ããã«æ©èœããããæ確ã«ç€ºãçµ±åãã¹ããšãŠããããã¹ãã®äž¡æ¹ãè¿œå ããéèŠãª Ansible é¢æ°ãæ€èšŒããååšããªãé åã§ãã¹ãç¯å²ãæ¡å€§ããããšã¯ãAnsible ã®æ¹åã«åœ¹ç«ã€è²Žéãªæ¹æ³ã§ãã"
#: ../../rst/dev_guide/testing.rst:233
msgid "The code coverage reports only cover the ``devel`` branch of Ansible where new feature development takes place. Pull requests and new code will be missing from the codecov.io coverage reports so local reporting is needed. Most ``ansible-test`` commands allow you to collect code coverage, this is particularly useful to indicate where to extend testing. See :ref:`testing_running_locally` for more information."
msgstr "ã³ãŒãã«ãã¬ããžã¬ããŒãã¯ãæ°ããæ©èœéçºãè¡ããã Ansible ã® ``devel`` ãã©ã³ãã®ã¿ã察象ãšããŸãããã«èŠæ±ããã³æ°èŠã³ãŒã㯠codecov.io ã®ã«ãã¬ããžã¬ããŒãã«å«ãŸããªããããããŒã«ã«ã¬ããŒããå¿
èŠã«ãªãããã§ããã»ãšãã©ã® ``ansible-test`` ã³ãã³ãã§ã¯ãã³ãŒãã«ãã¬ããžãåéã§ããŸããããã¯ããã¹ããæ¡åŒµããå Žæã瀺ãã®ã«ç¹ã«åœ¹ã«ç«ã¡ãŸãã詳现ã¯ãã:ref:`testing_running_locally`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing.rst:241
msgid "Want to know more about testing?"
msgstr "ãã¹ãã«é¢ãã詳现æ
å ±"
#: ../../rst/dev_guide/testing.rst:243
msgid "If you'd like to know more about the plans for improving testing Ansible then why not join the `Testing Working Group <https://github.com/ansible/community/blob/main/meetings/README.md>`_."
msgstr "Ansible ãã¹ããæ¹åãã詳现ãªèšç»ã確èªãããå Žåã¯ã`Testing Working Group <https://github.com/ansible/community/blob/main/meetings/README.md>`_ ã«ãåå ãã ããã"
#: ../../rst/dev_guide/testing/sanity/action-plugin-docs.rst:2
msgid "action-plugin-docs"
msgstr "action-plugin-docs"
#: ../../rst/dev_guide/testing/sanity/action-plugin-docs.rst:4
msgid "Each action plugin should have a matching module of the same name to provide documentation."
msgstr "åã¢ã¯ã·ã§ã³ãã©ã°ã€ã³ã«ã¯ãããã¥ã¡ã³ããæäŸããã¢ãžã¥ãŒã«ãšåãååã®ã¢ãžã¥ãŒã«ãå¿
èŠã§ãã"
#: ../../rst/dev_guide/testing/sanity/ansible-doc.rst:2
msgid "ansible-doc"
msgstr "ansible-doc"
#: ../../rst/dev_guide/testing/sanity/ansible-doc.rst:4
msgid "Verifies that ``ansible-doc`` can parse module documentation on all supported Python versions."
msgstr "``ansible-doc`` ãããµããŒããããŠãããã¹ãŠã® Python ããŒãžã§ã³ã§ã¢ãžã¥ãŒã«ããã¥ã¡ã³ãã解æã§ããããšã確èªããŸãã"
#: ../../rst/dev_guide/testing/sanity/ansible-requirements.rst:2
msgid "ansible-requirements"
msgstr "ansible-requirements"
#: ../../rst/dev_guide/testing/sanity/ansible-requirements.rst:4
msgid "``test/lib/ansible_test/_data/requirements/sanity.import-plugins.txt`` must be an identical copy of ``requirements.txt`` found in the project's root."
msgstr "``test/lib/ansible_test/_data/requirements/sanity.import-plugins.txt`` ã¯ããããžã§ã¯ãã®ã«ãŒãã«ãã ``requirements.txt`` ãšåãã³ããŒã§ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/ansible-test-future-boilerplate.rst:2
msgid "ansible-test-future-boilerplate"
msgstr "ansible-test-future-boilerplate"
#: ../../rst/dev_guide/testing/sanity/ansible-test-future-boilerplate.rst:4
msgid "The ``_internal`` code for ``ansible-test`` requires the following ``__future__`` import:"
msgstr "``ansible-test`` ã®``_internal`` ã³ãŒãã«ã¯ã以äžã®``__future__`` ã®ã€ã³ããŒããå¿
èŠã§ãã"
#: ../../rst/dev_guide/testing/sanity/ansible-var-precedence-check.rst:4
msgid "ansible-var-precedence-check"
msgstr "ansible-var-precedence-check"
#: ../../rst/dev_guide/testing/sanity/ansible-var-precedence-check.rst:6
msgid "Check the order of precedence for Ansible variables against :ref:`ansible_variable_precedence`."
msgstr "ã:ref:`ansible_variable_precedence`ãã§ãAnsible å€æ°ã®åªå
é äœã®é åºã確èªããŸãã"
#: ../../rst/dev_guide/testing/sanity/azure-requirements.rst:4
msgid "azure-requirements"
msgstr "azure-requirements"
#: ../../rst/dev_guide/testing/sanity/azure-requirements.rst:6
msgid "Update the Azure integration test requirements file when changes are made to the Azure packaging requirements file:"
msgstr "Azure ããã±ãŒãžåã®èŠä»¶ãã¡ã€ã«ã«å€æŽãå ããããããAzure çµ±åãã¹ãèŠä»¶ãã¡ã€ã«ãæŽæ°ããŸãã"
#: ../../rst/dev_guide/testing/sanity/bin-symlinks.rst:2
msgid "bin-symlinks"
msgstr "bin-symlinks"
#: ../../rst/dev_guide/testing/sanity/bin-symlinks.rst:4
msgid "The ``bin/`` directory in Ansible must contain only symbolic links to executable files. These files must reside in the ``lib/ansible/`` or ``test/lib/ansible_test/`` directories."
msgstr "Ansible ã® ``bin/`` ãã£ã¬ã¯ããªãŒã«ã¯ãå®è¡ãã¡ã€ã«ãžã®ã·ã³ããªãã¯ãªã³ã¯ã®ã¿ãå«ãŸããŠããå¿
èŠããããŸãããããã®ãã¡ã€ã«ã¯ã``lib/ansible/`` ãã£ã¬ã¯ããªãŒãŸã㯠``test/lib/ansible_test/`` ãã£ã¬ã¯ããªãŒã«çœ®ãããŠããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/bin-symlinks.rst:7
msgid "This is required to allow ``ansible-test`` to work with containers and remote hosts when running from an installed version of Ansible."
msgstr "ããã¯ãã€ã³ã¹ããŒã«æžã¿ããŒãžã§ã³ã® Ansible ããå®è¡ããéã«ã``ansible-test`` ãã³ã³ãããŒããã³ãªã¢ãŒããã¹ãã§åäœã§ããããã«ããããã«å¿
èŠã§ãã"
#: ../../rst/dev_guide/testing/sanity/bin-symlinks.rst:9
msgid "Symlinks for each entry point in ``bin/`` must also be present in ``test/lib/ansible_test/_util/target/injector/``. Each symlink should point to the ``python.py`` script in the same directory. This facilitates running with the correct Python interpreter and enabling code coverage."
msgstr "``bin/`` ã®åãšã³ããªãŒãã€ã³ãã®ã·ã³ããªãã¯ãªã³ã¯ã ``test/lib/ansible_test/_util/target/injector/`` ã«ååšããå¿
èŠããããŸããããããã®ã·ã³ããªãã¯ãªã³ã¯ã¯åããã£ã¬ã¯ããªãŒå
ã® ``python.py`` ã¹ã¯ãªãããæå®ããå¿
èŠããããŸããããã«ãããæ£ãã Python ã€ã³ã¿ãŒããªã¿ãŒã§ã®å®è¡ãšã³ãŒãã®ã«ãã¬ããžã®æå¹åã容æã«ãªããŸãã"
#: ../../rst/dev_guide/testing/sanity/boilerplate.rst:4
msgid "boilerplate"
msgstr "boilerplate"
#: ../../rst/dev_guide/testing/sanity/boilerplate.rst:6
msgid "Most Python files should include the following boilerplate:"
msgstr "ã»ãšãã©ã® Python ãã¡ã€ã«ã«ã¯ä»¥äžã® boilerplate ãå¿
èŠã§ãã"
#: ../../rst/dev_guide/testing/sanity/botmeta.rst:2
msgid "botmeta"
msgstr "botmeta"
#: ../../rst/dev_guide/testing/sanity/botmeta.rst:4
msgid "Verifies that ``./github/BOTMETA.yml`` is valid."
msgstr "``./github/BOTMETA.yml`` ãæå¹ã§ããããšã確èªããŸãã"
#: ../../rst/dev_guide/testing/sanity/changelog.rst:2
msgid "changelog"
msgstr "changelog"
#: ../../rst/dev_guide/testing/sanity/changelog.rst:4
msgid "Basic linting of changelog fragments with `antsibull-changelog lint <https://pypi.org/project/antsibull-changelog/>`_."
msgstr "`antsibull-changelog lint <https://pypi.org/project/antsibull-changelog/>`_ ã䜿çšãã changelog ãã©ã°ã¡ã³ãã®åºæ¬çãªææ³ãã§ãã¯ã§ãã"
#: ../../rst/dev_guide/testing/sanity/changelog.rst:6
msgid "One or more of the following sections are required:"
msgstr "以äžã®ã»ã¯ã·ã§ã³ã 1 ã€ä»¥äžå¿
èŠã§ãã"
#: ../../rst/dev_guide/testing/sanity/changelog.rst:8
msgid "major_changes"
msgstr "major_changes"
#: ../../rst/dev_guide/testing/sanity/changelog.rst:9
msgid "minor_changes"
msgstr "minor_changes"
#: ../../rst/dev_guide/testing/sanity/changelog.rst:10
msgid "breaking_changes"
msgstr "breaking_changes"
#: ../../rst/dev_guide/testing/sanity/changelog.rst:11
msgid "deprecated_features"
msgstr "deprecated_features"
#: ../../rst/dev_guide/testing/sanity/changelog.rst:12
msgid "removed_features"
msgstr "removed_features"
#: ../../rst/dev_guide/testing/sanity/changelog.rst:13
msgid "security_fixes"
msgstr "security_fixes"
#: ../../rst/dev_guide/testing/sanity/changelog.rst:14
msgid "bugfixes"
msgstr "bugfixes"
#: ../../rst/dev_guide/testing/sanity/changelog.rst:15
msgid "known_issues"
msgstr "known_issues"
#: ../../rst/dev_guide/testing/sanity/changelog.rst:17
msgid "New modules and plugins must not be included in changelog fragments."
msgstr "æ°ããã¢ãžã¥ãŒã«ããã³ãã©ã°ã€ã³ã¯ãchangelog ãã©ã°ã¡ã³ãã«å«ããããšãã§ããŸããã"
#: ../../rst/dev_guide/testing/sanity/changelog.rst:19
msgid "See :ref:`collection_changelogs` for details."
msgstr "詳ããã¯ã:ref:`collection_changelogs` ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing/sanity/compile.rst:4
msgid "See :ref:`testing_compile` for more information."
msgstr "詳现ã¯ãã:ref:`testing_compile`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing/sanity/configure-remoting-ps1.rst:2
msgid "configure-remoting-ps1"
msgstr "configure-remoting-ps1"
#: ../../rst/dev_guide/testing/sanity/configure-remoting-ps1.rst:4
msgid "The file ``examples/scripts/ConfigureRemotingForAnsible.ps1`` is required and must be a regular file. It is used by external automated processes and cannot be moved, renamed or replaced with a symbolic link."
msgstr "``examples/scripts/ConfigureRemotingForAnsible.ps1`` ãã¡ã€ã«ã¯å¿
é ã§ãããéåžžã®ãã¡ã€ã«ã§ããå¿
èŠããããŸããããã¯å€éšã®èªååããã»ã¹ã«ãã£ãŠäœ¿çšããã移åããããååãå€æŽããããã·ã³ããªãã¯ãªã³ã¯ã«çœ®ãæãããããããšã¯ã§ããŸããã"
#: ../../rst/dev_guide/testing/sanity/deprecated-config.rst:4
msgid "deprecated-config"
msgstr "éæšå¥šã®èšå®"
#: ../../rst/dev_guide/testing/sanity/deprecated-config.rst:6
msgid "``DOCUMENTATION`` config is scheduled for removal"
msgstr "``DOCUMENTATION`` èšå®ã¯åé€ãããäºå®ã§ãã"
#: ../../rst/dev_guide/testing/sanity/docs-build.rst:2
msgid "docs-build"
msgstr "docs-build"
#: ../../rst/dev_guide/testing/sanity/docs-build.rst:4
msgid "Verifies that ``make singlehtmldocs`` in ``docs/docsite/`` completes without errors."
msgstr "``docs/docsite/`` ã® ``make singlehtmldocs`` ãå®äºãããšã©ãŒããªãããšã確èªããŸãã"
#: ../../rst/dev_guide/testing/sanity/empty-init.rst:2
msgid "empty-init"
msgstr "empty-init"
#: ../../rst/dev_guide/testing/sanity/empty-init.rst:4
msgid "The ``__init__.py`` files under the following directories must be empty. For some of these (modules and tests), ``__init__.py`` files with code won't be used. For others (module_utils), we want the possibility of using Python namespaces which an empty ``__init__.py`` will allow for."
msgstr "以äžã®ãã£ã¬ã¯ããªãŒã«ãã ``__init__.py`` ãã¡ã€ã«ã¯ç©ºã§ããå¿
èŠããããŸãããããã®ãã£ã¬ã¯ããªãŒã®äžéš (ã¢ãžã¥ãŒã«ããã³ãã¹ã) ã§ã¯ãã³ãŒããæ〠``__init__.py`` ãã¡ã€ã«ã¯äœ¿çšãããŸããããã®ä» (ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒ) ã®å Žåã¯ã空㮠``__init__.py`` ãèš±å¯ãã Python åå空éã䜿çšããããšãå¯èœã§ãã"
#: ../../rst/dev_guide/testing/sanity/empty-init.rst:8
#: ../../rst/dev_guide/testing/sanity/mypy.rst:11
msgid "``lib/ansible/modules/``"
msgstr "``lib/ansible/modules/``"
#: ../../rst/dev_guide/testing/sanity/empty-init.rst:9
#: ../../rst/dev_guide/testing/sanity/mypy.rst:12
msgid "``lib/ansible/module_utils/``"
msgstr "``lib/ansible/module_utils/``"
#: ../../rst/dev_guide/testing/sanity/empty-init.rst:10
msgid "``test/units/``"
msgstr "``test/units/``"
#: ../../rst/dev_guide/testing/sanity/future-import-boilerplate.rst:2
msgid "future-import-boilerplate"
msgstr "future-import-boilerplate"
#: ../../rst/dev_guide/testing/sanity/future-import-boilerplate.rst:4
msgid "Most Python files should include the following boilerplate at the top of the file, right after the comment header:"
msgstr "ã»ãšãã©ã® Python ãã¡ã€ã«ã«ã¯ããã¡ã€ã«ã®äžéšãã³ã¡ã³ãããããŒã®çŽåŸã«æ¬¡ã® boilerplate ãå«ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/future-import-boilerplate.rst:11
msgid "This uses Python 3 semantics for absolute vs relative imports, division, and print. By doing this, we can write code which is portable between Python 2 and Python 3 by following the Python 3 semantics."
msgstr "ããã§ã¯ã絶察çã€ã³ããŒããšçžå¯Ÿçã€ã³ããŒããé€ç®ãããã³åºåã« Python 3 ã»ãã³ãã£ã¯ã¹ã䜿çšããŸããPython 3 ã»ãã³ãã£ã¯ã¹ã«åŸã£ãŠãPython 2 ãš Python 3 ã®éã§ç§»æ€å¯èœãªã³ãŒããäœæã§ããŸãã"
#: ../../rst/dev_guide/testing/sanity/future-import-boilerplate.rst:18
msgid "When Python 2 encounters an import of a name in a file like ``import copy`` it attempts to load ``copy.py`` from the same directory as the file is in. This can cause problems if there is a python file of that name in the directory and also a python module in ``sys.path`` with that same name. In that case, Python 2 would load the one in the same directory and there would be no way to load the one on ``sys.path``. Python 3 fixes this by making imports absolute by default. ``import copy`` will find ``copy.py`` from ``sys.path``. If you want to import ``copy.py`` from the same directory, the code needs to be changed to perform a relative import: ``from . import copy``."
msgstr "Python 2 ã¯ã``import copy`` ã®ãããªãã¡ã€ã«åã®ãimportãã«ééãããšããã®ãã¡ã€ã«ããããã£ã¬ã¯ããªãŒãã ``copy.py`` ãèªã¿èŸŒãããšããŸããããã¯ããã®ãã£ã¬ã¯ããªãŒã«ãã®ååã® python ãã¡ã€ã«ãããã``sys.path`` ã«ãåãååã® python ã¢ãžã¥ãŒã«ãããå Žåã«åé¡ãçºçããŸãããã®å ŽåãPython 2 ã¯åããã£ã¬ã¯ããªãŒã«ãããã®ãèªã¿èŸŒã¿ã``sys.path`` ã«ãããã®ãèªã¿èŸŒãæ¹æ³ããããŸãããPython 3 ã¯ãããã©ã«ãã§ã€ã³ããŒããè¡ãããã«ããããšã§ãã®åé¡ã解決ããŸããã``import copy`` ã¯ã``sys.path`` ãã ``copy.py`` ãèŠã€ããŸããåããã£ã¬ã¯ããªãŒãã ``copy.py`` ãã€ã³ããŒãããå Žåã¯ãçžå¯Ÿã€ã³ããŒããè¡ãããã«ã³ãŒããå€æŽããå¿
èŠããããŸã (``from . import copy``)ã"
#: ../../rst/dev_guide/testing/sanity/future-import-boilerplate.rst:28
msgid "`Absolute and relative imports <https://www.python.org/dev/peps/pep-0328>`_"
msgstr "`絶察ããã³çžå¯Ÿã®ã€ã³ããŒã <https://www.python.org/dev/peps/pep-0328>`_"
#: ../../rst/dev_guide/testing/sanity/future-import-boilerplate.rst:33
msgid "In Python 2, the division operator (``/``) returns integer values when used with integers. If there was a remainder, this part would be left off (aka, `floor division`). In Python 3, the division operator (``/``) always returns a floating point number. Code that needs to calculate the integer portion of the quotient needs to switch to using the floor division operator (`//`) instead."
msgstr "Python 2 ã§ã¯ãé€ç®æŒç®å (``/``) ã¯ãæŽæ°ãšå
±ã«äœ¿çšãããšæŽæ°å€ãè¿ããŸããæ®ãã®éšåãããå Žåããã®éšåã¯ãªã (å¥å `åãæšãŠé€ç®`) ã®ãŸãŸã«ããŸããPython 3 ã§ã¯ãé€ç®æŒç®å (``/``) ã¯åžžã«æµ®åå°æ°ç¹æ°ãè¿ããŸããåŒçšç¬Šã§æŽæ°ãèšç®ããå¿
èŠã®ããã³ãŒãã¯ã代ããã«åãæšãŠé€ç®æŒç®å (`//`) ã®äœ¿çšã«åãæ¿ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/future-import-boilerplate.rst:40
msgid "`Changing the division operator <https://www.python.org/dev/peps/pep-0238>`_"
msgstr "`é€ç®æŒç®åã®å€æŽ <https://www.python.org/dev/peps/pep-0238>`_"
#: ../../rst/dev_guide/testing/sanity/future-import-boilerplate.rst:45
msgid "In Python 2, :func:`python:print` is a keyword. In Python 3, :func:`python3:print` is a function with different parameters. Using this ``__future__`` allows using the Python 3 print semantics everywhere."
msgstr "Python 2 ã§ã¯ã:func:`python:print` ã¯ããŒã¯ãŒãã§ããPython 3 ã§ã¯ã :func:`python3:print` ã¯ç°ãªããã©ã¡ãŒã¿ãŒãæã€æ©èœã§ãããã® ``__future__`` ã䜿çšãããšãããããå Žæã« Python 3 åºåã»ãã³ãã£ã¯ã¹ã䜿çšã§ããŸãã"
#: ../../rst/dev_guide/testing/sanity/future-import-boilerplate.rst:50
msgid "`Make print a function <https://www.python.org/dev/peps/pep-3105>`_"
msgstr "`Make print a function <https://www.python.org/dev/peps/pep-3105>`_"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:2
msgid "ignores"
msgstr "ignore"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:4
msgid "Sanity tests for individual files can be skipped, and specific errors can be ignored."
msgstr "åã
ã®ãã¡ã€ã«ã§å¥å
šæ§ãã¹ããã¹ãããããããç¹å®ã®ãšã©ãŒãç¡èŠãããã§ããŸãã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:7
msgid "When to Ignore Errors"
msgstr "ãšã©ãŒãç¡èŠããã¿ã€ãã³ã°"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:9
msgid "Sanity tests are designed to improve code quality and identify common issues with content. When issues are identified during development, those issues should be corrected."
msgstr "å¥å
šæ§ãã¹ãã¯ãã³ãŒãã®å質ãæ¹åããã³ã³ãã³ãã«é¢ããå
žåçãªåé¡ãç¹å®ããããã«èšèšãããŠããŸããéçºäžã«åé¡ãç¹å®ããéã«ãåé¡ãä¿®æ£ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:12
msgid "As development of Ansible continues, sanity tests are expanded to detect issues that previous releases could not. To allow time for existing content to be updated to pass newer tests, ignore entries can be added. New content should not use ignores for existing sanity tests."
msgstr "Ansible ã®éçºãç¶ãã«ã€ããŠãå¥å
šæ§ãã¹ããæ¡åŒµããã以åã®ãªãªãŒã¹ã§ã¯æ€åºã§ããªãã£ãåé¡ãæ€åºãããŸããæ¢åã®ã³ã³ãã³ããæŽæ°ããŠæ°ãããã¹ãã«åæ Œããããã®æéã確ä¿ããããã«ãignore ãšã³ããªãŒãè¿œå ã§ããŸããæ°ããã³ã³ãã³ãã§ã¯ãæ¢åã®å¥å
šæ§ãã¹ã㧠ignore ã䜿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:16
msgid "When code is fixed to resolve sanity test errors, any relevant ignores must also be removed. If the ignores are not removed, this will be reported as an unnecessary ignore error. This is intended to prevent future regressions due to the same error recurring after being fixed."
msgstr "ã³ãŒããä¿®æ£ãããŠå¥å
šæ§ãã¹ããšã©ãŒã解決ããå Žåã«ã¯ãé¢é£ãã ignore ãåé€ããå¿
èŠããããŸããignore ãåé€ãããªããšãäžèŠãª ignore ãšã©ãŒãå ±åãããŸããããã¯ãä¿®æ£åŸã«åããšã©ãŒãç¹°ãè¿ãçºçãããããä»åŸã®ãªã°ã¬ãã·ã§ã³ãé²ãããšãç®çãšããŠããŸãã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:21
msgid "When to Skip Tests"
msgstr "ãã¹ããã¹ãããããã¿ã€ãã³ã°"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:23
msgid "Although rare, there are reasons for skipping a sanity test instead of ignoring the errors it reports."
msgstr "é »ç¹ã«ã¯èµ·ãããŸããããå ±åããããšã©ãŒãç¡èŠãã代ããã«ãå¥å
šæ§ãã¹ããè¡ããªã (ã¹ããããã) å ŽåããããŸãã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:25
msgid "If a sanity test results in a traceback when processing content, that error cannot be ignored. If this occurs, open a new `bug report <https://github.com/ansible/ansible/issues/new?template=bug_report.md>`_ for the issue so it can be fixed. If the traceback occurs due to an issue with the content, that issue should be fixed. If the content is correct, the test will need to be skipped until the bug in the sanity test is fixed."
msgstr "å¥å
šæ§ãã¹ãã«ãããã³ã³ãã³ãã®åŠçæã«ãã¬ãŒã¹ããã¯ãçºçãããšããã®ãšã©ãŒã¯ç¡èŠã§ããŸããããã®ãããªå Žåã«ã¯ãæ°ãã `ãã°ã¬ããŒã <https://github.com/ansible/ansible/issues/new?template=bug_report.md>`_ ãäœæããåé¡ãä¿®æ£ããŠãã ãããã³ã³ãã³ãã«åé¡ãããããã«ãã¬ãŒã¹ããã¯ãçºçããå Žåã¯ããã®åé¡ãä¿®æ£ããå¿
èŠããããŸããã³ã³ãã³ããæ£ããå Žåã¯ãå¥å
šæ§ãã¹ãã®ãã°ãä¿®æ£ããããŸã§ããã¹ããã¹ãããããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:30
msgid "Caution should be used when skipping sanity tests instead of ignoring them. Since the test is skipped entirely, resolution of the issue will not be automatically detected. This will prevent prevent regression detection from working once the issue has been resolved. For this reason it is a good idea to periodically review skipped entries manually to verify they are required."
msgstr "å¥å
šæ§ãã¹ããç¡èŠããã®ã§ã¯ãªãã¹ãããããå Žåã¯æ³šæãå¿
èŠã§ãããã¹ãã¯å®å
šã«ã¹ãããããããããåé¡ã®è§£æ±ºãèªåçã«æ€åºãããŸãããããã«ãããåé¡ã解決ãããšååž°æ€åºãæ©èœããªããªããŸãããã®ãããã¹ããããããšã³ããªãŒãå®æçã«æåã§ç¢ºèªããŠããã®ãšã³ããªãŒãå¿
èŠãã©ããã確èªããããšãæšå¥šãããŸãã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:36
msgid "Ignore File Location"
msgstr "ignore ãã¡ã€ã«ã®å Žæ"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:38
msgid "The location of the ignore file depends on the type of content being tested."
msgstr "ignore ãã¡ã€ã«ã®å Žæã¯ããã¹ãããã³ã³ãã³ãã®çš®é¡ã«ãã£ãŠç°ãªããŸãã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:41
msgid "Ansible Collections"
msgstr "Ansible ã³ã¬ã¯ã·ã§ã³"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:43
msgid "Since sanity tests change between Ansible releases, a separate ignore file is needed for each Ansible major release."
msgstr "å¥å
šæ§ãã¹ã㯠Ansible ãªãªãŒã¹éã§ç°ãªããããAnsible ã¡ãžã£ãŒãªãªãŒã¹ããšã«åå¥ã® ignore ãã¡ã€ã«ãå¿
èŠã§ãã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:45
msgid "The filename is ``tests/sanity/ignore-X.Y.txt`` where ``X.Y`` is the Ansible release being used to test the collection."
msgstr "ãã¡ã€ã«å㯠``tests/sanity/ignore-X.Y.txt`` ã§ãã``X.Y`` ã¯ãã³ã¬ã¯ã·ã§ã³ããã¹ãããããã«äœ¿çšããã Ansible ãªãªãŒã¹ã§ãã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:47
msgid "Maintaining a separate file for each Ansible release allows a collection to pass tests for multiple versions of Ansible."
msgstr "Ansible ãªãªãŒã¹ããšã«åå¥ã®ãã¡ã€ã«ãç¶æãããšãã³ã¬ã¯ã·ã§ã³ã Ansible ã®è€æ°ã®ããŒãžã§ã³ã®ãã¹ãã«åæ Œã§ããããã«ãªããŸãã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:52
msgid "When testing Ansible, all ignores are placed in the ``test/sanity/ignore.txt`` file."
msgstr "Ansible ããã¹ãããéããã¹ãŠã® ignore 㯠``test/sanity/ignore.txt`` ãã¡ã€ã«ã«çœ®ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:54
msgid "Only a single file is needed because ``ansible-test`` is developed and released as a part of Ansible itself."
msgstr "``ansible-test`` ãäœæãããAnsible èªäœã®äžéšãšããŠãªãªãŒã¹ããããããåäžã®ãã¡ã€ã«ã®ã¿ãå¿
èŠã«ãªããŸãã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:57
msgid "Ignore File Format"
msgstr "ignore ãã¡ã€ã«åœ¢åŒ"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:59
msgid "The ignore file contains one entry per line. Each line consists of two columns, separated by a single space. Comments may be added at the end of an entry, started with a hash (``#``) character, which can be proceeded by zero or more spaces. Blank and comment only lines are not allowed."
msgstr "ignore ãã¡ã€ã«ã§ã¯ã1 è¡ã« 1 ã€ã®ãšã³ããªãŒãå«ãŸããŸããåè¡ã¯ã1 ã€ã®ã¹ããŒã¹ã§åºåããã 2 ã€ã®åã§æ§æãããŸããã³ã¡ã³ãã¯ãšã³ããªãŒã®æ«å°Ÿã«è¿œå ã§ããŸããå
é ã«ããã·ã¥ (``#``) æåãä»ããŠããŒã以äžã®ç©ºçœãè¿œå ã§ããŸãã空çœãšã³ã¡ã³ãã®ã¿ã®è¡ã¯äœ¿çšã§ããŸããã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:64
msgid "The first column specifies the file path that the entry applies to. File paths must be relative to the root of the content being tested. This is either the Ansible source or an Ansible collection. File paths cannot contain a space or the hash (``#``) character."
msgstr "æåã®åã¯ããšã³ããªãŒãé©çšããããã¡ã€ã«ãã¹ãæå®ããŸãããã¡ã€ã«ãã¹ã¯ããã¹ãããã³ã³ãã³ãã®ã«ãŒãã«å¯ŸããŠçžå¯Ÿçã§ããå¿
èŠããããŸãããã㯠Ansible ãœãŒã¹ãŸã㯠Ansible ã³ã¬ã¯ã·ã§ã³ã®ããããã§ãããã¡ã€ã«ãã¹ã«ã¹ããŒã¹ãŸãã¯ããã·ã¥ (``#``) æåãå«ããããšã¯ã§ããŸããã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:69
msgid "The second column specifies the sanity test that the entry applies to. This will be the name of the sanity test. If the sanity test is specific to a version of Python, the name will include a dash (``-``) and the relevant Python version. If the named test uses error codes then the error code to ignore must be appended to the name of the test, separated by a colon (``:``)."
msgstr "2 åç®ã¯ããšã³ããªãŒãé©çšãããå¥å
šæ§ãã¹ããæå®ããŸãããããå¥å
šæ§ãã¹ãã®ååã«ãªããŸããPython ã®ããŒãžã§ã³ã«åºæã®å¥å
šæ§ãã¹ãã䜿çšããå Žåã¯ãååã«ããã·ã¥ (``-``) ãšé¢é£ãã Python ããŒãžã§ã³ãå«ãŸããŸããååä»ããã¹ãããšã©ãŒã³ãŒãã䜿çšããå Žåã¯ãç¡èŠãããšã©ãŒã³ãŒããã³ãã³ (``:``) ã§åºåã£ãŠãã¹ãã®ååã«è¿œå ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:74
msgid "Below are some example ignore entries for an Ansible collection::"
msgstr "以äžã®äŸã¯ãAnsible ã³ã¬ã¯ã·ã§ã³ã® ignore ãšã³ããªãŒã®äŸã§ãã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:80
msgid "It is also possible to skip a sanity test for a specific file. This is done by adding ``!skip`` after the sanity test name in the second column. When this is done, no error code is included, even if the sanity test uses error codes."
msgstr "ç¹å®ãã¡ã€ã«ã®å¥å
šæ§ãã¹ããã¹ãããããããšãã§ããŸããããã¯ã2 çªç®ã®ã³ã©ã ã®å¥å
šæ§ãã¹ãåã®åŸã« ``!skip`` ãè¿œå ããããšã§è¡ããŸãããããè¡ããšãå¥å
šæ§ãã¹ãã§ãšã©ãŒã³ãŒãã䜿çšããŠãããšã©ãŒã³ãŒãã¯å«ãŸããŸããã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:84
msgid "Below are some example skip entries for an Ansible collection::"
msgstr "以äžã¯ãAnsible ã³ã¬ã¯ã·ã§ã³ã®ãšã³ããªãŒãã¹ãããããäŸã§ãã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:89
#: ../../rst/dev_guide/testing_sanity.rst:56
msgid "See the full list of :ref:`sanity tests <all_sanity_tests>`, which details the various tests and details how to fix identified issues."
msgstr "åçš®ãã¹ããç¹å®ãããåé¡ã解決ããæ¹æ³ã®è©³çŽ°ã¯ãã:ref:`å¥å
šæ§ãã¹ã <all_sanity_tests>`ãã®äžèŠ§ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:92
msgid "Ignore File Errors"
msgstr "ignore ãã¡ã€ã«ãšã©ãŒ"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:94
msgid "There are various errors that can be reported for the ignore file itself:"
msgstr "ignore ãã¡ã€ã«èªäœã«ã€ããŠå ±åã§ããããŸããŸãªãšã©ãŒããããŸãã"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:96
msgid "syntax errors parsing the ignore file"
msgstr "ignore ãã¡ã€ã«ã解æããæ§æãšã©ãŒ"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:97
msgid "references a file path that does not exist"
msgstr "ååšããªããã¡ã€ã«ãã¹ãåç
§"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:98
msgid "references to a sanity test that does not exist"
msgstr "ååšããªãå¥å
šæ§ãã¹ããžã®åç
§"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:99
msgid "ignoring an error that does not occur"
msgstr "çºçããªããšã©ãŒãç¡èŠ"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:100
msgid "ignoring a file which is skipped"
msgstr "ã¹ãããããããã¡ã€ã«ãç¡èŠ"
#: ../../rst/dev_guide/testing/sanity/ignores.rst:101
msgid "duplicate entries"
msgstr "éè€ãšã³ããªãŒ"
#: ../../rst/dev_guide/testing/sanity/import.rst:2
msgid "import"
msgstr "import"
#: ../../rst/dev_guide/testing/sanity/import.rst:4
msgid "Ansible allows unchecked imports of some libraries from specific directories, listed at the bottom of this section. Import all other Python libraries in a try/except ImportError block to support sanity tests such as ``validate-modules`` and to allow Ansible to give better error messages to the user. To import a library in a try/except ImportError block:"
msgstr "Ansible ã§ã¯ããã®ã»ã¯ã·ã§ã³ã®äžéšã«èšèŒãããŠããç¹å®ã®ãã£ã¬ã¯ããªãŒãããããã€ãã®ã©ã€ãã©ãªãŒã確èªããã«ã€ã³ããŒãããããšãã§ããŸãã``validate-modules`` ãªã©ã®å¥å
šæ§ãã¹ãããµããŒãããAnsible ããŠãŒã¶ãŒã«é©åãªãšã©ãŒã¡ãã»ãŒãžã衚瀺ã§ããããã«ãããããtry/except ImportError ãããã¯ã§ä»ã®ãã¹ãŠã® Python ã©ã€ãã©ãªãŒãã€ã³ããŒãããŸããtry/except ImportError ãããã¯ã§ã©ã€ãã©ãªãã€ã³ããŒãããã«ã¯ã次ãè¡ããŸãã"
#: ../../rst/dev_guide/testing/sanity/import.rst:6
msgid "In modules:"
msgstr "ã¢ãžã¥ãŒã«ã®å Žå:"
#: ../../rst/dev_guide/testing/sanity/import.rst:33
msgid "In plugins:"
msgstr "ãã©ã°ã€ã³ã®å Žå:"
#: ../../rst/dev_guide/testing/sanity/import.rst:58
msgid "Ansible allows the following unchecked imports from these specific directories:"
msgstr "Ansible ã§ã¯ããããã®ç¹å®ã®ãã£ã¬ã¯ããªãŒãã次ã®æªç¢ºèªã€ã³ããŒããèš±å¯ããŸãã"
#: ../../rst/dev_guide/testing/sanity/import.rst:60
msgid "ansible-core:"
msgstr "ansible-core:"
#: ../../rst/dev_guide/testing/sanity/import.rst:62
msgid "For ``lib/ansible/modules/`` and ``lib/ansible/module_utils/``, unchecked imports are only allowed from the Python standard library;"
msgstr "``lib/ansible/modules/`` ããã³ ``lib/ansible/module_utils/`` ã®å Žåãæªç¢ºèªã€ã³ããŒã㯠Python æšæºã©ã€ãã©ãªãŒã§ã®ã¿å©çšå¯èœã§ãã"
#: ../../rst/dev_guide/testing/sanity/import.rst:63
msgid "For ``lib/ansible/plugins/``, unchecked imports are only allowed from the Python standard library, from public dependencies of ansible-core, and from ansible-core itself;"
msgstr "``lib/ansible/plugins/`` ã§ã¯ãæªç¢ºèªã€ã³ããŒãã¯ãPython æšæºã©ã€ãã©ãªãŒãansible-core ã®ãããªãã¯äŸåé¢ä¿ãããã³ ansible-core èªäœããã®ã¿èš±å¯ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/import.rst:65
msgid "collections:"
msgstr "ã³ã¬ã¯ã·ã§ã³:"
#: ../../rst/dev_guide/testing/sanity/import.rst:67
msgid "For ``plugins/modules/`` and ``plugins/module_utils/``, unchecked imports are only allowed from the Python standard library;"
msgstr "``plugins/modules/`` ããã³ ``plugins/module_utils/`` ã®å Žåãæªç¢ºèªã€ã³ããŒã㯠Python æšæºã©ã€ãã©ãªãŒã§ã®ã¿å©çšå¯èœã§ãã"
#: ../../rst/dev_guide/testing/sanity/import.rst:68
msgid "For other directories in ``plugins/`` (see `the community collection requirements <https://github.com/ansible-collections/overview/blob/main/collection_requirements.rst#modules-plugins>`_ for a list), unchecked imports are only allowed from the Python standard library, from public dependencies of ansible-core, and from ansible-core itself."
msgstr "``plugins/`` ã®ãã®ä»ã®ãã£ã¬ã¯ããªãŒ (äžèŠ§ã¯ã`the community collection requirements <https://github.com/ansible-collections/overview/blob/main/collection_requirements.rst#modules-plugins>`_ããåç
§) ã§ã¯ãæªç¢ºèªã€ã³ããŒã㯠Python æšæºã©ã€ãã©ãªãŒãansible-core ã®ãããªãã¯äŸåé¢ä¿ãããã³ ansible-core èªäœããã®ã¿èš±å¯ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/import.rst:70
msgid "Public dependencies of ansible-core are:"
msgstr "ansible-core ã®ãããªãã¯äŸåé¢ä¿ã¯æ¬¡ã®ãšããã§ãã"
#: ../../rst/dev_guide/testing/sanity/import.rst:72
msgid "Jinja2"
msgstr "Jinja2"
#: ../../rst/dev_guide/testing/sanity/import.rst:73
msgid "PyYAML"
msgstr "PyYAML"
#: ../../rst/dev_guide/testing/sanity/import.rst:74
msgid "MarkupSafe (as a dependency of Jinja2)"
msgstr "MarkupSafe (Jinja2 ã®äŸåé¢ä¿ãšããŠ)"
#: ../../rst/dev_guide/testing/sanity/index.rst:4
#: ../../rst/dev_guide/testing_sanity.rst:7
msgid "Sanity Tests"
msgstr "å¥å
šæ§ãã¹ã"
#: ../../rst/dev_guide/testing/sanity/index.rst:6
msgid "The following sanity tests are available as ``--test`` options for ``ansible-test sanity``. This list is also available using ``ansible-test sanity --list-tests --allow-disabled``."
msgstr "以äžã®å¥å
šæ§ãã¹ãã¯ã``ansible-test sanity`` ã® ``--test`` ãªãã·ã§ã³ãšããŠå©çšã§ããŸãããã®äžèŠ§ã¯ã``ansible-test sanity --list-tests --allow-disabled`` ã䜿çšããŠãå©çšã§ããŸãã"
#: ../../rst/dev_guide/testing/sanity/index.rst:9
msgid "For information on how to run these tests, see :ref:`sanity testing guide <testing_sanity>`."
msgstr "ãããã®ãã¹ãã®å®è¡æ¹æ³ã¯ãã:ref:`å¥å
šæ§ãã¹ãã¬ã€ã <testing_sanity>`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:2
msgid "integration-aliases"
msgstr "integration-aliases"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:4
msgid "Integration tests are executed by ``ansible-test`` and reside in directories under ``test/integration/targets/``. Each test MUST have an ``aliases`` file to control test execution."
msgstr "çµ±åãã¹ã㯠``ansible-test`` ã«ãã£ãŠå®è¡ãã``test/integration/targets/`` é
äžã®ãã£ã¬ã¯ããªãŒã«çœ®ãããŸããåãã¹ãã«ã¯ããã¹ãã®å®è¡ãå¶åŸ¡ãã ``aliases`` ãã¡ã€ã«ãå¿
èŠã§ãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:7
msgid "Aliases are explained in the following sections. Each alias must be on a separate line in an ``aliases`` file."
msgstr "ãšã€ãªã¢ã¹ã¯ã以äžã®ã»ã¯ã·ã§ã³ã§èª¬æããŸããåãšã€ãªã¢ã¹ã¯ã``aliases`` ãã¡ã€ã«ã®å¥ã®è¡ã«æå®ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:10
msgid "Groups"
msgstr "ã°ã«ãŒã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:12
msgid "Tests must be configured to run in exactly one group. This is done by adding the appropriate group to the ``aliases`` file."
msgstr "ãã¹ã㯠1 ã€ã®ã°ã«ãŒãã§å®è¡ããããã«èšå®ããå¿
èŠããããŸããããã¯ãé©åãªã°ã«ãŒãã ``aliases`` ãã¡ã€ã«ã«è¿œå ããããšã§è¡ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:14
msgid "The following are examples of some of the available groups:"
msgstr "å©çšå¯èœãªäžéšã®ã°ã«ãŒãã®äŸã以äžã«ç€ºããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:16
msgid "``shippable/posix/group1``"
msgstr "``shippable/posix/group1``"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:17
msgid "``shippable/windows/group2``"
msgstr "``shippable/windows/group2``"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:18
msgid "``shippable/azure/group3``"
msgstr "``shippable/azure/group3``"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:19
msgid "``shippable/aws/group1``"
msgstr "``shippable/aws/group1``"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:20
msgid "``shippable/cloud/group1``"
msgstr "``shippable/cloud/group1``"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:22
msgid "Groups are used to balance tests across multiple CI jobs to minimize test run time. They also improve efficiency by keeping tests with similar requirements running together."
msgstr "ã°ã«ãŒãã¯ãè€æ°ã® CI ãžã§ãéã§ãã¹ãã®ãã©ã³ã¹ãåãããã¹ãã®ã©ã³ã¿ã€ã ãæå°éã«ããããã«äœ¿çšããŸããåæ§ã®èŠä»¶ãäžç·ã«å®è¡ããããã¹ããç¶æããããšã§ãå¹çæ§ãåäžããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:25
msgid "When selecting a group for a new test, use the same group as existing tests similar to the one being added. If more than one group is available, select one randomly."
msgstr "æ°èŠãã¹ãçšã«ã°ã«ãŒããéžæããå Žåã¯ãè¿œå ããæ¢åã®ãã¹ããšåæ§ã®ã°ã«ãŒãã䜿çšããŸããè€æ°ã®ã°ã«ãŒããå©çšå¯èœãªå Žåã¯ãã©ã³ãã ã« 1 ã€ã®ã°ã«ãŒããéžæããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:29
msgid "Setup"
msgstr "èšå®"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:31
msgid "Aliases can be used to execute setup targets before running tests:"
msgstr "ãšã€ãªã¢ã¹ã¯ããã¹ããå®è¡ããåã«èšå®ã¿ãŒã²ãããå®è¡ããã®ã«äœ¿çšã§ããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:33
msgid "``setup/once/TARGET`` - Run the target ``TARGET`` before the first target that requires it."
msgstr "``setup/once/TARGET`` - ãããå¿
èŠãªæåã®ã¿ãŒã²ããã®åã«ãã¿ãŒã²ãã ``TARGET`` ãå®è¡ããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:34
msgid "``setup/always/TARGET`` - Run the target ``TARGET`` before each target that requires it."
msgstr "``setup/always/TARGET`` - å¿
èŠãªåã¿ãŒã²ããã®åã«ã¿ãŒã²ãã ``TARGET`` ãå®è¡ããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:37
#: ../../rst/dev_guide/testing_running_locally.rst:18
msgid "Requirements"
msgstr "èŠä»¶"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:39
msgid "Aliases can be used to express some test requirements:"
msgstr "ãšã€ãªã¢ã¹ã䜿çšãããšãäžéšã®ãã¹ãèŠä»¶ãè¡šçŸããããšãã§ããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:41
msgid "``needs/privileged`` - Requires ``--docker-privileged`` when running tests with ``--docker``."
msgstr "``needs/privileged`` - ``--docker`` ã§ãã¹ããå®è¡ããå Žåã¯ã``--docker-privileged`` ãå¿
èŠã§ãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:42
msgid "``needs/root`` - Requires running tests as ``root`` or with ``--docker``."
msgstr "``needs/root`` - ``root`` ãŸã㯠``--docker`` ã§ãã¹ããå®è¡ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:43
msgid "``needs/ssh`` - Requires SSH connections to localhost (or the test container with ``--docker``) without a password."
msgstr "``needs/ssh`` - ãã¹ã¯ãŒããªã㧠localhost (ãŸã㯠``--docker`` ã䜿çšãããã¹ãã³ã³ãããŒ) ãžã® SSH æ¥ç¶ãå¿
èŠãšããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:44
msgid "``needs/httptester`` - Requires use of the http-test-container to run tests."
msgstr "``needs/httptester`` - ãã¹ããå®è¡ããã«ã¯ãhttp-test-container ã䜿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:47
msgid "Dependencies"
msgstr "äŸåé¢ä¿"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:49
msgid "Some test dependencies are automatically discovered:"
msgstr "äžéšã®ãã¹ãäŸåé¢ä¿ã¯èªåçã«æ€åºãããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:51
msgid "Ansible role dependencies defined in ``meta/main.yml`` files."
msgstr "``meta/main.yml`` ãã¡ã€ã«ã§å®çŸ©ããã Ansible ããŒã«ã®äŸåé¢ä¿ã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:52
msgid "Setup targets defined with ``setup/*`` aliases."
msgstr "``setup/*`` ãšã€ãªã¢ã¹ã§å®çŸ©ãããã¿ãŒã²ããã®ã»ããã¢ããã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:53
msgid "Symbolic links from one target to a file in another target."
msgstr "ããã¿ãŒã²ããããå¥ã®ã¿ãŒã²ããã®ãã¡ã€ã«ãžã®ã·ã³ããªãã¯ãªã³ã¯ã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:55
msgid "Aliases can be used to declare dependencies that are not handled automatically:"
msgstr "ãšã€ãªã¢ã¹ã䜿çšãããšãèªåçã«åŠçãããªãäŸåé¢ä¿ã宣èšã§ããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:57
msgid "``needs/target/TARGET`` - Requires use of the test target ``TARGET``."
msgstr "``needs/target/TARGET`` - ãã¹ãã¿ãŒã²ãã ``TARGET`` ã䜿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:58
msgid "``needs/file/PATH`` - Requires use of the file ``PATH`` relative to the git root."
msgstr "``needs/file/PATH`` - git ã«ãŒããšé¢é£ãããã¡ã€ã« ``PATH`` ã䜿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:61
msgid "Skipping"
msgstr "ã¹ããã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:63
msgid "Aliases can be used to skip platforms using one of the following:"
msgstr "ãšã€ãªã¢ã¹ã䜿çšãããšã以äžã®ããããã䜿çšããŠãã©ãããã©ãŒã ãã¹ãããã§ããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:65
msgid "``skip/freebsd`` - Skip tests on FreeBSD."
msgstr "``skip/freebsd`` - FreeBSD ã®ãã¹ããã¹ãããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:66
msgid "``skip/osx`` - Skip tests on macOS."
msgstr "``skip/osx`` - macOS ã§ã®ãã¹ããã¹ãããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:67
msgid "``skip/rhel`` - Skip tests on RHEL."
msgstr "``skip/rhel`` - RHEL ã§ã®ãã¹ããã¹ãããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:68
msgid "``skip/docker`` - Skip tests when running in a Docker container."
msgstr "``skip/docker`` - Docker ã³ã³ãããŒã§å®è¡ããå Žåã¯ãã¹ããã¹ãããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:70
msgid "Platform versions, as specified using the ``--remote`` option with ``/`` removed, can also be skipped:"
msgstr "``--remote`` ãªãã·ã§ã³ã§ ``/`` ãåé€ããŠæå®ãããã©ãããã©ãŒã ããŒãžã§ã³ãã¹ãããã§ããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:72
msgid "``skip/freebsd11.1`` - Skip tests on FreeBSD 11.1."
msgstr "``skip/freebsd11.1`` - FreeBSD 11.1 ã®ãã¹ããã¹ãããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:73
msgid "``skip/rhel7.6`` - Skip tests on RHEL 7.6."
msgstr "``skip/rhel7.6`` - RHEL 7.6 ã§ã®ãã¹ããã¹ãããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:75
msgid "Windows versions, as specified using the ``--windows`` option can also be skipped:"
msgstr "``--windows`` ãªãã·ã§ã³ã䜿çšããŠæå®ãã Windows ããŒãžã§ã³ãã¹ãããã§ããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:77
msgid "``skip/windows/2012`` - Skip tests on Windows Server 2012."
msgstr "``skip/windows/2012`` - Windows Server 2012 ã®ãã¹ããã¹ãããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:78
msgid "``skip/windows/2012-R2`` - Skip tests on Windows Server 2012 R2."
msgstr "``skip/windows/2012-R2`` - Windows Server 2012 R2 ã®ãã¹ããã¹ãããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:80
msgid "Aliases can be used to skip Python major versions using one of the following:"
msgstr "ãšã€ãªã¢ã¹ã䜿çšãããšã以äžã®ããããã䜿çšã㊠Python ã®ã¡ãžã£ãŒããŒãžã§ã³ãã¹ãããã§ããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:82
msgid "``skip/python2`` - Skip tests on Python 2.x."
msgstr "``skip/python2`` - Python 2.x ã®ãã¹ããã¹ãããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:83
msgid "``skip/python3`` - Skip tests on Python 3.x."
msgstr "``skip/python3`` - Python 3.x ã®ãã¹ããã¹ãããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:85
msgid "For more fine grained skipping, use conditionals in integration test playbooks, such as:"
msgstr "ãã詳现ãªã¹ããããè¡ãã«ã¯ãçµ±åãã¹ãã® Playbook ã§æ¡ä»¶ã䜿çšããŸãã以äžã«äŸã瀺ããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:93
msgid "Miscellaneous"
msgstr "ãã®ä»"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:95
msgid "There are several other aliases available as well:"
msgstr "ãã®ä»ã«ãå©çšã§ãããšã€ãªã¢ã¹ãããã€ããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:97
msgid "``destructive`` - Requires ``--allow-destructive`` to run without ``--docker`` or ``--remote``."
msgstr "``destructive`` - ``--docker`` ãŸã㯠``--remote`` ãªã㧠``--allow-destructive`` ãå®è¡ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:98
msgid "``hidden`` - Target is ignored. Usable as a dependency. Automatic for ``setup_`` and ``prepare_`` prefixed targets."
msgstr "``hidden`` - ã¿ãŒã²ããã¯ç¡èŠãããŸããäŸåé¢ä¿ãšããŠäœ¿çšã§ããŸãããã¬ãã£ãã¯ã¹ ``setup_`` ããã³ ``prepare_`` ãä»ããããã¿ãŒã²ããã«å¯Ÿããèªååã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:101
msgid "Unstable"
msgstr "Unstable"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:103
msgid "Tests which fail sometimes should be marked with the ``unstable`` alias until the instability has been fixed. These tests will continue to run for pull requests which modify the test or the module under test."
msgstr "æã
倱æãããã¹ãã¯ãäžå®å®æ§ãä¿®æ£ããããŸã§ã``unstable`` ãšã€ãªã¢ã¹ã§ããŒã¯ããå¿
èŠããããŸãããããã®ãã¹ãã¯ããã¹ããŸãã¯ãã¹ã察象ã®ã¢ãžã¥ãŒã«ãå€æŽãããã«èŠæ±ã«å¯ŸããŠåŒãç¶ãå®è¡ããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:106
msgid "This avoids unnecessary test failures for other pull requests, as well as tests on merge runs and nightly CI jobs."
msgstr "ããã«ãããä»ã®ãã«èŠæ±ã«å¯ŸããäžèŠãªãã¹ãã®å€±æããããŒãžã®å®è¡ããã³æ¯å€ã® CI ãžã§ãã®ãã¹ããåé¿ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:108
msgid "There are two ways to run unstable tests manually:"
msgstr "äžå®å®ãªãã¹ããæåã§å®è¡ããæ¹æ³ã¯ 2 ã€ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:110
msgid "Use the ``--allow-unstable`` option for ``ansible-test``"
msgstr "``ansible-test`` ã«ã¯ ``--allow-unstable`` ãªãã·ã§ã³ã䜿çšããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:111
msgid "Prefix the test name with ``unstable/`` when passing it to ``ansible-test``."
msgstr "ããã ``ansible-test`` ã«æž¡ãå Žåã¯ããã¹ãåã®åã«ãã¬ãã£ãã¯ã¹ ``unstable/`` ãä»ããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:113
msgid "Tests will be marked as unstable by a member of the Ansible Core Team. GitHub issues_ will be created to track each unstable test."
msgstr "ãã¹ãã¯ãAnsible Core Team ã®ã¡ã³ããŒã«ãã£ãŠ Unstable ãšè¡šç€ºãããŸããGitHub åé¡_ ãäœæãããäžå®å®ãªåãã¹ãã远跡ããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:117
msgid "Disabled"
msgstr "Disabled"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:119
msgid "Tests which always fail should be marked with the ``disabled`` alias until they can be fixed."
msgstr "åžžã«å€±æãããã¹ãã§ã¯ãä¿®æ£ããããŸã§ã``disabled`` ãªãšã€ãªã¢ã¹ã§ããŒã¯ãããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:121
msgid "Disabled tests are automatically skipped."
msgstr "ç¡å¹ã«ããããã¹ãã¯èªåçã«ã¹ããããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:123
msgid "There are two ways to run disabled tests manually:"
msgstr "ç¡å¹ã«ããããã¹ããæåã§å®è¡ããæ¹æ³ã¯ 2 ã€ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:125
msgid "Use the ``--allow-disabled`` option for ``ansible-test``"
msgstr "``ansible-test`` ã«ã¯ ``--allow-disabled`` ãªãã·ã§ã³ã䜿çšããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:126
msgid "Prefix the test name with ``disabled/`` when passing it to ``ansible-test``."
msgstr "ããã ``ansible-test`` ã«æž¡ãå Žåã¯ããã¹ãåã®åã«ãã¬ãã£ãã¯ã¹ ``disabled/`` ãä»ããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:128
msgid "Tests will be marked as disabled by a member of the Ansible Core Team. GitHub issues_ will be created to track each disabled test."
msgstr "ãã¹ãã¯ãAnsible Core Team ã®ã¡ã³ããŒã«ãã£ãŠç¡å¹ãšããŒã¯ãããŸããGitHub åé¡_ ãäœæãããç¡å¹ã«ãããåãã¹ãã远跡ããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:132
msgid "Unsupported"
msgstr "Unsupported"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:134
msgid "Tests which cannot be run in CI should be marked with the ``unsupported`` alias. Most tests can be supported through the use of simulators and/or cloud plugins."
msgstr "CI ã§å®è¡ã§ããªããã¹ãã«ã¯ã``unsupported`` ãšã€ãªã¢ã¹ã®ããŒã¯ãä»ããå¿
èŠããããŸããã»ãšãã©ã®ãã¹ãã¯ã·ãã¥ã¬ãŒã¿ãŒãã¯ã©ãŠããã©ã°ã€ã³ã䜿çšããããšã§ãµããŒããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:137
msgid "However, if that is not possible then marking a test as unsupported will prevent it from running in CI."
msgstr "ãã ãããã¹ãã䜿çšã§ããªãå Žåã¯ããã¹ãã unsupported ãšè¡šç€ºãããšãCI ã§ãã¹ããå®è¡ã§ããªããªããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:139
msgid "There are two ways to run unsupported tests manually:"
msgstr "ãµããŒã察象å€ã®ãã¹ããæåã§å®è¡ããæ¹æ³ã¯ 2 ã€ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:141
msgid "Use the ``--allow-unsupported`` option for ``ansible-test``"
msgstr "``ansible-test`` ã«ã¯ ``--allow-unsupported`` ãªãã·ã§ã³ã䜿çšããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:142
msgid "Prefix the test name with ``unsupported/`` when passing it to ``ansible-test``."
msgstr "ããã ``ansible-test`` ã«æž¡ãå Žåã¯ããã¹ãåã®åã«ãã¬ãã£ãã¯ã¹ ``unsupported/`` ãä»ããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:144
msgid "Tests will be marked as unsupported by the contributor of the test."
msgstr "ãã¹ãã¯ããã¹ãã®è²¢ç®è
ã«ãã£ãŠ unsupported ãšããŒã¯ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:147
msgid "Cloud"
msgstr "ã¯ã©ãŠã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:149
msgid "Tests for cloud services and other modules that require access to external APIs usually require special support for testing in CI."
msgstr "éåžžãå€éš API ãžã®ã¢ã¯ã»ã¹ãå¿
èŠãšããã¯ã©ãŠããµãŒãã¹ããã³ãã®ä»ã®ã¢ãžã¥ãŒã«ã®ãã¹ãã«ã¯ãCI ã§ã®ãã¹ãã«ç¹å¥ãªãµããŒããå¿
èŠã§ãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:151
msgid "These require an additional alias to indicate the required test plugin."
msgstr "ãããã«ã¯ãå¿
èŠãªãã¹ããã©ã°ã€ã³ãæå®ããããã«è¿œå ã®ãšã€ãªã¢ã¹ãå¿
èŠã§ãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:153
msgid "Some of the available aliases are:"
msgstr "å©çšå¯èœãªãšã€ãªã¢ã¹ã«ã¯ã以äžã®ãã®ããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:155
msgid "``cloud/aws``"
msgstr "``cloud/aws``"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:156
msgid "``cloud/azure``"
msgstr "``cloud/azure``"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:157
msgid "``cloud/cs``"
msgstr "``cloud/cs``"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:158
msgid "``cloud/digitalocean``"
msgstr "``cloud/digitalocean``"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:159
msgid "``cloud/foreman``"
msgstr "``cloud/foreman``"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:160
msgid "``cloud/openshift``"
msgstr "``cloud/openshift``"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:161
msgid "``cloud/tower``"
msgstr "``cloud/tower``"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:162
msgid "``cloud/vcenter``"
msgstr "``cloud/vcenter``"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:165
msgid "Untested"
msgstr "æªãã¹ã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:167
msgid "Every module and plugin should have integration tests, even if the tests cannot be run in CI."
msgstr "ãã¹ãã CI ã§å®è¡ã§ããªãå Žåã§ãããã¹ãŠã®ã¢ãžã¥ãŒã«ããã³ãã©ã°ã€ã³ã«çµ±åãã¹ããå«ãŸããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:170
msgid "Issues"
msgstr "åé¡"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:172
msgid "Tests that are marked as unstable_ or disabled_ will have an issue created to track the status of the test. Each issue will be assigned to one of the following projects:"
msgstr "unstable_ ãŸã㯠disabled_ ãšããŠããŒã¯ãããŠãããã¹ãã«ã¯ããã¹ãã®ã¹ããŒã¿ã¹ã远跡ããåé¡ãäœæãããŸããããããã®åé¡ã¯ä»¥äžã®ãããžã§ã¯ãã®ããããã«å²ãåœãŠãããŸãã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:175
msgid "`AWS <https://github.com/ansible/ansible/projects/21>`_"
msgstr "`AWS <https://github.com/ansible/ansible/projects/21>`_"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:176
msgid "`Azure <https://github.com/ansible/ansible/projects/22>`_"
msgstr "`Azure <https://github.com/ansible/ansible/projects/22>`_"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:177
msgid "`Windows <https://github.com/ansible/ansible/projects/23>`_"
msgstr "`Windows <https://github.com/ansible/ansible/projects/23>`_"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:178
msgid "`General <https://github.com/ansible/ansible/projects/25>`_"
msgstr "`General <https://github.com/ansible/ansible/projects/25>`_"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:181
msgid "Questions"
msgstr "ã質åã¯ããããŸããã"
#: ../../rst/dev_guide/testing/sanity/integration-aliases.rst:183
msgid "For questions about integration tests reach out to @mattclay or @gundalow on GitHub or the ``#ansible-devel`` chat channel (using Matrix at ansible.im or using IRC at `irc.libera.chat <https://libera.chat/>`_)."
msgstr "çµ±åãã¹ãã«é¢ãã質åã¯ãGitHub 㧠@mattclay ããã㯠@gundalowããŸãã¯``#ansible-devel``ãã£ãããã£ã³ãã«ïŒansible.imã§Matrixã䜿çšããŸãã¯`irc.libera.chat <https://libera.chat/>`_ã§IRCã䜿çšïŒã«ãåãåãããã ããã"
#: ../../rst/dev_guide/testing/sanity/line-endings.rst:2
msgid "line-endings"
msgstr "è¡æ«"
#: ../../rst/dev_guide/testing/sanity/line-endings.rst:4
msgid "All files must use ``\\n`` for line endings instead of ``\\r\\n``."
msgstr "ãã¹ãŠã®ãã¡ã€ã«ã¯ã``\\r\\n"
"`` ã§ã¯ãªããè¡æ«ã« ``\\n"
"`` ã䜿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/metaclass-boilerplate.rst:2
msgid "metaclass-boilerplate"
msgstr "metaclass-boilerplate"
#: ../../rst/dev_guide/testing/sanity/metaclass-boilerplate.rst:4
msgid "Most Python files should include the following boilerplate at the top of the file, right after the comment header and ``from __future__ import``:"
msgstr "ã»ãšãã©ã® Python ãã¡ã€ã«ã«ã¯ããã¡ã€ã«ã®äžéšãã³ã¡ã³ãããããŒã®ããã³ ``from __future__ import`` ã®çŽåŸã«æ¬¡ã® boilerplate ãå«ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/metaclass-boilerplate.rst:12
msgid "Python 2 has \"new-style classes\" and \"old-style classes\" whereas Python 3 only has new-style classes. Adding the ``__metaclass__ = type`` boilerplate makes every class defined in that file into a new-style class as well."
msgstr "Python 2 ã«ã¯ãæ°ã¹ã¿ã€ã«ã®ã¯ã©ã¹ãããã³ãæ§ã¹ã¿ã€ã«ã®ã¯ã©ã¹ãã䜿çšãããŸãããPython 3 ã«ã¯æ°ã¹ã¿ã€ã«ã®ã¯ã©ã¹ã®ã¿ã䜿çšãããŸãããŸãã``__metaclass__ = type`` boilerplate ãè¿œå ãããšããã®ãã¡ã€ã«ã§å®çŸ©ãããŠãããã¹ãŠã®ã¯ã©ã¹ãæ°ããã¹ã¿ã€ã«ã®ã¯ã©ã¹ã«ãªããŸãã"
#: ../../rst/dev_guide/testing/sanity/mypy.rst:2
msgid "mypy"
msgstr "mypy"
#: ../../rst/dev_guide/testing/sanity/mypy.rst:4
msgid "The ``mypy`` static type checker is used to check the following code against each Python version supported by the controller:"
msgstr "``mypy`` éçã¿ã€ããã§ãã«ãŒã¯ãã³ã³ãããŒã©ãŒããµããŒãããå Python ããŒãžã§ã³ã«å¯ŸããŠä»¥äžã®ã³ãŒãã確èªããããã«äœ¿çšãããŸãã"
#: ../../rst/dev_guide/testing/sanity/mypy.rst:6
msgid "``lib/ansible/``"
msgstr "``lib/ansible/``"
#: ../../rst/dev_guide/testing/sanity/mypy.rst:7
msgid "``test/lib/ansible_test/_internal/``"
msgstr "``test/lib/ansible_test/_internal/``"
#: ../../rst/dev_guide/testing/sanity/mypy.rst:9
msgid "Additionally, the following code is checked against Python versions supported only on managed nodes:"
msgstr "ãŸãã以äžã®ã³ãŒãã¯ã管ç察象ããŒãã§ã®ã¿ãµããŒãããã Python ããŒãžã§ã³ã«å¯ŸããŠç¢ºèªãããŸãã"
#: ../../rst/dev_guide/testing/sanity/mypy.rst:14
msgid "See https://mypy.readthedocs.io/en/stable/ for additional details."
msgstr "詳现㯠https://mypy.readthedocs.io/en/stable/ ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing/sanity/no-assert.rst:2
msgid "no-assert"
msgstr "assert ã¯äœ¿çšããªã"
#: ../../rst/dev_guide/testing/sanity/no-assert.rst:4
msgid "Do not use ``assert`` in production Ansible python code. When running Python with optimizations, Python will remove ``assert`` statements, potentially allowing for unexpected behavior throughout the Ansible code base."
msgstr "å®çšŒåç°å¢ã® Ansible Python ã³ãŒã㧠``assert`` ã䜿çšããªãã§ãã ãããæé©å㧠Python ãå®è¡ãããšãPython 㯠``assert`` ã¹ããŒãã¡ã³ããåé€ãããšãAnsible ã®ã³ãŒãããŒã¹å
šäœã§äºæããªãåäœãå¯èœã«ãªããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-assert.rst:8
msgid "Instead of using ``assert`` you should utilize simple ``if`` statements, that result in raising an exception. There is a new exception called ``AnsibleAssertionError`` that inherits from ``AnsibleError`` and ``AssertionError``. When possible, utilize a more specific exception than ``AnsibleAssertionError``."
msgstr "``assert`` ã䜿çšãã代ããã«ãç°¡å㪠``if`` ã¹ããŒãã¡ã³ããå©çšããå¿
èŠããããŸãããã®çµæãäŸå€ãçºçããŸãã``AnsibleError`` ããã³ ``AssertionError`` ããç¶æ¿ãã ``AnsibleAssertionError`` ãšåŒã°ããæ°ããäŸå€ããããŸããå¯èœã§ããã°ã``AnsibleAssertionError`` ããå
·äœçãªäŸå€ãå©çšããŠãã ããã"
#: ../../rst/dev_guide/testing/sanity/no-assert.rst:14
msgid "Modules will not have access to ``AnsibleAssertionError`` and should instead raise ``AssertionError``, a more specific exception, or just use ``module.fail_json`` at the failure point."
msgstr "ã¢ãžã¥ãŒã«ã¯ ``AnsibleAssertionError`` ã«ã¢ã¯ã»ã¹ã§ããªãããã代ããã« ``AssertionError`` ãé«ãããããšã¯ã§ããŸããããããã¯ãé害段é㧠``module.fail_json`` ã䜿çšããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-basestring.rst:2
msgid "no-basestring"
msgstr "basestring ã¯äœ¿çšããªã"
#: ../../rst/dev_guide/testing/sanity/no-basestring.rst:4
msgid "Do not use ``isinstance(s, basestring)`` as basestring has been removed in Python3. You can import ``string_types``, ``binary_type``, or ``text_type`` from ``ansible.module_utils.six`` and then use ``isinstance(s, string_types)`` or ``isinstance(s, (binary_type, text_type))`` instead."
msgstr "Python3 ã§ã¯ ``isinstance(s, basestring)`` ãããŒã¹æååããåé€ããªãã§ãã ããã``string_types``ã``binary_type``ããŸã㯠``text_type`` ã ``ansible.module_utils.six`` ããã€ã³ããŒãããŠããã代ããã« ``isinstance(s, string_types)`` ãŸã㯠``isinstance(s, (binary_type, text_type))`` ã䜿çšã§ããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-basestring.rst:9
msgid "If this is part of code to convert a string to a particular type, ``ansible.module_utils.common.text.converters`` contains several functions that may be even better for you: ``to_text``, ``to_bytes``, and ``to_native``."
msgstr "ãããæååãç¹å®ã®åã«å€æããã³ãŒãã®äžéšã§ããå Žåã``ansible.module_utils.common.text.converters`` ã«ã¯ãããè¯ãé¢æ°ãããã€ãå«ãŸããŠããŸã (``to_text``ã``to_bytes``ãããã³ ``to_native``)ã"
#: ../../rst/dev_guide/testing/sanity/no-dict-iteritems.rst:2
msgid "no-dict-iteritems"
msgstr "dict-iteritems ã¯äœ¿çšããªã"
#: ../../rst/dev_guide/testing/sanity/no-dict-iteritems.rst:4
msgid "The ``dict.iteritems`` method has been removed in Python 3. There are two recommended alternatives:"
msgstr "ãã® ``dict.iteritems`` ã¡ãœããã¯ãPython 3 ã§åé€ãããŸãããæšå¥šããã代æ¿æ段ã 2 ã€ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-dict-iterkeys.rst:2
msgid "no-dict-iterkeys"
msgstr "dict-iterkeys ã¯äœ¿çšããªã"
#: ../../rst/dev_guide/testing/sanity/no-dict-iterkeys.rst:4
msgid "The ``dict.iterkeys`` method has been removed in Python 3. Use the following instead:"
msgstr "ãã® ``dict.iterkeys`` ã¡ãœããã¯ãPython 3 ã§åé€ãããŸããã代ããã«ã以äžã䜿çšããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-dict-itervalues.rst:2
msgid "no-dict-itervalues"
msgstr "dict-itervalues ã¯äœ¿çšããªã"
#: ../../rst/dev_guide/testing/sanity/no-dict-itervalues.rst:4
msgid "The ``dict.itervalues`` method has been removed in Python 3. There are two recommended alternatives:"
msgstr "ãã® ``dict.itervalues`` ã¡ãœããã¯ãPython 3 ã§åé€ãããŸãããæšå¥šããã代æ¿æ段ã 2 ã€ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-get-exception.rst:2
msgid "no-get-exception"
msgstr "get-exception ã¯äœ¿çšããªã"
#: ../../rst/dev_guide/testing/sanity/no-get-exception.rst:4
msgid "We created a function, ``ansible.module_utils.pycompat24.get_exception`` to help retrieve exceptions in a manner compatible with Python 2.4 through Python 3.6. We no longer support Python 2.4 and Python 2.5 so this is extraneous and we want to deprecate the function. Porting code should look something like this:"
msgstr "Python 2.4 ïœ Python 3.6 ãšäºææ§ãããæ¹æ³ã§äŸå€ãååŸããã®ã«åœ¹ç«ã€é¢æ° ``ansible.module_utils.pycompat24.get_exception`` ãäœæããŸãããPython 2.4 ããã³ Python 2.5 ã¯ãµããŒããããªããªã£ããããããã¯å€éšã®ãã®ã§ããããã®é¢æ°ãå»æ¢ããå¿
èŠããããŸãã移æ€ã³ãŒãã¯ã以äžã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:2
msgid "no-illegal-filenames"
msgstr "äžæ£ãªãã¡ã€ã«åã¯äœ¿çšããªã"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:4
msgid "Files and directories should not contain illegal characters or names so that Ansible can be checked out on any Operating System."
msgstr "ãã¡ã€ã«ãšãã£ã¬ã¯ããªãŒã«ã¯ãAnsible ãã©ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ããã§ãã¯ã¢ãŠãã§ããããã«ãäžæ£ãªæåãååã¯äœ¿çšããªãã§ãã ããã"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:8
msgid "Illegal Characters"
msgstr "äžæ£ãªæå"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:10
msgid "The following characters are not allowed to be used in any part of the file or directory name;"
msgstr "以äžã®æåã¯ããã¡ã€ã«ãŸãã¯ãã£ã¬ã¯ããªãŒã®ååã«ã¯äœ¿çšã§ããŸããã"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:13
msgid "``<``"
msgstr "``<``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:14
msgid "``>``"
msgstr "``>``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:15
msgid "``:``"
msgstr "``:``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:16
msgid "``\"``"
msgstr "``\"``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:17
msgid "``/``"
msgstr "``/``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:18
msgid "``\\``"
msgstr "``\\``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:19
msgid "``|``"
msgstr "``|``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:20
msgid "``?``"
msgstr "``?``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:21
msgid "``*``"
msgstr "``*``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:22
msgid "Any characters whose integer representations are in the range from 0 through to 31 like ``\\n``"
msgstr "æŽæ°è¡šç€ºã 0 ãã 31 ãŸã§ã®æå (äŸ: ``\\n"
"``)"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:24
msgid "The following characters are not allowed to be used as the last character of a file or directory;"
msgstr "次ã®æåã¯ããã¡ã€ã«ãŸãã¯ãã£ã¬ã¯ããªãŒã®æåŸã®æåã«ã¯äœ¿çšã§ããŸããã"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:27
msgid "``.``"
msgstr "``.``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:28
msgid "``\" \"`` (just the space character)"
msgstr "``\" \"`` (空çœæåã®ã¿)"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:31
msgid "Illegal Names"
msgstr "äžæ£ãªåå"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:33
msgid "The following names are not allowed to be used as the name of a file or directory excluding the extension;"
msgstr "以äžã®ååã¯ãæ¡åŒµåãé€ããŠãã¡ã€ã«ãŸãã¯ãã£ã¬ã¯ããªãŒã®ååãšããŠäœ¿çšããããšã¯ã§ããŸããã"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:36
msgid "``CON``"
msgstr "``CON``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:37
msgid "``PRN``"
msgstr "``PRN``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:38
msgid "``AUX``"
msgstr "``AUX``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:39
msgid "``NUL``"
msgstr "``NUL``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:40
msgid "``COM1``"
msgstr "``COM1``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:41
msgid "``COM2``"
msgstr "``COM2``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:42
msgid "``COM3``"
msgstr "``COM3``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:43
msgid "``COM4``"
msgstr "``COM4``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:44
msgid "``COM5``"
msgstr "``COM5``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:45
msgid "``COM6``"
msgstr "``COM6``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:46
msgid "``COM7``"
msgstr "``COM7``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:47
msgid "``COM8``"
msgstr "``COM8``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:48
msgid "``COM9``"
msgstr "``COM9``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:49
msgid "``LPT1``"
msgstr "``LPT1``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:50
msgid "``LPT2``"
msgstr "``LPT2``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:51
msgid "``LPT3``"
msgstr "``LPT3``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:52
msgid "``LPT4``"
msgstr "``LPT4``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:53
msgid "``LPT5``"
msgstr "``LPT5``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:54
msgid "``LPT6``"
msgstr "``LPT6``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:55
msgid "``LPT7``"
msgstr "``LPT7``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:56
msgid "``LPT8``"
msgstr "``LPT8``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:57
msgid "``LPT9``"
msgstr "``LPT9``"
#: ../../rst/dev_guide/testing/sanity/no-illegal-filenames.rst:59
msgid "For example, the file ``folder/COM1``, ``folder/COM1.txt`` are illegal but ``folder/COM1-file`` or ``folder/COM1-file.txt`` is allowed."
msgstr "ããšãã°ã``folder/COM1`` ãã¡ã€ã«ãŸã㯠``folder/COM1.txt`` ãã¡ã€ã«ã¯èš±å¯ãããŸãããã``folder/COM1-file`` ãã¡ã€ã«ãŸã㯠``folder/COM1-file.txt`` ãã¡ã€ã«ã¯èš±å¯ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-main-display.rst:2
msgid "no-main-display"
msgstr "main-display ã¯äœ¿çšããªã"
#: ../../rst/dev_guide/testing/sanity/no-main-display.rst:4
msgid "As of Ansible 2.8, ``Display`` should no longer be imported from ``__main__``."
msgstr "Ansible 2.8 以éã``Display`` 㯠``__main__`` ããã€ã³ããŒãããªãããã«ããŠãã ããã"
#: ../../rst/dev_guide/testing/sanity/no-main-display.rst:6
msgid "``Display`` is now a singleton and should be utilized like the following:"
msgstr "``Display`` ã¯ã·ã³ã°ã«ãã³ã§ã以äžã®ããã«äœ¿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-main-display.rst:13
msgid "There is no longer a need to attempt ``from __main__ import display`` inside a ``try/except`` block."
msgstr "``try/except`` ãããã¯å
㧠``from __main__ import display`` ãè©Šè¡ããå¿
èŠããªããªããŸããã"
#: ../../rst/dev_guide/testing/sanity/no-smart-quotes.rst:2
msgid "no-smart-quotes"
msgstr "ã¹ããŒãåŒçšç¬Šã¯äœ¿çšããªã"
#: ../../rst/dev_guide/testing/sanity/no-smart-quotes.rst:4
msgid "Smart quotes (``ââââ``) should not be used. Use plain ascii quotes (``\"'``) instead."
msgstr "ã¹ããŒãåŒçšç¬Š (``ââââ``) ã¯äœ¿çšããªãã§ãã ããã代ããã«ãæšæºã® ascii åŒçšç¬Š (``\"'``) ã䜿çšããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-tests-as-filters.rst:4
msgid "no-tests-as-filters"
msgstr "ãã¹ãããã£ã«ã¿ãŒãšããŠäœ¿çšããªã"
#: ../../rst/dev_guide/testing/sanity/no-tests-as-filters.rst:6
msgid "Using Ansible provided Jinja2 tests as filters will be removed in Ansible 2.9."
msgstr "Ansible ãæäŸãã Jinja2 ãã¹ãããã£ã«ã¿ãŒãšããŠäœ¿çšããããšã¯ãAnsible 2.9 ã§åé€ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-tests-as-filters.rst:8
msgid "Prior to Ansible 2.5, Jinja2 tests included within Ansible were most often used as filters. The large difference in use is that filters are referenced as ``variable | filter_name`` while Jinja2 tests are referenced as ``variable is test_name``."
msgstr "Ansible 2.5 以åã¯ãAnsible ã«å«ãŸãã Jinja2 ãã¹ãã¯ãã»ãšãã©ããã£ã«ã¿ãŒãšããŠäœ¿çšãããŠããŸããã䜿çšæ¹æ³ã®å€§ããªéãã¯ããã£ã«ã¿ãŒã¯ ``variable | filter_name`` ãšããŠåç
§ãããã®ã«å¯ŸããJinja2 ãã¹ã㯠``variable is test_name`` ãšããŠåç
§ãããããšã§ãã"
#: ../../rst/dev_guide/testing/sanity/no-tests-as-filters.rst:10
msgid "Jinja2 tests are used for comparisons, whereas filters are used for data manipulation, and have different applications in Jinja2. This change is to help differentiate the concepts for a better understanding of Jinja2, and where each can be appropriately used."
msgstr "Jinja2 ãã¹ãã¯æ¯èŒã®ããã«äœ¿çšããããã£ã«ã¿ãŒã¯ããŒã¿æäœã®ããã«äœ¿çšãããJinja2 ã§ããããçšéãç°ãªããŸãããã®å€æŽã¯ãJinja2 ã®ç解ãæ·±ããããã«æŠå¿µãåºå¥ãããããããé©åã«äœ¿çšã§ããããã«ããããã®ãã®ã§ãã"
#: ../../rst/dev_guide/testing/sanity/no-tests-as-filters.rst:12
msgid "As of Ansible 2.5 using an Ansible provided Jinja2 test with filter syntax will display a deprecation error."
msgstr "Ansible 2.5 以éã§ã¯ãAnsible ãæäŸãã Jinja2 ãã¹ãããã£ã«ã¿ãŒæ§æã§äœ¿çšãããšãéæšå¥šãšã©ãŒã衚瀺ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-underscore-variable.rst:4
msgid "no-underscore-variable"
msgstr "no-underscore-variable"
#: ../../rst/dev_guide/testing/sanity/no-underscore-variable.rst:6
msgid "In the future, Ansible may use the identifier ``_`` to internationalize its message strings. To be ready for that, we need to make sure that there are no conflicting identifiers defined in the code base."
msgstr "ä»åŸãAnsible ã¯ãèå¥å ``_`` ã䜿çšããŠãã¡ãã»ãŒãžæååãåœéåããããšãã§ããŸãããã®ããã«ã¯ãã³ãŒãããŒã¹ã§å®çŸ©ãããŠããèå¥åã競åããªãããã«ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-underscore-variable.rst:10
msgid "In common practice, ``_`` is frequently used as a dummy variable (a variable to receive a value from a function where the value is useless and never used). In Ansible, we're using the identifier ``dummy`` for this purpose instead."
msgstr "äžè¬çãªæ
£è¡ã§ã¯ã``_`` ã¯ããããŒå€æ° (å€ã圹ã«ç«ããã䜿çšãããªãé¢æ°ããå€ãåãåãå€æ°) ãšããŠé »ç¹ã«äœ¿çšãããŸããAnsibleã§ã¯ã代ããã«ãã®ç®çã®ããã«èå¥å ``dummy`` ã䜿çšããŠããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-underscore-variable.rst:14
msgid "Example of unfixed code:"
msgstr "æªä¿®æ£ã³ãŒãã®äŸ:"
#: ../../rst/dev_guide/testing/sanity/no-underscore-variable.rst:23
msgid "Example of fixed code:"
msgstr "ä¿®æ£ããã³ãŒãã®äŸ:"
#: ../../rst/dev_guide/testing/sanity/no-unicode-literals.rst:2
msgid "no-unicode_literals"
msgstr "no-unicode_literals"
#: ../../rst/dev_guide/testing/sanity/no-unicode-literals.rst:4
msgid "The use of :code:`from __future__ import unicode_literals` has been deemed an anti-pattern. The problems with it are:"
msgstr ":code:`from __future__ import unicode_literals` ã®äœ¿çšã¯ã¢ã³ããã¿ãŒã³ãšèŠãªãããŸãããã®åé¡ã¯æ¬¡ã®ãšããã§ãã"
#: ../../rst/dev_guide/testing/sanity/no-unicode-literals.rst:7
msgid "It makes it so one can't jump into the middle of a file and know whether a bare literal string is a byte string or text string. The programmer has to first check the top of the file to see if the import is there."
msgstr "ããã«ããããã¡ã€ã«ã®éäžã«ãžã£ã³ãããŠã裞ã®ãªãã©ã«æååããã€ãæååãªã®ãããã¹ãæååãªã®ããç¥ãããšãã§ããªããªããŸããããã°ã©ããŒã¯ãæåã«ãã¡ã€ã«ã®å
é ããã§ãã¯ããŠãã€ã³ããŒããååšãããã©ããã確èªããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-unicode-literals.rst:10
msgid "It removes the ability to define native strings (a string which should be a byte string on python2 and a text string on python3) via a string literal."
msgstr "ããã«ãããæååãªãã©ã«ãä»ããŠãã€ãã£ãæåå (python2 ã§ã¯ãã€ãæååãpython3 ã§ã¯ããã¹ãæååã§ããå¿
èŠãããæåå) ãå®çŸ©ããæ©èœãåé€ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-unicode-literals.rst:12
msgid "It makes for more context switching. A programmer could be reading one file which has `unicode_literals` and know that bare string literals are text strings but then switch to another file (perhaps tracing program execution into a third party library) and have to switch their understanding of what bare string literals are."
msgstr "ãã®ãããã³ã³ããã¹ãã®åãæ¿ããå€ããªããŸããããã°ã©ããŒã¯ã`unicode_literals` ãå«ããããã¡ã€ã«ãèªã¿èŸŒãã§ããŠã裞ã®æååãªãã©ã«ãããã¹ãæååã§ããããšãç解ïœãŠããŸããããã®åŸãå¥ã®ãã¡ã€ã« (ãããããµãŒãããŒãã£ãŒã®ã©ã€ãã©ãªãŒãžã®ããã°ã©ã å®è¡ã®è¿œè·¡) ã«æ¿ããŠã裞ã®æååãªãã©ã«ãäœã§ãããã®ç解ã«åãæ¿ããªããã°ãªããŸããã"
#: ../../rst/dev_guide/testing/sanity/no-unwanted-files.rst:2
msgid "no-unwanted-files"
msgstr "äžèŠãªãã¡ã€ã«ã¯äœ¿çšããªã"
#: ../../rst/dev_guide/testing/sanity/no-unwanted-files.rst:4
msgid "Specific file types are allowed in certain directories:"
msgstr "ç¹å®ã®ãã¡ã€ã«ã¿ã€ãã¯ãç¹å®ã®ãã£ã¬ã¯ããªãŒã§èš±å¯ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-unwanted-files.rst:6
msgid "``lib`` - All content must reside in the ``lib/ansible`` directory."
msgstr "``lib`` - ãã¹ãŠã®ã³ã³ãã³ã㯠``lib/ansible`` ãã£ã¬ã¯ããªãŒã«çœ®ãå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-unwanted-files.rst:8
msgid "``lib/ansible`` - Only source code with one of the following extensions is allowed:"
msgstr "``lib/ansible`` - 以äžã®æ¡åŒµæ©èœã®ãããããæã€ãœãŒã¹ã³ãŒãã®ã¿ãèš±å¯ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/no-unwanted-files.rst:10
msgid "``*.cs`` - C#"
msgstr "``*.cs`` - C#"
#: ../../rst/dev_guide/testing/sanity/no-unwanted-files.rst:11
msgid "``*.ps1`` - PowerShell"
msgstr "``*.ps1`` - PowerShell"
#: ../../rst/dev_guide/testing/sanity/no-unwanted-files.rst:12
msgid "``*.psm1`` - PowerShell"
msgstr "``*.psm1`` - PowerShell"
#: ../../rst/dev_guide/testing/sanity/no-unwanted-files.rst:13
msgid "``*.py`` - Python"
msgstr "``*.py`` - Python"
#: ../../rst/dev_guide/testing/sanity/no-wildcard-import.rst:4
msgid "no-wildcard-import"
msgstr "ã¯ã€ã«ãã«ãŒãã® import ã¯äœ¿çšããªã"
#: ../../rst/dev_guide/testing/sanity/no-wildcard-import.rst:6
msgid "Using :code:`import *` is a bad habit which pollutes your namespace, hinders debugging, and interferes with static analysis of code. For those reasons, we do want to limit the use of :code:`import *` in the ansible code. Change our code to import the specific names that you need instead."
msgstr ":code:`import *` ã䜿çšããããšã¯ãåå空éãæ±æãããããã°ã劚ããã³ãŒãã®éçåæã劚ããæªãç¿æ
£ã§ãããããã®çç±ãããAnsible ã³ãŒã㧠:code:`import *` ã®äœ¿çšãå¶éããŸãã代ããã«ãå¿
èŠãªç¹å®ã®ååãã€ã³ããŒãããããã«ã³ãŒããå€æŽããŠãã ããã"
#: ../../rst/dev_guide/testing/sanity/no-wildcard-import.rst:11
msgid "Examples of unfixed code:"
msgstr "æªä¿®æ£ã³ãŒãã®äŸ:"
#: ../../rst/dev_guide/testing/sanity/no-wildcard-import.rst:22
msgid "Examples of fixed code:"
msgstr "ä¿®æ£ãããã³ãŒãã®äŸ:"
#: ../../rst/dev_guide/testing/sanity/obsolete-files.rst:2
msgid "obsolete-files"
msgstr "é³è
åãããã¡ã€ã«"
#: ../../rst/dev_guide/testing/sanity/obsolete-files.rst:4
msgid "Directories in the Ansible source tree are sometimes made obsolete. Files should not exist in these directories. The new location (if any) is dependent on which directory has been made obsolete."
msgstr "Ansible ãœãŒã¹ããªãŒå
ã®ãã£ã¬ã¯ããªãŒã¯å»æ¢ãããããšããããŸãããã¡ã€ã«ã¯ããã®ãã£ã¬ã¯ããªãŒã«ååšãã¹ãã§ã¯ãããŸãããæ°ããå Žæãååšããå Žåã¯ãã©ã®ãã£ã¬ã¯ããªãŒãå»æ¢ããããã«äŸåããŠããŸãã"
#: ../../rst/dev_guide/testing/sanity/obsolete-files.rst:8
msgid "Below are some of the obsolete directories and their new locations:"
msgstr "å€ããã£ã¬ã¯ããªãŒãšãã®æ°ããå Žæã以äžã«ç€ºããŸãã"
#: ../../rst/dev_guide/testing/sanity/obsolete-files.rst:10
msgid "All of ``test/runner/`` is now under ``test/lib/ansible_test/`` instead. The organization of files in the new directory has changed."
msgstr "ãã¹ãŠã® ``test/runner/`` ã¯ãçŸåšã代ããã« ``test/lib/ansible_test/`` ã«ãããŸããæ°ãããã£ã¬ã¯ããªãŒã®ãã¡ã€ã«ã®ç·šæãå€æŽã«ãªããŸããã"
#: ../../rst/dev_guide/testing/sanity/obsolete-files.rst:11
msgid "Most subdirectories of ``test/sanity/`` (with some exceptions) are now under ``test/lib/ansible_test/_util/controller/sanity/`` instead."
msgstr "``test/sanity/``ã®ãµããã£ã¬ã¯ããªãŒã®ã»ãšãã©ã¯ (äŸå€ãã) ã代ããã« ``test/lib/ansible_test/_util/controller/sanity/`` ã®äžã«ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/obsolete-files.rst:13
msgid "This error occurs most frequently for open pull requests which add or modify files in directories which are now obsolete. Make sure the branch you are working from is current so that changes can be made in the correct location."
msgstr "ãã®ãšã©ãŒã¯ãçŸåšå€ããªã£ããã£ã¬ã¯ããªãŒã®ãã¡ã€ã«ãè¿œå ãŸãã¯å€æŽãããªãŒãã³ãªãã«èŠæ±ã«å¯ŸããŠæãé »ç¹ã«çºçããŸããæ£ããå Žæã§å€æŽã§ããããã«ãäœæ¥ããŠãããã©ã³ããçŸåšã®ç¶æ
ã§ããããšã確èªããŸãã"
#: ../../rst/dev_guide/testing/sanity/package-data.rst:2
msgid "package-data"
msgstr "package-data"
#: ../../rst/dev_guide/testing/sanity/package-data.rst:4
msgid "Verifies that the combination of ``MANIFEST.in`` and ``package_data`` from ``setup.py`` properly installs data files from within ``lib/ansible``"
msgstr "``setup.py`` ãã ``MANIFEST.in`` ãš ``package_data`` ãçµã¿åãããŠã``lib/ansible`` å
ããããŒã¿ãã¡ã€ã«ãé©åã«ã€ã³ã¹ããŒã«ãããŠããããšã確èªããŸãã"
#: ../../rst/dev_guide/testing/sanity/pep8.rst:2
msgid "pep8"
msgstr "pep8"
#: ../../rst/dev_guide/testing/sanity/pep8.rst:4
msgid "Python static analysis for PEP 8 style guideline compliance."
msgstr "PEP 8 ã¹ã¿ã€ã«ã®ã¬ã€ãã©ã€ã³ã³ã³ãã©ã€ã¢ã³ã¹ã«å¯Ÿãã Python éçåæã§ãã"
#: ../../rst/dev_guide/testing/sanity/pep8.rst:6
msgid "See :ref:`testing_pep8` for more information."
msgstr "詳现ã¯ãã:ref:`testing_pep8`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing/sanity/pslint.rst:2
msgid "pslint"
msgstr "pslint"
#: ../../rst/dev_guide/testing/sanity/pslint.rst:4
msgid "PowerShell static analysis for common programming errors using `PSScriptAnalyzer <https://github.com/PowerShell/PSScriptAnalyzer/>`_."
msgstr "`PSScriptAnalyzer <https://github.com/PowerShell/PSScriptAnalyzer/>`_ ã䜿çšããäžè¬çãªããã°ã©ãã³ã°ãšã©ãŒã«é¢ãã PowerShell ã®éçãªåæã§ãã"
#: ../../rst/dev_guide/testing/sanity/pylint.rst:2
msgid "pylint"
msgstr "pylint"
#: ../../rst/dev_guide/testing/sanity/pylint-ansible-test.rst:6
#: ../../rst/dev_guide/testing/sanity/pylint.rst:4
msgid "Python static analysis for common programming errors."
msgstr "äžè¬çãªããã°ã©ãã³ã°ãšã©ãŒã«å¯Ÿãã Python ã®éçåæã§ãã"
#: ../../rst/dev_guide/testing/sanity/pylint-ansible-test.rst:4
msgid "pylint-ansible-test"
msgstr "pylint-ansible-test"
#: ../../rst/dev_guide/testing/sanity/pylint-ansible-test.rst:8
msgid "A more strict set of rules applied to ``ansible-test``."
msgstr "``ansible-test`` ã«é©çšãããããå³å¯ãªã«ãŒã«ã»ãã"
#: ../../rst/dev_guide/testing/sanity/release-names.rst:2
msgid "Release names"
msgstr "ãªãªãŒã¹å"
#: ../../rst/dev_guide/testing/sanity/release-names.rst:4
msgid "Verifies that the most recent release name has been added to ``./github/RELEASE_NAMES.yml``"
msgstr "ææ°ã®ãªãªãŒã¹åã ``./github/RELEASE_NAMES.yml`` ã«è¿œå ãããããšã確èªããŸãã"
#: ../../rst/dev_guide/testing/sanity/replace-urlopen.rst:2
msgid "replace-urlopen"
msgstr "replace-urlopen"
#: ../../rst/dev_guide/testing/sanity/replace-urlopen.rst:4
msgid "Use ``open_url`` from ``module_utils`` instead of ``urlopen``."
msgstr "``urlopen`` ã®ä»£ããã« ``module_utils`` ãã ``open_url`` ã䜿çšããŸãã"
#: ../../rst/dev_guide/testing/sanity/required-and-default-attributes.rst:2
msgid "required-and-default-attributes"
msgstr "required-and-default-attributes"
#: ../../rst/dev_guide/testing/sanity/required-and-default-attributes.rst:4
msgid "Use only one of ``default`` or ``required`` with ``FieldAttribute``."
msgstr "``default`` ãŸã㯠``required`` ã® 1 ã€ã®ã¿ã ``FieldAttribute`` ã§äœ¿çšããŸãã"
#: ../../rst/dev_guide/testing/sanity/rstcheck.rst:2
msgid "rstcheck"
msgstr "rstcheck"
#: ../../rst/dev_guide/testing/sanity/rstcheck.rst:4
msgid "Check reStructuredText files for syntax and formatting issues."
msgstr "æ§æããã³ãã©ãŒãããã«é¢ããåé¡ã¯ãeStructuredTex ãã¡ã€ã«ã確èªããŠãã ããã"
#: ../../rst/dev_guide/testing/sanity/runtime-metadata.rst:2
msgid "runtime-metadata.yml"
msgstr "runtime-metadata.yml"
#: ../../rst/dev_guide/testing/sanity/runtime-metadata.rst:4
msgid "Validates the schema for:"
msgstr "ã¹ããŒããæ€èšŒããŸãã"
#: ../../rst/dev_guide/testing/sanity/runtime-metadata.rst:6
msgid "ansible-core's ``lib/ansible/config/ansible_builtin_runtime.yml``"
msgstr "ansible-core ã® ``lib/ansible/config/ansible_builtin_runtime.yml``"
#: ../../rst/dev_guide/testing/sanity/runtime-metadata.rst:7
msgid "collection's ``meta/runtime.yml``"
msgstr "ã³ã¬ã¯ã·ã§ã³ã® ``meta/runtime.yml``"
#: ../../rst/dev_guide/testing/sanity/sanity-docs.rst:2
msgid "sanity-docs"
msgstr "sanity-docs"
#: ../../rst/dev_guide/testing/sanity/sanity-docs.rst:4
msgid "Documentation for each ``ansible-test sanity`` test is required."
msgstr "å ``ansible-test sanity`` ãã¹ãçšã®ããã¥ã¡ã³ããå¿
èŠã§ãã"
#: ../../rst/dev_guide/testing/sanity/shebang.rst:2
msgid "shebang"
msgstr "shebang"
#: ../../rst/dev_guide/testing/sanity/shebang.rst:4
msgid "Most executable files should only use one of the following shebangs:"
msgstr "å®è¡ãã¡ã€ã«ã®ã»ãšãã©ã¯ã以äžã®ããããã® shebang ã®ã¿ã䜿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/shebang.rst:6
msgid "``#!/bin/sh``"
msgstr "``#!/bin/sh``"
#: ../../rst/dev_guide/testing/sanity/shebang.rst:7
msgid "``#!/bin/bash``"
msgstr "``#!/bin/bash``"
#: ../../rst/dev_guide/testing/sanity/shebang.rst:8
msgid "``#!/usr/bin/make``"
msgstr "``#!/usr/bin/make``"
#: ../../rst/dev_guide/testing/sanity/shebang.rst:9
msgid "``#!/usr/bin/env python``"
msgstr "``#!/usr/bin/env python``"
#: ../../rst/dev_guide/testing/sanity/shebang.rst:10
msgid "``#!/usr/bin/env bash``"
msgstr "``#!/usr/bin/env bash``"
#: ../../rst/dev_guide/testing/sanity/shebang.rst:12
msgid "NOTE: For ``#!/bin/bash``, any of the options ``eux`` may also be used, such as ``#!/bin/bash -eux``."
msgstr "泚èš: ``#!/bin/bash`` ã®å Žåã¯ããããã®ãªãã·ã§ã³ã® ``eux`` ã䜿çšã§ããŸã (``#!/bin/bash -eux`` ãªã©)ã"
#: ../../rst/dev_guide/testing/sanity/shebang.rst:14
msgid "This does not apply to Ansible modules, which should not be executable and must always use ``#!/usr/bin/python``."
msgstr "ãã㯠Ansible ã¢ãžã¥ãŒã«ã«ã¯é©çšãããŸãããããã¯å®è¡å¯èœã§ã¯ãªãã``#!/usr/bin/python`` ãåžžã«äœ¿çšããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/shebang.rst:16
msgid "Some exceptions are permitted. Ask if you have questions."
msgstr "äžéšã®äŸå€ãèš±å¯ãããŸããã質åãããå Žåã¯ãåãåãããã ããã"
#: ../../rst/dev_guide/testing/sanity/shellcheck.rst:2
msgid "shellcheck"
msgstr "shellcheck"
#: ../../rst/dev_guide/testing/sanity/shellcheck.rst:4
msgid "Static code analysis for shell scripts using the excellent `shellcheck <https://www.shellcheck.net/>`_ tool."
msgstr "åªãã `shellcheck <https://www.shellcheck.net/>`_ ããŒã«ã䜿çšããŠã·ã§ã«ã¹ã¯ãªããã®éçã³ãŒãåæã"
#: ../../rst/dev_guide/testing/sanity/symlinks.rst:2
msgid "symlinks"
msgstr "symlinks"
#: ../../rst/dev_guide/testing/sanity/symlinks.rst:4
msgid "Symbolic links are only permitted for files that exist to ensure proper tarball generation during a release."
msgstr "ã·ã³ããªãã¯ãªã³ã¯ã¯ããªãªãŒã¹äžã«é©å㪠tarball çæãä¿èšŒãããã¡ã€ã«ã«ã®ã¿èš±å¯ãããŸãã"
#: ../../rst/dev_guide/testing/sanity/symlinks.rst:6
msgid "If other types of symlinks are needed for tests they must be created as part of the test."
msgstr "ãã¹ãã«ä»ã®ã·ã³ããªãã¯ãªã³ã¯ãå¿
èŠãªå Žåã¯ããã¹ãã®äžéšãšããŠäœæããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/test-constraints.rst:2
msgid "test-constraints"
msgstr "test-constraints"
#: ../../rst/dev_guide/testing/sanity/test-constraints.rst:4
msgid "Constraints for test requirements should be in ``test/lib/ansible_test/_data/requirements/constraints.txt``."
msgstr "ãã¹ãèŠä»¶ã®å¶çŽã¯ ``test/lib/ansible_test/_data/requirements/constraints.txt`` ã«ä¿åãããŠããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing/sanity/update-bundled.rst:4
msgid "update-bundled"
msgstr "update-bundled"
#: ../../rst/dev_guide/testing/sanity/update-bundled.rst:6
msgid "Check whether any of our known bundled code needs to be updated for a new upstream release."
msgstr "æ¢ç¥ã®ãã³ãã«ãããã³ãŒããæ°ããã¢ããã¹ããªãŒã ãªãªãŒã¹çšã«æŽæ°ããå¿
èŠããããã©ããã確èªããŸãã"
#: ../../rst/dev_guide/testing/sanity/update-bundled.rst:8
msgid "This test can error in the following ways:"
msgstr "ãã®ãã¹ãã¯ä»¥äžã®æ¹æ³ã§ãšã©ãŒãçºçããå¯èœæ§ããããŸãã"
#: ../../rst/dev_guide/testing/sanity/update-bundled.rst:10
msgid "The bundled code is out of date with regard to the latest release on pypi. Update the code to the new version and update the version in _BUNDLED_METADATA to solve this."
msgstr "ãã³ãã«ãããã³ãŒã㯠pypi ã®ææ°ãªãªãŒã¹ã«é¢ããŠå€ããªã£ãŠããŸããã³ãŒããæ°ããããŒãžã§ã³ã«æŽæ°ãã_BUNDLED_METADATA ã§ããŒãžã§ã³ãæŽæ°ããŠããã解決ããŸãã"
#: ../../rst/dev_guide/testing/sanity/update-bundled.rst:13
msgid "The code is lacking a _BUNDLED_METADATA variable. This typically happens when a bundled version is updated and we forget to add a _BUNDLED_METADATA variable to the updated file. Once that is added, this error should go away."
msgstr "ãã®ã³ãŒãã«ã¯ _BUNDLED_METADATA å€æ°ããããŸãããããã¯éåžžããã³ãã«ããŒãžã§ã³ãæŽæ°ãããæŽæ°ããããã¡ã€ã«ã« _BUNDLED_METADATA å€æ°ãè¿œå ãå¿ããå Žåã«çºçããŸãããããè¿œå ããããšããã®ãšã©ãŒã¯ãªããªãã¯ãã§ãã"
#: ../../rst/dev_guide/testing/sanity/update-bundled.rst:17
msgid "A file has a _BUNDLED_METADATA variable but the file isn't specified in :file:`test/sanity/code-smell/update-bundled.py`. This typically happens when a new bundled library is added. Add the file to the `get_bundled_libs()` function in the `update-bundled.py` test script to solve this error."
msgstr "ãã¡ã€ã«ã«ã¯ã_BUNDLED_METADATA å€æ°ããããŸããããã®ãã¡ã€ã«ã¯ :file:`test/sanity/code-smell/update-bundled.py` ã§æå®ãããŠããŸãããããã¯éåžžãæ°ãããã³ãã«ã©ã€ãã©ãªãŒãè¿œå ããããšãã«çºçããŸãããã®ãšã©ãŒã解決ããããã«ã`update-bundled.py` ãã¹ãã¹ã¯ãªããã® `get_bundled_libs()` é¢æ°ã«ãã¡ã€ã«ãè¿œå ããŸãã"
#: ../../rst/dev_guide/testing/sanity/update-bundled.rst:22
msgid "_BUNDLED_METADATA has the following fields:"
msgstr "_BUNDLED_METADATA ã«ã¯ä»¥äžã®ãã£ãŒã«ãããããŸãã"
#: ../../rst/dev_guide/testing/sanity/update-bundled.rst
msgid "pypi_name"
msgstr "pypi_name"
#: ../../rst/dev_guide/testing/sanity/update-bundled.rst:24
msgid "Name of the bundled package on pypi"
msgstr "pypi ã§ãã³ãã«ãããããã±ãŒãžã®åå"
#: ../../rst/dev_guide/testing/sanity/update-bundled.rst:26
msgid "Version of the package that we are including here"
msgstr "ããã«å«ããããã±ãŒãžã®ããŒãžã§ã³"
#: ../../rst/dev_guide/testing/sanity/update-bundled.rst
msgid "version_constraints"
msgstr "version_constraints"
#: ../../rst/dev_guide/testing/sanity/update-bundled.rst:28
msgid "Optional PEP440 specifier for the version range that we are bundling. Currently, the only valid use of this is to follow a version that is compatible with the Python stdlib when newer versions of the pypi package implement a new API."
msgstr "ãã³ãã«ããããŒãžã§ã³ç¯å²ã®ä»»æã® PEP440 æå®åãçŸåšãããã®å¯äžã®æå¹ãªäœ¿çšæ³ã¯ãæ°ããããŒãžã§ã³ã® pypi ããã±ãŒãžãæ°ãã API ãå®è£
ãããšãã«ãPython stdlib ãšäºææ§ã®ããããŒãžã§ã³ã«åŸãããšã§ãã"
#: ../../rst/dev_guide/testing/sanity/use-argspec-type-path.rst:2
msgid "use-argspec-type-path"
msgstr "use-argspec-type-path"
#: ../../rst/dev_guide/testing/sanity/use-argspec-type-path.rst:4
msgid "The AnsibleModule argument_spec knows of several types beyond the standard python types. One of these is ``path``. When used, type ``path`` ensures that an argument is a string and expands any shell variables and tilde characters."
msgstr "AnsibleModule ã® argument_spec ã¯ãæšæºã® python ã¿ã€ã以å€ã®è€æ°ã®ã¿ã€ããèªèããŸãããããã®ããããã ``path`` ã«ãªããŸãã䜿çšãããšã``path`` ãšå
¥åããŠãåŒæ°ãæååã§ãã·ã§ã«å€æ°ãšãã«ãæåãæ¡åŒµããããã«ããŸãã"
#: ../../rst/dev_guide/testing/sanity/use-argspec-type-path.rst:8
msgid "This test looks for use of :func:`os.path.expanduser <python:os.path.expanduser>` in modules. When found, it tells the user to replace it with ``type='path'`` in the module's argument_spec or list it as a false positive in the test."
msgstr "ãã®ãã¹ãã§ã¯ãã¢ãžã¥ãŒã«ã§ :func:`os.path.expanduser <python:os.path.expanduser>` ã®äœ¿çšãæ¢ããŸããèŠã€ãã£ãå Žåã¯ãã¢ãžã¥ãŒã«ã® argument_spec 㧠``type='path'`` ã«çœ®ãæãããããã¹ãã§èª€æ€åºãšããŠäžèŠ§ã«æããããŸãã"
#: ../../rst/dev_guide/testing/sanity/use-compat-six.rst:2
msgid "use-compat-six"
msgstr "use-compat-six"
#: ../../rst/dev_guide/testing/sanity/use-compat-six.rst:4
msgid "Use ``six`` from ``module_utils`` instead of ``six``."
msgstr "``six`` ã®ä»£ããã« ``module_utils`` ãã ``six`` ã䜿çšããŸãã"
#: ../../rst/dev_guide/testing/sanity/validate-modules.rst:2
#: ../../rst/dev_guide/testing_validate-modules.rst:7
msgid "validate-modules"
msgstr "validate-modules"
#: ../../rst/dev_guide/testing/sanity/validate-modules.rst:4
msgid "Analyze modules for common issues in code and documentation."
msgstr "ã³ãŒãããã³ããã¥ã¡ã³ãã®äžè¬çãªåé¡ã«ã€ããŠã¢ãžã¥ãŒã«ãåæããŸãã"
#: ../../rst/dev_guide/testing/sanity/validate-modules.rst:6
msgid "See :ref:`testing_validate-modules` for more information."
msgstr "詳现ã¯ãã:ref:`testing_validate-modules`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing/sanity/yamllint.rst:2
msgid "yamllint"
msgstr "yamllint"
#: ../../rst/dev_guide/testing/sanity/yamllint.rst:4
msgid "Check YAML files for syntax and formatting issues."
msgstr "YAML ãã¡ã€ã«ã«ãããæ§æããã³ãã©ãŒãããã®åé¡ã確èªããŸãã"
#: ../../rst/dev_guide/testing_compile.rst:7
msgid "Compile Tests"
msgstr "ã³ã³ãã€ã«ãã¹ã"
#: ../../rst/dev_guide/testing_compile.rst:12
#: ../../rst/dev_guide/testing_httptester.rst:10
msgid "Overview"
msgstr "æŠèŠ"
#: ../../rst/dev_guide/testing_compile.rst:14
msgid "Compile tests check source files for valid syntax on all supported python versions:"
msgstr "ã³ã³ãã€ã«ãã¹ãã§ã¯ããµããŒããããŠãããã¹ãŠã® python ããŒãžã§ã³ã§ããœãŒã¹ãã¡ã€ã«ã®æ§æãæå¹ãã©ããã確èªããŸãã"
#: ../../rst/dev_guide/testing_compile.rst:16
msgid "2.4 (Ansible 2.3 only)"
msgstr "2.4 (Ansible 2.3 ã®ã¿)"
#: ../../rst/dev_guide/testing_compile.rst:17
msgid "2.6"
msgstr "2.6"
#: ../../rst/dev_guide/testing_compile.rst:18
msgid "2.7"
msgstr "2.7"
#: ../../rst/dev_guide/testing_compile.rst:19
msgid "3.5"
msgstr "3.5"
#: ../../rst/dev_guide/testing_compile.rst:20
msgid "3.6"
msgstr "3.6"
#: ../../rst/dev_guide/testing_compile.rst:21
msgid "3.7"
msgstr "3.7"
#: ../../rst/dev_guide/testing_compile.rst:22
msgid "3.8"
msgstr "3.8"
#: ../../rst/dev_guide/testing_compile.rst:23
msgid "3.9"
msgstr "3.9"
#: ../../rst/dev_guide/testing_compile.rst:25
msgid "NOTE: In Ansible 2.4 and earlier the compile test was provided by a dedicated sub-command ``ansible-test compile`` instead of a sanity test using ``ansible-test sanity --test compile``."
msgstr "泚èš: Ansible 2.4 以åã§ã¯ã``ansible-test sanity --test compile`` ã䜿çšããå¥å
šæ§ãã¹ãã®ä»£ããã«ãã³ã³ãã€ã«ãã¹ããå°çšã®ãµãã³ãã³ã ``ansible-test compile`` ã«ãã£ãŠæäŸãããŠããŸããã"
#: ../../rst/dev_guide/testing_compile.rst:28
msgid "Running compile tests locally"
msgstr "ããŒã«ã«ã§ã®ã³ã³ãã€ã«ãã¹ãã®å®è¡"
#: ../../rst/dev_guide/testing_compile.rst:30
msgid "Compile tests can be run across the whole code base by doing:"
msgstr "ã³ã³ãã€ã«ãã¹ããå®è¡ããã«ã¯ã次ã®ããã«ãã³ãŒãããŒã¹å
šäœã§ãã¹ããå®è¡ã§ããŸãã"
#: ../../rst/dev_guide/testing_compile.rst:38
#: ../../rst/dev_guide/testing_units.rst:38
msgid "Against a single file by doing:"
msgstr "1 ã€ã®ãã¡ã€ã«ã«å¯ŸããŠä»¥äžãè¡ããŸãã"
#: ../../rst/dev_guide/testing_compile.rst:44
#: ../../rst/dev_guide/testing_units.rst:44
msgid "Or against a specific Python version by doing:"
msgstr "ãŸãã¯ãç¹å®ã® Python ããŒãžã§ã³ã«å¯ŸããŠä»¥äžãå®è¡ããŸãã"
#: ../../rst/dev_guide/testing_compile.rst:50
msgid "For advanced usage see the help:"
msgstr "é«åºŠãªäœ¿çšæ¹æ³ã¯ããã«ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing_compile.rst:58
#: ../../rst/dev_guide/testing_units.rst:68
msgid "Installing dependencies"
msgstr "äŸåé¢ä¿ã®ã€ã³ã¹ããŒã«"
#: ../../rst/dev_guide/testing_compile.rst:60
msgid "``ansible-test`` has a number of dependencies , for ``compile`` tests we suggest running the tests with ``--local``, which is the default"
msgstr "``ansible-test`` ã«ã¯ããã€ãã®äŸåé¢ä¿ããããŸãã``compile`` ãã¹ãã§ã¯ãããã©ã«ãã§ãã ``--local`` ã䜿çšããŠãã¹ããå®è¡ããããšãæšå¥šãããŸãã"
#: ../../rst/dev_guide/testing_compile.rst:62
msgid "The dependencies can be installed using the ``--requirements`` argument. For example:"
msgstr "äŸåé¢ä¿ã¯ã``--requirements`` åŒæ°ã䜿çšããŠã€ã³ã¹ããŒã«ã§ããŸãã以äžã«äŸã瀺ããŸãã"
#: ../../rst/dev_guide/testing_compile.rst:70
msgid "The full list of requirements can be found at `test/lib/ansible_test/_data/requirements <https://github.com/ansible/ansible/tree/devel/test/lib/ansible_test/_data/requirements>`_. Requirements files are named after their respective commands. See also the `constraints <https://github.com/ansible/ansible/blob/devel/test/lib/ansible_test/_data/requirements/constraints.txt>`_ applicable to all commands."
msgstr "èŠä»¶ã®äžèŠ§ã¯ `test/lib/ansible_test/_data/requirements <https://github.com/ansible/ansible/tree/devel/test/lib/ansible_test/_data/requirements>`_ ã«èšèŒãããŠããŸããèŠä»¶ãã¡ã€ã«ã«ã¯ãåã³ãã³ãã«ã¡ãªãã§ååãä»ããããŠããŸããå
šã³ãã³ãã«é©çšããã `å¶çŽ <https://github.com/ansible/ansible/blob/devel/test/lib/ansible_test/_data/requirements/constraints.txt>`_ ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing_compile.rst:74
msgid "Extending compile tests"
msgstr "ã³ã³ãã€ã«ãã¹ãã®æ¡åŒµ"
#: ../../rst/dev_guide/testing_compile.rst:76
msgid "If you believe changes are needed to the compile tests please add a comment on the `Testing Working Group Agenda <https://github.com/ansible/community/blob/main/meetings/README.md>`_ so it can be discussed."
msgstr "ã³ã³ãã€ã«ãã¹ãã«å€æŽãå¿
èŠãªå Žåã¯ã`Testing Working Group Agenda <https://github.com/ansible/community/blob/main/meetings/README.md>`_ ã«ã³ã¡ã³ããè¿œå ããŠãã ããããã®å
容ã«ã€ããŠè©±ãåãããšãã§ããŸãã"
#: ../../rst/dev_guide/testing_documentation.rst:9
msgid "Before you submit a module for inclusion in the main Ansible repo, you must test your module documentation for correct HTML rendering and to ensure that the argspec matches the documentation in your Python file. The community pages offer more information on :ref:`testing reStructuredText documentation <testing_documentation_locally>`."
msgstr "ã¡ã€ã³ã® Ansible ãªããžããªãŒã«çµã¿èŸŒãã¢ãžã¥ãŒã«ãéä¿¡ããåã«ãæ£ãã HTML ã¬ã³ããªã³ã°ã€ããŠã¢ãžã¥ãŒã«ããã¥ã¡ã³ãããã¹ãããå¿
èŠããããŸãããŸããargspec ã Python ãã¡ã€ã«ã®ããã¥ã¡ã³ããšäžèŽããããšã確èªããå¿
èŠããããŸããã³ãã¥ããã£ãŒããŒãžã§ã¯ãã:ref:`reStructuredText ããã¥ã¡ã³ãã®ãã¹ã <testing_documentation_locally>`ãã®è©³çŽ°ãæäŸãããŠããŸãã"
#: ../../rst/dev_guide/testing_documentation.rst:11
msgid "To check the HTML output of your module documentation:"
msgstr "ã¢ãžã¥ãŒã«ããã¥ã¡ã³ãã® HTML åºåã確èªããã«ã¯ã次ã®ã³ãã³ããå®è¡ããŸãã"
#: ../../rst/dev_guide/testing_documentation.rst:13
msgid "Ensure working :ref:`development environment <environment_setup>`."
msgstr ":ref:`éçºç°å¢ <environment_setup>` ã皌åããŠããããšã確èªããŸãã"
#: ../../rst/dev_guide/testing_documentation.rst:14
#: ../../rst/dev_guide/testing_documentation.rst:28
msgid "Install required Python packages (drop '--user' in venv/virtualenv):"
msgstr "å¿
èŠãª Python ããã±ãŒãžãã€ã³ã¹ããŒã«ããŸã (venv/virtualenv ã«ã--userããããããããŸã)ã"
#: ../../rst/dev_guide/testing_documentation.rst:21
msgid "Ensure your module is in the correct directory: ``lib/ansible/modules/$CATEGORY/mymodule.py``."
msgstr "ã¢ãžã¥ãŒã«ãæ£ãããã£ã¬ã¯ããªãŒ (``lib/ansible/modules/$CATEGORY/mymodule.py``) ã«ããããšã確èªããŸãã"
#: ../../rst/dev_guide/testing_documentation.rst:22
msgid "Build HTML from your module documentation: ``MODULES=mymodule make webdocs``."
msgstr "ã¢ãžã¥ãŒã«ããã¥ã¡ã³ã ``MODULES=mymodule make webdocs`` ãã HTML ãæ§ç¯ããŸãã"
#: ../../rst/dev_guide/testing_documentation.rst:23
msgid "To build the HTML documentation for multiple modules, use a comma-separated list of module names: ``MODULES=mymodule,mymodule2 make webdocs``."
msgstr "è€æ°ã®ã¢ãžã¥ãŒã«ã® HTML ããã¥ã¡ã³ããäœæããã«ã¯ãã¢ãžã¥ãŒã«åã®ã³ã³ãåºåããªã¹ãã䜿çšããŸã (``MODULES=mymodule,mymodule2 make webdocs``)ã"
#: ../../rst/dev_guide/testing_documentation.rst:24
msgid "View the HTML page at ``file:///path/to/docs/docsite/_build/html/modules/mymodule_module.html``."
msgstr "``file:///path/to/docs/docsite/_build/html/modules/mymodule_module.html`` 㧠HTML ããŒãžã衚瀺ããŸãã"
#: ../../rst/dev_guide/testing_documentation.rst:26
msgid "To ensure that your module documentation matches your ``argument_spec``:"
msgstr "ã¢ãžã¥ãŒã«ã®ããã¥ã¡ã³ãã ``argument_spec`` ãšé©åããããã«ããã«ã¯ã以äžãè¡ããŸãã"
#: ../../rst/dev_guide/testing_documentation.rst:34
msgid "run the ``validate-modules`` test::"
msgstr "``validate-modules`` ãã¹ããå®è¡ããŸãã"
#: ../../rst/dev_guide/testing_httptester.rst:5
msgid "httptester"
msgstr "httptester"
#: ../../rst/dev_guide/testing_httptester.rst:12
msgid "``httptester`` is a docker container used to host certain resources required by :ref:`testing_integration`. This is to avoid CI tests requiring external resources (such as git or package repos) which, if temporarily unavailable, would cause tests to fail."
msgstr "``httptester`` ã¯ã:ref:`testing_integration` ã§å¿
èŠãªç¹å®ã®ãªãœãŒã¹ããã¹ãããã®ã«äœ¿çšããã docker ã³ã³ãããŒã§ããããã«ããã(git ãããã±ãŒãžãªããžããªãŒãªã©ã®) å€éšãªãœãŒã¹ãå¿
èŠãšãã CI ãã¹ããåé¿ãããäžæçã«å©çšã§ããªããªããšãã¹ãã倱æããŸãã"
#: ../../rst/dev_guide/testing_httptester.rst:14
msgid "HTTP Testing endpoint which provides the following capabilities:"
msgstr "以äžã®æ©èœãæäŸãã HTTP ãã¹ããšã³ããã€ã³ãã§ãã"
#: ../../rst/dev_guide/testing_httptester.rst:16
msgid "httpbin"
msgstr "httpbin"
#: ../../rst/dev_guide/testing_httptester.rst:17
msgid "nginx"
msgstr "nginx"
#: ../../rst/dev_guide/testing_httptester.rst:18
msgid "SSL"
msgstr "SSL"
#: ../../rst/dev_guide/testing_httptester.rst:19
msgid "SNI"
msgstr "SNI"
#: ../../rst/dev_guide/testing_httptester.rst:20
msgid "Negotiate Authentication"
msgstr "èªèšŒã®ããŽã·ãšãŒã"
#: ../../rst/dev_guide/testing_httptester.rst:23
msgid "Source files can be found in the `http-test-container <https://github.com/ansible/http-test-container>`_ repository."
msgstr "ãœãŒã¹ãã¡ã€ã«ã¯ `http-test-container <https://github.com/ansible/http-test-container>`_ ãªããžããªãŒã«ãããŸãã"
#: ../../rst/dev_guide/testing_httptester.rst:26
msgid "Extending httptester"
msgstr "httptester ã®æ¡åŒµ"
#: ../../rst/dev_guide/testing_httptester.rst:28
msgid "If you have sometime to improve ``httptester`` please add a comment on the `Testing Working Group Agenda <https://github.com/ansible/community/blob/main/meetings/README.md>`_ to avoid duplicated effort."
msgstr "``httptester`` ãæ¹åããã¿ã€ãã³ã°ãããå Žåã¯ãéè€äœæ¥ãåé¿ããããã«ã`Testing Working Group Agenda <https://github.com/ansible/community/blob/main/meetings/README.md>`_ ã«ã³ã¡ã³ããè¿œå ããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:11
msgid "The Ansible integration Test system."
msgstr "Ansible çµ±åãã¹ãã·ã¹ãã ã"
#: ../../rst/dev_guide/testing_integration.rst:13
msgid "Tests for playbooks, by playbooks."
msgstr "Playbook ã«ãã Playbook ã®ãã¹ã"
#: ../../rst/dev_guide/testing_integration.rst:15
msgid "Some tests may require credentials. Credentials may be specified with `credentials.yml`."
msgstr "ãã¹ãã«ãã£ãŠã¯èªèšŒæ
å ±ãå¿
èŠã«ãªãå ŽåããããŸããèªèšŒæ
å ±ã¯ `credentials.yml` ã§æå®ã§ããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:17
msgid "Some tests may require root."
msgstr "ãã¹ãã«ãã£ãŠã¯ root ãå¿
èŠã«ãªãå ŽåããããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:20
msgid "Every new module and plugin should have integration tests, even if the tests cannot be run on Ansible CI infrastructure. In this case, the tests should be marked with the ``unsupported`` alias in `aliases file <https://docs.ansible.com/ansible/latest/dev_guide/testing/sanity/integration-aliases.html>`_."
msgstr "ãã¹ãã Ansible CI ã€ã³ãã©ã¹ãã©ã¯ãã£ãŒã§å®è¡ã§ããªãå Žåã§ããæ°ããã¢ãžã¥ãŒã«ãšãã©ã°ã€ã³ã«ã¯çµ±åãã¹ããå¿
èŠã§ãããã®å Žåããã¹ã㯠`aliases ãã¡ã€ã« <https://docs.ansible.com/ansible/latest/dev_guide/testing/sanity/integration-aliases.html>`_ ã® ``unsupported`` ãšã€ãªã¢ã¹ã§ããŒã¯ä»ãããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:24
msgid "Quick Start"
msgstr "ã¯ã€ãã¯ã¹ã¿ãŒã"
#: ../../rst/dev_guide/testing_integration.rst:26
msgid "It is highly recommended that you install and activate the ``argcomplete`` python package. It provides tab completion in ``bash`` for the ``ansible-test`` test runner."
msgstr "python ããã±ãŒãž ``argcomplete`` ãã€ã³ã¹ããŒã«ããã¢ã¯ãã£ããŒãããããšã匷ãæšå¥šãããŸããããã«ããããã¹ãã©ã³ã㌠``ansible-test`` ã« ``bash`` ã®ã¿ãè£å®ãæäŸãããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:30
msgid "Configuration"
msgstr "èšå®"
#: ../../rst/dev_guide/testing_integration.rst:33
msgid "ansible-test command"
msgstr "ansible-test ã³ãã³ã"
#: ../../rst/dev_guide/testing_integration.rst:35
msgid "The example below assumes ``bin/`` is in your ``$PATH``. An easy way to achieve that is to initialize your environment with the ``env-setup`` command:"
msgstr "以äžã®äŸã§ã¯ã``bin/`` ã ``$PATH`` ã§ããããšãåæãšããŠããŸããããã¯ã``env-setup`` ã³ãã³ãã§ç°å¢ãåæåããç°¡åãªæ¹æ³ã«ãªããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:43
msgid "You can also call ``ansible-test`` with the full path:"
msgstr "å®å
šãã¹ã§ ``ansible-test`` ãåŒã³åºãããšãã§ããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:50
msgid "integration_config.yml"
msgstr "integration_config.yml"
#: ../../rst/dev_guide/testing_integration.rst:52
msgid "Making your own version of ``integration_config.yml`` can allow for setting some tunable parameters to help run the tests better in your environment. Some tests (for example, cloud tests) will only run when access credentials are provided. For more information about supported credentials, refer to the various ``cloud-config-*.template`` files in the ``test/integration/`` directory."
msgstr "èªèº«ã§äœæãã ``integration_config.yml`` ããããšãäžéšã®èª¿æŽå¯èœãªãã©ã¡ãŒã¿ãŒãèšå®ããŠãç°å¢ã«ããé©åã«ãã¹ããå®è¡ã§ããŸããäžéšã®ãã¹ã (ã¯ã©ãŠããã¹ããªã©) ã¯ãã¢ã¯ã»ã¹èªèšŒæ
å ±ãæäŸãããŠããå Žåã«ã®ã¿å®è¡ãããŸãããµããŒã察象ã®èªèšŒæ
å ±ã®è©³çŽ°ã¯ã``test/integration/`` ãã£ã¬ã¯ããªãŒã§ããŸããŸãª ``cloud-config-*.template`` ãã¡ã€ã«ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing_integration.rst:61
msgid "Some tests assume things like hg, svn, and git are installed, and in path. Some tests (such as those for Amazon Web Services) need separate definitions, which will be covered later in this document."
msgstr "äžéšã®ãã¹ãã§ã¯ãhgãsvnãgit ãªã©ãã€ã³ã¹ããŒã«ããããã¹ã«ããããšãåæãšããŠããŸããäžéšã®ãã¹ã (Amazon Web Services ã®ãã¹ããªã©) ã«ã¯åå¥ã®å®çŸ©ãå¿
èŠã§ããããã«ã€ããŠã¯ããã®ããã¥ã¡ã³ãã®åŸåã§èª¬æããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:65
msgid "(Complete list pending)"
msgstr "(å®å
šã¯ãªã¹ãã¯åŸæ¥è¿œå ãããŸã)"
#: ../../rst/dev_guide/testing_integration.rst:68
msgid "Non-destructive Tests"
msgstr "éç Žå£ãã¹ã"
#: ../../rst/dev_guide/testing_integration.rst:70
msgid "These tests will modify files in subdirectories, but will not do things that install or remove packages or things outside of those test subdirectories. They will also not reconfigure or bounce system services."
msgstr "ãããã®ãã¹ãã¯ãµããã£ã¬ã¯ããªãŒå
ã®ãã¡ã€ã«ãä¿®æ£ããŸãããããã±ãŒãžããã¹ãã®ãµããã£ã¬ã¯ããªãŒä»¥å€ã«ãããã®ãã€ã³ã¹ããŒã«ãããåé€ããããããããªããšã¯ããŸããããŸããã·ã¹ãã ãµãŒãã¹ã®åèšå®ãããŠã³ã¹ãè¡ããŸããã"
#: ../../rst/dev_guide/testing_integration.rst:73
msgid "Running integration tests within containers"
msgstr "ã³ã³ãããŒå
ã§ã®çµ±åãã¹ãã®å®è¡"
#: ../../rst/dev_guide/testing_integration.rst:75
msgid "To protect your system from any potential changes caused by integration tests, and to ensure a sensible set of dependencies are available we recommend that you always run integration tests with the ``--docker`` option, for example ``--docker ubuntu2004``. See the `list of supported container images <https://github.com/ansible/ansible/blob/devel/test/lib/ansible_test/_data/completion/docker.txt>`_ for options (the ``default`` image is used for sanity and unit tests, as well as for platform independent integration tests such as those for cloud modules)."
msgstr "çµ±åãã¹ãã«ããæœåšçãªå€æŽããã·ã¹ãã ãå®ããé©åãªäŸåé¢ä¿ã»ãããå©çšå¯èœã«ãªãããã«ããã«ã¯ãåžžã« ``--docker`` ãªãã·ã§ã³ãã€ããŠçµ±åãã¹ããå®è¡ããããšãæšå¥šãããŸã (``--docker ubuntu2004`` ãªã©)ããªãã·ã§ã³ã«ã€ããŠã¯ã`list of supported container images <https://github.com/ansible/ansible/blob/devel/test/lib/ansible_test/_data/completion/docker.txt>`_ãåç
§ããŠãã ãã (``default`` ã€ã¡ãŒãžã¯ãå¥å
šæ§ãã¹ããšãŠããããã¹ããããã³ã¯ã©ãŠãã¢ãžã¥ãŒã«ãªã©ã®ãã©ãããã©ãŒã ã«äŸåããªãçµ±åãã¹ãã«äœ¿çšãããŸã)ã"
#: ../../rst/dev_guide/testing_integration.rst:77
msgid "Run as follows for all POSIX platform tests executed by our CI system in a Fedora 34 container:"
msgstr "Fedora 34 ã³ã³ãããŒã§ CI ã·ã¹ãã ã«ãã£ãŠå®è¡ããããã¹ãŠã® POSIX ãã©ãããã©ãŒã ãã¹ãã«å¯ŸããŠæ¬¡ã®ããã«å®è¡ããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:83
msgid "You can target a specific tests as well, such as for individual modules:"
msgstr "åã
ã®ã¢ãžã¥ãŒã«ãªã©ãç¹å®ã®ãã¹ãã察象ãšããããšãã§ããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:89
msgid "You can use the ``-v`` option to make the output more verbose:"
msgstr "``-v`` ãªãã·ã§ã³ã䜿çšãããšãåºåãããã«è©³çŽ°ã«ããããšãã§ããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:95
msgid "Use the following command to list all the available targets:"
msgstr "å©çšå¯èœãªã¿ãŒã²ããã®äžèŠ§ã衚瀺ããã«ã¯ã以äžã®ã³ãã³ããå®è¡ããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:101
msgid "Bash users"
msgstr "Bash ãŠãŒã¶ãŒ"
#: ../../rst/dev_guide/testing_integration.rst:103
msgid "If you use ``bash`` with ``argcomplete``, obtain a full list by doing: ``ansible-test integration <tab><tab>``"
msgstr "``bash`` ã ``argcomplete`` ãšãšãã«äœ¿çšããå Žåã¯ã``ansible-test integration <tab><tab>`` ãå®è¡ããŠå®å
šãªäžèŠ§ãååŸããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:106
msgid "Destructive Tests"
msgstr "ç Žå£ãã¹ã"
#: ../../rst/dev_guide/testing_integration.rst:108
msgid "These tests are allowed to install and remove some trivial packages. You will likely want to devote these to a virtual environment, such as Docker. They won't reformat your filesystem:"
msgstr "ãããã®ãã¹ãã§ã¯ãããã€ãã®ç°¡åãªããã±ãŒãžãã€ã³ã¹ããŒã«ããã³åé€ã§ããŸãããããã Docker ãªã©ã®ä»®æ³ç°å¢å°çšã«ããããšãæšå¥šãããŸãããããã¯ããã¡ã€ã«ã·ã¹ãã ãåãã©ãŒãããããŸããã"
#: ../../rst/dev_guide/testing_integration.rst:116
msgid "Windows Tests"
msgstr "Windows ãã¹ã"
#: ../../rst/dev_guide/testing_integration.rst:118
msgid "These tests exercise the ``winrm`` connection plugin and Windows modules. You'll need to define an inventory with a remote Windows Server to use for testing, and enable PowerShell Remoting to continue."
msgstr "ãããã®ãã¹ãã¯ã``winrm`` connection ãã©ã°ã€ã³ãš Windows ã¢ãžã¥ãŒã«ã«åŸããŸãããã¹ãã«äœ¿çšãããªã¢ãŒã Windows Server ãæã€ã€ã³ãã³ããªãŒãå®çŸ©ããPowerShell Remoting ãç¶ç¶ã§ããããã«ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:122
msgid "Running these tests may result in changes to your Windows host, so don't run them against a production/critical Windows environment."
msgstr "ãããã®ãã¹ããå®è¡ãããšãWindows ãã¹ããå€æŽã«ãªãå¯èœæ§ããããããå®çšŒåç°å¢ãéèŠãª Windows ç°å¢ã§ã¯å®è¡ããªãã§ãã ããã"
#: ../../rst/dev_guide/testing_integration.rst:125
msgid "Enable PowerShell Remoting (run on the Windows host via Remote Desktop):"
msgstr "PowerShell Remoting ãæå¹ã«ããŸã (ãªã¢ãŒããã¹ã¯ããããä»ã㊠Windows ãã¹ãã§å®è¡ããŸã)ã"
#: ../../rst/dev_guide/testing_integration.rst:131
msgid "Define Windows inventory:"
msgstr "Windows ã€ã³ãã³ããªãŒãå®çŸ©ããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:138
msgid "Run the Windows tests executed by our CI system:"
msgstr "CI ã·ã¹ãã ã§å®è¡ãã Windows ãã¹ããå®è¡ããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:145
msgid "Tests in containers"
msgstr "ã³ã³ãããŒã§ã®ãã¹ã"
#: ../../rst/dev_guide/testing_integration.rst:147
msgid "If you have a Linux system with Docker or Podman installed, running integration tests using the same containers used by the Ansible continuous integration (CI) system is recommended."
msgstr "DockerãŸãã¯Podman ãã€ã³ã¹ããŒã«ããã Linux ã·ã¹ãã ããæã¡ã®å Žåã¯ãAnsible ã®ç¶ç¶ççµ±å (CI) ã·ã¹ãã ã§äœ¿çšãããŠãããã®ãšåãã³ã³ãããŒã䜿çšããŠçµ±åãã¹ããå®è¡ããããšãæšå¥šãããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:150
msgid "Podman"
msgstr "Podman"
#: ../../rst/dev_guide/testing_integration.rst:152
msgid "By default, Podman will only be used if the Docker CLI is not installed. If you have Docker installed but want to use Podman, you can change this behavior by setting the environment variable ``ANSIBLE_TEST_PREFER_PODMAN``."
msgstr "ããã©ã«ãã§ãPodman 㯠Docker CLI ãã€ã³ã¹ããŒã«ãããŠããªãå Žåã«ã®ã¿äœ¿çšãããŸããDocker ãã€ã³ã¹ããŒã«ãããŠã㊠Podman ã䜿çšããå¿
èŠãããå Žåã¯ãç°å¢å€æ° ``ANSIBLE_TEST_PREFER_PODMAN`` ãèšå®ããŠãã®åäœãå€æŽã§ããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:155
msgid "Docker on non-Linux"
msgstr "Linux 以å€ã® Docker"
#: ../../rst/dev_guide/testing_integration.rst:157
msgid "Using Docker Engine to run Docker on a non-Linux host (such as macOS) is not recommended. Some tests may fail, depending on the image used for testing. Using the ``--docker-privileged`` option when running ``integration`` (not ``network-integration`` or ``windows-integration``) may resolve the issue."
msgstr "Docker Engine ã䜿çšã㊠(macOS ãªã©ã®) Linux 以å€ã®ãã¹ã㧠Docker ãå®è¡ããããšã¯æšå¥šãããŸããããã¹ãã«äœ¿çšãããã€ã¡ãŒãžã«ãã£ãŠã¯ãäžéšã®ãã¹ãã倱æããå¯èœæ§ããããŸãã(``network-integration`` ãŸã㯠``windows-integration``ã§ã¯ãªã) ``integration`` ã®å®è¡æã« ``--docker-privileged`` ãªãã·ã§ã³ã䜿çšãããšåé¡ã解決ããå¯èœæ§ããããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:162
msgid "Running Integration Tests"
msgstr "çµ±åãã¹ãã®å®è¡"
#: ../../rst/dev_guide/testing_integration.rst:164
msgid "To run all CI integration test targets for POSIX platforms in a Ubuntu 18.04 container:"
msgstr "Ubuntu 18.04 ã³ã³ãããŒå
ã® POSIX ãã©ãããã©ãŒã ã« CI çµ±åãã¹ãã¿ãŒã²ãããã¹ãŠãå®è¡ããã«ã¯ã次ã®ã³ãã³ããå®è¡ããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:170
msgid "You can also run specific tests or select a different Linux distribution. For example, to run tests for the ``ping`` module on a Ubuntu 18.04 container:"
msgstr "ç¹å®ã®ãã¹ããå®è¡ããããšããå¥ã® Linux ãã£ã¹ããªãã¥ãŒã·ã§ã³ãéžæããããšãã§ããŸããããšãã°ãUbuntu 18.04 ã³ã³ãããŒã§ ``ping`` ã¢ãžã¥ãŒã«ã®ãã¹ããå®è¡ããã«ã¯ã次ãå®è¡ããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:180
msgid "Container Images"
msgstr "ã³ã³ãããŒã€ã¡ãŒãž"
#: ../../rst/dev_guide/testing_integration.rst:182
msgid "Container images are updated regularly. To see the current list of container images:"
msgstr "ã³ã³ãããŒã€ã¡ãŒãžã¯å®æçã«æŽæ°ãããŸããçŸåšã®ã³ã³ãããŒã€ã¡ãŒãžäžèŠ§ã衚瀺ããã«ã¯ã以äžãå®è¡ããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:188
msgid "The list is under the **target docker images and supported python version** heading."
msgstr "ãã®äžèŠ§ã¯ã**target docker images and supported python version** ã®èŠåºãã®äžã«ãããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:191
msgid "Legacy Cloud Tests"
msgstr "ã¬ã¬ã·ãŒã®ã¯ã©ãŠããã¹ã"
#: ../../rst/dev_guide/testing_integration.rst:193
msgid "Some of the cloud tests run as normal integration tests, and others run as legacy tests; see the :ref:`testing_integration_legacy` page for more information."
msgstr "äžéšã®ã¯ã©ãŠããã¹ãã¯éåžžã®çµ±åãã¹ããšããŠå®è¡ãããã®ä»ã¯ã¬ã¬ã·ãŒãã¹ããšããŠå®è¡ããŸãã詳现ã¯ãã:ref:`testing_integration_legacy`ãã®ããã¥ã¡ã³ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing_integration.rst:198
msgid "Other configuration for Cloud Tests"
msgstr "ã¯ã©ãŠããã¹ãã®ãã®ä»ã®èšå®"
#: ../../rst/dev_guide/testing_integration.rst:200
msgid "In order to run some tests, you must provide access credentials in a file named ``cloud-config-aws.yml`` or ``cloud-config-cs.ini`` in the test/integration directory. Corresponding .template files are available for for syntax help. The newer AWS tests now use the file test/integration/cloud-config-aws.yml"
msgstr "test/integration ãã£ã¬ã¯ããªãŒã«ãã ``cloud-config-aws.yml`` ãŸã㯠``cloud-config-cs.ini`` ãšããååã®ãã¡ã€ã«ã«ããã¢ã¯ã»ã¹èªèšŒæ
å ±ãæå®ããå¿
èŠããããŸããæ§æãã«ãã§ã¯ã察å¿ãã .template ãã¡ã€ã«ãå©çšã§ããŸããæ°ãã AWS ãã¹ãã§ã¯ãtest/integration/cloud-config-aws.yml ãã¡ã€ã«ã䜿çšãããããã«ãªããŸããã"
#: ../../rst/dev_guide/testing_integration.rst:206
#: ../../rst/dev_guide/testing_integration_legacy.rst:60
msgid "IAM policies for AWS"
msgstr "AWS ã® IAM ããªã·ãŒ"
#: ../../rst/dev_guide/testing_integration.rst:208
msgid "Ansible needs fairly wide ranging powers to run the tests in an AWS account. This rights can be provided to a dedicated user. These need to be configured before running the test."
msgstr "Ansible ã¯ãAWS ã¢ã«ãŠã³ãã§ãã¹ããå®è¡ããããã«éåžžã«å¹
åºãæš©éãå¿
èŠã«ãªããŸãããã®æš©éã¯å°çšã®ãŠãŒã¶ãŒã«æäŸã§ããŸãããããã®æš©éã¯ããã¹ããå®è¡ããåã«èšå®ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:211
msgid "testing-policies"
msgstr "testing-policies"
#: ../../rst/dev_guide/testing_integration.rst:213
msgid "The GitHub repository `mattclay/aws-terminator <https://github.com/mattclay/aws-terminator/>`_ contains two sets of policies used for all existing AWS module integratoin tests. The `hacking/aws_config/setup_iam.yml` playbook can be used to setup two groups:"
msgstr "GitHub ãªããžããªãŒ `mattclay/aws-terminator <https://github.com/mattclay/aws-terminator/>`_ ã«ã¯ãæ¢åã® AWS ã¢ãžã¥ãŒã«ã®çµ±åãã¹ãã«äœ¿çšããããªã·ãŒã®ã»ããã 2 ã€å«ãŸããŸããPlaybook `hacking/aws_config/setup_iam.yml` ã䜿çšãããšã2 ã€ã®ã°ã«ãŒããèšå®ã§ããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:217
msgid "`ansible-integration-ci` will have the policies applied necessary to run any integration tests not marked as `unsupported` and are designed to mirror those used by Ansible's CI."
msgstr "`ansible-integration-ci` ã¯ãçµ±åãã¹ãã®å®è¡ã«å¿
èŠãšãªãããªã·ãŒãé©çšãããšå
±ã«ã`unsupported` ãšèå¥ããããAnsible ã® CI ã§äœ¿çšããããã©ãŒãªã³ã°çšã«èšèšãããŠããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:220
msgid "`ansible-integration-unsupported` will have the additional policies applied necessary to run the integration tests marked as `unsupported` including tests for managing IAM roles, users and groups."
msgstr "`ansible-integration-unsupported` ã¯ãIAM ããŒã«ããŠãŒã¶ãŒãããã³ã°ã«ãŒãã管çããããã®ãã¹ããå«ã `unsupported` ãšããŒã¯ãããçµ±åãã¹ãã®å®è¡ã«å¿
èŠãªè¿œå ã®ããªã·ãŒãé©çšãããŸãã"
#: ../../rst/dev_guide/testing_integration.rst:224
msgid "Once the groups have been created, you'll need to create a user and make the user a member of these groups. The policies are designed to minimize the rights of that user. Please note that while this policy does limit the user to one region, this does not fully restrict the user (primarily due to the limitations of the Amazon ARN notation). The user will still have wide privileges for viewing account definitions, and will also able to manage some resources that are not related to testing (for example, AWS lambdas with different names). Tests should not be run in a primary production account in any case."
msgstr "ã°ã«ãŒããäœæããããããŠãŒã¶ãŒãäœæããŠããã®ãŠãŒã¶ãŒããããã®ã°ã«ãŒãã®ã¡ã³ããŒã«ããå¿
èŠããããŸããããªã·ãŒã¯ããã®ãŠãŒã¶ãŒã®æš©å©ãæå°éã«ããããã®ãã®ã§ãããã®ããªã·ãŒã§ã¯ããŠãŒã¶ãŒã 1 ã€ã®å°åã«éå®ããŠããŸãããããã¯ãŠãŒã¶ãŒãå®å
šã«ã¯å¶éããŠããªãããšã«æ³šæããŠãã ãã (䞻㫠Amazon ARN è¡šèšã®å¶éã«ãããã®ã§ã)ããã®ãŠãŒã¶ãŒã¯ãã¢ã«ãŠã³ãå®çŸ©ãé²èŠ§ããããã®åºãæš©éãæã£ãŠããããã¹ãã«é¢ä¿ã®ãªãããã€ãã®ãªãœãŒã¹ (ããšãã°ãç°ãªãååã® AWS ã©ã ã) ã管çããããšãã§ããŸããã©ã®ãããªå Žåã§ãããã¹ããå®çšŒåç°å¢çšã®ãã©ã€ããªãŒã¢ã«ãŠã³ãã§å®è¡ãã¹ãã§ã¯ãããŸããã"
#: ../../rst/dev_guide/testing_integration.rst:232
#: ../../rst/dev_guide/testing_integration_legacy.rst:78
msgid "Other Definitions required"
msgstr "ãã®ä»ã«å¿
èŠãªå®çŸ©"
#: ../../rst/dev_guide/testing_integration.rst:234
#: ../../rst/dev_guide/testing_integration_legacy.rst:80
msgid "Apart from installing the policy and giving it to the user identity running the tests, a lambda role `ansible_integration_tests` has to be created which has lambda basic execution privileges."
msgstr "ããªã·ãŒãã€ã³ã¹ããŒã«ããŠããã¹ããå®è¡ããŠãããŠãŒã¶ ID ã«ãããä»äžããããšãšã¯å¥ã«ãã©ã ãããŒã« `ansible_integration_tests` ãäœæããå¿
èŠããããŸããããã¯ãã©ã ãã®åºæ¬çãªå®è¡æš©éãæã¡ãŸãã"
#: ../../rst/dev_guide/testing_integration.rst:240
msgid "Network Tests"
msgstr "ãããã¯ãŒã¯ãã¹ã"
#: ../../rst/dev_guide/testing_integration.rst:242
msgid "For guidance on writing network test see :ref:`testing_resource_modules`."
msgstr "ãããã¯ãŒã¯ãã¹ãã®æžã蟌ã¿ã«é¢ããæ
å ±ã¯ãã:ref:`testing_resource_modules`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing_integration.rst:246
msgid "Where to find out more"
msgstr "ãã®ä»ã®è©³çŽ°æ
å ±"
#: ../../rst/dev_guide/testing_integration.rst:248
msgid "If you'd like to know more about the plans for improving testing Ansible, join the `Testing Working Group <https://github.com/ansible/community/blob/main/meetings/README.md>`_."
msgstr "Ansible ãã¹ããæ¹åãã詳现ãªèšç»ã確èªãããå Žåã¯ã`Testing Working Group <https://github.com/ansible/community/blob/main/meetings/README.md>`_ ã«ãåå ãã ããã"
#: ../../rst/dev_guide/testing_integration_legacy.rst:7
msgid "Testing using the Legacy Integration system"
msgstr "ã¬ã¬ã·ãŒçµ±åã·ã¹ãã ã䜿çšãããã¹ã"
#: ../../rst/dev_guide/testing_integration_legacy.rst:11
msgid "This page details how to run the integration tests that haven't been ported to the new ``ansible-test`` framework."
msgstr "ãã®ããŒãžã§ã¯ãæ°ãã ``ansible-test`` ãã¬ãŒã ã¯ãŒã¯ã«ç§»æ€ãããŠããªãçµ±åãã¹ãã®å®è¡æ¹æ³ã説æããŸãã"
#: ../../rst/dev_guide/testing_integration_legacy.rst:13
msgid "The following areas are still tested using the legacy ``make tests`` command:"
msgstr "以äžã®ãšãªã¢ã¯ãã¬ã¬ã·ãŒã® ``make tests`` ã³ãã³ãã䜿çšããŠãã¹ããããŸãã"
#: ../../rst/dev_guide/testing_integration_legacy.rst:15
msgid "amazon (some)"
msgstr "amazon (äžéš)"
#: ../../rst/dev_guide/testing_integration_legacy.rst:16
msgid "azure"
msgstr "azure"
#: ../../rst/dev_guide/testing_integration_legacy.rst:17
msgid "cloudflare"
msgstr "cloudflare"
#: ../../rst/dev_guide/testing_integration_legacy.rst:18
msgid "cloudscale"
msgstr "cloudscale"
#: ../../rst/dev_guide/testing_integration_legacy.rst:19
msgid "cloudstack"
msgstr "cloudstack"
#: ../../rst/dev_guide/testing_integration_legacy.rst:20
msgid "consul"
msgstr "consul"
#: ../../rst/dev_guide/testing_integration_legacy.rst:21
msgid "exoscale"
msgstr "exoscale"
#: ../../rst/dev_guide/testing_integration_legacy.rst:22
msgid "gce"
msgstr "gce"
#: ../../rst/dev_guide/testing_integration_legacy.rst:23
msgid "jenkins"
msgstr "jenkins"
#: ../../rst/dev_guide/testing_integration_legacy.rst:24
msgid "rackspace"
msgstr "rackspace"
#: ../../rst/dev_guide/testing_integration_legacy.rst:26
msgid "Over time the above list will be reduced as tests are ported to the ``ansible-test`` framework."
msgstr "ãã¹ãã ``ansible-test`` ãã¬ãŒã ã¯ãŒã¯ã«ç§»æ€ããããšãäžèšã®ãªã¹ãã¯åŸã
ã«å°ãªããªã£ãŠãããŸãã"
#: ../../rst/dev_guide/testing_integration_legacy.rst:30
msgid "Running Cloud Tests"
msgstr "ã¯ã©ãŠããã¹ãã®å®è¡"
#: ../../rst/dev_guide/testing_integration_legacy.rst:32
msgid "Cloud tests exercise capabilities of cloud modules (for example, ec2_key). These are not 'tests run in the cloud' so much as tests that use the cloud modules and are organized by cloud provider."
msgstr "ã¯ã©ãŠããã¹ãã¯ãã¯ã©ãŠãã¢ãžã¥ãŒã« (ec2_key ãªã©) ã®æ©èœãå®è¡ããŸãããããã¯ããã¯ã©ãŠãã§å®è¡ããããã¹ããã§ã¯ãªããã¯ã©ãŠãã¢ãžã¥ãŒã«ã䜿çšããã¯ã©ãŠããããã€ããŒã«ãã£ãŠç·šæããããã¹ãã§ãã"
#: ../../rst/dev_guide/testing_integration_legacy.rst:36
msgid "Some AWS tests may use environment variables. It is recommended to either unset any AWS environment variables( such as ``AWS_DEFAULT_PROFILE``, ``AWS_SECRET_ACCESS_KEY``, and so on) or be sure that the environment variables match the credentials provided in ``credentials.yml`` to ensure the tests run with consistency to their full capability on the expected account. See `AWS CLI docs <https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html>`_ for information on creating a profile."
msgstr "AWS ãã¹ãã«ãã£ãŠã¯ãç°å¢å€æ°ã䜿çšãããã®ããããŸããAWS ç°å¢å€æ° (``AWS_DEFAULT_PROFILE``ã``AWS_SECRET_ACCESS_KEY`` ãªã©) ã®èšå®ã解é€ããããç°å¢å€æ°ã ``credentials.yml`` ã§æäŸãããèªèšŒæ
å ±ãšäžèŽããããšã確èªããŠãäºæ³ãããã¢ã«ãŠã³ãã®å®å
šãªæ©èœã«äžè²«æ§ã®ãããã¹ããå®è¡ãããããã«ããããšãæšå¥šãããŸãããããã¡ã€ã«ã®äœæã«é¢ããæ
å ±ã¯ã`AWS CLI ããã¥ã¡ã³ã <https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html>`_ ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing_integration_legacy.rst:38
msgid "Subsets of tests may be run by ``#commenting`` out unnecessary roles in the appropriate playbook, such as ``test/integration/amazon.yml``."
msgstr "ãã¹ãã®ãµãã»ããã¯ãé©å㪠Playbook ã® äžèŠãªããŒã«ã ``#commenting`` ã§ã³ã¡ã³ãã¢ãŠãããããšã§å®è¡ã§ããŸã (äŸ: ``test/integration/amazon.yml``)ã"
#: ../../rst/dev_guide/testing_integration_legacy.rst:40
msgid "In order to run cloud tests, you must provide access credentials in a file named ``credentials.yml``. A sample credentials file named ``credentials.template`` is available for syntax help."
msgstr "ã¯ã©ãŠããã¹ããå®è¡ããã«ã¯ã``credentials.yml`` ãšããååã®ãã¡ã€ã«ã§ã¢ã¯ã»ã¹èªèšŒæ
å ±ãæå®ããå¿
èŠããããŸããæ§æãã«ãã«ã¯ã``credentials.template`` ãšååã®ä»ãããµã³ãã«èªèšŒæ
å ±ãã¡ã€ã«ãå©çšã§ããŸãã"
#: ../../rst/dev_guide/testing_integration_legacy.rst:44
msgid "Provide cloud credentials:"
msgstr "ã¯ã©ãŠãèªèšŒãæäŸããŸãã"
#: ../../rst/dev_guide/testing_integration_legacy.rst:53
msgid "Other configuration"
msgstr "ãã®ä»ã®èšå®"
#: ../../rst/dev_guide/testing_integration_legacy.rst:55
msgid "In order to run some tests, you must provide access credentials in a file named ``credentials.yml``. A sample credentials file named ``credentials.template`` is available for syntax help."
msgstr "ããã€ãã®ãã¹ããå®è¡ããã«ã¯ã``credentials.yml`` ãšããååã®ãã¡ã€ã«ã§ã¢ã¯ã»ã¹èªèšŒæ
å ±ãæå®ããå¿
èŠããããŸããæ§æãã«ãã«ã¯ã``credentials.template`` ãšååã®ä»ãããµã³ãã«èªèšŒæ
å ±ãã¡ã€ã«ãå©çšã§ããŸãã"
#: ../../rst/dev_guide/testing_integration_legacy.rst:62
msgid "In order to run the tests in an AWS account ansible needs fairly wide ranging powers which can be provided to a dedicated user or temporary credentials using a specific policy configured in the AWS account."
msgstr "AWS ã¢ã«ãŠã³ãã§ãã¹ããå®è¡ããã«ã¯ãAnsible ã«ãAWS ã¢ã«ãŠã³ãã§èšå®ãããç¹å®ã®ããªã·ãŒã䜿çšããŠãå°çšã®ãŠãŒã¶ãäžæçãªèªèšŒæ
å ±ã«æäŸã§ãããããªãåºç¯å²ã®æš©éãå¿
èŠãšãªããŸãã"
#: ../../rst/dev_guide/testing_integration_legacy.rst:67
msgid "testing-iam-policy.json.j2"
msgstr "testing-iam-policy.json.j2"
#: ../../rst/dev_guide/testing_integration_legacy.rst:69
msgid "The testing-iam-policy.json.j2 file contains a policy which can be given to the user running the tests to give close to minimum rights required to run the tests. Please note that this does not fully restrict the user; The user has wide privileges for viewing account definitions and is also able to manage some resources that are not related to testing (for example, AWS lambdas with different names) primarily due to the limitations of the Amazon ARN notation. At the very least the policy limits the user to one region, however tests should not be run in a primary production account in any case."
msgstr "testing-iam-policy.json.j2 ãã¡ã€ã«ã«ã¯ããã¹ããå®è¡ãããŠãŒã¶ãŒã«ä»äžããããªã·ãŒãå«ãŸããŠããããã¹ãã®å®è¡ã«å¿
èŠãªæäœéã®æš©éã«è¿ããã®ãä»äžããããšãã§ããŸãããªããããã¯å®å
šãªå¶éã§ã¯ãªããã泚æããŠãã ããããã®ãŠãŒã¶ãŒã¯ãã¢ã«ãŠã³ãå®çŸ©ãé²èŠ§ããå¹
åºãæš©éãæã¡ã䞻㫠Amazon ARN è¡šèšã®å¶éã«ããããã¹ãã«é¢ä¿ã®ãªãäžéšã®ãªãœãŒã¹ (ããšãã°ãç°ãªãååã® AWS ã©ã ã) ã管çããããšãã§ããŸããå°ãªããšãããã®ããªã·ãŒã§ã¯ãŠãŒã¶ãŒã 1 ã€ã®ãªãŒãžã§ã³ã«éå®ããŠããŸããããããªãå Žåã§ãããã¹ãã¯å®çšŒåç°å¢ã®ãã©ã€ããªãŒã¢ã«ãŠã³ãã§å®è¡ãã¹ãã§ã¯ãããŸããã"
#: ../../rst/dev_guide/testing_integration_legacy.rst:86
#: ../../rst/dev_guide/testing_units.rst:24
msgid "Running Tests"
msgstr "ãã¹ãã®å®è¡"
#: ../../rst/dev_guide/testing_integration_legacy.rst:88
msgid "The tests are invoked via a ``Makefile``."
msgstr "ãã¹ã㯠``Makefile`` çµç±ã§åŒã³åºãããŸãã"
#: ../../rst/dev_guide/testing_integration_legacy.rst:90
msgid "If you haven't already got Ansible available use the local checkout by doing:"
msgstr "Ansible ããŸã å©çšå¯èœã§ãªãå Žåã¯ã以äžã®æ¹æ³ã§ããŒã«ã«ãã§ãã¯ã¢ãŠãã䜿çšããŸãã"
#: ../../rst/dev_guide/testing_integration_legacy.rst:96
msgid "Run the tests by doing:"
msgstr "以äžãå®è¡ããŠãã¹ããå®è¡ããŸãã"
#: ../../rst/dev_guide/testing_integration_legacy.rst:108
msgid "Possible cost of running cloud tests"
msgstr "ã¯ã©ãŠããã¹ãã«ãããå¯èœæ§ã®ããã³ã¹ã"
#: ../../rst/dev_guide/testing_integration_legacy.rst:110
msgid "Running cloud integration tests will create and destroy cloud resources. Running these tests may result in additional fees associated with your cloud account. Care is taken to ensure that created resources are removed. However, it is advisable to inspect your AWS console to ensure no unexpected resources are running."
msgstr "ã¯ã©ãŠãçµ±åãã¹ããå®è¡ãããšãã¯ã©ãŠããªãœãŒã¹ãäœæããã³ç Žæ£ãããŸãããã®ãããªãã¹ããå®è¡ãããšãã¯ã©ãŠãã¢ã«ãŠã³ãã«é¢é£ããè¿œå æéãçºçããå¯èœæ§ããããŸããäœæããããªãœãŒã¹ã確å®ã«åé€ãããããã«æ³šæãæãããŸãããã ããAWS ã³ã³ãœãŒã«ã調ã¹ãŠãäºæããªããªãœãŒã¹ãå®è¡ããŠããªãããšã確èªããããšãæšå¥šãããŸãã"
#: ../../rst/dev_guide/testing_pep8.rst:7
msgid "PEP 8"
msgstr "PEP 8"
#: ../../rst/dev_guide/testing_pep8.rst:11
msgid "`PEP 8`_ style guidelines are enforced by `pycodestyle`_ on all python files in the repository by default."
msgstr "`PEP 8`_ ã¹ã¿ã€ã«ã®ã¬ã€ãã©ã€ã³ã¯ãããã©ã«ãã§ãªããžããªãŒã«ãããã¹ãŠã® python ãã¡ã€ã«ã§ `pycodestyle`_ ã«ãã£ãŠåŒ·å¶ãããŸãã"
#: ../../rst/dev_guide/testing_pep8.rst:14
msgid "Running Locally"
msgstr "ããŒã«ã«ã§ã®å®è¡"
#: ../../rst/dev_guide/testing_pep8.rst:16
msgid "The `PEP 8`_ check can be run locally with::"
msgstr "`PEP 8`_ ãã§ãã¯ã¯ã以äžã䜿çšããŠããŒã«ã«ã§å®è¡ã§ããŸãã"
#: ../../rst/dev_guide/testing_running_locally.rst:9
msgid "This document describes how to:"
msgstr "æ¬æžã§ã¯ã以äžãè¡ãæ¹æ³ã説æããŸãã"
#: ../../rst/dev_guide/testing_running_locally.rst:11
msgid "Run tests locally using ``ansible-test``"
msgstr "``ansible-test`` ã䜿çšããŠãã¹ããããŒã«ã«ã§å®è¡ããŸãã"
#: ../../rst/dev_guide/testing_running_locally.rst:12
msgid "Extend"
msgstr "æ¡åŒµ"
#: ../../rst/dev_guide/testing_running_locally.rst:20
msgid "There are no special requirements for running ``ansible-test`` on Python 2.7 or later. The ``argparse`` package is required for Python 2.6. The requirements for each ``ansible-test`` command are covered later."
msgstr "Python 2.7 以éã«ã¯ã``ansible-test`` ãå®è¡ããããã®ç¹å¥ãªèŠä»¶ããããŸãããPython 2.6 ã«ã¯ ``argparse`` ããã±ãŒãžãå¿
èŠã§ããå ``ansible-test`` ã³ãã³ãã®èŠä»¶ã¯ãåŸã§èª¬æããŸãã"
#: ../../rst/dev_guide/testing_running_locally.rst:26
msgid "Test Environments"
msgstr "ãã¹ãç°å¢"
#: ../../rst/dev_guide/testing_running_locally.rst:28
msgid "Most ``ansible-test`` commands support running in one or more isolated test environments to simplify testing."
msgstr "ã»ãšãã©ã® ``ansible-test`` ã³ãã³ãã¯ããã¹ããç°¡åã«ããããã«ã1 ã€ä»¥äžã®åé¢ãã¹ãç°å¢ã§ã®å®è¡ããµããŒãããŸãã"
#: ../../rst/dev_guide/testing_running_locally.rst:32
msgid "Remote"
msgstr "ãªã¢ãŒã"
#: ../../rst/dev_guide/testing_running_locally.rst:34
msgid "The ``--remote`` option runs tests in a cloud hosted environment. An API key is required to use this feature."
msgstr "``--remote`` ãªãã·ã§ã³ã¯ãã¯ã©ãŠããã¹ãç°å¢ã§ãã¹ããå®è¡ããŸãããã®æ©èœã䜿çšããã«ã¯ API ããŒãå¿
èŠã§ãã"
#: ../../rst/dev_guide/testing_running_locally.rst:37
msgid "Recommended for integration tests."
msgstr "çµ±åãã¹ããžæšå¥šäºé
"
#: ../../rst/dev_guide/testing_running_locally.rst:39
msgid "See the `list of supported platforms and versions <https://github.com/ansible/ansible/blob/devel/test/lib/ansible_test/_data/completion/remote.txt>`_ for additional details."
msgstr "詳现ã¯ãã`ãµããŒã察象ã®ãã©ãããã©ãŒã ããã³ããŒãžã§ã³ã®äžèŠ§ <https://github.com/ansible/ansible/blob/devel/test/lib/ansible_test/_data/completion/remote.txt>`_ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing_running_locally.rst:42
msgid "Environment Variables"
msgstr "ç°å¢å€æ°"
#: ../../rst/dev_guide/testing_running_locally.rst:44
msgid "When using environment variables to manipulate tests there some limitations to keep in mind. Environment variables are:"
msgstr "ç°å¢å€æ°ã䜿çšããŠãã¹ããæäœããéã«ã¯ã以äžã®å¶éäºé
ã«çæããŠãã ãããç°å¢å€æ°ã¯ä»¥äžã®ããã«ãªããŸãã"
#: ../../rst/dev_guide/testing_running_locally.rst:46
msgid "Not propagated from the host to the test environment when using the ``--docker`` or ``--remote`` options."
msgstr "``--docker`` ãªãã·ã§ã³ãŸã㯠``--remote`` ãªãã·ã§ã³ã䜿çšããå Žåã¯ããã¹ããããã¹ãç°å¢ã«äŒæãããŸããã"
#: ../../rst/dev_guide/testing_running_locally.rst:47
msgid "Not exposed to the test environment unless enabled in ``test/lib/ansible_test/_internal/util.py`` in the ``common_environment`` function."
msgstr "``common_environment`` é¢æ°ã® ``test/lib/ansible_test/_internal/util.py`` ã§æå¹ã«ãããŠããªãéãããã¹ãç°å¢ã«ã¯å
¬éãããŸããã"
#: ../../rst/dev_guide/testing_running_locally.rst:49
msgid "Example: ``ANSIBLE_KEEP_REMOTE_FILES=1`` can be set when running ``ansible-test integration --venv``. However, using the ``--docker`` option would require running ``ansible-test shell`` to gain access to the Docker environment. Once at the shell prompt, the environment variable could be set and the tests executed. This is useful for debugging tests inside a container by following the :ref:`Debugging AnsibleModule-based modules <debugging_modules>` instructions."
msgstr "äŸ: ``ansible-test integration --venv`` ã®å®è¡æã« ``ANSIBLE_KEEP_REMOTE_FILES=1`` ãèšå®ã§ããŸããã``--docker`` ãªãã·ã§ã³ã䜿çšãããšã``ansible-test shell`` ãå®è¡ããDocker ç°å¢ãžã®ã¢ã¯ã»ã¹ãå¿
èŠã«ãªããŸããã·ã§ã«ããã³ããã§ã¯ãç°å¢å€æ°ãèšå®ããŠãã¹ããè¡ãå¯èœæ§ããããŸããããã¯ã:ref:`Debugging AnsibleModule-based modules <debugging_modules>` ã®æ瀺ã«åŸã£ãŠãã³ã³ãããŒå
ã§ãã¹ãããããã°ããäžã§åœ¹ç«ã¡ãŸãã"
#: ../../rst/dev_guide/testing_running_locally.rst:55
msgid "Interactive Shell"
msgstr "ã€ã³ã¿ã©ã¯ãã£ãã·ã§ã«"
#: ../../rst/dev_guide/testing_running_locally.rst:57
msgid "Use the ``ansible-test shell`` command to get an interactive shell in the same environment used to run tests. Examples:"
msgstr "``ansible-test shell`` ã³ãã³ãã䜿çšããŠããã¹ããå®è¡ããã®ã«äœ¿çšããåãç°å¢ã§ã€ã³ã¿ã©ã¯ãã£ãã·ã§ã«ãååŸããŸãã以äžã¯äŸã«ãªããŸãã"
#: ../../rst/dev_guide/testing_running_locally.rst:59
msgid "``ansible-test shell --docker`` - Open a shell in the default docker container."
msgstr "``ansible-test shell --docker`` - ããã©ã«ãã® docker ã³ã³ãããŒã§ã·ã§ã«ãéããŸãã"
#: ../../rst/dev_guide/testing_running_locally.rst:60
msgid "``ansible-test shell --venv --python 3.6`` - Open a shell in a Python 3.6 virtual environment."
msgstr "``ansible-test shell --venv --python 3.6`` - Python 3.6 ä»®æ³ç°å¢ã§ã·ã§ã«ãéããŸãã"
#: ../../rst/dev_guide/testing_running_locally.rst:64
msgid "Code Coverage"
msgstr "ã³ãŒãã®å¯Ÿè±¡ç¯å²"
#: ../../rst/dev_guide/testing_running_locally.rst:66
msgid "Code coverage reports make it easy to identify untested code for which more tests should be written. Online reports are available but only cover the ``devel`` branch (see :ref:`developing_testing`). For new code local reports are needed."
msgstr "ã³ãŒãã®å¯Ÿè±¡ç¯å²ã¬ããŒãã¯ãããå€ãã®ãã¹ããèšè¿°ãããã¹ãæªãã¹ãã®ã³ãŒããç°¡åã«èå¥ããããšãã§ããŸãããªã³ã©ã€ã³ã¬ããŒããå©çšã§ããŸããã``devel`` ãã©ã³ãã®ã¿ãæ±ããŸã (:ref:`developing_testing` ãåç
§)ãæ°èŠã³ãŒãã®ããŒã«ã«ã¬ããŒããå¿
èŠãªå Žåã¯ã以äžãè¡ããŸãã"
#: ../../rst/dev_guide/testing_running_locally.rst:70
msgid "Add the ``--coverage`` option to any test command to collect code coverage data. If you aren't using the ``--venv`` or ``--docker`` options which create an isolated python environment then you may have to use the ``--requirements`` option to ensure that the correct version of the coverage module is installed:"
msgstr "ã³ãŒãã«ãã¬ããžããŒã¿ãåéãããã¹ãã³ãã³ãã« ``--coverage`` ãªãã·ã§ã³ãè¿œå ããŸããåé¢ãã python ç°å¢ãäœæãã ``--venv`` ãªãã·ã§ã³ãŸã㯠``--docker`` ãªãã·ã§ã³ã䜿çšããŠããªãå Žåã¯ã``--requirements`` ãªãã·ã§ã³ã䜿çšããŠã«ãã¬ããžã¢ãžã¥ãŒã«ã®æ£ããããŒãžã§ã³ãã€ã³ã¹ããŒã«ãããŠããããšã確èªããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing_running_locally.rst:83
#: ../../rst/dev_guide/testing_units.rst:197
msgid "Reports can be generated in several different formats:"
msgstr "Report ã¯ãè€æ°ã®åœ¢åŒã§çæã§ããŸãã"
#: ../../rst/dev_guide/testing_running_locally.rst:85
#: ../../rst/dev_guide/testing_units.rst:199
msgid "``ansible-test coverage report`` - Console report."
msgstr "``ansible-test coverage report`` - ã³ã³ãœãŒã«ã¬ããŒãã"
#: ../../rst/dev_guide/testing_running_locally.rst:86
#: ../../rst/dev_guide/testing_units.rst:200
msgid "``ansible-test coverage html`` - HTML report."
msgstr "``ansible-test coverage html`` - HTML ã¬ããŒãã"
#: ../../rst/dev_guide/testing_running_locally.rst:87
#: ../../rst/dev_guide/testing_units.rst:201
msgid "``ansible-test coverage xml`` - XML report."
msgstr "``ansible-test coverage xml`` - XML ã¬ããŒãã"
#: ../../rst/dev_guide/testing_running_locally.rst:89
msgid "To clear data between test runs, use the ``ansible-test coverage erase`` command. For a full list of features see the online help:"
msgstr "ãã¹ãå®è¡éã®ããŒã¿ãæ¶å»ããã«ã¯ã``ansible-test coverage erase`` ã³ãã³ãã䜿çšããŸããæ©èœã®å
šäžèŠ§ã«ã€ããŠã¯ããªã³ã©ã€ã³ãã«ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing_sanity.rst:11
msgid "Sanity tests are made up of scripts and tools used to perform static code analysis. The primary purpose of these tests is to enforce Ansible coding standards and requirements."
msgstr "å¥å
šæ§ãã¹ãã¯ãéçã³ãŒãåæã®å®è¡ã«äœ¿çšãããã¹ã¯ãªããããã³ããŒã«ã§æ§æãããŠããŸãããããã®ãã¹ãã®äž»ãªç®çã¯ãAnsible ã³ãŒãã£ã³ã°ã®ä»æ§ããã³èŠä»¶ãé©çšããããšã§ãã"
#: ../../rst/dev_guide/testing_sanity.rst:14
msgid "Tests are run with ``ansible-test sanity``. All available tests are run unless the ``--test`` option is used."
msgstr "ãã¹ãã¯ã``ansible-test sanity`` ã§å®è¡ããŸãã``--test`` ãªãã·ã§ã³ã䜿çšããªãéããå©çšå¯èœãªãã¹ãã¯ãã¹ãŠå®è¡ããŸãã"
#: ../../rst/dev_guide/testing_sanity.rst:19
msgid "How to run"
msgstr "å®è¡æ¹æ³"
#: ../../rst/dev_guide/testing_sanity.rst:22
msgid "To run sanity tests using docker, always use the default docker image by passing the ``--docker`` or ``--docker default`` argument."
msgstr "docker ã䜿çšããŠå¥åžžæ§ãã¹ããå®è¡ããã«ã¯ãåžžã« ``--docker`` åŒæ°ãŸã㯠``--docker default`` åŒæ°ãæž¡ãããšã§ããã©ã«ãã® docker ã€ã¡ãŒãžãåžžã«äœ¿çšããŸãã"
#: ../../rst/dev_guide/testing_sanity.rst:26
msgid "When using docker and the ``--base-branch`` argument, also use the ``--keep-git`` argument to avoid git related errors."
msgstr "docker ããã³ ``--base-branch`` åŒæ°ã䜿çšããå Žåã¯ãgit é¢é£ã®ãšã©ãŒãåé¿ããããã« ``--keep-git`` åŒæ°ã䜿çšããŸãã"
#: ../../rst/dev_guide/testing_sanity.rst:52
#: ../../rst/dev_guide/testing_units.rst:17
msgid "Available Tests"
msgstr "å©çšå¯èœãªãã¹ã"
#: ../../rst/dev_guide/testing_sanity.rst:54
msgid "Tests can be listed with ``ansible-test sanity --list-tests``."
msgstr "ãã¹ã㯠``ansible-test sanity --list-tests`` ã§äžèŠ§è¡šç€ºã§ããŸãã"
#: ../../rst/dev_guide/testing_units.rst:7
msgid "Unit Tests"
msgstr "ãŠããããã¹ã"
#: ../../rst/dev_guide/testing_units.rst:9
msgid "Unit tests are small isolated tests that target a specific library or module. Unit tests in Ansible are currently the only way of driving tests from python within Ansible's continuous integration process. This means that in some circumstances the tests may be a bit wider than just units."
msgstr "ãŠããããã¹ãã¯ãç¹å®ã®ã©ã€ãã©ãªãŒãŸãã¯ã¢ãžã¥ãŒã«ã察象ãšããå°èŠæš¡ã®åé¢ãã¹ãã§ããçŸåšãAnsible ã®ãŠããããã¹ãã¯ãAnsible ã®ç¶ç¶ççµ±åããã»ã¹ã®äžã§ãpython ãããã¹ããå®è¡ããå¯äžã®æ¹æ³ã§ããã€ãŸããç¶æ³ã«ãã£ãŠã¯ããã¹ãã«ã¯ãŠããã以å€ã®ãã®ãå«ãŸããå Žåãããããšãæå³ããŸãã"
#: ../../rst/dev_guide/testing_units.rst:19
msgid "Unit tests can be found in `test/units <https://github.com/ansible/ansible/tree/devel/test/units>`_. Notice that the directory structure of the tests matches that of ``lib/ansible/``."
msgstr "ãŠããããã¹ã㯠`test/units <https://github.com/ansible/ansible/tree/devel/test/units>`_ ã«ãããŸãããã¹ãã®ãã£ã¬ã¯ããªãŒæ§é ã ``lib/ansible/`` ãšäžèŽããããšã«æ³šæããŠãã ããã"
#: ../../rst/dev_guide/testing_units.rst:27
msgid "To run unit tests using docker, always use the default docker image by passing the ``--docker`` or ``--docker default`` argument."
msgstr "docker ã䜿çšããŠãŠããããã¹ããå®è¡ããã«ã¯ã``--docker`` åŒæ°ãŸã㯠``--docker default`` åŒæ°ãæž¡ãããšã§åžžã«ããã©ã«ãã® docker ã€ã¡ãŒãžã䜿çšããŸãã"
#: ../../rst/dev_guide/testing_units.rst:30
msgid "The Ansible unit tests can be run across the whole code base by doing:"
msgstr "Ansible ã®ãŠããããã¹ãã¯ã以äžã®æäœãå®è¡ããŠã³ãŒãããŒã¹å
šäœã§å®è¡ã§ããŸãã"
#: ../../rst/dev_guide/testing_units.rst:50
msgid "If you are running unit tests against things other than modules, such as module utilities, specify the whole file path:"
msgstr "ã¢ãžã¥ãŒã«ãŠãŒãã£ãªãã£ãŒãªã©ã®ã¢ãžã¥ãŒã«ä»¥å€ã®ãã®ã«å¯ŸããŠãŠããããã¹ããå®è¡ããŠããå Žåã¯ããã¡ã€ã«ãã¹å
šäœãæå®ããŸãã"
#: ../../rst/dev_guide/testing_units.rst:56
msgid "For advanced usage see the online help:"
msgstr "é«åºŠãªäœ¿çšæ¹æ³ã¯ããªã³ã©ã€ã³ãã«ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing_units.rst:62
msgid "You can also run tests in Ansible's continuous integration system by opening a pull request. This will automatically determine which tests to run based on the changes made in your pull request."
msgstr "ãã«èŠæ±ãéããŠãAnsible ã®ç¶ç¶ççµ±åã·ã¹ãã ã§ãã¹ããå®è¡ããããšãã§ããŸããããã«ããããã«èŠæ±ã§å®è¡ãããå€æŽã«åºã¥ããŠãå®è¡ããããã¹ããèªåçã«æ±ºå®ãããŸãã"
#: ../../rst/dev_guide/testing_units.rst:70
msgid "If you are running ``ansible-test`` with the ``--docker`` or ``--venv`` option you do not need to install dependencies manually."
msgstr "``--docker`` ãªãã·ã§ã³ãŸã㯠``--venv`` ãªãã·ã§ã³ãæå®ã㊠``ansible-test`` ãå®è¡ããŠããå Žåã¯ãäŸåé¢ä¿ãæåã§ã€ã³ã¹ããŒã«ããå¿
èŠã¯ãããŸããã"
#: ../../rst/dev_guide/testing_units.rst:72
msgid "Otherwise you can install dependencies using the ``--requirements`` option, which will install all the required dependencies needed for unit tests. For example:"
msgstr "ãã以å€ã®å Žåã¯ã``--requirements`` ãªãã·ã§ã³ã䜿çšããŠäŸåé¢ä¿ãã€ã³ã¹ããŒã«ãããŠããããã¹ãã«å¿
èŠãªäŸåé¢ä¿ããã¹ãŠã€ã³ã¹ããŒã«ããŸãã以äžã«äŸã瀺ããŸãã"
#: ../../rst/dev_guide/testing_units.rst:80
msgid "The list of unit test requirements can be found at `test/units/requirements.txt <https://github.com/ansible/ansible/tree/devel/test/units/requirements.txt>`_."
msgstr "ãŠããããã¹ãã®èŠä»¶äžèŠ§ã¯ã`test/units/requirements.txt <https://github.com/ansible/ansible/tree/devel/test/units/requirements.txt>`_ ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing_units.rst:83
msgid "This does not include the list of unit test requirements for ``ansible-test`` itself, which can be found at `test/lib/ansible_test/_data/requirements/units.txt <https://github.com/ansible/ansible/tree/devel/test/lib/ansible_test/_data/requirements/units.txt>`_."
msgstr "ããã«ã¯ã``ansible-test`` ã®ãŠããããã¹ãèŠä»¶ã®ãªã¹ãã¯å«ãŸããŠããŸãããããã¯ã`test/lib/ansible_test/_data/requirements/units.txt <https://github.com/ansible/ansible/tree/devel/test/lib/ansible_test/_data/requirements/units.txt>`_ ã§èŠã€ããããšãã§ããŸãã"
#: ../../rst/dev_guide/testing_units.rst:87
msgid "See also the `constraints <https://github.com/ansible/ansible/blob/devel/test/lib/ansible_test/_data/requirements/constraints.txt>`_ applicable to all test commands."
msgstr "ãã¹ãŠã®ã³ãã³ãã«é©çšå¯èœãªã`å¶çŽ <https://github.com/ansible/ansible/blob/devel/test/lib/ansible_test/_data/requirements/constraints.txt>`_ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing_units.rst:93
msgid "Extending unit tests"
msgstr "ãŠããããã¹ãã®æ¡åŒµ"
#: ../../rst/dev_guide/testing_units.rst:96
msgid "What a unit test isn't"
msgstr "ãŠããããã¹ã以å€ã®ãã®"
#: ../../rst/dev_guide/testing_units.rst:98
msgid "If you start writing a test that requires external services then you may be writing an integration test, rather than a unit test."
msgstr "å€éšãµãŒãã¹ãå¿
èŠãšãããã¹ããæžãå§ãããšããŠããããã¹ãã§ã¯ãªãçµ±åãã¹ããæžãããšãã§ããŸãã"
#: ../../rst/dev_guide/testing_units.rst:103
msgid "Structuring Unit Tests"
msgstr "ãŠããããã¹ãã®æ§é "
#: ../../rst/dev_guide/testing_units.rst:105
msgid "Ansible drives unit tests through `pytest <https://docs.pytest.org/en/latest/>`_. This means that tests can either be written a simple functions which are included in any file name like ``test_<something>.py`` or as classes."
msgstr "Ansible ã¯ã`pytest <https://docs.pytest.org/en/latest/>`_ ã§ãŠããããã¹ããè¡ããŸããããã¯ããã¹ãã¯ã``test_<something>.py`` ã®ãã¡ã€ã«åãŸãã¯ã¯ã©ã¹ãšããŠå«ãŸããåçŽãªé¢æ°ãèšè¿°ã§ããããšãæå³ããŸãã"
#: ../../rst/dev_guide/testing_units.rst:109
msgid "Here is an example of a function:"
msgstr "以äžã¯ãé¢æ°ã®äŸã§ãã"
#: ../../rst/dev_guide/testing_units.rst:121
msgid "Here is an example of a class:"
msgstr "以äžã¯ã¯ã©ã¹ã®äŸã§ãã"
#: ../../rst/dev_guide/testing_units.rst:143
msgid "Both methods work fine in most circumstances; the function-based interface is simpler and quicker and so that's probably where you should start when you are just trying to add a few basic tests for a module. The class-based test allows more tidy set up and tear down of pre-requisites, so if you have many test cases for your module you may want to refactor to use that."
msgstr "ã©ã¡ãã®æ¹æ³ããã»ãšãã©ã®ç¶æ³ã§æ£åžžã«æ©èœããŸããé¢æ°ããŒã¹ã®ã€ã³ã¿ãŒãã§ãŒã¹ã®æ¹ãã·ã³ãã«ã§éããããã¢ãžã¥ãŒã«ã«ããã€ãã®åºæ¬çãªãã¹ããè¿œå ããããšããŠããå Žåã¯ãããããå§ããããšãæšå¥šãããŸããã¯ã©ã¹ããŒã¹ã®ãã¹ãã§ã¯ãåææ¡ä»¶ã®èšå®ãå解ãããæŽç¶ãšè¡ãããšãã§ãããããã¢ãžã¥ãŒã«ã«å€ãã®ãã¹ãã±ãŒã¹ãããå Žåã¯ãããã䜿çšããããã«ãªãã¡ã¯ã¿ãªã³ã°ããããšãæšå¥šãããŸãã"
#: ../../rst/dev_guide/testing_units.rst:149
msgid "Assertions using the simple ``assert`` function inside the tests will give full information on the cause of the failure with a trace-back of functions called during the assertion. This means that plain asserts are recommended over other external assertion libraries."
msgstr "ãã¹ãå
ã®ç°¡å㪠``assert`` é¢æ°ã䜿çšããã¢ãµãŒã·ã§ã³ã«ãããã¢ãµãŒã·ã§ã³äžã«åŒã³åºãããé¢æ°ã®ãã¬ãŒã¹ããã¯ã§é害ã«é¢ããå®å
šãªæ
å ±ã衚瀺ãããŸããããã¯ãä»ã®å€éšã¢ãµãŒã·ã§ã³ã©ã€ãã©ãªãŒãããããã¬ãŒã³ã¢ãµãŒããæšå¥šãããããšãæå³ããŸãã"
#: ../../rst/dev_guide/testing_units.rst:154
msgid "A number of the unit test suites include functions that are shared between several modules, especially in the networking arena. In these cases a file is created in the same directory, which is then included directly."
msgstr "å€ãã®ãŠããããã¹ãã¹ã€ãŒãã«ã¯ãç¹ã«ãããã¯ãŒã¯ã®åéã§ã¯ãè€æ°ã®ã¢ãžã¥ãŒã«ã§å
±æãããé¢æ°ãå«ãŸããŠããŸãããã®å Žåã¯ãåããã£ã¬ã¯ããªãŒã«ãã¡ã€ã«ãäœæãããŸãããã®ãã¡ã€ã«ã¯ãçŽæ¥å«ãŸããŸãã"
#: ../../rst/dev_guide/testing_units.rst:160
msgid "Module test case common code"
msgstr "ã¢ãžã¥ãŒã«ãã¹ãã±ãŒã¹ã®å
±éã³ãŒã"
#: ../../rst/dev_guide/testing_units.rst:162
msgid "Keep common code as specific as possible within the `test/units/` directory structure. Don't import common unit test code from directories outside the current or parent directories."
msgstr "`test/units/` ãã£ã¬ã¯ããªãŒæ§é å
ã§å¯èœãªéãå
·äœçã«å
±éã³ãŒããç¶æããŸããçŸåšã®ãã£ã¬ã¯ããªãŒãŸãã¯èŠªãã£ã¬ã¯ããªãŒä»¥å€ã®ãã£ã¬ã¯ããªãŒããå
±éã®ãŠããããã¹ãã³ãŒããã€ã³ããŒãããªãã§ãã ããã"
#: ../../rst/dev_guide/testing_units.rst:165
msgid "Don't import other unit tests from a unit test. Any common code should be in dedicated files that aren't themselves tests."
msgstr "ãŠããããã¹ãããä»ã®ãŠããããã¹ããã€ã³ããŒãããªãã§ãã ãããå
±éã®ã³ãŒãã¯ããã¹ãèªäœã§ã¯ãªãå°çšã®ãã¡ã€ã«ã«å«ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing_units.rst:170
msgid "Fixtures files"
msgstr "Fixtures ãã¡ã€ã«"
#: ../../rst/dev_guide/testing_units.rst:172
msgid "To mock out fetching results from devices, or provide other complex data structures that come from external libraries, you can use ``fixtures`` to read in pre-generated data."
msgstr "ããã€ã¹ããã®çµæã®ååŸãæš¡å£ããããå€éšã©ã€ãã©ãªãŒããååŸããä»ã®è€éãªããŒã¿æ§é ãæäŸããããã«ã``fixtures`` ã䜿çšããŠäºåã«çæãããããŒã¿ãèªã¿èŸŒãããšãã§ããŸãã"
#: ../../rst/dev_guide/testing_units.rst:175
msgid "You can check how `fixtures <https://github.com/ansible/ansible/tree/devel/test/units/module_utils/facts/fixtures/cpuinfo>`_ are used in `cpuinfo fact tests <https://github.com/ansible/ansible/blob/9f72ff80e3fe173baac83d74748ad87cb6e20e64/test/units/module_utils/facts/hardware/linux_data.py#L384>`_"
msgstr "`cpuinfo ãã¡ã¯ããã¹ã <https://github.com/ansible/ansible/blob/9f72ff80e3fe173baac83d74748ad87cb6e20e64/test/units/module_utils/facts/hardware/linux_data.py#L384>`_ ã§ã`fixtures <https://github.com/ansible/ansible/tree/devel/test/units/module_utils/facts/fixtures/cpuinfo>`_ ã䜿çšãããæ¹æ³ã確èªããããšãã§ããŸãã"
#: ../../rst/dev_guide/testing_units.rst:178
msgid "If you are simulating APIs you may find that Python placebo is useful. See :ref:`testing_units_modules` for more information."
msgstr "API ã®ã·ãã¥ã¬ãŒã·ã§ã³ãããŠããã®ã§ããã°ãPython ã®ãã©ã·ãŒãã圹ã«ç«ã€ãããããŸããã詳现ã¯ãã:ref:`testing_units_modules`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing_units.rst:183
msgid "Code Coverage For New or Updated Unit Tests"
msgstr "æ°èŠãŠããããã¹ããŸãã¯æŽæ°ããããŠããããã¹ãçšã®ã³ãŒã察å¿"
#: ../../rst/dev_guide/testing_units.rst:184
msgid "New code will be missing from the codecov.io coverage reports (see :ref:`developing_testing`), so local reporting is needed. Most ``ansible-test`` commands allow you to collect code coverage; this is particularly useful when to indicate where to extend testing."
msgstr "codecov.io ã«ãã¬ããžã¬ããŒãããæ°ããã³ãŒããæ¬ èœã (:ref:`developing_testing`ãåç
§)ãããŒã«ã«ã¬ããŒããå¿
èŠã§ããã»ãšãã©ã® ``ansible-test`` ã³ãã³ãã䜿çšãããšãã³ãŒãã«ãã¬ããžãåéã§ããŸããããã¯ããã¹ããæ¡åŒµããå Žæã瀺ããšãã«ç¹ã«åœ¹ç«ã¡ãŸãã"
#: ../../rst/dev_guide/testing_units.rst:188
msgid "To collect coverage data add the ``--coverage`` argument to your ``ansible-test`` command line:"
msgstr "ã«ãã¬ãŒãžããŒã¿ãåéããã«ã¯ã``--coverage`` åŒæ°ã ``ansible-test`` ã³ãã³ãã©ã€ã³ã«è¿œå ããŸãã"
#: ../../rst/dev_guide/testing_units.rst:195
msgid "Results will be written to ``test/results/reports/coverage/index.html``"
msgstr "çµæ㯠``test/results/reports/coverage/index.html`` ã«æžã蟌ãŸããŸãã"
#: ../../rst/dev_guide/testing_units.rst:203
msgid "To clear data between test runs, use the ``ansible-test coverage erase`` command. See :ref:`testing_running_locally` for more information about generating coverage reports."
msgstr "ãã¹ãå®è¡éã®ããŒã¿ãæ¶å»ããã«ã¯ã``ansible-test coverage erase`` ã³ãã³ãã䜿çšããŸããã«ãã¬ããžã¬ããŒãã®çæã®è©³çŽ°ã¯ãã:ref:`testing_running_locally`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing_units.rst:210
msgid ":ref:`testing_units_modules`"
msgstr ":ref:`testing_units_modules`"
#: ../../rst/dev_guide/testing_units.rst:211
msgid "Special considerations for unit testing modules"
msgstr "ãŠããããã¹ãã¢ãžã¥ãŒã«ã«é¢ããç¹å¥ãªèæ
®äºé
"
#: ../../rst/dev_guide/testing_units.rst:212
#: ../../rst/dev_guide/testing_units_modules.rst:569
msgid ":ref:`testing_running_locally`"
msgstr ":ref:`testing_running_locally`"
#: ../../rst/dev_guide/testing_units.rst:213
#: ../../rst/dev_guide/testing_units_modules.rst:570
msgid "Running tests locally including gathering and reporting coverage data"
msgstr "ã«ãã¬ãŒãžããŒã¿ã®åéãšã¬ããŒããå«ããããŒã«ã«ã§ã®ãã¹ãã®å®è¡"
#: ../../rst/dev_guide/testing_units.rst:214
#: ../../rst/dev_guide/testing_units_modules.rst:573
msgid "`Python 3 documentation - 26.4. unittest â Unit testing framework <https://docs.python.org/3/library/unittest.html>`_"
msgstr "`Python 3 documentation - 26.4. unittest â Unit testing framework <https://docs.python.org/3/library/unittest.html>`_"
#: ../../rst/dev_guide/testing_units.rst:215
#: ../../rst/dev_guide/testing_units_modules.rst:574
msgid "The documentation of the unittest framework in python 3"
msgstr "Python 3 ã«ããããŠããããã¹ããã¬ãŒã ã¯ãŒã¯ã®ããã¥ã¡ã³ã"
#: ../../rst/dev_guide/testing_units.rst:216
#: ../../rst/dev_guide/testing_units_modules.rst:575
msgid "`Python 2 documentation - 25.3. unittest â Unit testing framework <https://docs.python.org/3/library/unittest.html>`_"
msgstr "`Python 2 documentation - 25.3. unittest â Unit testing framework <https://docs.python.org/3/library/unittest.html>`_"
#: ../../rst/dev_guide/testing_units.rst:217
#: ../../rst/dev_guide/testing_units_modules.rst:576
msgid "The documentation of the earliest supported unittest framework - from Python 2.6"
msgstr "ãµããŒããããŠããåæã®ãŠããããã¹ããã¬ãŒã ã¯ãŒã¯ã®ããã¥ã¡ã³ã (Python 2.6)"
#: ../../rst/dev_guide/testing_units.rst:218
#: ../../rst/dev_guide/testing_units_modules.rst:577
msgid "`pytest: helps you write better programs <https://docs.pytest.org/en/latest/>`_"
msgstr "`pytest: helps you write better programs <https://docs.pytest.org/en/latest/>`_"
#: ../../rst/dev_guide/testing_units.rst:219
#: ../../rst/dev_guide/testing_units_modules.rst:578
msgid "The documentation of pytest - the framework actually used to run Ansible unit tests"
msgstr "pytest ã®ããã¥ã¡ã³ã - Ansible ãŠããããã¹ãã®å®è¡ã«å®éã«äœ¿çšãããŠãããã¬ãŒã ã¯ãŒã¯"
#: ../../rst/dev_guide/testing_units_modules.rst:7
msgid "Unit Testing Ansible Modules"
msgstr "Ansible ã¢ãžã¥ãŒã«ã®ãŠããããã¹ã"
#: ../../rst/dev_guide/testing_units_modules.rst:16
msgid "This document explains why, how and when you should use unit tests for Ansible modules. The document doesn't apply to other parts of Ansible for which the recommendations are normally closer to the Python standard. There is basic documentation for Ansible unit tests in the developer guide :ref:`testing_units`. This document should be readable for a new Ansible module author. If you find it incomplete or confusing, please open a bug or ask for help on the #ansible-devel chat channel (using Matrix at ansible.im or using IRC at `irc.libera.chat <https://libera.chat/>`_)."
msgstr "ãã®ããã¥ã¡ã³ãã§ã¯ãAnsible ã¢ãžã¥ãŒã«ã«ãŠããããã¹ãã䜿çšããçç±ãæ¹æ³ãã¿ã€ãã³ã°ã説æããŸãããã®ããã¥ã¡ã³ãã¯ãéåžž Python ã®æšæºã«è¿ãæšå¥šäºé
ãæ〠Ansible ã®ä»ã®éšåã«ã¯é©çšãããŸãããAnsible ã®ãŠããããã¹ãã«é¢ããåºæ¬çãªããã¥ã¡ã³ãã¯ãéçºè
ã¬ã€ãã®ã:ref:`testing_units`ãã«ãããŸãããã®ããã¥ã¡ã³ãã¯ãæ°ãã Ansible ã¢ãžã¥ãŒã«ã®äœæè
ã«ãšã£ãŠèªã¿ããããã®ã§ãªããã°ãªããŸãããäžå®å
šã ã£ãããåããã«ããã£ããããå Žåã¯ããã°ãå ±åãããã#ansible-develãã£ãããã£ã³ãã« ã§å©ããæ±ãããããŠãã ããïŒansible.imã§Matrixã䜿çšããŸãã¯`irc.libera.chat <https://libera.chat/>`_ã§IRCã䜿çšïŒã"
#: ../../rst/dev_guide/testing_units_modules.rst:24
msgid "What Are Unit Tests?"
msgstr "ãŠããããã¹ããšã¯"
#: ../../rst/dev_guide/testing_units_modules.rst:26
msgid "Ansible includes a set of unit tests in the :file:`test/units` directory. These tests primarily cover the internals but can also cover Ansible modules. The structure of the unit tests matches the structure of the code base, so the tests that reside in the :file:`test/units/modules/` directory are organized by module groups."
msgstr "Ansible ã«ã¯ã:file:`test/units` ãã£ã¬ã¯ããªãŒã«ãŠããããã¹ãã®ã»ãããå«ãŸããŠããŸãããããã®ãã¹ãã¯ãäž»ã«å
éšã«å¯Ÿå¿ããŠããŸãããAnsible ã¢ãžã¥ãŒã«ã«ã察å¿ããŸãããŠããããã¹ãã®æ§é ã¯ã³ãŒãããŒã¹ã®ããŒã¹ã®æ§é ã«äžèŽãã:file:`test/units/modules/` ãã£ã¬ã¯ããªãŒã«å«ãŸãããã¹ãã¯ã¢ãžã¥ãŒã«ã°ã«ãŒãããšã«ç·šæãããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:31
msgid "Integration tests can be used for most modules, but there are situations where cases cannot be verified using integration tests. This means that Ansible unit test cases may extend beyond testing only minimal units and in some cases will include some level of functional testing."
msgstr "çµ±åãã¹ãã¯ã»ãšãã©ã®ã¢ãžã¥ãŒã«ã§äœ¿çšã§ããŸãããçµ±åãã¹ãã§ã¯ã±ãŒã¹ãæ€èšŒã§ããªãå ŽåããããŸããã€ãŸããAnsible ãŠããããã¹ãã±ãŒã¹ã¯ãæå°éã®ãŠãããã®ã¿ã®ãã¹ãã«ãšã©ãŸãããå Žåã«ãã£ãŠã¯ãããçšåºŠã®æ©èœãã¹ããå«ãŸããããšããããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:38
msgid "Why Use Unit Tests?"
msgstr "ãŠããããã¹ãã䜿çšããçç±"
#: ../../rst/dev_guide/testing_units_modules.rst:40
msgid "Ansible unit tests have advantages and disadvantages. It is important to understand these. Advantages include:"
msgstr "Ansible ãŠããããã¹ãã«ã¯é·æãšçæãããããã®ç¹ãç解ããããšã¯éèŠã§ãã以äžãæããããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:43
msgid "Most unit tests are much faster than most Ansible integration tests. The complete suite of unit tests can be run regularly by a developer on their local system."
msgstr "ã»ãšãã©ã®ãŠããããã¹ãã¯ãã»ãšãã©ã® Ansible çµ±åãã¹ããããã¯ããã«é«éã§ãããŠããããã¹ãã®å®å
šãªã¹ã€ãŒãã¯ãããŒã«ã«ã·ã¹ãã ã§éçºè
ãå®æçã«å®è¡ã§ããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:45
msgid "Unit tests can be run by developers who don't have access to the system which the module is designed to work on, allowing a level of verification that changes to core functions haven't broken module expectations."
msgstr "ãŠããããã¹ãã¯ãã¢ãžã¥ãŒã«ãåäœããããã«èšèšãããŠããã·ã¹ãã ã«ã¢ã¯ã»ã¹ã§ããªãéçºè
ãå®è¡ããããšãã§ããã³ã¢æ©èœãžã®å€æŽãã¢ãžã¥ãŒã«ã®æåŸ
ã©ããã§ããããšãããçšåºŠæ€èšŒã§ããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:48
msgid "Unit tests can easily substitute system functions allowing testing of software that would be impractical. For example, the ``sleep()`` function can be replaced and we check that a ten minute sleep was called without actually waiting ten minutes."
msgstr "ãŠããããã¹ãã¯ãã·ã¹ãã é¢æ°ãç°¡åã«çœ®æã§ããå®çŸãããœãããŠã§ã¢ã®ãã¹ããç°¡åã«æå®ããããšãã§ããŸããããšãã°ã``sleep()`` é¢æ°ã眮ãæããããšãã§ããå®éã« 10 ååŸ
ããã« 10 åã®ã¹ãªãŒããåŒã³åºãããããšã確èªããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:51
msgid "Unit tests are run on different Python versions. This allows us to ensure that the code behaves in the same way on different Python versions."
msgstr "ãŠããããã¹ãã¯ãPython ã®åããŒãžã§ã³ã§å®è¡ãããŸããããã«ãããã³ãŒããç°ãªã Python ã®ããŒãžã§ã³ã§ãåãããã«åäœããããšã確èªã§ããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:54
msgid "There are also some potential disadvantages of unit tests. Unit tests don't normally directly test actual useful valuable features of software, instead just internal implementation"
msgstr "ãŠããããã¹ãã«ã¯ãããã€ãã®æœåšçãªæ¬ ç¹ããããŸããéåžžãå®éã«äŸ¿å©ã§äŸ¡å€ã®ããæ©èœãçŽæ¥ãã¹ãããã代ããã«å
éšå®è£
ããã¹ãããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:58
msgid "Unit tests that test the internal, non-visible features of software may make refactoring difficult if those internal features have to change (see also naming in How below)"
msgstr "ãœãããŠã§ã¢å
éšã«ãããç®ã«èŠããªãæ©èœããã¹ããããŠããããã¹ãã¯ããããã®å
éšæ©èœãå€æŽããå¿
èŠãããå Žåããªãã¡ã¯ã¿ãªã³ã°ãå°é£ã«ããå¯èœæ§ããããŸã (以äžã®ãæ¹æ³ãã®åœåãåç
§)ã"
#: ../../rst/dev_guide/testing_units_modules.rst:61
msgid "Even if the internal feature is working correctly it is possible that there will be a problem between the internal code tested and the actual result delivered to the user"
msgstr "å
éšæ©èœãæ£ããæ©èœããŠããå Žåã§ãããã¹ããããå
éšã³ãŒããšãŠãŒã¶ãŒã«é
ä¿¡ãããå®éã®çµæãšã®éã«åé¡ãçºçããå¯èœæ§ããããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:64
msgid "Normally the Ansible integration tests (which are written in Ansible YAML) provide better testing for most module functionality. If those tests already test a feature and perform well there may be little point in providing a unit test covering the same area as well."
msgstr "éåžžã(Ansible YAML ã§èšè¿°ããã) Ansible çµ±åãã¹ãã¯ãã»ãšãã©ã®ã¢ãžã¥ãŒã«æ©èœã«å¯ŸããŠããè¯ããã¹ããæäŸããŸãããããã®ãã¹ãããã§ã«æ©èœããã¹ãããŠããŠãããŸãæ©èœããŠããå Žåã¯ãåãé åãã«ããŒãããŠããããã¹ããæäŸããæå³ã¯ã»ãšãã©ãªããããããŸããã"
#: ../../rst/dev_guide/testing_units_modules.rst:69
msgid "When To Use Unit Tests"
msgstr "ãŠããããã¹ãã䜿çšããã¿ã€ãã³ã°"
#: ../../rst/dev_guide/testing_units_modules.rst:71
msgid "There are a number of situations where unit tests are a better choice than integration tests. For example, testing things which are impossible, slow or very difficult to test with integration tests, such as:"
msgstr "çµ±åãã¹ãããããŠããããã¹ãã®æ¹ãé©ããŠããç¶æ³ã¯æ°å€ããããŸããããšãã°ã次ã®ãããªçµ±åãã¹ãã§ãã¹ãããããšãäžå¯èœã§ãé
ãããŸãã¯éåžžã«é£ãããã®ããã¹ãããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:75
msgid "Forcing rare / strange / random situations that can't be forced, such as specific network failures and exceptions"
msgstr "ç¹å®ã®ãããã¯ãŒã¯é害ãäŸå€ã®ãããªã匷å¶ããããšãã§ããªãçšãªãå¥åŠãªãããã³ã©ã³ãã ãªç¶æ³ã匷å¶ã"
#: ../../rst/dev_guide/testing_units_modules.rst:77
msgid "Extensive testing of slow configuration APIs"
msgstr "é
ãèšå® API ã®åºç¯ãªãã¹ã"
#: ../../rst/dev_guide/testing_units_modules.rst:78
msgid "Situations where the integration tests cannot be run as part of the main Ansible continuous integration running in Azure Pipelines."
msgstr "Azure Pipeline ã§å®è¡ãããŠããã¡ã€ã³ã® Ansible ç¶ç¶ççµ±åã®äžéšãšããŠãçµ±åãã¹ããå®è¡ã§ããªãç¶æ³ã"
#: ../../rst/dev_guide/testing_units_modules.rst:84
msgid "Providing quick feedback"
msgstr "è¿
éãªãã£ãŒãããã¯ã®æäŸ"
#: ../../rst/dev_guide/testing_units_modules.rst:87
msgid "A single step of the rds_instance test cases can take up to 20 minutes (the time to create an RDS instance in Amazon). The entire test run can last for well over an hour. All 16 of the unit tests complete execution in less than 2 seconds."
msgstr "rds_instance ã®ãã¹ãã±ãŒã¹ã® 1 ã€ã®ã¹ãããã«ã¯ãæ倧 20 å (Amazon㧠RDS ã€ã³ã¹ã¿ã³ã¹ãäœæããæé) ãããå ŽåããããŸãããã¹ãã®å®è¡ã¯ãå
šäœã§ 1 æé以äžãããããšããããŸãã16 åã®ãŠããããã¹ãã¯ããã¹ãŠ 2 ç§ä»¥å
ã«å®è¡ãå®äºããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:92
msgid "The time saving provided by being able to run the code in a unit test makes it worth creating a unit test when bug fixing a module, even if those tests do not often identify problems later. As a basic goal, every module should have at least one unit test which will give quick feedback in easy cases without having to wait for the integration tests to complete."
msgstr "ãŠããããã¹ãã§ã³ãŒããå®è¡ã§ããããšã«ãã£ãŠæäŸãããæéã®ç¯çŽã«ãããã¢ãžã¥ãŒã«ã®ãã°ä¿®æ£æã«ãŠããããã¹ããäœæãã䟡å€ããããŸãããããã®ãã¹ãã§åŸã§åé¡ãç¹å®ãããããšã¯ããŸããããŸãããåºæ¬çãªç®æšãšããŠããã¹ãŠã®ã¢ãžã¥ãŒã«ã«ã¯å°ãªããšã 1 ã€ã®ãŠããããã¹ããå¿
èŠã§ããããã«ãããçµ±åãã¹ããå®äºããã®ãåŸ
ããã«ãç°¡åãªã±ãŒã¹ã§è¿
éãªãã£ãŒãããã¯ãåŸãããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:99
msgid "Ensuring correct use of external interfaces"
msgstr "å€éšã€ã³ã¿ãŒãã§ãŒã¹ãæ£ãã䜿çšããããš"
#: ../../rst/dev_guide/testing_units_modules.rst:101
msgid "Unit tests can check the way in which external services are run to ensure that they match specifications or are as efficient as possible *even when the final output will not be changed*."
msgstr "ãŠããããã¹ãã¯ã*æçµçãªåºåãå€æŽãããªãå Žåã§ã*ãå€éšãµãŒãã¹ã®å®è¡æ¹æ³ãä»æ§ã«åèŽããŠãããããããã¯å¯èœãªéãå¹ççã§ãããã確èªã§ããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:105
msgid "Package managers are often far more efficient when installing multiple packages at once rather than each package separately. The final result is the same: the packages are all installed, so the efficiency is difficult to verify through integration tests. By providing a mock package manager and verifying that it is called once, we can build a valuable test for module efficiency."
msgstr "ããã±ãŒãžãããŒãžã£ãŒã¯ãåããã±ãŒãžãåå¥ã«ã€ã³ã¹ããŒã«ããããããè€æ°ã®ããã±ãŒãžãäžåºŠã«ã€ã³ã¹ããŒã«ããæ¹ãã¯ããã«å¹ççã§ããããšããããããŸããæçµçµæã¯åãã§ãããã¹ãŠã®ããã±ãŒãžãã€ã³ã¹ããŒã«ããããããçµ±åãã¹ãã§å¹çãæ€èšŒããããšã¯å°é£ã§ããæš¡æ¬ããã±ãŒãžãããŒãžã£ãæäŸãããããäžåºŠã«åŒã°ããããšãæ€èšŒãããããã¢ãžã¥ãŒã«å¹çã«ã€ããŠè²Žéãªãã¹ããæ§ç¯ã§ããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:111
msgid "Another related use is in the situation where an API has versions which behave differently. A programmer working on a new version may change the module to work with the new API version and unintentionally break the old version. A test case which checks that the call happens properly for the old version can help avoid the problem. In this situation it is very important to include version numbering in the test case name (see `Naming unit tests`_ below)."
msgstr "å¥ã®é¢é£ãã䜿çšæ³ã¯ãAPI ã®åäœãç°ãªãããŒãžã§ã³ãããç¶æ³ã§ããæ°ããããŒãžã§ã³ã§äœæ¥ããŠããããã°ã©ããŒã¯ãæ°ãã API ããŒãžã§ã³ã§åäœããããã«ã¢ãžã¥ãŒã«ãå€æŽããæå³ããã«å€ãããŒãžã§ã³ãå£ããŠããŸãå¯èœæ§ããããŸããå€ãããŒãžã§ã³ã§åŒã³åºããé©åã«è¡ãããããšã確èªãããã¹ãã±ãŒã¹ã¯ãåé¡ãåé¿ããã®ã«åœ¹ç«ã¡ãŸãããã®ç¶æ³ã§ã¯ããã¹ãã±ãŒã¹åã«ããŒãžã§ã³çªå·ãå«ããããšãéåžžã«éèŠã§ã (ä»¥äž `Naming unit tests`_ ãåç
§)ã"
#: ../../rst/dev_guide/testing_units_modules.rst:119
msgid "Providing specific design tests"
msgstr "ç¹å®ã®èšèšãã¹ãã®æäŸ"
#: ../../rst/dev_guide/testing_units_modules.rst:121
msgid "By building a requirement for a particular part of the code and then coding to that requirement, unit tests _can_ sometimes improve the code and help future developers understand that code."
msgstr "ã³ãŒãã®ç¹å®ã®éšåã«å¯ŸããèŠä»¶ãæ§ç¯ãããã®èŠä»¶ã«åãããŠã³ãŒãã£ã³ã°ããããšã§ããŠããããã¹ãã¯ãæã«ã¯ã³ãŒããæ¹åããå°æ¥ã®éçºè
ããã®ã³ãŒããç解ããå©ããšãªããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:125
msgid "Unit tests that test internal implementation details of code, on the other hand, almost always do more harm than good. Testing that your packages to install are stored in a list would slow down and confuse a future developer who might need to change that list into a dictionary for efficiency. This problem can be reduced somewhat with clear test naming so that the future developer immediately knows to delete the test case, but it is often better to simply leave out the test case altogether and test for a real valuable feature of the code, such as installing all of the packages supplied as arguments to the module."
msgstr "äžæ¹ãã³ãŒãã®å
éšå®è£
ã®è©³çŽ°ããã¹ããããŠããããã¹ãã¯ãã»ãšãã©ã®å Žåãçããã害ããããããŸããã€ã³ã¹ããŒã«ããããã±ãŒãžããªã¹ãã«æ ŒçŽãããŠãããã©ããããã¹ããããšãé
ããªããå¹çåã®ããã«ãªã¹ãããã£ã¯ã·ã§ããªãŒã«å€æŽããªããšãããªãå°æ¥ã®éçºè
ãæ··ä¹±ãããŸãããã®åé¡ã¯ãå°æ¥ã®éçºè
ãããã«ãã¹ãã±ãŒã¹ãåé€ããããšããããããã«ãæ確ãªãã¹ãåãã€ããããšã§å€å°è»œæžã§ããŸãããåã«ãã¹ãã±ãŒã¹ãå®å
šã«é€å€ããŠãã¢ãžã¥ãŒã«ã®åŒæ°ãšããŠäžãããããã¹ãŠã®ããã±ãŒãžãã€ã³ã¹ããŒã«ãããªã©ãã³ãŒãã®æ¬åœã®äŸ¡å€ããæ©èœããã¹ãããæ¹ãè¯ãå Žåãå€ãã§ãã"
#: ../../rst/dev_guide/testing_units_modules.rst:135
msgid "How to unit test Ansible modules"
msgstr "Ansible ã¢ãžã¥ãŒã«ããŠããããã¹ãããæ¹æ³"
#: ../../rst/dev_guide/testing_units_modules.rst:137
msgid "There are a number of techniques for unit testing modules. Beware that most modules without unit tests are structured in a way that makes testing quite difficult and can lead to very complicated tests which need more work than the code. Effectively using unit tests may lead you to restructure your code. This is often a good thing and leads to better code overall. Good restructuring can make your code clearer and easier to understand."
msgstr "ãŠããããã¹ãã¢ãžã¥ãŒã«ã«ã¯ããã€ãã®ææ³ããããŸãããŠããããã¹ãã®ãªãã»ãšãã©ã®ã¢ãžã¥ãŒã«ã§ã¯ããã¹ããéåžžã«å°é£ã«ãªããã³ãŒããããå€ãã®äœæ¥ãå¿
èŠãªãéåžžã«è€éãªãã¹ãã«ã€ãªããå¯èœæ§ãããããšã«æ³šæããŠãã ããããŠããããã¹ããå¹æçã«äœ¿çšããã«ã¯ãã³ãŒããåæ§ç¯ããå¯èœæ§ããããŸããããã¯å€ãã®å Žåè¯ãããšã§ãããå
šäœçã«åªããã³ãŒãã«ã€ãªãããŸããé©åãªåæ§ç¯ã«ãããã³ãŒããããæ確ã«ãªããç解ãããããªããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:145
msgid "Naming unit tests"
msgstr "ãŠããããã¹ãã®åœå"
#: ../../rst/dev_guide/testing_units_modules.rst:147
msgid "Unit tests should have logical names. If a developer working on the module being tested breaks the test case, it should be easy to figure what the unit test covers from the name. If a unit test is designed to verify compatibility with a specific software or API version then include the version in the name of the unit test."
msgstr "ãŠããããã¹ãã¯è«çåãä»ããå¿
èŠããããŸãããã¹ã察象ã®ã¢ãžã¥ãŒã«ã§äœæ¥ããŠããéçºè
ããã¹ãã±ãŒã¹ãå£ããŠããŸã£ãå Žåã«ããŠããããã¹ããäœã察象ãšããŠããã®ããååããç°¡åã«åããããã«ããå¿
èŠããããŸãããŠããããã¹ããç¹å®ã®ãœãããŠã§ã¢ã API ã®ããŒãžã§ã³ãšã®äºææ§ãæ€èšŒããããã«èšèšãããŠããå Žåã¯ããŠããããã¹ãã®ååã«ãã®ããŒãžã§ã³ãè¿œå ããŠãã ããã"
#: ../../rst/dev_guide/testing_units_modules.rst:152
msgid "As an example, ``test_v2_state_present_should_call_create_server_with_name()`` would be a good name, ``test_create_server()`` would not be."
msgstr "ããšãã°ã``test_v2_state_present_should_call_create_server_with_name()`` ãé©åãªååã§ã``test_create_server()`` ã¯é©åã§ã¯ãããŸããã"
#: ../../rst/dev_guide/testing_units_modules.rst:157
msgid "Use of Mocks"
msgstr "ã¢ãã¯ã®äœ¿çš"
#: ../../rst/dev_guide/testing_units_modules.rst:159
msgid "Mock objects (from https://docs.python.org/3/library/unittest.mock.html) can be very useful in building unit tests for special / difficult cases, but they can also lead to complex and confusing coding situations. One good use for mocks would be in simulating an API. As for 'six', the 'mock' python package is bundled with Ansible (use ``import units.compat.mock``)."
msgstr "(https://docs.python.org/3/library/unittest.mock.html_ ããã®) ã¢ãã¯ãªããžã§ã¯ãã¯ãç¹æ®ãªã±ãŒã¹ãå°é£ãªã±ãŒã¹ã®ãŠããããã¹ããæ§ç¯ããã®ã«éåžžã«äŸ¿å©ã§ãããè€éã§ç解ãã¥ããã³ãŒãã£ã³ã°ã«ãªã£ãŠããŸãããšããããŸããã¢ãã¯ã®äœ¿çšæ¹æ³ãšããŠé©åãªãã®ã® 1 ã€ã«ãAPI ã®ã·ãã¥ã¬ãŒãããããŸããPython ããã±ãŒãžã®ãsixãããmockãã¯ãAnsible ã«ãã³ãã«ãããŠããŸã (``import units.compat.mock`` ã䜿çš)ã"
#: ../../rst/dev_guide/testing_units_modules.rst:166
msgid "Ensuring failure cases are visible with mock objects"
msgstr "ã¢ãã¯ãªããžã§ã¯ãã§é害ã±ãŒã¹ã確å®ã«å¯èŠå"
#: ../../rst/dev_guide/testing_units_modules.rst:168
msgid "Functions like :meth:`module.fail_json` are normally expected to terminate execution. When you run with a mock module object this doesn't happen since the mock always returns another mock from a function call. You can set up the mock to raise an exception as shown above, or you can assert that these functions have not been called in each test. For example:"
msgstr ":meth:`module.fail_json` ãªã©ã®é¢æ°ã¯ãéåžžãå®è¡ãçµäºããããšãæåŸ
ãããŸããã¢ãã¯ã¢ãžã¥ãŒã«ãªããžã§ã¯ãã䜿çšããŠå®è¡ãããšãã¢ãã¯ã¯åžžã«é¢æ°åŒã³åºãããå¥ã®ã¢ãã¯ãè¿ãããããã®ãããªããšã¯èµ·ãããŸãããäžèšã®ããã«äŸå€ãçºçãããããã«ã¢ãã¯ãèšå®ããããšãã§ããŸãããåãã¹ãã§ãããã®é¢æ°ãåŒã³åºãããŠããªãããšãã¢ãµãŒãããããšãã§ããŸãã以äžã«äŸã瀺ããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:179
msgid "This applies not only to calling the main module but almost any other function in a module which gets the module object."
msgstr "ããã¯ãã¡ã€ã³ã¢ãžã¥ãŒã«ãåŒã³åºãå Žåã ãã§ãªããã¢ãžã¥ãŒã«ãªããžã§ã¯ããååŸããã¢ãžã¥ãŒã«å
ã®ä»ã®ã»ãšãã©ã®é¢æ°ãåŒã³åºãå Žåã«ãé©çšãããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:184
msgid "Mocking of the actual module"
msgstr "å®éã®ã¢ãžã¥ãŒã«ã®ã¢ãã¯å"
#: ../../rst/dev_guide/testing_units_modules.rst:186
msgid "The setup of an actual module is quite complex (see `Passing Arguments`_ below) and often isn't needed for most functions which use a module. Instead you can use a mock object as the module and create any module attributes needed by the function you are testing. If you do this, beware that the module exit functions need special handling as mentioned above, either by throwing an exception or ensuring that they haven't been called. For example:"
msgstr "å®éã®ã¢ãžã¥ãŒã«ã®èšå®ã¯éåžžã«è€é㧠(以äžã® `åŒæ°ã®æž¡ãæ¹`_ ãåç
§)ãã¢ãžã¥ãŒã«ã䜿çšããã»ãšãã©ã®æ©èœã«ã¯å¿
èŠãããŸãããã¢ãã¯ãªããžã§ã¯ããã¢ãžã¥ãŒã«ãšããŠäœ¿çšãã代ããã«ããã¹ãããé¢æ°ã§å¿
èŠãªã¢ãžã¥ãŒã«å±æ§ãäœæã§ããŸãããã®å Žåãã¢ãžã¥ãŒã«ã®çµäºé¢æ°ã¯ãäžè¿°ã®ããã«ãäŸå€ãçºçãããããåŒã³åºãããŠããªãããšã確èªãããªã©ãç¹å¥ãªåŠçãå¿
èŠã«ãªãããšã«æ³šæããŠãã ããã以äžã«äŸã瀺ããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:207
msgid "API definition with unit test cases"
msgstr "ãŠããããã¹ãã±ãŒã¹ã§ã® API å®çŸ©"
#: ../../rst/dev_guide/testing_units_modules.rst:209
msgid "API interaction is usually best tested with the function tests defined in Ansible's integration testing section, which run against the actual API. There are several cases where the unit tests are likely to work better."
msgstr "API ã®å¯Ÿè©±ã¯éåžžãå®éã® API ã«å¯ŸããŠå®è¡ãã Ansible ã®çµ±åãã¹ãã»ã¯ã·ã§ã³ã§å®çŸ©ãããé¢æ°ãã¹ãã§ãã¹ããè¡ãã®ãæé©ã§ãããŠããããã¹ããé©åã«æ©èœããå¯èœæ§ããããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:214
msgid "Defining a module against an API specification"
msgstr "API ã®ä»æ§ã«å¯ŸããŠã¢ãžã¥ãŒã«ãå®çŸ©"
#: ../../rst/dev_guide/testing_units_modules.rst:216
msgid "This case is especially important for modules interacting with web services, which provide an API that Ansible uses but which are beyond the control of the user."
msgstr "ãã®ã±ãŒã¹ã¯ãAnsible ã䜿çšãã API ãæäŸããŠãããããŠãŒã¶ãŒã®å¶åŸ¡ãåã°ãªã Web ãµãŒãã¹ãšå¯Ÿè©±ããã¢ãžã¥ãŒã«ã«ãšã£ãŠç¹ã«éèŠã«ãªããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:219
msgid "By writing a custom emulation of the calls that return data from the API, we can ensure that only the features which are clearly defined in the specification of the API are present in the message. This means that we can check that we use the correct parameters and nothing else."
msgstr "API ããããŒã¿ãè¿ãåŒã³åºãã®ã«ã¹ã¿ã ãšãã¥ã¬ãŒã·ã§ã³ãæžãããšã§ãAPI ã®ä»æ§ã§æ確ã«å®çŸ©ãããŠããæ©èœã®ã¿ãã¡ãã»ãŒãžã«å«ãŸããŠããããšã確èªã§ããŸããã€ãŸããæ£ãããã©ã¡ãŒã¿ãŒã䜿çšããŠãããã©ããã確èªãããã以å€ã¯äœã䜿çšããŠããªãããšã確èªããããšãã§ããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:225
msgid "*Example: in rds_instance unit tests a simple instance state is defined*:"
msgstr "*äŸ: rds_instance ãŠããããã¹ãã§ã¯ãåçŽãªã€ã³ã¹ã¿ã³ã¹ã®ç¶æ
ãå®çŸ©ãããŠããŸã*ã"
#: ../../rst/dev_guide/testing_units_modules.rst:235
msgid "This is then used to create a list of states:"
msgstr "次ã«ãããã䜿çšããŠç¶æ
ã®ãªã¹ããäœæããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:252
msgid "These states are then used as returns from a mock object to ensure that the ``await`` function waits through all of the states that would mean the RDS instance has not yet completed configuration:"
msgstr "ãããã®ç¶æ
ã¯ãã¢ãã¯ãªããžã§ã¯ãããã®æ»ãå€ãšããŠäœ¿çšããã``await`` é¢æ°ã¯ãRDS ã€ã³ã¹ã¿ã³ã¹ããŸã èšå®ãå®äºããªãããšãæå³ãããã¹ãŠã®ç¶æ
ãåŸ
æ©ããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:262
msgid "By doing this we check that the ``await`` function will keep waiting through potentially unusual that it would be impossible to reliably trigger through the integration tests but which happen unpredictably in reality."
msgstr "ãããå®è¡ããããšã§ãçµ±åãã¹ãã§ã¯ç¢ºå®ã«èªçºãããããšãã§ããªãã«ãããããããçŸå®ã«ã¯äºæž¬ã§ããªããããªãæœåšçã«ç°åžžãªããšãèµ·ããå¯èœæ§ãããå Žåã« ``await`` é¢æ°ãåŸ
æ©ãç¶ãããã©ããã確èªããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:267
msgid "Defining a module to work against multiple API versions"
msgstr "è€æ°ã® API ããŒãžã§ã³ã«å¯ŸããŠåäœããã¢ãžã¥ãŒã«ã®å®çŸ©"
#: ../../rst/dev_guide/testing_units_modules.rst:269
msgid "This case is especially important for modules interacting with many different versions of software; for example, package installation modules that might be expected to work with many different operating system versions."
msgstr "ãã®ã±ãŒã¹ã¯ãå€ãã®ç°ãªãããŒãžã§ã³ã®ãœãããŠã§ã¢ãšå¯Ÿè©±ããã¢ãžã¥ãŒã«ã«ãšã£ãŠç¹ã«éèŠã§ããããšãã°ãããŸããŸãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ããŒãžã§ã³ãšåäœããããšãæ³å®ãããããã±ãŒãžã€ã³ã¹ããŒã«ã¢ãžã¥ãŒã«ãªã©ã§ãã"
#: ../../rst/dev_guide/testing_units_modules.rst:273
msgid "By using previously stored data from various versions of an API we can ensure that the code is tested against the actual data which will be sent from that version of the system even when the version is very obscure and unlikely to be available during testing."
msgstr "ããŸããŸãªããŒãžã§ã³ã® API ããã以åã«ä¿åãããããŒã¿ã䜿çšããããšã§ãããŒãžã§ã³ãéåžžã«ææ§ã§ãã¹ãäžã«å©çšã§ãããã«ãªãå Žåã§ãããã®ããŒãžã§ã³ã®ã·ã¹ãã ããéä¿¡ãããå®éã®ããŒã¿ã«å¯ŸããŠã³ãŒãããã¹ãã§ããããã«ãªããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:278
msgid "Ansible special cases for unit testing"
msgstr "Ansible ãŠããããã¹ãã®ç¹æ®ãªã±ãŒã¹"
#: ../../rst/dev_guide/testing_units_modules.rst:280
msgid "There are a number of special cases for unit testing the environment of an Ansible module. The most common are documented below, and suggestions for others can be found by looking at the source code of the existing unit tests or asking on the Ansible chat channel or mailing lists. For more information on joining chat channels and subscribing to mailing lists, see :ref:`communication`."
msgstr "Ansible ã¢ãžã¥ãŒã«ã®ç°å¢ã«å¯ŸããŠãŠããããã¹ããè¡ãããã®ç¹å¥ãªã±ãŒã¹ãããã€ããããŸããæãäžè¬çãªãã®ã以äžã«ç€ºããŸããä»ã®äººãžã®ææ¡ã¯ãæ¢åã®ãŠããããã¹ãã®ãœãŒã¹ã³ãŒãã確èªããããAnsible ãã£ãããã£ã³ãã«ãŸãã¯ã¡ãŒãªã³ã°ãªã¹ãã§è³ªåããããšã§èŠã€ããããšãã§ããŸãããã£ãããã£ã³ãã«ãžã®åå ããã³ã¡ãŒãªã³ã°ãªã¹ãã®ãµãã¹ã¯ã©ã€ãã®è©³çŽ°ã«ã€ããŠã¯ã:ref:`communication`ãåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing_units_modules.rst:286
msgid "Module argument processing"
msgstr "ã¢ãžã¥ãŒã«åŒæ°åŠç"
#: ../../rst/dev_guide/testing_units_modules.rst:288
msgid "There are two problems with running the main function of a module:"
msgstr "ã¢ãžã¥ãŒã«ã®äž»ãªé¢æ°ã®å®è¡ã«ã¯ã以äžã® 2 ã€ã®åé¡ããããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:290
msgid "Since the module is supposed to accept arguments on ``STDIN`` it is a bit difficult to set up the arguments correctly so that the module will get them as parameters."
msgstr "ã¢ãžã¥ãŒã«ã¯ ``STDIN`` ã§åŒæ°ãåãå
¥ããå¿
èŠããããããåŒæ°ãæ£ããèšå®ããŠã¢ãžã¥ãŒã«ããã©ã¡ãŒã¿ãŒãšããŠåãåãããã«ããã®ã¯å°ãé£ãããªããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:292
msgid "All modules should finish by calling either the :meth:`module.fail_json` or :meth:`module.exit_json`, but these won't work correctly in a testing environment."
msgstr "ãã¹ãŠã®ã¢ãžã¥ãŒã«ã¯ã:meth:`module.fail_json` ãŸã㯠:meth:`module.exit_json` ãåŒã³åºããŠçµäºããå¿
èŠããããŸããããã¹ãç°å¢ã§ã¯æ£åžžã«åäœããŸããã"
#: ../../rst/dev_guide/testing_units_modules.rst:296
msgid "Passing Arguments"
msgstr "åŒæ°ã®æž¡ãæ¹"
#: ../../rst/dev_guide/testing_units_modules.rst:301
msgid "To pass arguments to a module correctly, use the ``set_module_args`` method which accepts a dictionary as its parameter. Module creation and argument processing is handled through the :class:`AnsibleModule` object in the basic section of the utilities. Normally this accepts input on ``STDIN``, which is not convenient for unit testing. When the special variable is set it will be treated as if the input came on ``STDIN`` to the module. Simply call that function before setting up your module:"
msgstr "ã¢ãžã¥ãŒã«ã«æ£ããåŒæ°ãæž¡ãã«ã¯ããã£ã¯ã·ã§ããªãŒããã©ã¡ãŒã¿ãŒãšããŠåãä»ãã ``set_module_args`` ã¡ãœããã䜿çšããŸããã¢ãžã¥ãŒã«ã®äœæãšåŒæ°ã®åŠçã¯ããŠãŒãã£ãªãã£ãŒã®åºæ¬ã»ã¯ã·ã§ã³ã«ãã :class:`AnsibleModule` ãªããžã§ã¯ãã«ãã£ãŠåŠçãããŸããé垞㯠``STDIN`` ã§å
¥åãåãä»ããŸãããããã¯ãŠããããã¹ãã«ã¯äžäŸ¿ã§ããç¹æ®å€æ°ãèšå®ããããšãããããå
¥åã ``STDIN`` ã§ã¢ãžã¥ãŒã«ã«æ¥ããã®ããã«æ±ãããŸããã¢ãžã¥ãŒã«ãã»ããã¢ããããåã«ãã®é¢æ°ãåŒã³åºãã ãã§ãã"
#: ../../rst/dev_guide/testing_units_modules.rst:321
msgid "Handling exit correctly"
msgstr "çµäºãé©åã«åŠç"
#: ../../rst/dev_guide/testing_units_modules.rst:326
msgid "The :meth:`module.exit_json` function won't work properly in a testing environment since it writes error information to ``STDOUT`` upon exit, where it is difficult to examine. This can be mitigated by replacing it (and :meth:`module.fail_json`) with a function that raises an exception:"
msgstr ":meth:`module.exit_json` é¢æ°ã¯ãçµäºæã«ãšã©ãŒæ
å ±ã ``STDOUT`` ã«æžã蟌ãããããã¹ãç°å¢ã§é©åã«åäœããŸãããããã¯æ€èšŒãå°é£ã§ããããã¯ããã®é¢æ° (ããã³ :meth:`module.fail_json`) ããäŸå€ãçºçãããé¢æ°ã«çœ®ãæããããšã§è»œæžã§ããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:338
msgid "Now you can ensure that the first function called is the one you expected simply by testing for the correct exception:"
msgstr "ããã§ãæ£ããäŸå€ããã¹ãããã ãã§ãæåã«åŒã³åºãããé¢æ°ãæåŸ
ãããã®ã§ããããšã確èªã§ããããã«ãªããŸããã"
#: ../../rst/dev_guide/testing_units_modules.rst:353
msgid "The same technique can be used to replace :meth:`module.fail_json` (which is used for failure returns from modules) and for the ``aws_module.fail_json_aws()`` (used in modules for Amazon Web Services)."
msgstr "åããã¯ããã¯ã䜿çšããŠã:meth:`module.fail_json` (ã¢ãžã¥ãŒã«ããè¿ãé害ã«äœ¿çš) ããã³ ``aws_module.fail_json_aws()`` (Amazon Web Services ã®ã¢ãžã¥ãŒã«ã«äœ¿çš) ã«çœ®ãæããããšãã§ããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:358
msgid "Running the main function"
msgstr "äž»ãªé¢æ°ã®å®è¡"
#: ../../rst/dev_guide/testing_units_modules.rst:360
msgid "If you do want to run the actual main function of a module you must import the module, set the arguments as above, set up the appropriate exit exception and then run the module:"
msgstr "ã¢ãžã¥ãŒã«ã«ãããäž»ãªå®é¢æ°ãå®è¡ããå Žåã¯ãã¢ãžã¥ãŒã«ãã€ã³ããŒãããäžèšã®ããã«åŒæ°ãèšå®ããé©åãªçµäºäŸå€ãèšå®ããŠããã¢ãžã¥ãŒã«ãå®è¡ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:380
msgid "Handling calls to external executables"
msgstr "å€éšå®è¡ãã¡ã€ã«ãžã®åŒã³åºãã®åŠç"
#: ../../rst/dev_guide/testing_units_modules.rst:382
msgid "Module must use :meth:`AnsibleModule.run_command` in order to execute an external command. This method needs to be mocked:"
msgstr "ã¢ãžã¥ãŒã«ã¯ãå€éšã³ãã³ããå®è¡ããã®ã« :meth:`AnsibleModule.run_command` ã䜿çšããå¿
èŠããããŸãããã®ã¡ãœãããã¢ãã¯ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:385
msgid "Here is a simple mock of :meth:`AnsibleModule.run_command` (taken from :file:`test/units/modules/packaging/os/test_rhn_register.py`):"
msgstr "以äžã¯ã:meth:`AnsibleModule.run_command` (:file:`test/units/modules/packaging/os/test_rhn_register.py` ããååŸ) ã®ç°¡åãªã¢ãã¯ã§ãã"
#: ../../rst/dev_guide/testing_units_modules.rst:401
msgid "A Complete Example"
msgstr "å®å
šãªäŸ"
#: ../../rst/dev_guide/testing_units_modules.rst:403
msgid "The following example is a complete skeleton that reuses the mocks explained above and adds a new mock for :meth:`Ansible.get_bin_path`:"
msgstr "次ã®äŸã¯ãäžèšã§èª¬æããã¢ãã¯ãåå©çšãã:meth:`Ansible.get_bin_path` ã®æ°ããã¢ãã¯ãè¿œå ããå®å
šãªã¹ã±ã«ãã³ã§ãã"
#: ../../rst/dev_guide/testing_units_modules.rst:491
msgid "Restructuring modules to enable testing module set up and other processes"
msgstr "ã¢ãžã¥ãŒã«ã®ã»ããã¢ããããã®ä»ã®ããã»ã¹ã®ãã¹ããå¯èœã«ããã¢ãžã¥ãŒã«ã®åæ§ç¯"
#: ../../rst/dev_guide/testing_units_modules.rst:493
msgid "Often modules have a ``main()`` function which sets up the module and then performs other actions. This can make it difficult to check argument processing. This can be made easier by moving module configuration and initialization into a separate function. For example:"
msgstr "å€ãã®å Žåãã¢ãžã¥ãŒã«ãã»ããã¢ããããä»ã®ã¢ã¯ã·ã§ã³ãå®è¡ãã ``main()`` é¢æ°ããããŸããããã«ãããåŒæ°åŠçã確èªããã®ãå°é£ã«ãªãå¯èœæ§ããããŸããã¢ãžã¥ãŒã«ã®èšå®ãšåæåãå¥ã®é¢æ°ã«ç§»ãããšã§ç°¡åã«ã§ããŸãã以äžã«äŸã瀺ããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:525
msgid "This now makes it possible to run tests against the module initiation function:"
msgstr "ããã«ãããã¢ãžã¥ãŒã«ã®éå§é¢æ°ã«å¯ŸããŠãã¹ããå®è¡ã§ããããã«ãªããŸããã"
#: ../../rst/dev_guide/testing_units_modules.rst:539
msgid "See also ``test/units/module_utils/aws/test_rds.py``"
msgstr "ã``test/units/module_utils/aws/test_rds.py``ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing_units_modules.rst:541
msgid "Note that the ``argument_spec`` dictionary is visible in a module variable. This has advantages, both in allowing explicit testing of the arguments and in allowing the easy creation of module objects for testing."
msgstr "``argument_spec`` ãã£ã¯ã·ã§ããªãŒã¯ã¢ãžã¥ãŒã«å€æ°ã«è¡šç€ºãããŸããããã«ã¯ãåŒæ°ã®æ瀺çãªãã¹ããèš±å¯ãããã¹ãçšã«ã¢ãžã¥ãŒã«ãªããžã§ã¯ãã®äœæãç°¡åã«è¡ããããã«ããå©ç¹ããããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:545
msgid "The same restructuring technique can be valuable for testing other functionality, such as the part of the module which queries the object that the module configures."
msgstr "ãã®åæ§ç¯ã®ææ³ã¯ãã¢ãžã¥ãŒã«ãèšå®ãããªããžã§ã¯ããåãåãããã¢ãžã¥ãŒã«ã®éšåãªã©ããã®ä»ã®æ©èœããã¹ãããå Žåã«ã圹ã«ç«ã¡ãŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:548
msgid "Traps for maintaining Python 2 compatibility"
msgstr "Python 2 ã®äºææ§ãç¶æããããã®ãã©ãã"
#: ../../rst/dev_guide/testing_units_modules.rst:550
msgid "If you use the ``mock`` library from the Python 2.6 standard library, a number of the assert functions are missing but will return as if successful. This means that test cases should take great care *not* use functions marked as _new_ in the Python 3 documentation, since the tests will likely always succeed even if the code is broken when run on older versions of Python."
msgstr "Python 2.6 æšæºã©ã€ãã©ãªãŒã® ``mock`` ã©ã€ãã©ãªãŒã䜿çšããŠããå Žåã¯ãå€ãã® assert é¢æ°ãæ¬ èœããŠããŸãããæåãããã®ããã«è¿ãããŸããããã¯ããã¹ãã±ãŒã¹ããPython 3 ã®ããã¥ã¡ã³ã㧠_new_ ãšãªã£ãŠããé¢æ°ã䜿çšããªãããã现å¿ã®æ³šæãæãã¹ãã§ããããšãæå³ããŸãããªããªããå€ãããŒãžã§ã³ã® Python ã§å®è¡ãããã³ãŒããå£ããŠããŠãããã¹ãã¯åžžã«æåããããã§ãã"
#: ../../rst/dev_guide/testing_units_modules.rst:555
msgid "A helpful development approach to this should be to ensure that all of the tests have been run under Python 2.6 and that each assertion in the test cases has been checked to work by breaking the code in Ansible to trigger that failure."
msgstr "ããã«åœ¹ç«ã€éçºã¢ãããŒãã¯ããã¹ãŠã®ãã¹ãã Python 2.6 ã§å®è¡ãããŠããããšãšããã¹ãã±ãŒã¹å
ã®åã¢ãµãŒã·ã§ã³ã Ansible ã§ã³ãŒããå£ããŠãã®å€±æãèªçºããããšã§åäœããããšã確èªãããŠãããšããç¹ã確èªããããšã§ãã"
#: ../../rst/dev_guide/testing_units_modules.rst:559
msgid "Maintain Python 2.6 compatibility"
msgstr "Python 2.6 äºææ§ã®ç¶æ"
#: ../../rst/dev_guide/testing_units_modules.rst:561
msgid "Please remember that modules need to maintain compatibility with Python 2.6 so the unittests for modules should also be compatible with Python 2.6."
msgstr "ã¢ãžã¥ãŒã«ã¯ Python 2.6 ãšã®äºææ§ãç¶æããå¿
èŠããããããã¢ãžã¥ãŒã«ã®ãŠããããã¹ãããPython 2.6 ãšã®äºææ§ãç¶æããå¿
èŠãããããšã«æ³šæããŠãã ããã"
#: ../../rst/dev_guide/testing_units_modules.rst:568
msgid "Ansible unit tests documentation"
msgstr "Ansible ãŠããããã¹ãããã¥ã¡ã³ã"
#: ../../rst/dev_guide/testing_units_modules.rst:572
msgid "Get started developing a module"
msgstr "ã¢ãžã¥ãŒã«éçºãå§ãã"
#: ../../rst/dev_guide/testing_units_modules.rst:581
msgid "`Testing Your Code (from The Hitchhiker's Guide to Python!) <https://docs.python-guide.org/writing/tests/>`_"
msgstr "`Testing Your Code (from The Hitchhiker's Guide to Python!) <https://docs.python-guide.org/writing/tests/>`_"
#: ../../rst/dev_guide/testing_units_modules.rst:582
msgid "General advice on testing Python code"
msgstr "Python ã³ãŒãã®ãã¹ãã«é¢ããäžè¬çãªã¢ããã€ã¹"
#: ../../rst/dev_guide/testing_units_modules.rst:584
msgid "`Uncle Bob's many videos on YouTube <https://www.youtube.com/watch?v=QedpQjxBPMA&list=PLlu0CT-JnSasQzGrGzddSczJQQU7295D2>`_"
msgstr "`Uncle Bob's many videos on YouTube <https://www.youtube.com/watch?v=QedpQjxBPMA&list=PLlu0CT-JnSasQzGrGzddSczJQQU7295D2>`_"
#: ../../rst/dev_guide/testing_units_modules.rst:584
msgid "Unit testing is a part of the of various philosophies of software development, including Extreme Programming (XP), Clean Coding. Uncle Bob talks through how to benefit from this"
msgstr "ãŠããããã¹ãã¯ãExtreme Programming (XP)ãã¯ãªãŒã³ã³ãŒãã£ã³ã°ãå«ããœãããŠã§ã¢éçºã®ããŸããŸãªå²åŠã®äžéšã§ããUncle Bob ã¯ãã©ã®ããã«ããŠãã®æ©æµãåããããšãã§ããã®ãã説æããŸãã"
#: ../../rst/dev_guide/testing_units_modules.rst:586
msgid "`\"Why Most Unit Testing is Waste\" <https://rbcs-us.com/documents/Why-Most-Unit-Testing-is-Waste.pdf>`_"
msgstr "`\"Why Most Unit Testing is Waste\" <https://rbcs-us.com/documents/Why-Most-Unit-Testing-is-Waste.pdf>`_"
#: ../../rst/dev_guide/testing_units_modules.rst:587
msgid "An article warning against the costs of unit testing"
msgstr "ãŠããããã¹ãã®å€§åãç¡é§ã§ããçç±"
#: ../../rst/dev_guide/testing_units_modules.rst:588
msgid "`'A Response to \"Why Most Unit Testing is Waste\"' <https://henrikwarne.com/2014/09/04/a-response-to-why-most-unit-testing-is-waste/>`_"
msgstr "`'A Response to \"Why Most Unit Testing is Waste\"' <https://henrikwarne.com/2014/09/04/a-response-to-why-most-unit-testing-is-waste/>`_"
#: ../../rst/dev_guide/testing_units_modules.rst:589
msgid "An response pointing to how to maintain the value of unit tests"
msgstr "ãŠããããã¹ãã®äŸ¡å€ãç¶æããæ¹æ³ãææããåç"
#: ../../rst/dev_guide/testing_validate-modules.rst:11
msgid "Python program to help test or validate Ansible modules."
msgstr "Ansible ã¢ãžã¥ãŒã«ã®ãã¹ããŸãã¯æ€èšŒã«åœ¹ç«ã€ Python ããã°ã©ã ã"
#: ../../rst/dev_guide/testing_validate-modules.rst:13
msgid "``validate-modules`` is one of the ``ansible-test`` Sanity Tests, see :ref:`testing_sanity` for more information."
msgstr "``validate-modules`` ã¯ãå¥å
šæ§ãã¹ã ``ansible-test`` ã®ããããã§ãã詳现ã¯ãã:ref:`testing_sanity`ããåç
§ããŠãã ããã"
#: ../../rst/dev_guide/testing_validate-modules.rst:15
msgid "Originally developed by Matt Martz (@sivel)"
msgstr "æ¬ããã°ã©ã ã¯ãå
ã
Matt Martz (@sivel) æ°ã«ããéçºãããŸããã"
#: ../../rst/dev_guide/testing_validate-modules.rst:19
msgid "Usage"
msgstr "䜿çšæ³"
#: ../../rst/dev_guide/testing_validate-modules.rst:28
msgid "Help"
msgstr "ãã«ã"
#: ../../rst/dev_guide/testing_validate-modules.rst:53
msgid "Extending validate-modules"
msgstr "validate-modules ã®æ¡åŒµ"
#: ../../rst/dev_guide/testing_validate-modules.rst:55
msgid "The ``validate-modules`` tool has a `schema.py <https://github.com/ansible/ansible/blob/devel/test/lib/ansible_test/_util/controller/sanity/validate-modules/validate_modules/schema.py>`_ that is used to validate the YAML blocks, such as ``DOCUMENTATION`` and ``RETURNS``."
msgstr "``validate-modules`` ããŒã«ã«ã¯ã``DOCUMENTATION``ã``RETURNS`` ãªã©ã® YAML ãããã¯ã®æ€èšŒã«äœ¿çšããã `schema.py <https://github.com/ansible/ansible/blob/devel/test/lib/ansible_test/_util/controller/sanity/validate-modules/validate_modules/schema.py>`_ ããããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:59
msgid "Codes"
msgstr "ã³ãŒã"
#: ../../rst/dev_guide/testing_validate-modules.rst:62
msgid "**Error Code**"
msgstr "**ãšã©ãŒã³ãŒã**"
#: ../../rst/dev_guide/testing_validate-modules.rst:62
msgid "**Type**"
msgstr "**ã¿ã€ã**"
#: ../../rst/dev_guide/testing_validate-modules.rst:62
msgid "**Level**"
msgstr "**ã¬ãã«**"
#: ../../rst/dev_guide/testing_validate-modules.rst:62
msgid "**Sample Message**"
msgstr "**éå§ã¡ãã»ãŒãž**"
#: ../../rst/dev_guide/testing_validate-modules.rst:64
msgid "ansible-deprecated-module"
msgstr "ansible-deprecated-module"
#: ../../rst/dev_guide/testing_validate-modules.rst:64
#: ../../rst/dev_guide/testing_validate-modules.rst:65
#: ../../rst/dev_guide/testing_validate-modules.rst:66
#: ../../rst/dev_guide/testing_validate-modules.rst:68
#: ../../rst/dev_guide/testing_validate-modules.rst:69
#: ../../rst/dev_guide/testing_validate-modules.rst:70
#: ../../rst/dev_guide/testing_validate-modules.rst:71
#: ../../rst/dev_guide/testing_validate-modules.rst:72
#: ../../rst/dev_guide/testing_validate-modules.rst:73
#: ../../rst/dev_guide/testing_validate-modules.rst:74
#: ../../rst/dev_guide/testing_validate-modules.rst:75
#: ../../rst/dev_guide/testing_validate-modules.rst:76
#: ../../rst/dev_guide/testing_validate-modules.rst:77
#: ../../rst/dev_guide/testing_validate-modules.rst:78
#: ../../rst/dev_guide/testing_validate-modules.rst:79
#: ../../rst/dev_guide/testing_validate-modules.rst:80
#: ../../rst/dev_guide/testing_validate-modules.rst:81
#: ../../rst/dev_guide/testing_validate-modules.rst:84
#: ../../rst/dev_guide/testing_validate-modules.rst:87
#: ../../rst/dev_guide/testing_validate-modules.rst:88
#: ../../rst/dev_guide/testing_validate-modules.rst:89
#: ../../rst/dev_guide/testing_validate-modules.rst:90
#: ../../rst/dev_guide/testing_validate-modules.rst:91
#: ../../rst/dev_guide/testing_validate-modules.rst:92
#: ../../rst/dev_guide/testing_validate-modules.rst:93
#: ../../rst/dev_guide/testing_validate-modules.rst:94
#: ../../rst/dev_guide/testing_validate-modules.rst:95
#: ../../rst/dev_guide/testing_validate-modules.rst:97
#: ../../rst/dev_guide/testing_validate-modules.rst:98
#: ../../rst/dev_guide/testing_validate-modules.rst:100
#: ../../rst/dev_guide/testing_validate-modules.rst:101
#: ../../rst/dev_guide/testing_validate-modules.rst:102
#: ../../rst/dev_guide/testing_validate-modules.rst:103
#: ../../rst/dev_guide/testing_validate-modules.rst:104
#: ../../rst/dev_guide/testing_validate-modules.rst:109
#: ../../rst/dev_guide/testing_validate-modules.rst:110
#: ../../rst/dev_guide/testing_validate-modules.rst:111
#: ../../rst/dev_guide/testing_validate-modules.rst:112
#: ../../rst/dev_guide/testing_validate-modules.rst:113
#: ../../rst/dev_guide/testing_validate-modules.rst:117
#: ../../rst/dev_guide/testing_validate-modules.rst:119
#: ../../rst/dev_guide/testing_validate-modules.rst:120
#: ../../rst/dev_guide/testing_validate-modules.rst:121
#: ../../rst/dev_guide/testing_validate-modules.rst:122
#: ../../rst/dev_guide/testing_validate-modules.rst:123
#: ../../rst/dev_guide/testing_validate-modules.rst:124
#: ../../rst/dev_guide/testing_validate-modules.rst:125
#: ../../rst/dev_guide/testing_validate-modules.rst:128
#: ../../rst/dev_guide/testing_validate-modules.rst:132
#: ../../rst/dev_guide/testing_validate-modules.rst:133
#: ../../rst/dev_guide/testing_validate-modules.rst:134
#: ../../rst/dev_guide/testing_validate-modules.rst:137
#: ../../rst/dev_guide/testing_validate-modules.rst:139
#: ../../rst/dev_guide/testing_validate-modules.rst:145
#: ../../rst/dev_guide/testing_validate-modules.rst:146
#: ../../rst/dev_guide/testing_validate-modules.rst:147
#: ../../rst/dev_guide/testing_validate-modules.rst:148
#: ../../rst/dev_guide/testing_validate-modules.rst:149
#: ../../rst/dev_guide/testing_validate-modules.rst:150
#: ../../rst/dev_guide/testing_validate-modules.rst:151
#: ../../rst/dev_guide/testing_validate-modules.rst:152
#: ../../rst/dev_guide/testing_validate-modules.rst:153
#: ../../rst/dev_guide/testing_validate-modules.rst:154
#: ../../rst/dev_guide/testing_validate-modules.rst:155
#: ../../rst/dev_guide/testing_validate-modules.rst:156
#: ../../rst/dev_guide/testing_validate-modules.rst:157
#: ../../rst/dev_guide/testing_validate-modules.rst:158
#: ../../rst/dev_guide/testing_validate-modules.rst:159
#: ../../rst/dev_guide/testing_validate-modules.rst:160
#: ../../rst/dev_guide/testing_validate-modules.rst:161
#: ../../rst/dev_guide/testing_validate-modules.rst:162
#: ../../rst/dev_guide/testing_validate-modules.rst:163
#: ../../rst/dev_guide/testing_validate-modules.rst:164
msgid "Documentation"
msgstr "ããã¥ã¡ã³ã"
#: ../../rst/dev_guide/testing_validate-modules.rst:64
#: ../../rst/dev_guide/testing_validate-modules.rst:65
#: ../../rst/dev_guide/testing_validate-modules.rst:66
#: ../../rst/dev_guide/testing_validate-modules.rst:67
#: ../../rst/dev_guide/testing_validate-modules.rst:68
#: ../../rst/dev_guide/testing_validate-modules.rst:69
#: ../../rst/dev_guide/testing_validate-modules.rst:70
#: ../../rst/dev_guide/testing_validate-modules.rst:71
#: ../../rst/dev_guide/testing_validate-modules.rst:72
#: ../../rst/dev_guide/testing_validate-modules.rst:73
#: ../../rst/dev_guide/testing_validate-modules.rst:74
#: ../../rst/dev_guide/testing_validate-modules.rst:75
#: ../../rst/dev_guide/testing_validate-modules.rst:76
#: ../../rst/dev_guide/testing_validate-modules.rst:77
#: ../../rst/dev_guide/testing_validate-modules.rst:78
#: ../../rst/dev_guide/testing_validate-modules.rst:79
#: ../../rst/dev_guide/testing_validate-modules.rst:80
#: ../../rst/dev_guide/testing_validate-modules.rst:81
#: ../../rst/dev_guide/testing_validate-modules.rst:82
#: ../../rst/dev_guide/testing_validate-modules.rst:83
#: ../../rst/dev_guide/testing_validate-modules.rst:84
#: ../../rst/dev_guide/testing_validate-modules.rst:86
#: ../../rst/dev_guide/testing_validate-modules.rst:87
#: ../../rst/dev_guide/testing_validate-modules.rst:88
#: ../../rst/dev_guide/testing_validate-modules.rst:89
#: ../../rst/dev_guide/testing_validate-modules.rst:90
#: ../../rst/dev_guide/testing_validate-modules.rst:91
#: ../../rst/dev_guide/testing_validate-modules.rst:92
#: ../../rst/dev_guide/testing_validate-modules.rst:93
#: ../../rst/dev_guide/testing_validate-modules.rst:94
#: ../../rst/dev_guide/testing_validate-modules.rst:95
#: ../../rst/dev_guide/testing_validate-modules.rst:96
#: ../../rst/dev_guide/testing_validate-modules.rst:97
#: ../../rst/dev_guide/testing_validate-modules.rst:98
#: ../../rst/dev_guide/testing_validate-modules.rst:99
#: ../../rst/dev_guide/testing_validate-modules.rst:100
#: ../../rst/dev_guide/testing_validate-modules.rst:102
#: ../../rst/dev_guide/testing_validate-modules.rst:103
#: ../../rst/dev_guide/testing_validate-modules.rst:104
#: ../../rst/dev_guide/testing_validate-modules.rst:106
#: ../../rst/dev_guide/testing_validate-modules.rst:107
#: ../../rst/dev_guide/testing_validate-modules.rst:108
#: ../../rst/dev_guide/testing_validate-modules.rst:109
#: ../../rst/dev_guide/testing_validate-modules.rst:111
#: ../../rst/dev_guide/testing_validate-modules.rst:112
#: ../../rst/dev_guide/testing_validate-modules.rst:113
#: ../../rst/dev_guide/testing_validate-modules.rst:114
#: ../../rst/dev_guide/testing_validate-modules.rst:115
#: ../../rst/dev_guide/testing_validate-modules.rst:116
#: ../../rst/dev_guide/testing_validate-modules.rst:117
#: ../../rst/dev_guide/testing_validate-modules.rst:118
#: ../../rst/dev_guide/testing_validate-modules.rst:119
#: ../../rst/dev_guide/testing_validate-modules.rst:120
#: ../../rst/dev_guide/testing_validate-modules.rst:121
#: ../../rst/dev_guide/testing_validate-modules.rst:122
#: ../../rst/dev_guide/testing_validate-modules.rst:123
#: ../../rst/dev_guide/testing_validate-modules.rst:124
#: ../../rst/dev_guide/testing_validate-modules.rst:125
#: ../../rst/dev_guide/testing_validate-modules.rst:126
#: ../../rst/dev_guide/testing_validate-modules.rst:127
#: ../../rst/dev_guide/testing_validate-modules.rst:128
#: ../../rst/dev_guide/testing_validate-modules.rst:129
#: ../../rst/dev_guide/testing_validate-modules.rst:130
#: ../../rst/dev_guide/testing_validate-modules.rst:131
#: ../../rst/dev_guide/testing_validate-modules.rst:132
#: ../../rst/dev_guide/testing_validate-modules.rst:133
#: ../../rst/dev_guide/testing_validate-modules.rst:134
#: ../../rst/dev_guide/testing_validate-modules.rst:135
#: ../../rst/dev_guide/testing_validate-modules.rst:137
#: ../../rst/dev_guide/testing_validate-modules.rst:138
#: ../../rst/dev_guide/testing_validate-modules.rst:140
#: ../../rst/dev_guide/testing_validate-modules.rst:141
#: ../../rst/dev_guide/testing_validate-modules.rst:142
#: ../../rst/dev_guide/testing_validate-modules.rst:143
#: ../../rst/dev_guide/testing_validate-modules.rst:144
#: ../../rst/dev_guide/testing_validate-modules.rst:145
#: ../../rst/dev_guide/testing_validate-modules.rst:146
#: ../../rst/dev_guide/testing_validate-modules.rst:147
#: ../../rst/dev_guide/testing_validate-modules.rst:148
#: ../../rst/dev_guide/testing_validate-modules.rst:149
#: ../../rst/dev_guide/testing_validate-modules.rst:150
#: ../../rst/dev_guide/testing_validate-modules.rst:151
#: ../../rst/dev_guide/testing_validate-modules.rst:152
#: ../../rst/dev_guide/testing_validate-modules.rst:153
#: ../../rst/dev_guide/testing_validate-modules.rst:154
#: ../../rst/dev_guide/testing_validate-modules.rst:155
#: ../../rst/dev_guide/testing_validate-modules.rst:156
#: ../../rst/dev_guide/testing_validate-modules.rst:157
#: ../../rst/dev_guide/testing_validate-modules.rst:158
#: ../../rst/dev_guide/testing_validate-modules.rst:159
#: ../../rst/dev_guide/testing_validate-modules.rst:160
#: ../../rst/dev_guide/testing_validate-modules.rst:161
#: ../../rst/dev_guide/testing_validate-modules.rst:162
#: ../../rst/dev_guide/testing_validate-modules.rst:163
#: ../../rst/dev_guide/testing_validate-modules.rst:164
msgid "Error"
msgstr "ãšã©ãŒ"
#: ../../rst/dev_guide/testing_validate-modules.rst:64
msgid "A module is deprecated and supposed to be removed in the current or an earlier Ansible version"
msgstr "ã¢ãžã¥ãŒã«ã¯éæšå¥šãšãªããçŸè¡ãŸãã¯ãã以åã® Ansible ããŒãžã§ã³ã§åé€ãããäºå®ã§ãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:65
msgid "collection-deprecated-module"
msgstr "collection-deprecated-module"
#: ../../rst/dev_guide/testing_validate-modules.rst:65
msgid "A module is deprecated and supposed to be removed in the current or an earlier collection version"
msgstr "ã¢ãžã¥ãŒã«ã¯éæšå¥šãšãªããçŸè¡ãŸãã¯ãã以åã®ããŒãžã§ã³ã®ã³ã¬ã¯ã·ã§ã³ã§åé€ãããäºå®ã§ãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:66
msgid "ansible-deprecated-version"
msgstr "ansible-deprecated-version"
#: ../../rst/dev_guide/testing_validate-modules.rst:66
msgid "A feature is deprecated and supposed to be removed in the current or an earlier Ansible version"
msgstr "æ©èœã¯éæšå¥šãšãªããçŸè¡ãŸãã¯ãã以åã® Ansible ããŒãžã§ã³ã§åé€ãããäºå®ã§ãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:67
msgid "ansible-module-not-initialized"
msgstr "ansible-module-not-initialized"
#: ../../rst/dev_guide/testing_validate-modules.rst:67
#: ../../rst/dev_guide/testing_validate-modules.rst:107
#: ../../rst/dev_guide/testing_validate-modules.rst:108
#: ../../rst/dev_guide/testing_validate-modules.rst:131
#: ../../rst/dev_guide/testing_validate-modules.rst:138
msgid "Syntax"
msgstr "æ§æ"
#: ../../rst/dev_guide/testing_validate-modules.rst:67
msgid "Execution of the module did not result in initialization of AnsibleModule"
msgstr "ã¢ãžã¥ãŒã«ãå®è¡ããŠããAnsibleModule ã¯åæåãããªãã£ãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:68
msgid "collection-deprecated-version"
msgstr "collection-deprecated-version"
#: ../../rst/dev_guide/testing_validate-modules.rst:68
msgid "A feature is deprecated and supposed to be removed in the current or an earlier collection version"
msgstr "æ©èœã¯éæšå¥šãšãªããçŸè¡ãŸãã¯ãã以åã®ããŒãžã§ã³ã®ã³ã¬ã¯ã·ã§ã³ã§åé€ãããäºå®ã§ãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:69
msgid "deprecated-date"
msgstr "deprecated-date"
#: ../../rst/dev_guide/testing_validate-modules.rst:69
msgid "A date before today appears as ``removed_at_date`` or in ``deprecated_aliases``"
msgstr "ä»æ¥ããåã®æ¥ä»ã¯ã``removed_at_date`` ããã«è¡šç€ºããããã``deprecated_aliases`` ã«è¡šç€ºãããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:70
msgid "deprecation-mismatch"
msgstr "deprecation-mismatch"
#: ../../rst/dev_guide/testing_validate-modules.rst:70
msgid "Module marked as deprecated or removed in at least one of the filename, its metadata, or in DOCUMENTATION (setting DOCUMENTATION.deprecated for deprecation or removing all Documentation for removed) but not in all three places."
msgstr "ãã¡ã€ã«åããã®ã¡ã¿ããŒã¿ããŸã㯠DOCUMENTATION ã®å°ãªããšã 1 〠(å
šç®æã§ã¯ãªã) ã§éæšå¥šãŸãã¯åé€æžã¿ãšããŠããŒã¯ãããã¢ãžã¥ãŒã« (éæšå¥šã®å Žå㯠DOCUMENTATION.deprecated ãèšå®ããåé€ã®å Žåã¯ãã¹ãŠã®ããã¥ã¡ã³ããåé€ãã) ããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:71
msgid "doc-choices-do-not-match-spec"
msgstr "doc-choices-do-not-match-spec"
#: ../../rst/dev_guide/testing_validate-modules.rst:71
msgid "Value for \"choices\" from the argument_spec does not match the documentation"
msgstr "argument_spec ã®ãchoicesãã®å€ãããã¥ã¡ã³ããšäžèŽããªãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:72
msgid "doc-choices-incompatible-type"
msgstr "doc-choices-incompatible-type"
#: ../../rst/dev_guide/testing_validate-modules.rst:72
msgid "Choices value from the documentation is not compatible with type defined in the argument_spec"
msgstr "ããã¥ã¡ã³ããŒã·ã§ã³ã®éžæå€ã¯ãargument_spec ã§å®çŸ©ãããã¿ã€ããšäºææ§ããããŸããã"
#: ../../rst/dev_guide/testing_validate-modules.rst:73
msgid "doc-default-does-not-match-spec"
msgstr "doc-default-does-not-match-spec"
#: ../../rst/dev_guide/testing_validate-modules.rst:73
msgid "Value for \"default\" from the argument_spec does not match the documentation"
msgstr "argument_spec ã®ãdefaultãã®å€ãããã¥ã¡ã³ããšäžèŽããªãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:74
msgid "doc-default-incompatible-type"
msgstr "doc-default-incompatible-type"
#: ../../rst/dev_guide/testing_validate-modules.rst:74
msgid "Default value from the documentation is not compatible with type defined in the argument_spec"
msgstr "ããã¥ã¡ã³ããŒã·ã§ã³ã®ããã©ã«ãå€ã¯ãargument_spec ã§å®çŸ©ãããã¿ã€ããšäºææ§ããããŸããã"
#: ../../rst/dev_guide/testing_validate-modules.rst:75
msgid "doc-elements-invalid"
msgstr "doc-elements-invalid"
#: ../../rst/dev_guide/testing_validate-modules.rst:75
msgid "Documentation specifies elements for argument, when \"type\" is not ``list``."
msgstr "ããã¥ã¡ã³ãã§ã¯ããtypeãã ``list`` ã§ã¯ãªãå Žåã«ãåŒæ°ã®èŠçŽ ãæå®ããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:76
msgid "doc-elements-mismatch"
msgstr "doc-elements-mismatch"
#: ../../rst/dev_guide/testing_validate-modules.rst:76
msgid "Argument_spec defines elements different than documentation does"
msgstr "argument_spec ã¯ããã¥ã¡ã³ããšã¯ç°ãªãã¿ã€ããå®çŸ©ããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:77
msgid "doc-missing-type"
msgstr "doc-missing-type"
#: ../../rst/dev_guide/testing_validate-modules.rst:77
msgid "Documentation doesn't specify a type but argument in ``argument_spec`` use default type (``str``)"
msgstr "ããã¥ã¡ã³ãã§ã¯ã¿ã€ããããŠããŸãããã``argument_spec`` ã®åŒæ°ãããã©ã«ãå (``str``) ã䜿çšããŠããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:78
msgid "doc-required-mismatch"
msgstr "doc-required-mismatch"
#: ../../rst/dev_guide/testing_validate-modules.rst:78
msgid "argument in argument_spec is required but documentation says it is not, or vice versa"
msgstr "arguments_spec ã®åŒæ°ã¯å¿
é ã§ãããããã¥ã¡ã³ãã«ã¯å¿
é ã§ã¯ãªã (ãŸã㯠arguments_spec ã®åŒæ°ã¯å¿
é ã§ã¯ãããŸããããããã¥ã¡ã³ãã«ã¯å¿
é ) ãšèšèŒãããŠããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:79
msgid "doc-type-does-not-match-spec"
msgstr "doc-type-does-not-match-spec"
#: ../../rst/dev_guide/testing_validate-modules.rst:79
msgid "Argument_spec defines type different than documentation does"
msgstr "argument_spec ãããã¥ã¡ã³ããšã¯ç°ãªãã¿ã€ããå®çŸ©ããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:80
msgid "documentation-error"
msgstr "documentation-error"
#: ../../rst/dev_guide/testing_validate-modules.rst:80
msgid "Unknown ``DOCUMENTATION`` error"
msgstr "äžæ㪠``DOCUMENTATION`` ãšã©ãŒ"
#: ../../rst/dev_guide/testing_validate-modules.rst:81
msgid "documentation-syntax-error"
msgstr "documentation-syntax-error"
#: ../../rst/dev_guide/testing_validate-modules.rst:81
msgid "Invalid ``DOCUMENTATION`` schema"
msgstr "ç¡å¹ãª ``DOCUMENTATION`` ã¹ããŒã"
#: ../../rst/dev_guide/testing_validate-modules.rst:82
msgid "illegal-future-imports"
msgstr "illegal-future-imports"
#: ../../rst/dev_guide/testing_validate-modules.rst:82
#: ../../rst/dev_guide/testing_validate-modules.rst:83
#: ../../rst/dev_guide/testing_validate-modules.rst:86
#: ../../rst/dev_guide/testing_validate-modules.rst:105
#: ../../rst/dev_guide/testing_validate-modules.rst:106
#: ../../rst/dev_guide/testing_validate-modules.rst:114
#: ../../rst/dev_guide/testing_validate-modules.rst:115
#: ../../rst/dev_guide/testing_validate-modules.rst:116
#: ../../rst/dev_guide/testing_validate-modules.rst:136
#: ../../rst/dev_guide/testing_validate-modules.rst:140
#: ../../rst/dev_guide/testing_validate-modules.rst:141
#: ../../rst/dev_guide/testing_validate-modules.rst:142
#: ../../rst/dev_guide/testing_validate-modules.rst:143
#: ../../rst/dev_guide/testing_validate-modules.rst:144
msgid "Imports"
msgstr "ã€ã³ããŒã"
#: ../../rst/dev_guide/testing_validate-modules.rst:82
msgid "Only the following ``from __future__`` imports are allowed: ``absolute_import``, ``division``, and ``print_function``."
msgstr "``absolute_import``ã``division``ãããã³ ``print_function`` ã® ``from __future__`` ã€ã³ããŒãã®ã¿ãèš±å¯ãããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:83
msgid "import-before-documentation"
msgstr "import-before-documentation"
#: ../../rst/dev_guide/testing_validate-modules.rst:83
msgid "Import found before documentation variables. All imports must appear below ``DOCUMENTATION``/``EXAMPLES``/``RETURN``"
msgstr "ããã¥ã¡ã³ãå€æ°ã®åã«ã€ã³ããŒããèŠã€ãããŸããããã¹ãŠã®ã€ã³ããŒãã¯ã``DOCUMENTATION``/``EXAMPLES``/``RETURN`` ã®äžã«è¡šç€ºãããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:84
msgid "import-error"
msgstr "import-error"
#: ../../rst/dev_guide/testing_validate-modules.rst:84
msgid "``Exception`` attempting to import module for ``argument_spec`` introspection"
msgstr "``Exception`` ãã``argument_spec`` ã€ã³ããã¹ãã¯ã·ã§ã³ã®ã¢ãžã¥ãŒã«ã®ã€ã³ããŒããè©Šè¡äž"
#: ../../rst/dev_guide/testing_validate-modules.rst:85
msgid "import-placement"
msgstr "import-placement"
#: ../../rst/dev_guide/testing_validate-modules.rst:85
msgid "Locations"
msgstr "å Žæ"
#: ../../rst/dev_guide/testing_validate-modules.rst:85
#: ../../rst/dev_guide/testing_validate-modules.rst:101
#: ../../rst/dev_guide/testing_validate-modules.rst:105
#: ../../rst/dev_guide/testing_validate-modules.rst:110
#: ../../rst/dev_guide/testing_validate-modules.rst:136
#: ../../rst/dev_guide/testing_validate-modules.rst:139
msgid "Warning"
msgstr "èŠå"
#: ../../rst/dev_guide/testing_validate-modules.rst:85
#: ../../rst/dev_guide/testing_validate-modules.rst:86
msgid "Imports should be directly below ``DOCUMENTATION``/``EXAMPLES``/``RETURN``"
msgstr "ã€ã³ããŒãã¯ã``DOCUMENTATION``/``EXAMPLES``/``RETURN`` ã®ããåŸã«é
眮ããªããã°ãªããŸããã"
#: ../../rst/dev_guide/testing_validate-modules.rst:86
msgid "imports-improper-location"
msgstr "imports-improper-location"
#: ../../rst/dev_guide/testing_validate-modules.rst:87
msgid "incompatible-choices"
msgstr "incompatible-choices"
#: ../../rst/dev_guide/testing_validate-modules.rst:87
msgid "Choices value from the argument_spec is not compatible with type defined in the argument_spec"
msgstr "argument_spec ã®éžæå€ã¯ãargument_spec ã§å®çŸ©ãããã¿ã€ããšäºææ§ããããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:88
msgid "incompatible-default-type"
msgstr "incompatible-default-type"
#: ../../rst/dev_guide/testing_validate-modules.rst:88
msgid "Default value from the argument_spec is not compatible with type defined in the argument_spec"
msgstr "argument_spec ã®ããã©ã«ãå€ã¯ãargument_spec ã§å®çŸ©ãããã¿ã€ããšäºææ§ããããŸããã"
#: ../../rst/dev_guide/testing_validate-modules.rst:89
msgid "invalid-argument-name"
msgstr "invalid-argument-name"
#: ../../rst/dev_guide/testing_validate-modules.rst:89
msgid "Argument in argument_spec must not be one of 'message', 'syslog_facility' as it is used internally by Ansible Core Engine"
msgstr "argument_spec ã®åŒæ°ã¯ãAnsible Core Engine ã«ãã£ãŠå
éšã§äœ¿çšãããããããmessageãããsyslog_facilityãã®ããããã«ããããšã¯ã§ããŸããã"
#: ../../rst/dev_guide/testing_validate-modules.rst:90
msgid "invalid-argument-spec"
msgstr "invalid-argument-spec"
#: ../../rst/dev_guide/testing_validate-modules.rst:90
msgid "Argument in argument_spec must be a dictionary/hash when used"
msgstr "argument_spec ã®åŒæ°ã䜿çšããå Žåã¯ããã£ã¯ã·ã§ããªãŒãŸãã¯ããã·ã¥ã§ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:91
msgid "invalid-argument-spec-options"
msgstr "invalid-argument-spec-options"
#: ../../rst/dev_guide/testing_validate-modules.rst:91
msgid "Suboptions in argument_spec are invalid"
msgstr "argument_spec ã®ãµããªãã·ã§ã³ã¯ç¡å¹ã§ãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:92
msgid "invalid-documentation"
msgstr "invalid-documentation"
#: ../../rst/dev_guide/testing_validate-modules.rst:92
msgid "``DOCUMENTATION`` is not valid YAML"
msgstr "``DOCUMENTATION`` ã¯ãæå¹ãª YAML ã§ã¯ãããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:93
msgid "invalid-documentation-markup"
msgstr "invalid-documentation-markup"
#: ../../rst/dev_guide/testing_validate-modules.rst:93
msgid "``DOCUMENTATION`` or ``RETURN`` contains invalid markup"
msgstr "``DOCUMENTATION`` ãŸãã¯ã``RETURN`` ã«ç¡å¹ãªããŒã¯ã¢ãããå«ãŸããŠããŸã"
#: ../../rst/dev_guide/testing_validate-modules.rst:94
msgid "invalid-documentation-options"
msgstr "invalid-documentation-options"
#: ../../rst/dev_guide/testing_validate-modules.rst:94
msgid "``DOCUMENTATION.options`` must be a dictionary/hash when used"
msgstr "``DOCUMENTATION.options`` ã䜿çšããå Žåã¯ããã£ã¯ã·ã§ããªãŒ/ããã·ã¥ã§ãªããã°ãªããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:95
msgid "invalid-examples"
msgstr "invalid-examples"
#: ../../rst/dev_guide/testing_validate-modules.rst:95
msgid "``EXAMPLES`` is not valid YAML"
msgstr "``EXAMPLES`` ã¯ãæå¹ãª YAML ã§ã¯ãããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:96
msgid "invalid-extension"
msgstr "invalid-extension"
#: ../../rst/dev_guide/testing_validate-modules.rst:96
#: ../../rst/dev_guide/testing_validate-modules.rst:99
#: ../../rst/dev_guide/testing_validate-modules.rst:135
msgid "Naming"
msgstr "åœåèŠå"
#: ../../rst/dev_guide/testing_validate-modules.rst:96
msgid "Official Ansible modules must have a ``.py`` extension for python modules or a ``.ps1`` for powershell modules"
msgstr "å
¬åŒã® Ansible ã¢ãžã¥ãŒã«ã§ã¯ãpython ã¢ãžã¥ãŒã«ã®æ¡åŒµå㯠``.py`` ã§ãpowershell ã¢ãžã¥ãŒã«ã®æ¡åŒµå㯠``.ps1`` ã«ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:97
msgid "invalid-module-schema"
msgstr "invalid-module-schema"
#: ../../rst/dev_guide/testing_validate-modules.rst:97
msgid "``AnsibleModule`` schema validation error"
msgstr "``AnsibleModule`` ã¹ããŒãæ€èšŒãšã©ãŒ"
#: ../../rst/dev_guide/testing_validate-modules.rst:98
msgid "invalid-removal-version"
msgstr "invalid-removal-version"
#: ../../rst/dev_guide/testing_validate-modules.rst:98
msgid "The version at which a feature is supposed to be removed cannot be parsed (for collections, it must be a semantic version, see https://semver.org/)"
msgstr "æ©èœãåé€ãããããšã«ãªã£ãŠããããŒãžã§ã³ã¯è§£æã§ããŸãã (ã³ã¬ã¯ã·ã§ã³ã®å Žåãã»ãã³ãã£ãã¯ããŒãžã§ã³ã§ããå¿
èŠããããŸããhttps://semver.org/ ãåç
§ããŠãã ãã)ã"
#: ../../rst/dev_guide/testing_validate-modules.rst:99
msgid "invalid-requires-extension"
msgstr "invalid-requires-extension"
#: ../../rst/dev_guide/testing_validate-modules.rst:99
msgid "Module ``#AnsibleRequires -CSharpUtil`` should not end in .cs, Module ``#Requires`` should not end in .psm1"
msgstr "ã¢ãžã¥ãŒã« ``#AnsibleRequires -CSharpUtil`` ã®æ«å°Ÿã .cs ã«ããªãã§ãã ãããã¢ãžã¥ãŒã« ``#Requires`` ã®æ«å°Ÿã .psm1 ã«ããªãã§ãã ããã"
#: ../../rst/dev_guide/testing_validate-modules.rst:100
msgid "missing-doc-fragment"
msgstr "missing-doc-fragment"
#: ../../rst/dev_guide/testing_validate-modules.rst:100
msgid "``DOCUMENTATION`` fragment missing"
msgstr "``DOCUMENTATION`` ãã©ã°ã¡ã³ãããããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:101
msgid "missing-existing-doc-fragment"
msgstr "missing-existing-doc-fragment"
#: ../../rst/dev_guide/testing_validate-modules.rst:101
msgid "Pre-existing ``DOCUMENTATION`` fragment missing"
msgstr "æ¢åã® ``DOCUMENTATION`` ãã©ã°ã¡ã³ãããããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:102
msgid "missing-documentation"
msgstr "missing-documentation"
#: ../../rst/dev_guide/testing_validate-modules.rst:102
msgid "No ``DOCUMENTATION`` provided"
msgstr "``DOCUMENTATION`` ãæäŸãããŠããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:103
msgid "missing-examples"
msgstr "missing-examples"
#: ../../rst/dev_guide/testing_validate-modules.rst:103
msgid "No ``EXAMPLES`` provided"
msgstr "``EXAMPLES`` ãæäŸãããŠããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:104
msgid "missing-gplv3-license"
msgstr "missing-gplv3-license"
#: ../../rst/dev_guide/testing_validate-modules.rst:104
msgid "GPLv3 license header not found"
msgstr "GPLv3 ã©ã€ã»ã³ã¹ããããŒãèŠã€ãããŸããã§ãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:105
msgid "missing-module-utils-basic-import"
msgstr "missing-module-utils-basic-import"
#: ../../rst/dev_guide/testing_validate-modules.rst:105
msgid "Did not find ``ansible.module_utils.basic`` import"
msgstr "``ansible.module_utils.basic`` ã€ã³ããŒããèŠã€ãããŸããã§ãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:106
msgid "missing-module-utils-import-csharp-requirements"
msgstr "missing-module-utils-import-csharp-requirements"
#: ../../rst/dev_guide/testing_validate-modules.rst:106
msgid "No ``Ansible.ModuleUtils`` or C# Ansible util requirements/imports found"
msgstr "``Ansible.ModuleUtils`` ãŸã㯠C# Ansible ãŠãŒãã£ãªãã£ãŒã® èŠä»¶/ã€ã³ããŒãããããŸã"
#: ../../rst/dev_guide/testing_validate-modules.rst:107
msgid "missing-powershell-interpreter"
msgstr "missing-powershell-interpreter"
#: ../../rst/dev_guide/testing_validate-modules.rst:107
msgid "Interpreter line is not ``#!powershell``"
msgstr "ã€ã³ã¿ãŒããªã¿ãŒè¡ã¯ ``#!powershell`` ã§ã¯ãããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:108
msgid "missing-python-interpreter"
msgstr "missing-python-interpreter"
#: ../../rst/dev_guide/testing_validate-modules.rst:108
msgid "Interpreter line is not ``#!/usr/bin/python``"
msgstr "ã€ã³ã¿ãŒããªã¿ãŒè¡ã¯ ``#!/usr/bin/python`` ã§ã¯ãããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:109
msgid "missing-return"
msgstr "missing-return"
#: ../../rst/dev_guide/testing_validate-modules.rst:109
msgid "No ``RETURN`` documentation provided"
msgstr "``RETURN`` ã®ããã¥ã¡ã³ãã¯æäŸãããŠããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:110
msgid "missing-return-legacy"
msgstr "missing-return-legacy"
#: ../../rst/dev_guide/testing_validate-modules.rst:110
msgid "No ``RETURN`` documentation provided for legacy module"
msgstr "ã¬ã¬ã·ãŒã¢ãžã¥ãŒã«ã«ã¯ ``RETURN`` ã®ããã¥ã¡ã³ãããããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:111
msgid "missing-suboption-docs"
msgstr "missing-suboption-docs"
#: ../../rst/dev_guide/testing_validate-modules.rst:111
msgid "Argument in argument_spec has sub-options but documentation does not define sub-options"
msgstr "argument_spec ã®åŒæ°ã«ã¯ãµããªãã·ã§ã³ã§ã³ããããŸãããããã¥ã¡ã³ãã§ã¯ãµããªãã·ã§ã³ãå®çŸ©ãããŠããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:112
msgid "module-incorrect-version-added"
msgstr "module-incorrect-version-added"
#: ../../rst/dev_guide/testing_validate-modules.rst:112
msgid "Module level ``version_added`` is incorrect"
msgstr "ã¢ãžã¥ãŒã«ã¬ãã« ``version_added`` ã¯æ£ãããããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:113
msgid "module-invalid-version-added"
msgstr "module-invalid-version-added"
#: ../../rst/dev_guide/testing_validate-modules.rst:113
msgid "Module level ``version_added`` is not a valid version number"
msgstr "ã¢ãžã¥ãŒã«ã¬ãã«ã® ``version_added`` ã¯ãæå¹ãªããŒãžã§ã³çªå·ã§ã¯ãããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:114
msgid "module-utils-specific-import"
msgstr "module-utils-specific-import"
#: ../../rst/dev_guide/testing_validate-modules.rst:114
msgid "``module_utils`` imports should import specific components, not ``*``"
msgstr "``module_utils`` ã¯ã``*`` ã§ã¯ãªããç¹å®ã®ã³ã³ããŒãã³ããã€ã³ããŒãããå¿
èŠããããŸã"
#: ../../rst/dev_guide/testing_validate-modules.rst:115
msgid "multiple-utils-per-requires"
msgstr "multiple-utils-per-requires"
#: ../../rst/dev_guide/testing_validate-modules.rst:115
msgid "``Ansible.ModuleUtils`` requirements do not support multiple modules per statement"
msgstr "``Ansible.ModuleUtils`` èŠä»¶ã¯ãã¹ããŒãã¡ã³ãããšã«è€æ°ã®ã¢ãžã¥ãŒã«ããµããŒãããŸããã"
#: ../../rst/dev_guide/testing_validate-modules.rst:116
msgid "multiple-csharp-utils-per-requires"
msgstr "multiple-csharp-utils-per-requires"
#: ../../rst/dev_guide/testing_validate-modules.rst:116
msgid "Ansible C# util requirements do not support multiple utils per statement"
msgstr "C# ãŠãŒãã£ãªãã£ãŒèŠä»¶ã¯ãã¹ããŒãã¡ã³ãããšã«è€æ°ã®ã¢ãžã¥ãŒã«ããµããŒãããŸããã"
#: ../../rst/dev_guide/testing_validate-modules.rst:117
msgid "no-default-for-required-parameter"
msgstr "no-default-for-required-parameter"
#: ../../rst/dev_guide/testing_validate-modules.rst:117
msgid "Option is marked as required but specifies a default. Arguments with a default should not be marked as required"
msgstr "ãªãã·ã§ã³ã¯å¿
é ãšèå¥ãããŸãããããã©ã«ãã®åŒæ°ãæå®ããŸããããã©ã«ãã®åŒæ°ã¯å¿
é ãšèå¥ããªãã§ãã ããã"
#: ../../rst/dev_guide/testing_validate-modules.rst:118
msgid "no-log-needed"
msgstr "no-log-needed"
#: ../../rst/dev_guide/testing_validate-modules.rst:118
#: ../../rst/dev_guide/testing_validate-modules.rst:126
#: ../../rst/dev_guide/testing_validate-modules.rst:127
#: ../../rst/dev_guide/testing_validate-modules.rst:129
#: ../../rst/dev_guide/testing_validate-modules.rst:130
msgid "Parameters"
msgstr "ãã©ã¡ãŒã¿ãŒ"
#: ../../rst/dev_guide/testing_validate-modules.rst:118
msgid "Option name suggests that the option contains a secret value, while ``no_log`` is not specified for this option in the argument spec. If this is a false positive, explicitly set ``no_log=False``"
msgstr "ãªãã·ã§ã³åã¯ããªãã·ã§ã³ã«ã·ãŒã¯ã¬ããå€ãå«ãŸããŠããããšã瀺åããŠããŸãããåŒæ°ä»æ§ã§ã¯ãã®ãªãã·ã§ã³ã«å¯Ÿã㊠``no_log`` ãæå®ãããŠããŸããããã®ãªãã·ã§ã³ã誀æ€åºã®å Žåã¯æ瀺çã« ``no_log=False`` ã«èšå®ããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:119
msgid "nonexistent-parameter-documented"
msgstr "nonexistent-parameter-documented"
#: ../../rst/dev_guide/testing_validate-modules.rst:119
msgid "Argument is listed in DOCUMENTATION.options, but not accepted by the module"
msgstr "åŒæ°ã¯ DOCUMENTATION.options ã«äžèŠ§è¡šç€ºãããŸãããã¢ãžã¥ãŒã«ã§ã¯åãå
¥ããããŸããã"
#: ../../rst/dev_guide/testing_validate-modules.rst:120
msgid "option-incorrect-version-added"
msgstr "option-incorrect-version-added"
#: ../../rst/dev_guide/testing_validate-modules.rst:120
msgid "``version_added`` for new option is incorrect"
msgstr "æ°ãããªãã·ã§ã³ã® ``version_added`` ã¯æ£ãããããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:121
msgid "option-invalid-version-added"
msgstr "option-invalid-version-added"
#: ../../rst/dev_guide/testing_validate-modules.rst:121
msgid "``version_added`` for option is not a valid version number"
msgstr "``version_added`` ãªãã·ã§ã³ãæå¹ãªããŒãžã§ã³çªå·ã§ã¯ãããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:122
msgid "parameter-invalid"
msgstr "parameter-invalid"
#: ../../rst/dev_guide/testing_validate-modules.rst:122
msgid "Argument in argument_spec is not a valid python identifier"
msgstr "argument_spec ã®åŒæ°ã¯æå¹ãª python èå¥åã§ã¯ãããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:123
msgid "parameter-invalid-elements"
msgstr "parameter-invalid-elements"
#: ../../rst/dev_guide/testing_validate-modules.rst:123
msgid "Value for \"elements\" is valid only when value of \"type\" is ``list``"
msgstr "ãelementsãã®å€ã¯ããtypeãã®å€ã ``list`` ã§ããå Žåã«éãæå¹ã§ã"
#: ../../rst/dev_guide/testing_validate-modules.rst:124
msgid "implied-parameter-type-mismatch"
msgstr "implied-parameter-type-mismatch"
#: ../../rst/dev_guide/testing_validate-modules.rst:124
msgid "Argument_spec implies ``type=\"str\"`` but documentation defines it as different data type"
msgstr "argument_spec ã«ã¯ ``type=\"str\"`` ã®æãå«ãŸããŸãããããã¥ã¡ã³ãã§ã¯ãå¥ã®ããŒã¿åãšããŠæå®ãããŠããŸã"
#: ../../rst/dev_guide/testing_validate-modules.rst:125
msgid "parameter-type-not-in-doc"
msgstr "parameter-type-not-in-doc"
#: ../../rst/dev_guide/testing_validate-modules.rst:125
msgid "Type value is defined in ``argument_spec`` but documentation doesn't specify a type"
msgstr "ã¿ã€ãå€ã¯ ``argument_spec`` ã§å®çŸ©ãããŠããŸãããããã¥ã¡ã³ãã¯ã¿ã€ããæå®ããŠããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:126
msgid "parameter-alias-repeated"
msgstr "parameter-alias-repeated"
#: ../../rst/dev_guide/testing_validate-modules.rst:126
msgid "argument in argument_spec has at least one alias specified multiple times in aliases"
msgstr "argument_spec ã®åŒæ°ã«ã¯ããšã€ãªã¢ã¹ã«è€æ°åæå®ããããšã€ãªã¢ã¹ã 1 ã€ä»¥äžå«ãŸããŸã"
#: ../../rst/dev_guide/testing_validate-modules.rst:127
msgid "parameter-alias-self"
msgstr "parameter-alias-self"
#: ../../rst/dev_guide/testing_validate-modules.rst:127
msgid "argument in argument_spec is specified as its own alias"
msgstr "argument_spec ã®åŒæ°ã¯ãç¬èªã®ãšã€ãªã¢ã¹ãšããŠæå®ãããŸã"
#: ../../rst/dev_guide/testing_validate-modules.rst:128
msgid "parameter-documented-multiple-times"
msgstr "parameter-documented-multiple-times"
#: ../../rst/dev_guide/testing_validate-modules.rst:128
msgid "argument in argument_spec with aliases is documented multiple times"
msgstr "ãšã€ãªã¢ã¹ãæ〠argument_spec ã®åŒæ°ãè€æ°åææžåãããŠããŸã"
#: ../../rst/dev_guide/testing_validate-modules.rst:129
msgid "parameter-list-no-elements"
msgstr "parameter-list-no-elements"
#: ../../rst/dev_guide/testing_validate-modules.rst:129
msgid "argument in argument_spec \"type\" is specified as ``list`` without defining \"elements\""
msgstr "argument_specãtypeãã®åŒæ°ã¯ããèŠçŽ ããå®çŸ©ããã« ``list`` ã®ããã«æå®ãããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:130
msgid "parameter-state-invalid-choice"
msgstr "parameter-state-invalid-choice"
#: ../../rst/dev_guide/testing_validate-modules.rst:130
msgid "Argument ``state`` includes ``get``, ``list`` or ``info`` as a choice. Functionality should be in an ``_info`` or (if further conditions apply) ``_facts`` module."
msgstr "åŒæ° ``state`` ã«ã¯ã``get``ã``list``ããŸã㯠``info`` ãå«ãŸããŠããŸããæ©èœæ§ã¯ ``_info`` ãŸã㯠(è¿œå ã®æ¡ä»¶ãé©çšãããå Žåã¯) ``_facts`` ã¢ãžã¥ãŒã«ã§ããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:131
msgid "python-syntax-error"
msgstr "python-syntax-error"
#: ../../rst/dev_guide/testing_validate-modules.rst:131
msgid "Python ``SyntaxError`` while parsing module"
msgstr "ã¢ãžã¥ãŒã«ã®è§£æäžã® Python ``SyntaxError``"
#: ../../rst/dev_guide/testing_validate-modules.rst:132
msgid "removal-version-must-be-major"
msgstr "removal-version-must-be-major"
#: ../../rst/dev_guide/testing_validate-modules.rst:132
msgid "According to the semantic versioning specification (https://semver.org/), the only versions in which features are allowed to be removed are major versions (x.0.0)"
msgstr "ã»ãã³ãã£ãã¯ããŒãžã§ãã³ã°ä»æ§ (https://semver.org/) ã«ãããšãæ©èœã®åé€ãèš±å¯ãããŠããããŒãžã§ã³ã¯ã¡ãžã£ãŒããŒãžã§ã³ (x.0.0) ã®ã¿ã§ãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:133
msgid "return-syntax-error"
msgstr "return-syntax-error"
#: ../../rst/dev_guide/testing_validate-modules.rst:133
msgid "``RETURN`` is not valid YAML, ``RETURN`` fragments missing or invalid"
msgstr "``RETURN`` ã¯ãæå¹ãª YAML ã§ã¯ãããŸããã``RETURN`` ãã©ã°ã¡ã³ããèŠã€ãããªãããç¡å¹ã§ãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:134
msgid "return-invalid-version-added"
msgstr "return-invalid-version-added"
#: ../../rst/dev_guide/testing_validate-modules.rst:134
msgid "``version_added`` for return value is not a valid version number"
msgstr "æ»ãå€ã® ``version_added`` ã¯ãæå¹ãªããŒãžã§ã³çªå·ã§ã¯ãããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:135
msgid "subdirectory-missing-init"
msgstr "subdirectory-missing-init"
#: ../../rst/dev_guide/testing_validate-modules.rst:135
msgid "Ansible module subdirectories must contain an ``__init__.py``"
msgstr "Ansible ã¢ãžã¥ãŒã«ã®ãµããã£ã¬ã¯ããªãŒã«ã¯ ``__init__.py`` ãå«ãŸããŠããå¿
èŠããããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:136
msgid "try-except-missing-has"
msgstr "try-except-missing-has"
#: ../../rst/dev_guide/testing_validate-modules.rst:136
msgid "Try/Except ``HAS_`` expression missing"
msgstr "try/Except ``HAS_`` åŒããªã"
#: ../../rst/dev_guide/testing_validate-modules.rst:137
msgid "undocumented-parameter"
msgstr "undocumented-parameter"
#: ../../rst/dev_guide/testing_validate-modules.rst:137
msgid "Argument is listed in the argument_spec, but not documented in the module"
msgstr "åŒæ°ã argument_spec ã«èšèŒãããŠããŸããããã®ã¢ãžã¥ãŒã«ã§ã¯ææžåãããŠããŸããã"
#: ../../rst/dev_guide/testing_validate-modules.rst:138
msgid "unidiomatic-typecheck"
msgstr "unidiomatic-typecheck"
#: ../../rst/dev_guide/testing_validate-modules.rst:138
msgid "Type comparison using ``type()`` found. Use ``isinstance()`` instead"
msgstr "``type()`` ã䜿çšããã¿ã€ãæ¯èŒã代ããã« ``isinstance()`` ã䜿çšããŠãã ããã"
#: ../../rst/dev_guide/testing_validate-modules.rst:139
msgid "unknown-doc-fragment"
msgstr "unknown-doc-fragment"
#: ../../rst/dev_guide/testing_validate-modules.rst:139
msgid "Unknown pre-existing ``DOCUMENTATION`` error"
msgstr "äžæãªæ¢åã® ``DOCUMENTATION`` ãšã©ãŒ"
#: ../../rst/dev_guide/testing_validate-modules.rst:140
msgid "use-boto3"
msgstr "use-boto3"
#: ../../rst/dev_guide/testing_validate-modules.rst:140
msgid "``boto`` import found, new modules should use ``boto3``"
msgstr "``boto`` ã€ã³ããŒããèŠã€ãããŸããã代ããã« ``boto3`` ã䜿çšããŠãã ãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:141
msgid "use-fail-json-not-sys-exit"
msgstr "use-fail-json-not-sys-exit"
#: ../../rst/dev_guide/testing_validate-modules.rst:141
msgid "``sys.exit()`` call found. Should be ``exit_json``/``fail_json``"
msgstr "``sys.exit()`` åŒã³åºããèŠã€ãããŸããã``exit_json``/``fail_json`` ã§ãªããã°ãªããŸããã"
#: ../../rst/dev_guide/testing_validate-modules.rst:142
msgid "use-module-utils-urls"
msgstr "use-module-utils-urls"
#: ../../rst/dev_guide/testing_validate-modules.rst:142
msgid "``requests`` import found, should use ``ansible.module_utils.urls`` instead"
msgstr "``requests`` ã€ã³ããŒãããŠããŸãã代ããã« ``ansible.module_utils.urls`` ã䜿çšããŠãã ãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:143
msgid "use-run-command-not-os-call"
msgstr "use-run-command-not-os-call"
#: ../../rst/dev_guide/testing_validate-modules.rst:143
msgid "``os.call`` used instead of ``module.run_command``"
msgstr "``module.run_command`` ã®ä»£ããã«ã``os.call`` ã䜿çšããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:144
msgid "use-run-command-not-popen"
msgstr "use-run-command-not-popen"
#: ../../rst/dev_guide/testing_validate-modules.rst:144
msgid "``subprocess.Popen`` used instead of ``module.run_command``"
msgstr "``module.run_command`` ã®ä»£ããã«ã``subprocess.Popen`` ã䜿çšããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:145
msgid "use-short-gplv3-license"
msgstr "use-short-gplv3-license"
#: ../../rst/dev_guide/testing_validate-modules.rst:145
msgid "GPLv3 license header should be the :ref:`short form <copyright>` for new modules"
msgstr "GPLv3 ã©ã€ã»ã³ã¹ããããŒã¯ãæ°ããã¢ãžã¥ãŒã«ã® :ref:`ç瞮圢 <copyright>` ã§ããå¿
èŠããããŸã"
#: ../../rst/dev_guide/testing_validate-modules.rst:146
msgid "mutually_exclusive-type"
msgstr "mutually_exclusive-type"
#: ../../rst/dev_guide/testing_validate-modules.rst:146
msgid "mutually_exclusive entry contains non-string value"
msgstr "mutually_exclusive ãšã³ããªãŒã«ã¯æåå以å€ã®å€ãå«ãŸããŸã"
#: ../../rst/dev_guide/testing_validate-modules.rst:147
msgid "mutually_exclusive-collision"
msgstr "mutually_exclusive-collision"
#: ../../rst/dev_guide/testing_validate-modules.rst:147
msgid "mutually_exclusive entry has repeated terms"
msgstr "mutually_exclusive ãšã³ããªãŒãç¹°ãè¿ã䜿çšãããŸã"
#: ../../rst/dev_guide/testing_validate-modules.rst:148
msgid "mutually_exclusive-unknown"
msgstr "mutually_exclusive-unknown"
#: ../../rst/dev_guide/testing_validate-modules.rst:148
msgid "mutually_exclusive entry contains option which does not appear in argument_spec (potentially an alias of an option?)"
msgstr "mutually_exclusive ãšã³ããªãŒã«ã¯ãargument_spec ã«è¡šç€ºãããªããªãã·ã§ã³ãå«ãŸããŠããŸã (ãªãã·ã§ã³ã®ãšã€ãªã¢ã¹ã§ããå¯èœæ§ããããŸãã?)"
#: ../../rst/dev_guide/testing_validate-modules.rst:149
msgid "required_one_of-type"
msgstr "required_one_of-type"
#: ../../rst/dev_guide/testing_validate-modules.rst:149
msgid "required_one_of entry contains non-string value"
msgstr "required_one_of ãšã³ããªãŒã«ã¯æåå以å€ã®å€ãå«ãŸããŸã"
#: ../../rst/dev_guide/testing_validate-modules.rst:150
msgid "required_one_of-collision"
msgstr "required_one_of-collision"
#: ../../rst/dev_guide/testing_validate-modules.rst:150
msgid "required_one_of entry has repeated terms"
msgstr "required_one_of ãšã³ããªãŒãç¹°ãè¿ã䜿çšãããŸã"
#: ../../rst/dev_guide/testing_validate-modules.rst:151
msgid "required_one_of-unknown"
msgstr "required_one_of-unknown"
#: ../../rst/dev_guide/testing_validate-modules.rst:151
msgid "required_one_of entry contains option which does not appear in argument_spec (potentially an alias of an option?)"
msgstr "required_one_of ãšã³ããªãŒã«ã¯ãargument_spec ã«è¡šç€ºãããªããªãã·ã§ã³ãå«ãŸããŠããŸã (ãªãã·ã§ã³ã®ãšã€ãªã¢ã¹ã§ããå¯èœæ§ããããŸãã?)"
#: ../../rst/dev_guide/testing_validate-modules.rst:152
msgid "required_together-type"
msgstr "required_together-type"
#: ../../rst/dev_guide/testing_validate-modules.rst:152
msgid "required_together entry contains non-string value"
msgstr "required_together ãšã³ããªãŒã«ã¯æåå以å€ã®å€ãå«ãŸããŸã"
#: ../../rst/dev_guide/testing_validate-modules.rst:153
msgid "required_together-collision"
msgstr "required_together-collision"
#: ../../rst/dev_guide/testing_validate-modules.rst:153
msgid "required_together entry has repeated terms"
msgstr "required_together ãšã³ããªãŒãç¹°ãè¿ã䜿çšãããŸã"
#: ../../rst/dev_guide/testing_validate-modules.rst:154
msgid "required_together-unknown"
msgstr "required_together-unknown"
#: ../../rst/dev_guide/testing_validate-modules.rst:154
msgid "required_together entry contains option which does not appear in argument_spec (potentially an alias of an option?)"
msgstr "required_together ãšã³ããªãŒã«ã¯ãargument_spec ã«è¡šç€ºãããªããªãã·ã§ã³ãå«ãŸããŠããŸã (ãªãã·ã§ã³ã®ãšã€ãªã¢ã¹ã§ããå¯èœæ§ããããŸãã?)"
#: ../../rst/dev_guide/testing_validate-modules.rst:155
msgid "required_if-is_one_of-type"
msgstr "required_if-is_one_of-type"
#: ../../rst/dev_guide/testing_validate-modules.rst:155
msgid "required_if entry has a fourth value which is not a bool"
msgstr "required_if ãšã³ããªãŒã«ã¯ bool ã§ã¯ãªã 4 ã€ç®ã®å€ããã"
#: ../../rst/dev_guide/testing_validate-modules.rst:156
msgid "required_if-requirements-type"
msgstr "required_if-requirements-type"
#: ../../rst/dev_guide/testing_validate-modules.rst:156
msgid "required_if entry has a third value (requirements) which is not a list or tuple"
msgstr "required_if ãšã³ããªãŒã«ã¯ããªã¹ããŸãã¯ã¿ãã«ã§ã¯ãªã 3 ã€ã®å€ (å¿
é ) ããããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:157
msgid "required_if-requirements-collision"
msgstr "required_if-requirements-collision"
#: ../../rst/dev_guide/testing_validate-modules.rst:157
msgid "required_if entry has repeated terms in requirements"
msgstr "required_if ãšã³ããªãŒãç¹°ãè¿ã䜿çšãããŸã"
#: ../../rst/dev_guide/testing_validate-modules.rst:158
msgid "required_if-requirements-unknown"
msgstr "required_if-requirements-unknown"
#: ../../rst/dev_guide/testing_validate-modules.rst:158
msgid "required_if entry's requirements contains option which does not appear in argument_spec (potentially an alias of an option?)"
msgstr "required_if ãšã³ããªãŒã®èŠä»¶ã«ã¯ãargument_spec ã«è¡šç€ºãããªããªãã·ã§ã³ãå«ãŸããŠããŸã (ãªãã·ã§ã³ã®ãšã€ãªã¢ã¹ã§ããå¯èœæ§ããããŸãã?)"
#: ../../rst/dev_guide/testing_validate-modules.rst:159
msgid "required_if-unknown-key"
msgstr "required_if-unknown-key"
#: ../../rst/dev_guide/testing_validate-modules.rst:159
msgid "required_if entry's key does not appear in argument_spec (potentially an alias of an option?)"
msgstr "required_if ãšã³ããªãŒã®ããŒã argument_spec ã«è¡šç€ºãããŸãã (ãªãã·ã§ã³ã®ãšã€ãªã¢ã¹ã§ããå¯èœæ§ããããŸãã?)"
#: ../../rst/dev_guide/testing_validate-modules.rst:160
msgid "required_if-key-in-requirements"
msgstr "required_if-key-in-requirements"
#: ../../rst/dev_guide/testing_validate-modules.rst:160
msgid "required_if entry contains its key in requirements list/tuple"
msgstr "required_if ãšã³ããªãŒã«ã¯èŠä»¶ãªã¹ã/ã¿ãã«ã®ããŒãå«ãŸããŸã"
#: ../../rst/dev_guide/testing_validate-modules.rst:161
msgid "required_if-value-type"
msgstr "required_if-value-type"
#: ../../rst/dev_guide/testing_validate-modules.rst:161
msgid "required_if entry's value is not of the type specified for its key"
msgstr "required_if ãšã³ããªãŒã®å€ã¯ãããŒã«æå®ãããã¿ã€ãã§ã¯ãããŸãã"
#: ../../rst/dev_guide/testing_validate-modules.rst:162
msgid "required_by-collision"
msgstr "required_by-collision"
#: ../../rst/dev_guide/testing_validate-modules.rst:162
msgid "required_by entry has repeated terms"
msgstr "required_by ãšã³ããªãŒãç¹°ãè¿ã䜿çšãããŸã"
#: ../../rst/dev_guide/testing_validate-modules.rst:163
msgid "required_by-unknown"
msgstr "required_by-unknown"
#: ../../rst/dev_guide/testing_validate-modules.rst:163
msgid "required_by entry contains option which does not appear in argument_spec (potentially an alias of an option?)"
msgstr "required_by ãšã³ããªãŒã«ã¯ãargument_spec ã«è¡šç€ºãããªããªãã·ã§ã³ãå«ãŸããŸã (ãªãã·ã§ã³ã®ãšã€ãªã¢ã¹ã§ããå¯èœæ§ããããŸãã?)"
#: ../../rst/dev_guide/testing_validate-modules.rst:164
msgid "version-added-must-be-major-or-minor"
msgstr "version-added-must-be-major-or-minor"
#: ../../rst/dev_guide/testing_validate-modules.rst:164
msgid "According to the semantic versioning specification (https://semver.org/), the only versions in which features are allowed to be added are major and minor versions (x.y.0)"
msgstr "ã»ãã³ãã£ãã¯ããŒãžã§ãã³ã°ä»æ§ (https://semver.org/) ã«ãããšãæ©èœã®è¿œå ãèš±å¯ãããŠããããŒãžã§ã³ã¯ã¡ãžã£ãŒããŒãžã§ã³ããã³ãã€ããŒããŒãžã§ã³ (x.y.0) ã®ã¿ã§ã"
#~ msgid "All Python imports in ``lib/ansible/modules/`` and ``lib/ansible/module_utils/`` which are not from the Python standard library must be imported in a try/except ImportError block."
#~ msgstr ""
#~ msgid "`irc.freenode.net <http://irc.freenode.net>`_"
#~ msgstr "`irc.freenode.net <http://irc.freenode.net>`_"
#~ msgid "Collections are a distribution format for Ansible content. You can use collections to package and distribute playbooks, roles, modules, and plugins. You can publish and use collections through `Ansible Galaxy <https://galaxy.ansible.com>`_."
#~ msgstr "ã³ã¬ã¯ã·ã§ã³ã¯ãAnsible ã³ã³ãã³ãã®ãã£ã¹ããªãã¥ãŒã·ã§ã³åœ¢åŒã§ããã³ã¬ã¯ã·ã§ã³ã䜿çšããŠãPlaybookãããŒã«ãã¢ãžã¥ãŒã«ããã©ã°ã€ã³ãããã±ãŒãžåããã³é
åžã§ããŸãã`Ansible Galaxy <https://galaxy.ansible.com>`_ ãä»ããŠã³ã¬ã¯ã·ã§ã³ãå
¬éããã³äœ¿çšã§ããŸãã"
#~ msgid "For details on how to *use* collections see :ref:`collections`."
#~ msgstr "*use* ã³ã¬ã¯ã·ã§ã³ã®äœ¿çšæ¹æ³ã¯ãã:ref:`collections`ããåç
§ããŠãã ããã"
#~ msgid "For the current development status of Collections and FAQ see `Ansible Collections Overview and FAQ <https://github.com/ansible-collections/overview/blob/main/README.rst>`_."
#~ msgstr "ã³ã¬ã¯ã·ã§ã³ããã³ FAQ ã®çŸåšã®éçºã¹ããŒã¿ã¹ã¯ãã`Ansible Collections Overview and FAQ <https://github.com/ansible-collections/overview/blob/main/README.rst>`_ããåç
§ããŠãã ããã"
#~ msgid "Put general documentation for the collection here. Keep the specific documentation for plugins and modules embedded as Python docstrings. Use the ``docs`` folder to describe how to use the roles and plugins the collection provides, role requirements, and so on. Use markdown and do not add subfolders."
#~ msgstr "ããã§ã³ã¬ã¯ã·ã§ã³ã«é¢ããäžè¬çãªããã¥ã¡ã³ããè¿œå ããŸããPython ããã¥ã¡ã³ãæååãšããŠåã蟌ãŸãããã©ã°ã€ã³ããã³ã¢ãžã¥ãŒã«ã«é¢ããç¹å®ã®ããã¥ã¡ã³ããä¿æããŸãã``docs`` ãã©ã«ããŒã䜿çšããŠãããŒã«ãã³ã¬ã¯ã·ã§ã³ãæäŸããããŒã«ãããŒã«èŠä»¶ãªã©ã説æããŸããããŒã¯ããŠã³ã䜿çšãããµããã©ã«ããŒãè¿œå ããªãã§ãã ããã"
#~ msgid "TBD."
#~ msgstr "çŸåšæºåäžã§ãã"
#~ msgid "To start a new collection:"
#~ msgstr "æ°èŠã³ã¬ã¯ã·ã§ã³ãéå§ããã«ã¯ã以äžã䜿çšããŸãã"
#~ msgid "Create a collection skeleton with the ``collection init`` command. See :ref:`creating_collections_skeleton` above."
#~ msgstr "``collection init`` ã³ãã³ãã§ã³ã¬ã¯ã·ã§ã³ã¹ã±ã«ãã³ãäœæããŸããäžèšã®ã:ref:`creating_collections_skeleton`ããåç
§ããŠãã ããã"
#~ msgid "Certain files and folders are excluded when building the collection artifact. See :ref:`ignoring_files_and_folders_collections` to exclude other files you would not want to distribute."
#~ msgstr "ã³ã¬ã¯ã·ã§ã³ã¢ãŒãã£ãã¡ã¯ãã®ãã«ãæã«ãç¹å®ã®ãã¡ã€ã«ããã³ãã©ã«ããŒã¯é€å€ãããŸããé
åžããããªãä»ã®ãã¡ã€ã«ãé€å€ããã«ã¯ãã:ref:`ignoring_files_and_folders_collections`ããåç
§ããŠãã ããã"
#~ msgid "If you used the now-deprecated ``Mazer`` tool for any of your collections, delete any and all files it added to your :file:`releases/` directory before you build your collection with ``ansible-galaxy``."
#~ msgstr "ä»åã®éæšå¥šãšãªã£ã ``Mazer`` ããŒã«ãã³ã¬ã¯ã·ã§ã³ã«äœ¿çšããå Žåã¯ã``ansible-galaxy`` ã§ã³ã¬ã¯ã·ã§ã³ããã«ãããåã«ã:file:`releases/` ãã£ã¬ã¯ããªãŒã«è¿œå ãããã¹ãŠã®ãã¡ã€ã«ãåé€ããŸãã"
#~ msgid "This tarball is mainly intended to upload to Galaxy as a distribution method, but you can use it directly to install the collection on target systems."
#~ msgstr "ãã® tarball ã¯ãé
åžæ¹æ³ãšããŠäž»ã« Galaxy ã«ã¢ããããŒãããããšãç®çãšããŠããŸãããã¿ãŒã²ããã·ã¹ãã ã«ã³ã¬ã¯ã·ã§ã³ãã€ã³ã¹ããŒã«ããããã«çŽæ¥äœ¿çšããããšãã§ããŸãã"
#~ msgid "You can try your collection locally by installing it from the tarball. The following will enable an adjacent playbook to access the collection:"
#~ msgstr "ã³ã¬ã¯ã·ã§ã³ã tarball ããã€ã³ã¹ããŒã«ããããšã§ãã³ã¬ã¯ã·ã§ã³ãããŒã«ã«ã§è©Šãããšãã§ããŸãã以äžã§ã¯ãé£æ¥çšã® Playbook ãã³ã¬ã¯ã·ã§ã³ã«ã¢ã¯ã»ã¹ã§ããããã«ãªããŸãã"
#~ msgid "You should use one of the values configured in :ref:`COLLECTIONS_PATHS` for your path. This is also where Ansible itself will expect to find collections when attempting to use them. If you don't specify a path value, ``ansible-galaxy collection install`` installs the collection in the first path defined in :ref:`COLLECTIONS_PATHS`, which by default is ``~/.ansible/collections``."
#~ msgstr "ãã¹ã®ããã«ã:ref:`COLLECTIONS_PATHS` ã§æ§æãããå€ã® 1 ã€ã䜿çšããå¿
èŠããããŸããããã¯ãAnsible èªäœãã³ã¬ã¯ã·ã§ã³ã䜿çšããããšãããšãã«ã³ã¬ã¯ã·ã§ã³ãèŠã€ããããšãæåŸ
ããå Žæã§ããããŸãããã¹å€ãæå®ããªãå Žåã¯ã:ref:`COLLECTIONS_PATHS` ã§å®çŸ©ãããæåã®ãã¹ã«ã³ã¬ã¯ã·ã§ã³ãã€ã³ã¹ããŒã«ããŸããããã¯ãããã©ã«ãã¯ã``~/.ansible/collections`` ãšãªããŸãã"
#~ msgid "If you want to use a collection directly out of a checked out git repository, see :ref:`hacking_collections`."
#~ msgstr "確èªããã git ãªããžããªãŒããçŽæ¥ã³ã¬ã¯ã·ã§ã³ã䜿çšããå Žåã¯ãã:ref:`hacking_collections`ããåç
§ããŠãã ããã"
#~ msgid "Next, try using the local collection inside a playbook. For examples and more details see :ref:`Using collections <using_collections>`"
#~ msgstr "次ã«ãPlaybook å
ã§ããŒã«ã«ã³ã¬ã¯ã·ã§ã³ã®äœ¿çšãè©Šè¡ããŸããäŸããã³è©³çŽ°ã¯ãã:ref:`ã³ã¬ã¯ã·ã§ã³ã®äœ¿çš <using_collections>`ããåç
§ããŠãã ããã"
#~ msgid "You can also test a version of your collection in development by installing it from a git repository."
#~ msgstr "ãŸããGit ãªããžããªãŒããã€ã³ã¹ããŒã«ããããšã§ãéçºã§ã³ã¬ã¯ã·ã§ã³ã®ããŒãžã§ã³ããã¹ãããããšãã§ããŸãã"
#~ msgid "You can install a collection in a git repository by providing the URI to the repository instead of a collection name or path to a ``tar.gz`` file. The collection must contain a ``galaxy.yml`` or ``MANIFEST.json`` file, which will be used to generate the would-be collection artifact data from the directory. The URI should be prefixed with ``git+`` (or with ``git@`` to use a private repository with ssh authentication) and optionally supports a comma-separated `git commit-ish <https://git-scm.com/docs/gitglossary#def_commit-ish>`_ version (for example, a commit or tag)."
#~ msgstr "ã³ã¬ã¯ã·ã§ã³åãŸã㯠``tar.gz`` ãã¡ã€ã«ãžã®ãã¹ã§ã¯ãªãããªããžããªãŒã« URI ãæäŸããããšã«ãããgit ãªããžããªãŒã«ã³ã¬ã¯ã·ã§ã³ãã€ã³ã¹ããŒã«ã§ããŸããã³ã¬ã¯ã·ã§ã³ã«ã¯ã``galaxy.yml`` ãã¡ã€ã«ãŸã㯠``MANIFEST.json`` ãã¡ã€ã«ãå¿
èŠã§ãããã®ã³ã¬ã¯ã·ã§ã³ã¯ããã£ã¬ã¯ããªãŒããã® will-be ã³ã¬ã¯ã·ã§ã³ã¢ãŒãã£ãã¡ã¯ãããŒã¿ãçæããã®ã«äœ¿çšãããŸããURI ã®æ¥é èŸã«ã¯ ``git+`` (ãŸã㯠ssh èªèšŒã§ãã©ã€ããŒããªããžããªãŒã䜿çšãã ``git@``ïŒãä»ããå¿
èŠã«å¿ããŠã³ã³ãåºåãã® `git commit-ish <https://git-scm.com/docs/gitglossary#def_commit-ish>`_ ããŒãžã§ã³ (ã³ããããŸãã¯ã¿ã°ãªã©) ããµããŒãããå¿
èŠããããŸãã"
#~ msgid "Embedding credentials into a git URI is not secure. Make sure to use safe auth options for security reasons. For example, use `SSH <https://help.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh>`_, `netrc <https://linux.die.net/man/5/netrc>`_ or `http.extraHeader <https://git-scm.com/docs/git-config#Documentation/git-config.txt-httpextraHeader>`_/`url.<base>.pushInsteadOf <https://git-scm.com/docs/git-config#Documentation/git-config.txt-urlltbasegtpushInsteadOf>`_ in Git config to prevent your creds from being exposed in logs."
#~ msgstr "èªèšŒæ
å ±ã git URI ã«åã蟌ãããšã¯å®å
šã§ã¯ãããŸãããã»ãã¥ãªãã£ãŒäžã®çç±ãããå®å
šãªèªèšŒãªãã·ã§ã³ã䜿çšããŠãã ãããããšãã°ãGit èšå®ã® `SSH <https://help.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh>`_ã`netrc <https://linux.die.net/man/5/netrc>`_ããŸã㯠`http.extraHeader <https://git-scm.com/docs/git-config#Documentation/git-config.txt-httpextraHeader>`_/`url.<base>.pushInsteadOf <https://git-scm.com/docs/git-config#Documentation/git-config.txt-urlltbasegtpushInsteadOf>`_ ã§ãã¯ã¬ãžããããã°ã«å
¬éãããªãããã«ããŸãã"
#~ msgid "In a ``requirements.yml`` file, you can also use the ``type`` and ``version`` keys in addition to using the ``git+repo,version`` syntax for the collection name."
#~ msgstr "``requirements.yml`` ãã¡ã€ã«ã§ã¯ãã³ã¬ã¯ã·ã§ã³åã® ``git+repo,version`` æ§æã䜿çšããä»ã«ã``type`` ããŒããã³ ``version`` ããŒã䜿çšããããšãã§ããŸãã"
#~ msgid "Git repositories can be used for collection dependencies as well. This can be helpful for local development and testing but built/published artifacts should only have dependencies on other artifacts."
#~ msgstr "git ãªããžããªãŒã¯ã³ã¬ã¯ã·ã§ã³ã®äŸåé¢ä¿ã«ã䜿çšã§ããŸããããã¯ãããŒã«ã«éçºããã³ãã¹ãã«åœ¹ç«ã¡ãŸããããã«ã/å
¬éãããã¢ãŒãã£ãã¡ã¯ãã«ã¯ä»ã®ã¢ãŒãã£ãã¡ã¯ããžã®äŸåé¢ä¿ã®ã¿ãå¿
èŠã§ãã"
#~ msgid "Default repository search locations"
#~ msgstr "ããã©ã«ãã®ãªããžããªãŒæ€çŽ¢ã®å Žæ"
#~ msgid "There are two paths searched in a repository for collections by default."
#~ msgstr "ããã©ã«ãã§ã¯ãã³ã¬ã¯ã·ã§ã³çšã®ãªããžããªãŒã§ 2 ã€ã®ãã¹ãæ€çŽ¢ãããŸãã"
#~ msgid "The second is a ``galaxy.yml`` or ``MANIFEST.json`` file in each directory in the repository path (one level deep). In this scenario, each directory with a metadata file is installed as a collection."
#~ msgstr "2 ã€ç®ã¯ããªããžããªãŒãã¹ (1 ã¬ãã«ã®æ·±ã) ã®åãã£ã¬ã¯ããªãŒã® ``galaxy.yml`` ãã¡ã€ã«ãŸã㯠``MANIFEST.json`` ãã¡ã€ã«ã§ããããã§ã¯ãã¡ã¿ããŒã¿ãã¡ã€ã«ãå«ãŸããåãã£ã¬ã¯ããªãŒãã³ã¬ã¯ã·ã§ã³ãšããŠã€ã³ã¹ããŒã«ãããŸã)ã"
#~ msgid "Specifying the location to search for collections"
#~ msgstr "ã³ã¬ã¯ã·ã§ã³ãæ€çŽ¢ããå Žæã®æå®"
#~ msgid "If you have a different repository structure or only want to install a subset of collections, you can add a fragment to the end of your URI (before the optional comma-separated version) to indicate which path ansible-galaxy should inspect for metadata file(s). The path should be a directory to a collection or multiple collections (rather than the path to a ``galaxy.yml`` file or ``MANIFEST.json`` file)."
#~ msgstr "ç°ãªããªããžããªãŒæ§é ãããå Žåããã³ã¬ã¯ã·ã§ã³ã®ãµãã»ããã®ã¿ãã€ã³ã¹ããŒã«ããå Žåã¯ãURI ã®æåŸã«ãã©ã°ã¡ã³ããè¿œå ã㊠(ä»»æã®ã³ã³ãåºåãããŒãžã§ã³ã®åïŒãansible-galaxy ãã¡ã¿ããŒã¿ãã¡ã€ã«ã調ã¹ããã¹ã瀺ãããšãã§ããŸãããã¹ã¯ã(``MANIFEST.json`` ãã¡ã€ã«ãŸã㯠``galaxy.yml`` ãã¡ã€ã«ãžã®ãã¹ã§ã¯ãªã) ã³ã¬ã¯ã·ã§ã³ãŸãã¯è€æ°ã®ã³ã¬ã¯ã·ã§ã³ãžã®ãã£ã¬ã¯ããªãŒã§ããå¿
èŠããããŸãã"
#~ msgid "You can publish collections to Galaxy using the ``ansible-galaxy collection publish`` command or the Galaxy UI itself. You need a namespace on Galaxy to upload your collection. See `Galaxy namespaces <https://galaxy.ansible.com/docs/contributing/namespaces.html#galaxy-namespaces>`_ on the Galaxy docsite for details."
#~ msgstr "``ansible-galaxy collection publish`` ã³ãã³ããŸã㯠Galaxy UI èªäœã䜿çšããŠãã³ã¬ã¯ã·ã§ã³ã Galaxy ã«å
¬éããããšãã§ããŸããã³ã¬ã¯ã·ã§ã³ãã¢ããããŒãããã«ã¯ãGalaxy ã«åå空éãå¿
èŠã§ãã詳现ã¯ãGalaxy ã®ããã¥ã¡ã³ãã¹ã€ãŒãã®ã`Galaxy åå空é <https://galaxy.ansible.com/docs/contributing/namespaces.html#galaxy-namespaces>`_ããåç
§ããŠãã ããã"
#~ msgid "Once you upload a version of a collection, you cannot delete or modify that version. Ensure that everything looks okay before you upload it."
#~ msgstr "ã³ã¬ã¯ã·ã§ã³ã®ããŒãžã§ã³ãã¢ããããŒããããããã®ããŒãžã§ã³ãåé€ãŸãã¯å€æŽããããšã¯ã§ããŸãããã¢ããããŒãããåã«ããã¹ãŠã®æ
å ±ãé©åã§ããããšã確èªããŸãã"
#~ msgid "To upload your collection to Galaxy, you must first obtain an API token (``--token`` in the ``ansible-galaxy`` CLI command or ``token`` in the :file:`ansible.cfg` file under the ``galaxy_server`` section). The API token is a secret token used to protect your content."
#~ msgstr "ã³ã¬ã¯ã·ã§ã³ã Galaxy ã«ã¢ããããŒãããã«ã¯ããŸã API ããŒã¯ã³ãååŸããå¿
èŠããããŸã (``ansible-galaxy`` CLI ã³ãã³ãã® ``--token``ããŸã㯠``galaxy_server`` ã»ã¯ã·ã§ã³ã®äžã® :file:`ansible.cfg` ãã¡ã€ã«ã® ``token``) ã¯ãã³ã³ãã³ããä¿è·ããããã«äœ¿çšãããã·ãŒã¯ã¬ããããŒã¯ã³ã"
#~ msgid "Storing or using your API token"
#~ msgstr "API ããŒã¯ã³ã®ä¿åãŸãã¯äœ¿çš"
#~ msgid "Once you have retrieved your API token, you can store or use the token for collections in two ways:"
#~ msgstr "API ããŒã¯ã³ãååŸãããã2 ã€ã®æ¹æ³ã§ã³ã¬ã¯ã·ã§ã³ã«ããŒã¯ã³ãä¿åãŸãã¯äœ¿çšããããšãã§ããŸãã"
#~ msgid "Pass the token to the ``ansible-galaxy`` command using the ``--token``."
#~ msgstr "``--token`` ã䜿çšããŠãããŒã¯ã³ã ``ansible-galaxy`` ã³ãã³ãã«æž¡ããŸãã"
#~ msgid "Specify the token within a Galaxy server list in your :file:`ansible.cfg` file."
#~ msgstr ":file:`ansible.cfg` ãã¡ã€ã«ã® Galaxy ãµãŒããŒãªã¹ãå
ã®ããŒã¯ã³ãæå®ããŸãã"
#~ msgid "Using the ``token`` argument"
#~ msgstr "``token`` åŒæ°ã®äœ¿çš"
#~ msgid "You can use the ``--token`` argument with the ``ansible-galaxy`` command (in conjunction with the ``--server`` argument or :ref:`GALAXY_SERVER` setting in your :file:`ansible.cfg` file). You cannot use ``apt-key`` with any servers defined in your :ref:`Galaxy server list <galaxy_server_config>`."
#~ msgstr "``--token`` åŒæ°ã¯ã``ansible-galaxy`` ã³ãã³ã (:file:`ansible.cfg` ãã¡ã€ã«ã® ``--server`` åŒæ°ãŸã㯠:ref:`GALAXY_SERVER` èšå®ãšãšãã«) ã§äœ¿çšã§ããŸãã:ref:`Galaxy ãµãŒããŒäžèŠ§ <galaxy_server_config>` ã§å®çŸ©ãããŠãããµãŒããŒã§ã¯ã``apt-key`` ã䜿çšããããšã¯ã§ããŸããã"
#~ msgid "Specify the token within a Galaxy server list"
#~ msgstr "Galaxy ãµãŒããŒäžèŠ§å
ã§ããŒã¯ã³ã®æå®"
#~ msgid "With this option, you configure one or more servers for Galaxy in your :file:`ansible.cfg` file under the ``galaxy_server_list`` section. For each server, you also configure the token."
#~ msgstr "ãã®ãªãã·ã§ã³ã䜿çšããŠã``galaxy_server_list`` ã»ã¯ã·ã§ã³ã®äžã«ãã :file:`ansible.cfg` 㧠Galaxy çšã« 1 ã€ä»¥äžã®ãµãŒããŒãæ§æããŸãããµãŒããŒããšã«ãããŒã¯ã³ãæ§æããŸãã"
#~ msgid "See :ref:`galaxy_server_config` for complete details."
#~ msgstr "詳现ã¯ãã:ref:`galaxy_server_config`ããåç
§ããŠãã ããã"
#~ msgid "By default, ``ansible-galaxy`` uses https://galaxy.ansible.com as the Galaxy server (as listed in the :file:`ansible.cfg` file under :ref:`galaxy_server`). If you are only publishing your collection to Ansible Galaxy, you do not need any further configuration. If you are using Red Hat Automation Hub or any other Galaxy server, see :ref:`Configuring the ansible-galaxy client <galaxy_server_config>`."
#~ msgstr "ããã©ã«ãã§ã¯ã``ansible-galaxy`` 㯠https://galaxy.ansible.com ã Galaxy ãµãŒããŒãšããŠäœ¿çšããŸã (:ref:`galaxy_server` ã®äžã® :file:`ansible.cfg` ãã¡ã€ã«ã«èšèŒãããããã«)ã`galaxy_server` ã³ã¬ã¯ã·ã§ã³ã®ã¿ã Ansible Galaxy ã«å
¬éããŠããå Žåã¯ãè¿œå èšå®ã¯å¿
èŠãããŸãããRed Hat Automation Hub ãŸãã¯ãã®ä»ã® Galaxy ãµãŒããŒã䜿çšããŠããå Žåã¯ãã:ref:`ansible-galaxy ã¯ã©ã€ã¢ã³ãã®èšå® <galaxy_server_config>`ããåç
§ããŠãã ããã"
#~ msgid "When uploading collections it doesn't matter which namespace you select. The collection will be uploaded to the namespace specified in the collection metadata in the ``galaxy.yml`` file. If you're not an owner of the namespace, the upload request will fail."
#~ msgstr "ã³ã¬ã¯ã·ã§ã³ãã¢ããããŒãããéã«ãéžæããåå空éã¯éèŠã§ã¯ãããŸãããã³ã¬ã¯ã·ã§ã³ã¯ ``galaxy.yml`` ãã¡ã€ã«ã®ã³ã¬ã¯ã·ã§ã³ã¡ã¿ããŒã¿ã«æå®ãããåå空éã«ã¢ããããŒããããŸããåå空éã®ææè
ããªãå Žåãã¢ããããŒãèŠæ±ã¯å€±æããŸãã"
#~ msgid "Once Galaxy uploads and accepts a collection, you will be redirected to the **My Imports** page, which displays output from the import process, including any errors or warnings about the metadata and content contained in the collection."
#~ msgstr "Galaxy ãã³ã¬ã¯ã·ã§ã³ãã¢ããããŒãããŠåãå
¥ãããšã**My Imports** ããŒãžã«ãªãã€ã¬ã¯ããããŸãããã®ããŒãžã«ã¯ãã³ã¬ã¯ã·ã§ã³ã«å«ãŸããã¡ã¿ããŒã¿ãã³ã³ãã³ãã«é¢ãããšã©ãŒãèŠåãªã©ãã€ã³ããŒãåŠçã®åºåã衚瀺ãããŸãã"
#~ msgid "Collection versions"
#~ msgstr "ã³ã¬ã¯ã·ã§ã³ã®ããŒãžã§ã³"
#~ msgid "Once you upload a version of a collection, you cannot delete or modify that version. Ensure that everything looks okay before uploading. The only way to change a collection is to release a new version. The latest version of a collection (by highest version number) will be the version displayed everywhere in Galaxy; however, users will still be able to download older versions."
#~ msgstr "ã³ã¬ã¯ã·ã§ã³ã®ããŒãžã§ã³ãã¢ããããŒããããããã®ããŒãžã§ã³ãåé€ãŸãã¯å€æŽããããšã¯ã§ããŸãããã¢ããããŒãããåã«ããã¹ãŠãæ£åžžã«èŠããããšã確èªããŠãã ãããã³ã¬ã¯ã·ã§ã³ãå€æŽããå¯äžã®æ¹æ³ã¯ãæ°ããããŒãžã§ã³ããªãªãŒã¹ããããšã§ãã(æ倧ããŒãžã§ã³çªå·ã«ãã) ã³ã¬ã¯ã·ã§ã³ã®ææ°ããŒãžã§ã³ã¯ãGalaxy ã®ããããå Žæã«è¡šç€ºãããããŒãžã§ã³ã«ãªããŸãããã ãããŠãŒã¶ãŒã¯åŒãç¶ãå€ãããŒãžã§ã³ãããŠã³ããŒãã§ããŸãã"
#~ msgid "BOTMETA.yml"
#~ msgstr "BOTMETA.yml"
#~ msgid "We assume that you have included ``~/dev/ansible/collections/`` in :ref:`COLLECTIONS_PATHS`, and if that path mentions multiple directories, that you made sure that no other directory earlier in the search path contains a copy of ``community.general``. Create the directory ``~/dev/ansible/collections/ansible_collections/community``, and in it clone `the community.general Git repository <https://github.com/ansible-collections/community.general/>`_ or a fork of it into the folder ``general``::"
#~ msgstr ":ref:`COLLECTIONS_PATHS` ã« ``~/dev/ansible/collections/`` ãå«ãŸããŠããããã®ãã¹ã§è€æ°ã®ãã£ã¬ã¯ããªãŒã«èšåãããŠããå Žåã¯ãæ€çŽ¢ãã¹ã®ä»ã®ãã£ã¬ã¯ããªãŒã« ``community.general`` ã®ã³ããŒãå«ãŸããªãããã«ããŸãã``~/dev/ansible/collections/ansible_collections/community`` ãã£ã¬ã¯ããªãŒãäœæããŠããã®äžã« `the community.general Git repository <https://github.com/ansible-collections/community.general/>`_ ã®ã¯ããŒã³ãäœæãããããã©ã«ã㌠``general`` ã«ãã®ãã£ã¬ã¯ããªãŒã®ãã©ãŒã¯ãäœæããŸãã"
#~ msgid "For collections hosted in the ``ansible_collections`` GitHub org, create a branch and commit your changes on the branch. When you are done (remember to add tests, see :ref:`testing_collections`), push your changes to your fork of the collection and create a Pull Request. For other collections, especially for collections not hosted on GitHub, check the ``README.md`` of the collection for information on contributing to it."
#~ msgstr "``ansible_collections`` GitHub ã®å£äœã§ãã¹ããããã³ã¬ã¯ã·ã§ã³ã®å Žåã¯ããã©ã³ããäœæãããã©ã³ãã§å€æŽãã³ãããããŸãããããå®äºãããã(ãã¹ããè¿œå ããæ¹æ³ã¯ã:ref:`testing_collections` ãåç
§ããŠãã ãã)ãã³ã¬ã¯ã·ã§ã³ã®ãã©ãŒã¯ã«å€æŽãããã·ã¥ãããã«èŠæ±ãäœæããŸããä»ã®ã³ã¬ã¯ã·ã§ã³ (ç¹ã« GitHub ããã¹ããããŠããªãã³ã¬ã¯ã·ã§ã³) ã«ã€ããŠã¯ãã³ã¬ã¯ã·ã§ã³ã® ``README.md`` ã§ããã«è²¢ç®ããæ
å ±ã確èªããŠãã ããã"
#~ msgid "We recommend that you use the `antsibull-changelog <https://github.com/ansible-community/antsibull-changelog>`_ tool to generate Ansible-compatible changelogs for your collection. The Ansible changelog uses the output of this tool to collate all the collections included in an Ansible release into one combined changelog for the release."
#~ msgstr "`antsibull-changelog <https://github.com/ansible-community/antsibull-changelog>`_ ããŒã«ã䜿çšããŠã³ã¬ã¯ã·ã§ã³ã« Ansible äºæã® changelog ãçæããããšãæšå¥šãããŸããAnsibleã® changelog ã¯ããã®ããŒã«ã®åºåãå©çšããŠãAnsible ã®ãªãªãŒã¹ã«å«ãŸãããã¹ãŠã®ã³ã¬ã¯ã·ã§ã³ãããã®ãªãªãŒã¹ã® 1 ã€ã®çµ±åããããã§ã³ãžãã°ã«ç
§åããŸãã"
#~ msgid "Porting Guide entries"
#~ msgstr "移æ€ã¬ã€ããšã³ããªãŒ"
#~ msgid "The following changelog fragment categories are consumed by the Ansible changelog generator into the Ansible Porting Guide:"
#~ msgstr "以äžã® changelog ãã©ã°ã¡ã³ãã«ããŽãªãŒã¯ãAnsible changelog ãžã§ãã¬ãŒã¿ãŒã Ansible 移æ€ã¬ã€ãã«äœ¿çšãããŸãã"
#~ msgid "Understand the collections metadata structure."
#~ msgstr "ã³ã¬ã¯ã·ã§ã³ã®ã¡ã¿ããŒã¿æ§é ãç解ããŸãã"
#~ msgid "When the script is called with the single argument ``--list``, the script must output to stdout a JSON-encoded hash or dictionary that contains all the groups to be managed. Each group's value should be either a hash or dictionary containing a list of each host, any child groups, and potential group variables, or simply a list of hosts::"
#~ msgstr "ã¹ã¯ãªãããåäžã®åŒæ° ``--list`` ã§åŒã³åºããããšãã¹ã¯ãªããã¯ãæšæºåºåã«ã管çãããã¹ãŠã®ã°ã«ãŒããå«ãŸãã JSON ã§ãšã³ã³ãŒããããããã·ã¥ãŸãã¯ãã£ã¯ã·ã§ããªãŒãåºåããå¿
èŠããããŸããåã°ã«ãŒãã®å€ã¯ãåãã¹ããåã°ã«ãŒããããã³æœåšçãªã°ã«ãŒãå€æ°ã®äžèŠ§ãå«ãããã·ã¥ãŸãã¯ãã£ã¯ã·ã§ããªãŒã«ããå¿
èŠããããŸãã"
#~ msgid "When called with the argument ``--host <hostname>`` (where <hostname> is a host from above), the script must print either an empty JSON hash/dictionary, or a hash/dictionary of variables to make them available to templates and playbooks. For example::"
#~ msgstr "åŒæ° ``--host <hostname>`` (<hostname> ã¯äžè¿°ã®ãã¹ã) ã§åŒã³åºããããšãã¹ã¯ãªããã¯ç©ºã® JSON ããã·ã¥/ãã£ã¯ã·ã§ããªãŒãããã³ãã¬ãŒãã Playbook ã§å©çšã§ããããã«ããããã®å€æ°ã®ããã·ã¥/ãã£ã¯ã·ã§ããªãŒãåºåããªããã°ãªããŸãããããšãã°ã以äžã®ããã«ãªããŸãã"
#~ msgid "`Ansible Tower <https://www.ansible.com/products/tower>`_"
#~ msgstr "`Ansible Tower <https://www.ansible.com/products/tower>`_"
#~ msgid "The easiest, quickest, and the most popular way to extend Ansible is to use a local module or a plugin. You can create them or copy existing ones for local use. You can store a local module or plugin on your Ansible control node and share it with your team or organization. You can also share a local plugin or module by including it in a collection or embedding it in a role, then publishing the collection or role on Ansible Galaxy. If you are using roles on Ansible Galaxy, then you are already using local modules and plugins without realizing it."
#~ msgstr "Ansible ãæ¡åŒµããæãç°¡åãªæ¹æ³ã¯ãããŒã«ã«ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ã䜿çšããããšã§ããããŒã«ã«ã§äœ¿çšããããã«ããããäœæããããæ¢åã®ãã®ãã³ããŒããããšãã§ããŸããAnsible ã³ã³ãããŒã«ããŒãã«ããŒã«ã«ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ãä¿åããããŒã ãŸãã¯çµç¹ãšå
±æããããšãã§ããŸãããŸããããŒã«ã«ãã©ã°ã€ã³ãŸãã¯ã¢ãžã¥ãŒã«ãã³ã¬ã¯ã·ã§ã³ã«å«ããããããŒã«ã«åã蟌ãããšã§ãAnsible Galaxy ã«ã³ã¬ã¯ã·ã§ã³ãŸãã¯ããŒã«ãå
¬éããããšãã§ããŸããAnsible Galaxy ã§ããŒã«ã䜿çšããŠããå Žåã¯ãèªèããã«ããŒã«ã«ã¢ãžã¥ãŒã«ãšãã©ã°ã€ã³ããã§ã«äœ¿çšããŠããããšã«ãªããŸãã"
#~ msgid "If you are using an existing module or plugin but Ansible can't find it, this page is all you need. However, if you want to create a plugin or a module, go to :ref:`developing_plugins` and :ref:`developing_modules_general` topics and then return to this page to know how to add it locally."
#~ msgstr "æ¢åã®ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ã䜿çšããŠããã«ãããããããAnsible ã§èŠã€ãããªãå Žåããã®ããŒãžã®ã¿ãå¿
èŠãšãªããŸãããã©ã°ã€ã³ãŸãã¯ã¢ãžã¥ãŒã«ãäœæããå Žåã¯ã:ref:`developing_plugins` ããã³ :ref:`developing_modules_general` ãããã¯ã«ç§»åããŠããããã®ããŒãžã«æ»ããããŒã«ã«ã§è¿œå ããæ¹æ³ã説æããŸãã"
#~ msgid "To save a local module or plugin such that Ansible can find and use it, add the module or plugin in the appropriate directory (the directories are specified in later parts of this topic)."
#~ msgstr "Ansible ãæ€åºããŠäœ¿çšããããã«ããŒã«ã«ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ãä¿åããã«ã¯ãé©åãªãã£ã¬ã¯ããªãŒã«ã¢ãžã¥ãŒã«ãŸãã¯ãã©ã°ã€ã³ãè¿œå ããŸã (ãã£ã¬ã¯ããªãŒã¯ãæ¬ãããã¯ã®åŸåã§æå®ãããŠããŸã)ã"
#~ msgid "Adding a module locally"
#~ msgstr "ã¢ãžã¥ãŒã«ãããŒã«ã«ã§è¿œå "
#~ msgid "Ansible automatically loads all executable files found in certain directories as modules."
#~ msgstr "Ansible ã¯ãç¹å®ã®ãã£ã¬ã¯ããªãŒã«ããå®è¡å¯èœãã¡ã€ã«ããã¹ãŠã¢ãžã¥ãŒã«ãšããŠèªåçã«èªã¿èŸŒã¿ãŸãã"
#~ msgid "For local modules, use the name of the file as the module name: for example, if the module file is ``~/.ansible/plugins/modules/local_users.py``, use ``local_users`` as the module name."
#~ msgstr "ããŒã«ã«ã¢ãžã¥ãŒã«ã®å Žåã¯ããã¡ã€ã«åãã¢ãžã¥ãŒã«åãšããŠäœ¿çšããŸããããšãã°ãã¢ãžã¥ãŒã«ãã¡ã€ã«ã ``~/.ansible/plugins/modules/local_users.py`` ã®å Žåã¯ãã¢ãžã¥ãŒã«åãšã㊠``local_users`` ã䜿çšããŸãã"
#~ msgid "To load your local modules automatically and make them available to all playbooks and roles, add them in any of these locations:"
#~ msgstr "ããŒã«ã«ã¢ãžã¥ãŒã«ãèªåçã«èªã¿èŸŒã¿ããã¹ãŠã® Playbook ããã³ããŒã«ã§äœ¿çšã§ããããã«ããã«ã¯ããããã以äžã®ããããã®å Žæã«è¿œå ããŸãã"
#~ msgid "any directory added to the ``ANSIBLE_LIBRARY`` environment variable (``$ANSIBLE_LIBRARY`` takes a colon-separated list like ``$PATH``)"
#~ msgstr "``ANSIBLE_LIBRARY`` ç°å¢å€æ°ã«è¿œå ããããã£ã¬ã¯ããªãŒ (``$ANSIBLE_LIBRARY`` 㯠``$PATH``ã®ããã«ã³ãã³ã§åºåã£ãäžèŠ§)"
#~ msgid "``~/.ansible/plugins/modules/``"
#~ msgstr "``~/.ansible/plugins/modules/``"
#~ msgid "``/usr/share/ansible/plugins/modules/``"
#~ msgstr "``/usr/share/ansible/plugins/modules/``"
#~ msgid "or"
#~ msgstr "ãŸãã¯"
#~ msgid "You can limit the availability of your local module. If you want to use a local module only with selected playbooks or only with a single role, load it in one of the following locations:"
#~ msgstr "ããŒã«ã«ã¢ãžã¥ãŒã«ã®å¯çšæ§ãå¶éããããšãã§ããŸããéžæãã Playbook ã§ã®ã¿ããŒã«ã«ã¢ãžã¥ãŒã«ã䜿çšããå ŽåããŸãã¯åäžã®ããŒã«ã§ã®ã¿ããŒã«ã«ã¢ãžã¥ãŒã«ã䜿çšããå Žåã¯ã以äžã®ããããã®å Žæã«ããŒãããŸãã"
#~ msgid "Adding a plugin locally"
#~ msgstr "ãã©ã°ã€ã³ãããŒã«ã«ã§è¿œå "
#~ msgid "Ansible loads plugins automatically too, and loads each type of plugin separately from a directory named for the type of plugin. Here's the full list of plugin directory names:"
#~ msgstr "Ansible ã¯ãã©ã°ã€ã³ãèªåçã«ããŒããããã©ã°ã€ã³ã®ã¿ã€ãã«å¯ŸããŠååãä»ãããããã£ã¬ã¯ããªãŒãšã¯å¥ã«ãåã¿ã€ãã®ãã©ã°ã€ã³ãèªã¿èŸŒã¿ãŸãããã©ã°ã€ã³ãã£ã¬ã¯ããªãŒåã®å
šäžèŠ§ã以äžã«ç€ºããŸãã"
#~ msgid "cache_plugins"
#~ msgstr "cache_plugins"
#~ msgid "callback_plugins"
#~ msgstr "callback_plugins"
#~ msgid "connection_plugins"
#~ msgstr "connection_plugins"
#~ msgid "filter_plugins*"
#~ msgstr "filter_plugins*"
#~ msgid "inventory_plugins"
#~ msgstr "inventory_plugins"
#~ msgid "lookup_plugins"
#~ msgstr "lookup_plugins"
#~ msgid "shell_plugins"
#~ msgstr "shell_plugins"
#~ msgid "strategy_plugins"
#~ msgstr "strategy_plugins"
#~ msgid "test_plugins*"
#~ msgstr "test_plugins*"
#~ msgid "vars_plugins"
#~ msgstr "vars_plugins"
#~ msgid "After you add the plugins and verify that they are available for use, you can see the documentation for all the plugins except for the ones marked with an asterisk (*) above."
#~ msgstr "ãã©ã°ã€ã³ãè¿œå ããŠããããã䜿çšã§ããããšã確èªãããšãäžèšã®ã¢ã¹ã¿ãªã¹ã¯ (*) ã®ããŒã¯ãä»ãããã®ãé€ãããã¹ãŠã®ãã©ã°ã€ã³ã®ããã¥ã¡ã³ãã衚瀺ã§ããŸãã"
#~ msgid "To load your local plugins automatically, add them in any of these locations:"
#~ msgstr "ããŒã«ã«ãã©ã°ã€ã³ãèªåçã«èªã¿èŸŒãã«ã¯ã以äžã®ããããã®å Žæã«è¿œå ããŸãã"
#~ msgid "any directory added to the relevant ``ANSIBLE_plugin_type_PLUGINS`` environment variable (these variables, such as ``$ANSIBLE_INVENTORY_PLUGINS`` and ``$ANSIBLE_VARS_PLUGINS`` take colon-separated lists like ``$PATH``)"
#~ msgstr "é¢é£ãã ``ANSIBLE_plugin_type_PLUGINS`` ç°å¢å€æ°ã«è¿œå ããããã£ã¬ã¯ããªãŒ (``$ANSIBLE_INVENTORY_PLUGINS``ã``$ANSIBLE_VARS_PLUGINS`` ãªã©) ã¯ã``$PATH`` ã®ããã«ã³ãã³ã§åºåã£ãäžèŠ§ãåããŸãã"
#~ msgid "the directory named for the correct ``plugin_type`` within ``~/.ansible/plugins/`` - for example, ``~/.ansible/plugins/callback``"
#~ msgstr "``~/.ansible/plugins/`` å
ã®æ£ãã ``plugin_type`` ãšããååã®ãã£ã¬ã¯ããªãŒ (äŸ: ``~/.ansible/plugins/callback``)"
#~ msgid "the directory named for the correct ``plugin_type`` within ``/usr/share/ansible/plugins/`` - for example, ``/usr/share/ansible/plugins/action``"
#~ msgstr "``/usr/share/ansible/plugins/`` å
ã®æ£ãã ``plugin_type`` ãšããååã®ãã£ã¬ã¯ããªãŒ (äŸ: ``/usr/share/ansible/plugins/action``)"
#~ msgid "type ``ansible-doc -t <plugin_type> my_custom_lookup_plugin``. For example, ``ansible-doc -t lookup my_custom_lookup_plugin``. You should see the documentation for that plugin. This works for all plugin types except the ones marked with ``*`` in the list above - see :ref:`ansible-doc` for more details."
#~ msgstr "``ansible-doc -t <plugin_type> my_custom_lookup_plugin`` ãå
¥åããŸã (äŸ: ``ansible-doc -t lookup my_custom_lookup_plugin``)ããã®ãã©ã°ã€ã³ã«é¢ããããã¥ã¡ã³ãã確èªããŠãã ãããããã¯äžèšã®ãªã¹ã㧠``*`` ã®ããŒã¯ãä»ãããã®ä»¥å€ã®ãã¹ãŠã®ãã©ã°ã€ã³ã¿ã€ãã§æ©èœããŸãã詳现ã¯ã:ref:`ansible-doc`ããåç
§ããŠãã ããã"
#~ msgid "You can limit the availability of your local plugin. If you want to use a local plugin only with selected playbooks or only with a single role, load it in one of the following locations:"
#~ msgstr "ããŒã«ã«ãã©ã°ã€ã³ã®å¯çšæ§ãå¶éããããšãã§ããŸããéžæãã Playbook ã§ã®ã¿ããŒã«ã«ãã©ã°ã€ã³ã䜿çšããå ŽåããŸãã¯åäžã®ããŒã«ã§ã®ã¿ããŒã«ã«ãã©ã°ã€ã³ã䜿çšããå Žåã¯ã以äžã®ããããã®å Žæã«èªã¿èŸŒã¿ãŸãã"
#~ msgid "In a selected playbook or playbooks: Store the plugin in a subdirectory for the correct ``plugin_type`` (for example, ``callback_plugins`` or ``inventory_plugins``) in the directory that contains the playbooks."
#~ msgstr "éžæãã Playbook: ãã®Playbook ãå«ããã£ã¬ã¯ããªãŒã«ãæ£ãã ``plugin_type`` (äŸ: ``callback_plugins`` ãŸã㯠``inventory_plugins``) ã®ãµããã£ã¬ã¯ããªãŒã«ãã©ã°ã€ã³ãä¿åããŸãã"
#~ msgid "In a single role: Store the plugin in a subdirectory for the correct ``plugin_type`` (for example, ``cache_plugins`` or ``strategy_plugins``) within that role. When shipped as part of a role, the plugin is available as soon as the role is executed."
#~ msgstr "åäžã®ããŒã«: ãã®ããŒã«å
ã§ãæ£ãã ``plugin_type`` ïŒäŸïŒ ``cache_plugins`` ãŸã㯠``strategy_plugins``) ã®ãµããã£ã¬ã¯ããªãŒã«ãã©ã°ã€ã³ãä¿åããŸããããŒã«ã®äžéšãšããŠæäŸããããšãããŒã«ãå®è¡ããããšããã«ãã©ã°ã€ã³ãå©çšå¯èœã«ãªããŸãã"
#~ msgid "Follow additional guidelines that apply to families of modules if applicable. For example, AWS modules should follow the :ref:`Amazon development checklist <AWS_module_development>`."
#~ msgstr "該åœããå Žåã¯ãã¢ãžã¥ãŒã«ã®ãã¡ããªãŒã«é©çšãããè¿œå ã®ã¬ã€ãã©ã€ã³ã«åŸããŸããããšãã°ãAWS ã¢ãžã¥ãŒã«ã¯ :ref:`Amazon development checklist <AWS_module_development>` ã«åŸãå¿
èŠããããŸãã"
#~ msgid "Please make sure your module meets these requirements before you submit your PR/proposal. If you have questions, reach out via `Ansible's IRC chat channel <http://irc.freenode.net>`_ or the `Ansible development mailing list <https://groups.google.com/group/ansible-devel>`_."
#~ msgstr "PR/ææ¡ãéä¿¡ããåã«ãã䜿ãã®ã¢ãžã¥ãŒã«ããããã®èŠä»¶ãæºãããŠããããšã確èªããŠãã ãããã質åãããå Žåã¯ã`Ansible ã® IRC ãã£ãããã£ã³ãã« <http://irc.freenode.net>`_ ãŸã㯠`Ansible éçºã¡ãŒãªã³ã°ãªã¹ã <https://groups.google.com/group/ansible-devel>`_ ãŸã§ãåãåãããã ããã"
#~ msgid ":ref:`Amazon development checklist <AWS_module_development>`."
#~ msgstr ":ref:`Amazon éçºãã§ãã¯ãªã¹ã <AWS_module_development>`"
#~ msgid "Major additions to the module (for instance, rewrites) may add additional copyright lines. Any legal review will include the source control history, so an exhaustive copyright header is not necessary. Please do not edit the existing copyright year. This simplifies project administration and is unlikely to cause any interesting legal issues. When adding a second copyright line for a significant feature or rewrite, add the newer line above the older one:"
#~ msgstr "ã¢ãžã¥ãŒã«ãžã®äž»èŠãªè¿œå (ããšãã°ãæžãæã) ã¯ãã«ãããèäœæš©è¡ãè¿œå ãããå ŽåããããŸããæ³çãªå¯©æ»ã«ã¯ãœãŒã¹ç®¡çå±¥æŽãå«ãŸããããã網çŸ
çãªèäœæš©ããããŒã¯å¿
èŠãããŸãããæ¢åã®èäœæš©å¹Žã¯ç·šéããªãã§ãã ãããããã¯ããããžã§ã¯ãã®ç®¡çãåçŽåãããã®ã§ãããèå³æ·±ãæ³çåé¡ãåŒãèµ·ããå¯èœæ§ã¯ã»ãšãã©ãããŸãããéèŠãªæ©èœãæžãæãã®ããã« 2 è¡ç®ã®èäœæš©è¡ãè¿œå ããå Žåã¯ãå€ãè¡ã®äžã«æ°ããè¡ãè¿œå ããŸãã"
#~ msgid "``L()`` for links with a heading. For example: ``See L(Ansible Tower,https://www.ansible.com/products/tower).`` As of Ansible 2.10, do not use ``L()`` for relative links between Ansible documentation and collection documentation."
#~ msgstr "``L()`` èŠåºããžã®ãªã³ã¯ãããšãã°ã``See L(Ansible Tower,https://www.ansible.com/products/tower).`` ãšãªããŸããAnsible 2.10 以éãAnsible ããã¥ã¡ã³ããšã³ã¬ã¯ã·ã§ã³ã®ããã¥ã¡ã³ãã®çžå¯Ÿãªã³ã¯ã«ã¯ ``L()`` ã䜿çšããªãã§ãã ããã"
#~ msgid "Installing prerequisites via apt (Ubuntu)"
#~ msgstr "apt (Ubuntu) ã䜿çšããåææ¡ä»¶ã®ã€ã³ã¹ããŒã«"
#~ msgid "Due to dependencies (for example ansible -> paramiko -> pynacl -> libffi):"
#~ msgstr "äŸåé¢ä¿ã®ãã (äŸ: ansible -> paramiko -> pynacl -> libffi)ã"
#~ msgid "Creating a development environment (platform-agnostic steps)"
#~ msgstr "éçºç°å¢ã®äœæ (ãã©ãããã©ãŒã ã«äŸåããªãæé )"
#~ msgid "Clone the Ansible repository: ``$ git clone https://github.com/ansible/ansible.git``"
#~ msgstr "Ansible ãªããžããªãŒã®ã¯ããŒã³ãäœæããŸã (``$ git clone https://github.com/ansible/ansible.git``)ã"
#~ msgid "Change directory into the repository root dir: ``$ cd ansible``"
#~ msgstr "ãã£ã¬ã¯ããªãŒããªããžããªãŒã® root ãã£ã¬ã¯ããªãŒã«å€æŽããŸã (``$ cd ansible``)ã"
#~ msgid "Create a virtual environment: ``$ python3 -m venv venv`` (or for Python 2 ``$ virtualenv venv``. Note, this requires you to install the virtualenv package: ``$ pip install virtualenv``)"
#~ msgstr "ä»®æ³ç°å¢ãäœæããŸã (``$ python3 -m venv venv``) (Python 2 ã®å Žå㯠``$ virtualenv venv`` ã§ããããã«ã¯ãvirtualenv ããã±ãŒãž ``$ pip install virtualenv`` ãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã"
#~ msgid "Activate the virtual environment: ``$ . venv/bin/activate``"
#~ msgstr "ä»®æ³ç°å¢ãã¢ã¯ãã£ããŒãããŸã (``$ . venv/bin/activate``)ã"
#~ msgid "Install development requirements: ``$ pip install -r requirements.txt``"
#~ msgstr "éçºèŠä»¶ãã€ã³ã¹ããŒã«ããŸã (``$ pip install -r requirements.txt``)ã"
#~ msgid "Run the environment setup script for each new dev shell process: ``$ . hacking/env-setup``"
#~ msgstr "æ°èŠ dev ã·ã§ã«ããã»ã¹ããšã«ç°å¢èšå®ã¹ã¯ãªãããå®è¡ããŸã (``$ . hacking/env-setup``)ã"
#~ msgid "After the initial setup above, every time you are ready to start developing Ansible you should be able to just run the following from the root of the Ansible repo: ``$ . venv/bin/activate && . hacking/env-setup``"
#~ msgstr "äžèšã®åæèšå®åŸãAnsible ã®éçºæºåãã§ãããã³ã«ãAnsible ãªããžããªãŒã®ã«ãŒããã ``$ . venv/bin/activate && . hacking/env-setup`` ãå®è¡ã§ããã¯ãã§ãã"
#~ msgid "To create an info module:"
#~ msgstr "info ã¢ãžã¥ãŒã«ãäœæããã«ã¯ã次ãå®è¡ããŸãã"
#~ msgid "Navigate to the correct directory for your new module: ``$ cd lib/ansible/modules/``. If you are developing module using collection, ``$ cd plugins/modules/`` inside your collection development tree."
#~ msgstr "æ°ããã¢ãžã¥ãŒã«ã®æ£ãããã£ã¬ã¯ããªãŒã«ç§»åããŸã (``$ cd lib/ansible/modules/``)ãã³ã¬ã¯ã·ã§ã³ã䜿çšããŠã¢ãžã¥ãŒã«ãéçºããå Žåã¯ãã³ã¬ã¯ã·ã§ã³éçºããªãŒå
㧠``$ cd plugins/modules/`` ãå®è¡ããŸãã"
#~ msgid "Create your new module file: ``$ touch my_test_info.py``."
#~ msgstr "æ°ããã¢ãžã¥ãŒã«ãã¡ã€ã«ãäœæããŸã (``$ touch my_test_info.py``)ã"
#~ msgid "Paste the content below into your new info module file. It includes the :ref:`required Ansible format and documentation <developing_modules_documenting>`, a simple :ref:`argument spec for declaring the module options <argument_spec>`, and some example code."
#~ msgstr "以äžã®å
容ãæ°ããæ
å ±ã¢ãžã¥ãŒã«ãã¡ã€ã«ã«è²Œãä»ããŸããããã«ã¯ã:ref:`å¿
é ã® Ansible 圢åŒããã³ããã¥ã¡ã³ã <developing_modules_documenting>`ã:ref:`ã¢ãžã¥ãŒã«ãªãã·ã§ã³ã宣èšããåçŽãªåŒæ°ä»æ§ <argument_spec>`ãããã³ãµã³ãã«ã³ãŒããå«ãŸããŸãã"
#~ msgid "Modify and extend the code to do what you want your new info module to do. See the :ref:`programming tips <developing_modules_best_practices>` and :ref:`Python 3 compatibility <developing_python_3>` pages for pointers on writing clean and concise module code."
#~ msgstr "æ°ããæ
å ±ã¢ãžã¥ãŒã«ãå®è¡ããããšãè¡ããããã«ã³ãŒããå€æŽããæ¡åŒµããŸããäœèšãªãã®ãå
¥ã£ãŠããªãã¢ãžã¥ãŒã«ã³ãŒãããç°¡æœãªã¢ãžã¥ãŒã«ã³ãŒãã®äœæã«é¢ãããã³ãã¯ãã:ref:`ããã°ã©ãã³ã°ã®ãã³ã <developing_modules_best_practices>`ãããŒãžããã³ã:ref:`Python 3 äºææ§ <developing_python_3>`ãããŒãžãåç
§ããŠãã ããã"
#~ msgid "Navigate to the correct directory for your new module: ``$ cd lib/ansible/modules/``. If you are developing a module in a :ref:`collection <developing_collections>`, ``$ cd plugins/modules/`` inside your collection development tree."
#~ msgstr "æ°ããã¢ãžã¥ãŒã«ã®æ£ãããã£ã¬ã¯ããªãŒã«ç§»åããŸã (``$ cd lib/ansible/modules/``)ã:ref:`ã³ã¬ã¯ã·ã§ã³ <developing_collections>` ã§ã¢ãžã¥ãŒã«ãéçºããå Žåã¯ãã³ã¬ã¯ã·ã§ã³éçºããªãŒå
㧠``$ cd plugins/modules/`` ãå®è¡ããŸãã"
#~ msgid "If you are using a virtual environment (which is highly recommended for development) activate it: ``$ . venv/bin/activate``"
#~ msgstr "(éçºã«éåžžã«æšå¥šãããŠãã) ä»®æ³ç°å¢ã䜿çšããŠããå Žåã¯ãã¢ã¯ãã£ããŒãããŸã (``$ . venv/bin/activate``)ã"
#~ msgid "Set up the environment for development: ``$ . hacking/env-setup``"
#~ msgstr "éçºçšã®ç°å¢ãèšå®ããŸã (``$ . hacking/env-setup``)ã"
#~ msgid "Run your test module locally and directly: ``$ python -m ansible.modules.my_test /tmp/args.json``"
#~ msgstr "ãã¹ãã¢ãžã¥ãŒã«ãããŒã«ã«ã§çŽæ¥å®è¡ããŸã (``$ python -m ansible.modules.my_test /tmp/args.json``)ã"
#~ msgid "The next step in verifying your new module is to consume it with an Ansible playbook."
#~ msgstr "æ°èŠã¢ãžã¥ãŒã«ãæ€èšŒãã次ã®ã¹ãããã¯ãAnsible Playbook ã§äœ¿çšããŸãã"
#~ msgid "You can add unit tests for your module in ``./test/units/modules``. You must first set up your testing environment. In this example, we're using Python 3.5."
#~ msgstr "ã¢ãžã¥ãŒã«ã®ãŠããããã¹ã㯠``./test/units/modules`` ã§è¿œå ã§ããŸãããŸããã¹ãç°å¢ãèšå®ããå¿
èŠããããŸãããã®äŸã§ã¯ãPython 3.5 ã䜿çšããŠããŸãã"
#~ msgid "Install the requirements (outside of your virtual environment): ``$ pip3 install -r ./test/lib/ansible_test/_data/requirements/units.txt``"
#~ msgstr "(ä»®æ³ç°å¢å€ã«) èŠä»¶ãã€ã³ã¹ããŒã«ããŸã (``$ pip3 install -r ./test/lib/ansible_test/_data/requirements/units.txt``)ã"
#~ msgid "Run ``. hacking/env-setup``"
#~ msgstr "``. hacking/env-setup`` ãå®è¡ããŸãã"
#~ msgid "To run all tests do the following: ``$ ansible-test units --python 3.5``. If you are using a CI environment, these tests will run automatically."
#~ msgstr "ãã¹ãŠã®ãã¹ããå®è¡ããã«ã¯ã``$ ansible-test units --python 3.5`` 㧠CI ç°å¢ã䜿çšããŠããå Žåã¯ããããã®ãã¹ããèªåçã«å®è¡ãããŸãã"
#~ msgid "Ansible uses pytest for unit testing."
#~ msgstr "Ansible ã¯ãŠããããã¹ãã« pytest ã䜿çšããŸãã"
#~ msgid "To run pytest against a single test module, you can run the following command. Ensure that you are providing the correct path of the test module:"
#~ msgstr "åäžã®ãã¹ãã¢ãžã¥ãŒã«ã«å¯Ÿã㊠pytest ãå®è¡ããã«ã¯ã以äžã®ã³ãã³ããå®è¡ããŸãããã¹ãã¢ãžã¥ãŒã«ã®æ£ãããã¹ãæäŸããŠããããšã確èªããŠãã ããã"
#~ msgid "``$ pytest -r a --cov=. --cov-report=html --fulltrace --color yes test/units/modules/.../test/my_test.py``"
#~ msgstr "``$ pytest -r a --cov=. --cov-report=html --fulltrace --color yes test/units/modules/.../test/my_test.py``"
#~ msgid "Join the IRC channel ``#ansible-devel`` on freenode for discussions surrounding Ansible development."
#~ msgstr "Ansible éçºã«åãçµããããfreenode ã® IRC ãã£ã³ãã« ``#ansible-devel`` ã«åå ããŸãã"
#~ msgid "`jborean93/WindowsServer2008-x86 <https://app.vagrantup.com/jborean93/boxes/WindowsServer2008-x86>`_"
#~ msgstr "`jborean93/WindowsServer2008-x86 <https://app.vagrantup.com/jborean93/boxes/WindowsServer2008-x86>`_"
#~ msgid "`jborean93/WindowsServer2008-x64 <https://app.vagrantup.com/jborean93/boxes/WindowsServer2008-x64>`_"
#~ msgstr "`jborean93/WindowsServer2008-x64 <https://app.vagrantup.com/jborean93/boxes/WindowsServer2008-x64>`_"
#~ msgid "`jborean93/WindowsServer2008R2 <https://app.vagrantup.com/jborean93/boxes/WindowsServer2008R2>`_"
#~ msgstr "`jborean93/WindowsServer2008R2 <https://app.vagrantup.com/jborean93/boxes/WindowsServer2008R2>`_"
#~ msgid "While an SSH server is available on all Windows hosts but Server 2008 (non R2), it is not a support connection for Ansible managing Windows hosts and should not be used with Ansible."
#~ msgstr "SSH ãµãŒããŒã¯ãã¹ãŠã® Windows ãã¹ãã§å©çšã§ããŸãããServer 2008 (R2 以å€) ã¯ãAnsible ã«ãã Windows ãã¹ãã®ç®¡çæ¥ç¶ã§ã¯ãªããAnsible ã§ã¯äœ¿çšã§ããŸããã"
#~ msgid "Join the IRC channel ``#ansible-devel`` or ``#ansible-windows`` on freenode for discussions about Ansible development for Windows."
#~ msgstr "freenode ã® IRC ãã£ãã« ``#ansible-devel`` ãŸã㯠``#ansible-windows`` ã«åå ããWindows çš ã® Ansible éçºã«é¢ããè°è«ãè¡ãããšã"
#~ msgid "``#ansible-devel`` - We have found that IRC ``#ansible-devel`` on FreeNode's IRC network works best for developers so we can have an interactive dialogue."
#~ msgstr "``#ansible-devel`` - FreeNode ã® IRC ãããã¯ãŒã¯ ``#ansible-devel`` ã§ã¯ãã€ã³ã¿ã©ã¯ãã£ããªå¯Ÿè©±ãè¡ãããšãã§ãããããã¢ãžã¥ãŒã«éçºè
ã«æé©ãªãã®ã§ããããšãåãã£ãŠããŸãã"
#~ msgid "If you need help or advice, consider join the ``#ansible-devel`` IRC channel (see how in the \"Where to get support\")."
#~ msgstr "ããã«ãã«ããŸãã¯ã¢ããã€ã¹ãå¿
èŠãªå Žåã¯ãIRC ãã£ã³ãã« ``#ansible-devel`` ã«åå ããããšãæ€èšããŠãã ãã (ããµããŒããåŸãæ¹æ³ããåç
§ããŠãã ãã)ã"
#~ msgid "Lookup plugins are very flexible, allowing you to retrieve and return any type of data. When writing lookup plugins, always return data of a consistent type that can be easily consumed in a playbook. Avoid parameters that change the returned data type. If there is a need to return a single value sometimes and a complex dictionary other times, write two different lookup plugins."
#~ msgstr "Lookup ãã©ã°ã€ã³ã¯éåžžã«æè»æ§ããããããããããã¿ã€ãã®ããŒã¿ãååŸããè¿ãããšãã§ããŸããLookup ãã©ã°ã€ã³ãèšè¿°ããéã«ã¯ãPlaybook ã§ç°¡åã«äœ¿çšã§ããäžè²«æ§ã®ããã¿ã€ãã®ããŒã¿ãåžžã«è¿ããŸããè¿ãããããŒã¿åãå€æŽãããã©ã¡ãŒã¿ãŒã¯äœ¿çšããªãã§ãã ãããåäžã®å€ãè¿ããªããã°ãªããªããšããããã°ãè€éãªãã£ã¯ã·ã§ããªãŒãè¿ããªããã°ãªãå ŽåããããŸãããã®å Žåã¯ãLookup ãã©ã°ã€ã³ã 2 ã€èšè¿°ããŠãã ããã"
#~ msgid "You can create vars plugins that are not enabled by default using the class variable ``REQUIRES_ENABLED``. If your vars plugin resides in a collection, it cannot be enabled by default. You must use ``REQUIRES_ENABLED`` in all collections-based vars plugins. To require users to enable your plugin, set the class variable ``REQUIRES_ENABLED``:"
#~ msgstr "ã¯ã©ã¹å€æ° ``REQUIRES_ENABLED`` ã䜿çšããŠãããã©ã«ãã§æå¹ã«ãªã£ãŠããªã vars ãã©ã°ã€ã³ãäœæã§ããŸããvars ãã©ã°ã€ã³ãã³ã¬ã¯ã·ã§ã³ã«ååšããå Žåã¯ãããã©ã«ãã§æå¹ã«ã¯ã§ããŸããããã¹ãŠã®ã³ã¬ã¯ã·ã§ã³ããŒã¹ã® vars ãã©ã°ã€ã³ã§ ``REQUIRES_ENABLED`` ã䜿çšããå¿
èŠããããŸãããŠãŒã¶ãŒããã©ã°ã€ã³ãæå¹ã«ããã«ã¯ãã¯ã©ã¹å€æ° ``REQUIRES_ENABLED`` ãèšå®ããŸãã"
#~ msgid "``removed_in_version`` indicates which version of ansible-base or a collection a deprecated argument will be removed in. Mutually exclusive with ``removed_at_date``, and must be used with ``removed_from_collection``."
#~ msgstr "``removed_in_version`` ã¯ãéæšå¥šã®åŒæ°ãåé€ããã ansible-base ãŸãã¯ã³ã¬ã¯ã·ã§ã³ã®ããŒãžã§ã³ã瀺ããŸãã``removed_at_date`` ã§çžäºæä»ããã``removed_from_collection`` ã§äœ¿çšããå¿
èŠããããŸãã"
#~ msgid "``removed_at_date`` indicates that a deprecated argument will be removed in a minor ansible-base release or major collection release after this date. Mutually exclusive with ``removed_in_version``, and must be used with ``removed_from_collection``."
#~ msgstr "``removed_at_date`` ã¯ãéæšå¥šã®åŒæ°ãããã®æ¥ä»ä»¥éã®ãã€ããŒãª ansible-base ãªãªãŒã¹ãŸãã¯ã¡ãžã£ãŒã³ã¬ã¯ã·ã§ã³ãªãªãŒã¹ã§åé€ãããããšã瀺ããŸãã``removed_in_version`` ãšçžäºã«æä»çã§ããã``removed_from_collection`` ãšäžç·ã«äœ¿çšããå¿
èŠããããŸãã"
#~ msgid "The ``ansible-base`` code runs on both Python 2 and Python 3 because we want Ansible to be able to manage a wide variety of machines. Contributors to ansible-base and to Ansible Collections should be aware of the tips in this document so that they can write code that will run on the same versions of Python as the rest of Ansible."
#~ msgstr "Ansible ãåçš®ãã·ã³ã管çã§ããããã«ããããã``ansible-base`` ã³ãŒã㯠Python 2 ãš Python 3 ã®äž¡æ¹ã§å®è¡ãããŸããAnsible ããŒã¹ãš Ansible Collections ã§ã¯ãAnsible ã®æ®ãã®éšåãšåãããŒãžã§ã³ã® Python ã§å®è¡ãããã³ãŒããèšè¿°ã§ããå¿
èŠããããŸãã"
#~ msgid "To ensure that your code runs on Python 3 as well as on Python 2, learn the tips and tricks and idioms described here. Most of these considerations apply to all three types of Ansible code:"
#~ msgstr "Python 2 ããã³ Python 2 ã§ã³ãŒããå®è¡ãããããã«ããã«ã¯ãããã§èª¬æãããã³ããšã³ããããã³ã€ãã£ãªã ã確èªããŠãã ããããããã®èæ
®äºé
ã¯ãããã 3 çš®é¡ã® Ansible ã³ãŒãã®ãã¹ãŠã«é©çšãããŸãã"
#~ msgid "On the controller we support Python 3.5 or greater and Python 2.7 or greater. Module-side, we support Python 3.5 or greater and Python 2.6 or greater."
#~ msgstr "ã³ã³ãããŒã©ãŒã§ã¯ãPython 3.5 以éãããã³ Python 2.7 以éããµããŒãããŠããŸããã¢ãžã¥ãŒã«åŽã§ã¯ãPython 3.5 以éãPython 2.6 以éããµããŒãããŸãã"
#~ msgid "Python 3.5 was chosen as a minimum because it is the earliest Python 3 version adopted as the default Python by a Long Term Support (LTS) Linux distribution (in this case, Ubuntu-16.04). Previous LTS Linux distributions shipped with a Python 2 version which users can rely upon instead of the Python 3 version."
#~ msgstr "Python 3.5 ã¯ãé·æãµããŒã (LTS: Long Term Support) ã® Linux ãã£ã¹ããªãã¥ãŒã·ã§ã³ (ãã®å Žå㯠Ubuntu-16.04) ã§ããã©ã«ãã® Python ãšããŠæ¡çšãããŠããæãå€ã Python 3 ã®ããŒãžã§ã³ã§ãããããæå°ããŒãžã§ã³ãšããŠæ¡çšãããŸããã以åã® LTS Linux ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ã¯ãPython 3 ããŒãžã§ã³ã®ä»£ããã«ããŠãŒã¶ãŒã代ããã«äœ¿çšã§ãã Python 2 ããŒãžã§ã³ãå梱ãããŠããŸããã"
#~ msgid "For Python 2, the default is for modules to run on at least Python 2.6. This allows users with older distributions that are stuck on Python 2.6 to manage their machines. Modules are allowed to drop support for Python 2.6 when one of their dependent libraries requires a higher version of Python. This is not an invitation to add unnecessary dependent libraries in order to force your module to be usable only with a newer version of Python; instead it is an acknowledgment that some libraries (for instance, boto3 and docker-py) will only function with a newer version of Python."
#~ msgstr "Python 2 ã§ã¯ãã¢ãžã¥ãŒã«ã¯å°ãªããšã Python 2.6 ã§åäœããããšãããã©ã«ããšãªã£ãŠããŸããããã«ãããPython 2.6 ã«åºå·ããå€ããã£ã¹ããªãã¥ãŒã·ã§ã³ã®ãŠãŒã¶ãŒãèªåã®ãã·ã³ã管çã§ããããã«ãªããŸããã¢ãžã¥ãŒã«ã¯ãäŸåããã©ã€ãã©ãªãŒã® 1 ã€ãããé«ãããŒãžã§ã³ã® Python ãå¿
èŠãšããå Žåã¯ãPython 2.6 ã®ãµããŒããçµäºããããšãã§ããŸããããã¯ãèªäœããã¢ãžã¥ãŒã«ãããæ°ããããŒãžã§ã³ã® Python ã§ãã䜿ããªãããã«ããããã«ãäžèŠãªäŸåã©ã€ãã©ãªãŒãè¿œå ããããšãå§ãããã®ã§ã¯ãããŸããã代ããã«ãããã€ãã®ã©ã€ãã©ãªãŒ (äŸãã°ãboto3 ã docker-py) ã¯ããæ°ããããŒãžã§ã³ã® Python ã§ããæ©èœããªãããšãèªããŠããŸãã"
#~ msgid "Python 2.4 Module-side Support:"
#~ msgstr "Python 2.4 ã¢ãžã¥ãŒã«ã§ã®ãµããŒã:"
#~ msgid "Support for Python 2.4 and Python 2.5 was dropped in Ansible-2.4. RHEL-5 (and its rebuilds like CentOS-5) were supported until April of 2017. Ansible-2.3 was released in April of 2017 and was the last Ansible release to support Python 2.4 on the module-side."
#~ msgstr "Python 2.4 ããã³ Python 2.5 ã®ãµããŒã㯠Ansible-2.4 ããåé€ãããŸãããRHEL-5 (ããã³ CentOS-5) 㯠2017 幎 4 æãŸã§ãµããŒããããŸããAnsible-2.3 㯠2017 幎 4 æã«ãªãªãŒã¹ãããã¢ãžã¥ãŒã«ãµã€ãã® Python 2.4 ããµããŒãããæåŸã® Ansible ãªãªãŒã¹ã§ããã"
#~ msgid "Testing modules on Python 3"
#~ msgstr "Python 3 ã§ã®ã¢ãžã¥ãŒã«ã®ãã¹ã"
#~ msgid "Ansible modules are slightly harder to code to support Python 3 than normal code from other projects. A lot of mocking has to go into unit testing an Ansible module, so it's harder to test that your changes have fixed everything or to to make sure that later commits haven't regressed the Python 3 support. Review our :ref:`testing <developing_testing>` pages for more information."
#~ msgstr "Ansible ã¢ãžã¥ãŒã«ã¯ããã®ä»ã®ãããžã§ã¯ãã®éåžžã®ã³ãŒãããã Python 3 ããµããŒãããããã«ã³ãŒãã£ã³ã°ããã®ãè¥å¹²é£ãããªããŸããå€ãã®ã¢ãã¯ã¯ãAnsible ã¢ãžã¥ãŒã«ã®ãŠããããã¹ãã«å
¥ãå¿
èŠããããããå€æŽã«ãã£ãŠãã¹ãŠãä¿®æ£ãããããšããã¹ãããããåŸã®ã³ãããã Python 3 ããµããŒãããªãããã«ããæ¹ãå°é£ã«ãªããŸãã詳现ã¯ã:ref:`ãã¹ã <developing_testing>` ããŒãžãåç
§ããŠãã ããã"
#~ msgid "an :ref:`Amazon module <AWS_module_development>`."
#~ msgstr ":ref:`Amazon ã¢ãžã¥ãŒã« <AWS_module_development>`"
#~ msgid "a :ref:`VMware module <VMware_module_development>`."
#~ msgstr ":ref:`VMware ã¢ãžã¥ãŒã« <VMware_module_development>`"
#~ msgid "If a module matures, we will remove the 'preview' mark in the documentation. We support (though we cannot guarantee) backwards compatibility for these modules, which means their parameters should be maintained with stable meanings."
#~ msgstr "ã¢ãžã¥ãŒã«ãæçãããšãããã¥ã¡ã³ãã®ããã¬ãã¥ãŒãããŒã¯ãåé€ãããŸãããããã®ã¢ãžã¥ãŒã«ã«å¯ŸããåŸæ¹äºææ§ã¯ãµããŒãããŸã (ãä¿èšŒã¯ããŸãã)ãã€ãŸãããã©ã¡ãŒã¿ãŒã¯å®å®ããæ¹æ³ã§ç¶æããå¿
èŠããããŸãã"
#~ msgid "When a module has been deprecated for four release cycles, we remove the code and mark the stub file removed. Modules that are removed are no longer shipped with Ansible. The stub file helps users find alternative modules."
#~ msgstr "4 ã€ã®ãªãªãŒã¹ãµã€ã¯ã«ã§ã¢ãžã¥ãŒã«ãéæšå¥šã«ãªã£ãããã³ãŒããåé€ããstab ãã¡ã€ã«ã« removed ãšè¡šç€ºããŸããåé€ãããã¢ãžã¥ãŒã«ã¯ãAnsible ã«å梱ãããªããªããŸããstab ãã¡ã€ã«ã¯ããŠãŒã¶ãŒã代æ¿ã¢ãžã¥ãŒã«ãèŠã€ããã®ã«åœ¹ç«ã¡ãŸãã"
#~ msgid "Deprecating modules"
#~ msgstr "ã¢ãžã¥ãŒã«ã®éæšå¥šå"
#~ msgid "Mention the deprecation in the relevant ``CHANGELOG``."
#~ msgstr "é¢é£ãã ``CHANGELOG`` ã®éæšå¥šã«èšåããŠãã ããã"
#~ msgid "note: with the advent of collections and ``routing.yml`` we might soon require another entry in this file to mark the deprecation."
#~ msgstr "泚èš: ã³ã¬ã¯ã·ã§ã³ããã³ ``routing.yml`` ã§ã¯ãéæšå¥šãšãªã£ãããŒã¯ã«ãã®ãã¡ã€ã«å
ã®å¥ã®ãšã³ããªãŒãããã«å¿
èŠã«ãªãããšããããŸãã"
#~ msgid "Changing a module name"
#~ msgstr "ã¢ãžã¥ãŒã«åã®å€æŽ"
#~ msgid "The Ansible AWS collection (on `Galaxy <https://galaxy.ansible.com/community/aws>`_, source code `repository <https://github.com/ansible-collections/community.aws>`_) is maintained by the Ansible AWS Working Group. For further information see the `AWS working group community page <https://github.com/ansible/community/wiki/aws>`_. If you are planning to contribute AWS modules to Ansible then getting in touch with the working group is a good way to start, especially because a similar module may already be under development."
#~ msgstr "Ansible AWS ã³ã¬ã¯ã·ã§ã³ (`Galaxy <https://galaxy.ansible.com/community/aws>`_ ã§ã¯ããœãŒã¹ã³ãŒã `ã¬ããžããªãŒ <https://github.com/ansible-collections/community.aws>`_) ã¯ãAnsible AWS ã®ã¯ãŒãã³ã°ã°ã«ãŒãç¶æãããŸãã詳现㯠`AWS ã¯ãŒãã³ã°ã°ã«ãŒãã®ã³ãã¥ããã£ãŒããŒãž <https://github.com/ansible/community/wiki/aws>`_ ãåç
§ããŠãã ãããAWS ã¢ãžã¥ãŒã«ã Ansible ã«æäŸããããšãèšç»ããŠããå Žåã¯ãç¹ã«åæ§ã®ã¢ãžã¥ãŒã«ããã§ã«éçºäžã§ããå¯èœæ§ããããããã¯ãŒãã³ã°ã°ã«ãŒãã«é£çµ¡ããããšããå§ããããšãæšå¥šããŸãã"
#~ msgid "Maintaining existing modules"
#~ msgstr "æ¢åã®ã¢ãžã¥ãŒã«ã®ã¡ã³ããã³ã¹"
#~ msgid "Fixing bugs"
#~ msgstr "ãã°ã®ä¿®æ£"
#~ msgid "Bug fixes to code that relies on boto will still be accepted. When possible, the code should be ported to use boto3."
#~ msgstr "boto ã«äŸåããã³ãŒãã«å¯Ÿãããã°ä¿®æ£ã¯åŒãç¶ãæ¿èªãããŸããå¯èœã§ããã°ããã®ã³ãŒãã¯ãboto3 ã䜿çšããããã«ç§»æ€ããå¿
èŠããããŸãã"
#~ msgid "Adding new features"
#~ msgstr "æ°ããæ©èœã®è¿œå "
#~ msgid "Try to keep backward compatibility with relatively recent versions of boto3. That means that if you want to implement some functionality that uses a new feature of boto3, it should only fail if that feature actually needs to be run, with a message stating the missing feature and minimum required version of boto3."
#~ msgstr "æ¯èŒçæè¿ã®ããŒãžã§ã³ã® boto3 ãšã®äžäœäºææ§ãä¿ã€ããã«ããŠãã ãããã€ãŸããboto3 ã®æ°æ©èœã䜿çšããäžéšã®æ©èœãå®è£
ããå Žåã¯ããã®æ©èœãå®éã«å®è¡ããå¿
èŠãããå Žåã«ã®ã¿å€±æããæ¬ èœããŠããæ©èœãšæäœéå¿
èŠãª boto3 ã®ããŒãžã§ã³ã瀺ãã¡ãã»ãŒãžã衚瀺ãããŸãã"
#~ msgid "Use feature testing (for example, ``hasattr('boto3.module', 'shiny_new_method')``) to check whether boto3 supports a feature rather than version checking. For example, from the ``ec2`` module:"
#~ msgstr "æ©èœãã¹ã (äŸ: ``hasattr('boto3.module', 'shiny_new_method')``) ã䜿çšããŠãboto3 ãããŒãžã§ã³ãã§ãã¯ã§ã¯ãªãæ©èœããµããŒãããŠãããã©ããã確èªããŸããããšãã°ã``ec2`` ã¢ãžã¥ãŒã«ããã§ãã"
#~ msgid "Migrating to boto3"
#~ msgstr "boto3 ãžã®ç§»è¡"
#~ msgid "Prior to Ansible 2.0, modules were written in either boto3 or boto. We are still porting some modules to boto3. Modules that still require boto should be ported to use boto3 rather than using both libraries (boto and boto3). We would like to remove the boto dependency from all modules."
#~ msgstr "Ansible 2.0 ããåãã¢ãžã¥ãŒã«ã¯ boto3 ãŸã㯠boto ã®ããããã§èšè¿°ãããŠããŸããããŸã ãããã€ãã®ã¢ãžã¥ãŒã«ã boto3 ã«ç§»æ€ããŠããŸããããã§ãbotoãå¿
èŠãªã¢ãžã¥ãŒã«ã¯ãäž¡æ¹ã®ã©ã€ãã©ãªãŒ (boto ãš boto3) ã䜿çšããã®ã§ã¯ãªããboto3 ã䜿çšããããã«ç§»æ€ããå¿
èŠããããŸãããã¹ãŠã®ã¢ãžã¥ãŒã«ãã boto äŸåé¢ä¿ãåé€ããããšèããŠããŸãã"
#~ msgid "Porting code to AnsibleAWSModule"
#~ msgstr "AnsibleAWSModule ãžã®ã³ãŒãã®ç§»æ€"
#~ msgid "Some old AWS modules use the generic ``AnsibleModule`` as a base rather than the more efficient ``AnsibleAWSModule``. To port an old module to ``AnsibleAWSModule``, change:"
#~ msgstr "äžéšã®å€ã AWS ã¢ãžã¥ãŒã«ã¯ãããå¹çç㪠``AnsibleAWSModule`` ã§ã¯ãªããæ±çšã® ``AnsibleModule`` ãããŒã¹ãšããŠäœ¿çšããŸããå€ãã¢ãžã¥ãŒã«ã ``AnsibleAWSModule`` ã«ç§»æ€ããã«ã¯ã以äžãå€æŽããŸãã"
#~ msgid "to:"
#~ msgstr "以äžã®ããã«å€æŽããŸãã"
#~ msgid "Few other changes are required. AnsibleAWSModule does not inherit methods from AnsibleModule by default, but most useful methods are included. If you do find an issue, please raise a bug report."
#~ msgstr "ãã®ä»ã®å€æŽãå¿
èŠã«ãªããŸããAnsibleAWSModule ã¯ããã©ã«ã㧠AnsibleModule ã®ã¡ãœãããç¶æ¿ããŸããããæã䟿å©ãªã¡ãœãããå«ãŸããŠããŸããåé¡ãçºèŠããå Žåã¯ããã°ã¬ããŒããæåºããŠãã ããã"
#~ msgid "When porting, keep in mind that AnsibleAWSModule also will add the default ec2 argument spec by default. In pre-port modules, you should see common arguments specified with:"
#~ msgstr "ããŒãæã«ã¯ãAnsibleAWSModule ã¯ããã©ã«ãã§ããã©ã«ãã® ec2 åŒæ°ä»æ§ãè¿œå ããŸããäºåããŒãã¢ãžã¥ãŒã«ã§ã¯ã以äžã§æå®ãããäžè¬çãªåŒæ°ã衚瀺ãããã¯ãã§ãã"
#~ msgid "These can be replaced with:"
#~ msgstr "ããã¯ã次ã®ãã®ãšçœ®ãæããããšãã§ããŸãã"
#~ msgid "Creating new AWS modules"
#~ msgstr "æ°èŠ AWS ã¢ãžã¥ãŒã«ã®äœæ"
#~ msgid "Use boto3 and AnsibleAWSModule"
#~ msgstr "boto3 ããã³ AnsibleAWSModule ã®äœ¿çš"
#~ msgid "All new AWS modules must use boto3 and ``AnsibleAWSModule``."
#~ msgstr "ãã¹ãŠã®æ°èŠ AWS ã¢ãžã¥ãŒã«ã¯ boto3 ããã³ ``AnsibleAWSModule`` ã䜿çšããå¿
èŠããããŸãã"
#~ msgid "``AnsibleAWSModule`` greatly simplifies exception handling and library management, reducing the amount of boilerplate code. If you cannot use ``AnsibleAWSModule`` as a base, you must document the reason and request an exception to this rule."
#~ msgstr "``AnsibleAWSModule`` ã¯ãäŸå€åŠçãšã©ã€ãã©ãªãŒç®¡çã倧å¹
ã«ç°¡çŽ åãããã€ã©ãŒãã¬ãŒãã³ãŒãã®éãåæžããŸãã``AnsibleAWSModule`` ãããŒã¹ãšããŠäœ¿ããªãå Žåã¯ãçç±ãææžåãããã®ã«ãŒã«ã®äŸå€ãèŠæ±ããå¿
èŠããããŸãã"
#~ msgid "Naming your module"
#~ msgstr "ã¢ãžã¥ãŒã«ã®ååä»ã"
#~ msgid "Base the name of the module on the part of AWS that you actually use. (A good rule of thumb is to take whatever module you use with boto as a starting point). Don't further abbreviate names - if something is a well known abbreviation of a major component of AWS (for example, VPC or ELB), that's fine, but don't create new ones independently."
#~ msgstr "å®éã«äœ¿çšãã AWS ã®äžéšã§ããã¢ãžã¥ãŒã«åãããŒã¹ã«ããŸã (çµéšåãšããŠãboto ã§äœ¿çšããã¢ãžã¥ãŒã«ãéå§ç¹ãšããŠäœ¿çšããããšãæšå¥šãããŸã)ãååãããã«çç¥ããªãã§ãã ãããAWS ã®äž»èŠã³ã³ããŒãã³ã (VPC ã ELB ãªã©) ã®ããç¥ãããçç¥åœ¢ã§ããå Žåã¯åé¡ãããŸããããæ°ããååãåå¥ã«äœæããªãã§ãã ããã"
#~ msgid "Unless the name of your service is quite unique, please consider using ``aws_`` as a prefix. For example ``aws_lambda``."
#~ msgstr "ãµãŒãã¹ã®ååãéåžžã«äžæã§ãªãéãã``aws_`` ãæ¥é èŸãšããŠäœ¿çšããããšãæ€èšããŠãã ãããããšãã°ã``aws_lambda`` ãšãªããŸãã"
#~ msgid "Importing botocore and boto3"
#~ msgstr "botocore ããã³ boto3 ã®ã€ã³ããŒã"
#~ msgid "The ``ansible.module_utils.ec2`` module and ``ansible.module_utils.core.aws`` modules both automatically import boto3 and botocore. If boto3 is missing from the system then the variable ``HAS_BOTO3`` will be set to false. Normally, this means that modules don't need to import boto3 directly. There is no need to check ``HAS_BOTO3`` when using AnsibleAWSModule as the module does that check:"
#~ msgstr "``ansible.module_utils.ec2`` ã¢ãžã¥ãŒã«ãš ``ansible.module_utils.core.aws`` ã¢ãžã¥ãŒã«ã¯ãboto3 ãš botocore ãèªåçã«ã€ã³ããŒãããŸãã ã·ã¹ãã ã« boto3 ããªãå Žåã¯ãå€æ° ``HAS_BOTO3`` ã false ã«èšå®ãããŸããéåžžãããã¯ãboto3 ãçŽæ¥ã€ã³ããŒãããå¿
èŠã¯ãããŸãããã¢ãžã¥ãŒã«ã®ç¢ºèªãè¡ãããéã« AnsibleAWSModule ã䜿çšããå Žåã¯ã``HAS_BOTO3`` ã確èªããå¿
èŠã¯ãããŸããã"
#~ msgid "or:"
#~ msgstr "ãŸãã¯"
#~ msgid "Supporting Module Defaults"
#~ msgstr "ã¢ãžã¥ãŒã«ã®ããã©ã«ãã®ãµããŒã"
#~ msgid "The existing AWS modules support using :ref:`module_defaults <module_defaults>` for common authentication parameters. To do the same for your new module, add an entry for it in ``lib/ansible/config/module_defaults.yml``. These entries take the form of:"
#~ msgstr "æ¢åã® AWS ã¢ãžã¥ãŒã«ã¯ãå
±éã®èªèšŒãã©ã¡ãŒã¿ãŒã« :ref:`module_defaults <module_defaults>` ã䜿çšãããµããŒãã§ããæ°ããã¢ãžã¥ãŒã«ã«åãã¢ãžã¥ãŒã«ãè¡ãã«ã¯ã``lib/ansible/config/module_defaults.yml`` ã§ãšã³ããªãŒãè¿œå ããŸãããããã®ãšã³ããªãŒã¯ä»¥äžã®åœ¢åŒã«ãªããŸãã"
#~ msgid "Connecting to AWS"
#~ msgstr "AWS ãžã®æ¥ç¶"
#~ msgid "AnsibleAWSModule provides the ``resource`` and ``client`` helper methods for obtaining boto3 connections. These handle some of the more esoteric connection options, such as security tokens and boto profiles."
#~ msgstr "AnsibleAWSModule ã¯ãboto3 æ¥ç¶ãååŸããããã®ãã«ããŒã¡ãœãã ``resource`` ããã³ ``client`` ãæäŸããŸãããããã¯ãã»ãã¥ãªãã£ãŒããŒã¯ã³ã boto ãããã¡ã€ã«ãªã©ãããé£è§£ãªæ¥ç¶ãªãã·ã§ã³ã®ããã€ããåŠçããŸãã"
#~ msgid "If using the basic AnsibleModule then you should use ``get_aws_connection_info`` and then ``boto3_conn`` to connect to AWS as these handle the same range of connection options."
#~ msgstr "æ¥ç¶ãªãã·ã§ã³ãšåãç¯å²ãåŠçãããããåºæ¬ç㪠AnsibleModule ã䜿çšããå Žåã¯ã``get_aws_connection_info`` ã䜿çšããŠãã ``boto3_conn`` ã䜿çšã㊠AWS ã«æ¥ç¶ããå¿
èŠããããŸãã"
#~ msgid "These helpers also for missing profiles or a region not set when it needs to be, so you don't have to."
#~ msgstr "ãããã®ãã«ããŒã¯ãæ¬ èœããŠãããããã¡ã€ã«ããå¿
èŠãªãšãã«èšå®ãããŠããªãé åã«ã䜿çšã§ãããããå¿
é ã§ã¯ãããŸããã"
#~ msgid "An example of connecting to ec2 is shown below. Note that unlike boto there is no ``NoAuthHandlerFound`` exception handling like in boto. Instead, an ``AuthFailure`` exception will be thrown when you use the connection. To ensure that authorization, parameter validation and permissions errors are all caught, you should catch ``ClientError`` and ``BotoCoreError`` exceptions with every boto3 connection call. See exception handling:"
#~ msgstr "ec2 ãžã®æ¥ç¶äŸã¯ä»¥äžã®ããã«ãªããŸããboto ãšã¯ç°ãªããboto ã«ã¯ã``NoAuthHandlerFound`` ã®äŸå€åŠçããªãããšã«æ³šæããŠãã ããã代ããã«ãæ¥ç¶ã®äœ¿çšæã« ``AuthFailure`` äŸå€ãã¹ããŒãããŸããæ¿èªããã©ã¡ãŒã¿ãŒæ€èšŒããã³ããŒããã·ã§ã³ãšã©ãŒããã¹ãŠãã£ãããããããã«ããã«ã¯ããã¹ãŠã® boto3 æ¥ç¶åŒã³åºã㧠``ClientError`` ããã³ ``BotoCoreError`` ã®äŸå€ããã£ããããå¿
èŠããããŸãããäŸå€åŠçããåç
§ããŠãã ããã"
#~ msgid "or for the higher level ec2 resource:"
#~ msgstr "ãŸããããé«ãã¬ãã«ã® ec2 ãªãœãŒã¹ã®å Žåã¯ã次ã®ããã«ãªããŸãã"
#~ msgid "An example of the older style connection used for modules based on AnsibleModule rather than AnsibleAWSModule:"
#~ msgstr "AnsibleAWSModule ã§ã¯ãªã AnsibleModule ã«åºã¥ãã¢ãžã¥ãŒã«ã«äœ¿çšãããæ§åŒã®æ¥ç¶äŸã¯æ¬¡ã®ãšããã§ãã"
#~ msgid "Common Documentation Fragments for Connection Parameters"
#~ msgstr "æ¥ç¶ãã©ã¡ãŒã¿ãŒã«é¢ããæçåãããæ±çšããã¥ã¡ã³ã"
#~ msgid "There are two :ref:`common documentation fragments <module_docs_fragments>` that should be included into almost all AWS modules:"
#~ msgstr "ã»ãšãã©ãã¹ãŠã® AWS ã¢ãžã¥ãŒã«ã«å«ãŸãã :ref:`æçåãããæ±çšããã¥ã¡ã³ã <module_docs_fragments>` 㯠2 ã€ãããŸãã"
#~ msgid "``aws`` - contains the common boto connection parameters"
#~ msgstr "``aws`` - å
±éã® boto æ¥ç¶ãã©ã¡ãŒã¿ãŒãå«ãŸããŸãã"
#~ msgid "``ec2`` - contains the common region parameter required for many AWS modules"
#~ msgstr "``ec2`` - æ°å€ãã® AWS ã¢ãžã¥ãŒã«ã«å¿
èŠãªå
±éã® region ãã©ã¡ãŒã¿ãŒãå«ãŸããŸãã"
#~ msgid "These fragments should be used rather than re-documenting these properties to ensure consistency and that the more esoteric connection options are documented. For example:"
#~ msgstr "äžè²«æ§ã確ä¿ããããé£è§£ãªæ¥ç¶ãªãã·ã§ã³ãææžåããã«ã¯ããã®ãããªããããã£ãŒãåææžåããã®ã§ã¯ãªãããã®ãããªæçåãããããã¥ã¡ã³ãã䜿çšããå¿
èŠããããŸããããšãã°ã以äžã®ããã«ãªããŸãã"
#~ msgid "Handling exceptions"
#~ msgstr "äŸå€ã®åŠç"
#~ msgid "You should wrap any boto3 or botocore call in a try block. If an exception is thrown, then there are a number of possibilities for handling it."
#~ msgstr "try ãããã¯ã§ boto3 ãŸã㯠botocore åŒã³åºããã©ããããå¿
èŠããããŸããäŸå€ãã¹ããŒããããšãåŠçã®å¯èœæ§ãå€æ°ãããŸãã"
#~ msgid "Catch the general ``ClientError`` or look for a specific error code with"
#~ msgstr "æ±çšç㪠``ClientError`` ãååŸãããã次ã®ãããªç¹å®ã®ãšã©ãŒã³ãŒããæ¢ããŸã"
#~ msgid "``is_boto3_error_code``."
#~ msgstr "``is_boto3_error_code``."
#~ msgid "Use ``aws_module.fail_json_aws()`` to report the module failure in a standard way"
#~ msgstr "``aws_module.fail_json_aws()`` ã䜿çšããŠãæšæºçãªæ¹æ³ã§ã¢ãžã¥ãŒã«é害ãå ±åããŸãã"
#~ msgid "Retry using AWSRetry"
#~ msgstr "AWSRetry ã䜿çšããŠåè©Šè¡ããŸãã"
#~ msgid "Use ``fail_json()`` to report the failure without using ``ansible.module_utils.aws.core``"
#~ msgstr "``fail_json()`` ã䜿çšããŠã``ansible.module_utils.aws.core`` ã䜿çšããã«é害ãå ±åããŸãã"
#~ msgid "Do something custom in the case where you know how to handle the exception"
#~ msgstr "äŸå€ã®åŠçæ¹æ³ãåãã£ãŠããå Žåã¯ãäœããã®ã«ã¹ã¿ãã€ãºäœæ¥ãè¡ããŸãã"
#~ msgid "For more information on botocore exception handling see the `botocore error documentation <https://botocore.readthedocs.io/en/latest/client_upgrades.html#error-handling>`_."
#~ msgstr "botocore äŸå€åŠçã®è©³çŽ°ã¯ã`botocore ãšã©ãŒããã¥ã¡ã³ã <https://botocore.readthedocs.io/en/latest/client_upgrades.html#error-handling>`_ ãåç
§ããŠãã ããã"
#~ msgid "Using is_boto3_error_code"
#~ msgstr "is_boto3_error_code ã®äœ¿çš"
#~ msgid "To use ``ansible.module_utils.aws.core.is_boto3_error_code`` to catch a single AWS error code, call it in place of ``ClientError`` in your except clauses. In this case, *only* the ``InvalidGroup.NotFound`` error code will be caught here, and any other error will be raised for handling elsewhere in the program."
#~ msgstr "``ansible.module_utils.aws.core.is_boto3_error_code`` ã䜿çšããŠåäžã® AWS ãšã©ãŒã³ãŒããååŸããã«ã¯ãexcept å¥ã§ ``ClientError`` ã®ä»£ããã«åŒã³åºããè¡ããŸãããã®å Žåã``InvalidGroup.NotFound`` ãšã©ãŒã³ãŒããããã«æ€åºãããã®ä»ã®ãšã©ãŒã§ããã°ã©ã å
ã®å¥ã®å ŽæãåŠçããéã«çºçããŸãã"
#~ msgid "Using fail_json_aws()"
#~ msgstr "fail_json_aws() ã®äœ¿çš"
#~ msgid "In the AnsibleAWSModule there is a special method, ``module.fail_json_aws()`` for nice reporting of exceptions. Call this on your exception and it will report the error together with a traceback for use in Ansible verbose mode."
#~ msgstr "AnsibleAWSModule ã«ã¯ãäŸå€ã¬ããŒãã«åªããæ¹æ³ ``module.fail_json_aws()`` ããããŸããäŸå€äžã§ãã®åŒã³åºããè¡ããAnsible ã®åé·ã¢ãŒãã§äœ¿çšããããã«ãã¬ãŒã¹ããã¯ãšå
±ã«ãšã©ãŒãå ±åããŸãã"
#~ msgid "You should use the AnsibleAWSModule for all new modules, unless not possible. If adding significant amounts of exception handling to existing modules, we recommend migrating the module to use AnsibleAWSModule (there are very few changes required to do this)"
#~ msgstr "äžå¯èœã§ãªãéãããã¹ãŠã®æ°ããã¢ãžã¥ãŒã«ã« AnsibleAWSModule ã䜿çšããå¿
èŠããããŸããæ¢åã®ã¢ãžã¥ãŒã«ã«å€§éã®äŸå€åŠçãè¿œå ããå Žåã¯ãAnsibleAWSModule ã䜿çšããããã«ã¢ãžã¥ãŒã«ã移è¡ããããšãæšå¥šãããŸã (ãããè¡ãããã«å¿
èŠãªå€æŽã¯ã»ãšãã©ãããŸãã)ã"
#~ msgid "Note that it should normally be acceptable to catch all normal exceptions here, however if you expect anything other than botocore exceptions you should test everything works as expected."
#~ msgstr "éåžžãããã§ãã¹ãŠã®éåžžã®äŸå€ãæããŠãåé¡ããªãããšã«æ³šæããŠãã ããããã ããbotocore 以å€ã®äŸå€ãäºæ³ãããå Žåã¯ããã¹ãŠãæåŸ
ã©ããã«æ©èœãããã©ããããã¹ãããå¿
èŠããããŸãã"
#~ msgid "If you need to perform an action based on the error boto3 returned, use the error code."
#~ msgstr "è¿ããã boto3 ãšã©ãŒã«åºã¥ããŠã¢ã¯ã·ã§ã³ãå®è¡ããå¿
èŠãããå Žåã¯ããã®ãšã©ãŒã³ãŒãã䜿çšããŸãã"
#~ msgid "using fail_json() and avoiding ansible.module_utils.aws.core"
#~ msgstr "fail_json() and avoiding ansible.module_utils.aws.core ã®äœ¿çš"
#~ msgid "Boto3 provides lots of useful information when an exception is thrown so pass this to the user along with the message."
#~ msgstr "Boto3 ã¯ãäŸå€ãçºçãããšãã«å€ãã®æçšãªæ
å ±ãæäŸãããããã¡ãã»ãŒãžãšå
±ã«ããããŠãŒã¶ãŒã«æž¡ããŸãã"
#~ msgid "Note: we use `str(e)` rather than `e.message` as the latter doesn't work with python3"
#~ msgstr "泚èš: åŸè
㯠python3 ã§ã¯æ©èœããªãããã`e.message` ã®ä»£ããã« `str(e)` ã䜿çšããŸãã"
#~ msgid "API throttling (rate limiting) and pagination"
#~ msgstr "API ã¹ããããªã³ã° (ã¬ãŒãå¶é) ãšããŒãžããŒã·ã§ã³"
#~ msgid "For methods that return a lot of results, boto3 often provides `paginators <https://boto3.readthedocs.io/en/latest/guide/paginators.html>`_. If the method you're calling has ``NextToken`` or ``Marker`` parameters, you should probably check whether a paginator exists (the top of each boto3 service reference page has a link to Paginators, if the service has any). To use paginators, obtain a paginator object, call ``paginator.paginate`` with the appropriate arguments and then call ``build_full_result``."
#~ msgstr "倧éã®çµæãè¿ãã¡ãœããã®å Žåãboto3 ã¯ãã°ãã° `paginators <https://boto3.readthedocs.io/en/latest/guide/paginators.html>`_ ãæäŸããŸããåŒã³åºããŠããã¡ãœããã« ``NextToken`` ãã©ã¡ãŒã¿ãŒãŸã㯠``Marker`` ãã©ã¡ãŒã¿ãŒãããå Žåã¯ãPaginator ãååšãããã©ããã確èªããå¿
èŠããããŸã (å boto3 ãµãŒãã¹ã« paginator ãããå Žåã¯ãåç
§ããŒãžäžéšã« Paginator ãžã®ãªã³ã¯ããããŸã)ãpaginator ã䜿çšããã«ã¯ãpaginator ãªããžã§ã¯ããååŸããé©åãªåŒæ°ãæå®ã㊠``paginator.paginate`` ãåŒã³åºããŠããã``build_full_result`` ãåŒã³åºããŸãã"
#~ msgid "Any time that you are calling the AWS API a lot, you may experience API throttling, and there is an ``AWSRetry`` decorator that can be used to ensure backoff. Because exception handling could interfere with the retry working properly (as AWSRetry needs to catch throttling exceptions to work correctly), you'd need to provide a backoff function and then put exception handling around the backoff function."
#~ msgstr "AWS API ã倧éã«åŒã³åºããŠããã®ã¯ãã€ã§ããAPI ã¹ããããªã³ã°ãçºçããå¯èœæ§ããããããã¯ãªãæ©èœãæäŸããããã«äœ¿çšã§ãã ``AWSRetry`` ãã³ã¬ãŒã¿ãŒããããŸããäŸå€åŠçã¯åè©Šè¡ãæ£ããæ©èœããã®ã劚ããå¯èœæ§ããããã (AWSRetry ãæ£ããæ©èœããããã«ã¹ããããªã³ã°äŸå€ãååŸããå¿
èŠããããã)ãããã¯ãªãé¢æ°ãæäŸããŠãããããã¯ãªãé¢æ°ã®åšãã«äŸå€åŠçãé
眮ããå¿
èŠããããŸãã"
#~ msgid "You can use ``exponential_backoff`` or ``jittered_backoff`` strategies - see the cloud ``module_utils`` ()/lib/ansible/module_utils/cloud.py) and `AWS Architecture blog <https://www.awsarchitectureblog.com/2015/03/backoff.html>`_ for more details."
#~ msgstr "``exponential_backoff`` ãŸã㯠``jittered_backoff`` ã¹ãã©ããžãŒã䜿çšã§ããŸãã詳现ã¯ãã¯ã©ãŠã ``module_utils`` ()/lib/ansible/module_utils/cloud.py) ããã³ `AWS ã¢ãŒããã¯ãã£ãŒã®ããã° <https://www.awsarchitectureblog.com/2015/03/backoff.html>`_ ãåç
§ããŠãã ããã"
#~ msgid "The combination of these two approaches is then:"
#~ msgstr "ããã 2 ã€ã®ã¢ãããŒãã®çµã¿åããã¯æ¬¡ã®ãšããã§ãã"
#~ msgid "If the underlying ``describe_some_resources`` API call throws a ``ResourceNotFound`` exception, ``AWSRetry`` takes this as a cue to retry until it's not thrown (this is so that when creating a resource, we can just retry until it exists)."
#~ msgstr "åºç€ãšãªã ``describe_some_resources`` API åŒã³åºã㧠``ResourceNotFound`` äŸå€ãåºåãããšã``AWSRetry`` ã¯ãããåºåãããªããªããŸã§åè©Šè¡ããåå³ãšããŠãããåãåããŸã (ããã¯ããªãœãŒã¹ãäœæãããšãã«ããªãœãŒã¹ãååšãããŸã§åè©Šè¡ã§ããããã«ããããã§ã)ã"
#~ msgid "To handle authorization failures or parameter validation errors in ``describe_some_resource_with_backoff``, where we just want to return ``None`` if the resource doesn't exist and not retry, we need:"
#~ msgstr "ãªãœãŒã¹ãååšããªãå Žåãããã³ãªãœãŒã¹ãåè©Šè¡ãããŠããªãå Žåã®ã¿ ``None`` ãè¿ã ``describe_some_resource_with_backoff`` ã§æ¿èªã®å€±æãŸãã¯ãã©ã¡ãŒã¿ãŒæ€èšŒãšã©ãŒãåŠçããã«ã¯ã以äžãå¿
èŠã«ãªããŸãã"
#~ msgid "To make use of AWSRetry easier, it can now be wrapped around a client returned by ``AnsibleAWSModule``. any call from a client. To add retries to a client, create a client:"
#~ msgstr "AWSRetry ã䜿ããããããããã«ã``AnsibleAWSModule`` (ã¯ã©ã€ã¢ã³ãããã®åŒã³åºã) ã«ãã£ãŠè¿ãããã¯ã©ã€ã¢ã³ããã©ããã§ããããã«ãªããŸãããã¯ã©ã€ã¢ã³ãã«åè©Šè¡ãè¿œå ããã«ã¯ãã¯ã©ã€ã¢ã³ããäœæããŸãã"
#~ msgid "Any calls from that client can be made to use the decorator passed at call-time using the `aws_retry` argument. By default, no retries are used."
#~ msgstr "ãã®ã¯ã©ã€ã¢ã³ãããã®åŒã³åºãã¯ãã¹ãŠã`aws_retry` åŒæ°ã䜿çšããŠåŒã³åºãæã«æž¡ããããã³ã¬ãŒã¿ãŒã䜿çšããŠè¡ãããšãã§ããŸããããã©ã«ãã§ã¯ãåè©Šè¡ã¯äœ¿çšãããŸããã"
#~ msgid "The call will be retried the specified number of times, so the calling functions don't need to be wrapped in the backoff decorator."
#~ msgstr "åŒã³åºãã¯æå®ãããåæ°ã ãåè©Šè¡ããããããåŒã³åºãå
ã®é¢æ°ãããã¯ãªããã³ã¬ãŒã¿ãŒã§ã©ããããå¿
èŠã¯ãããŸããã"
#~ msgid "You can also use customization for ``retries``, ``delay`` and ``max_delay`` parameters used by ``AWSRetry.jittered_backoff`` API using module params. You can take a look at the `cloudformation <cloudformation_module>` module for example."
#~ msgstr "ãŸããã¢ãžã¥ãŒã«ãã©ã¡ãŒã¿ãŒã䜿çšããŠã``AWSRetry.jittered_backoff`` API ã䜿çšãã ``retries`` ãã©ã¡ãŒã¿ãŒã``delay`` ãã©ã¡ãŒã¿ãŒãããã³ ``max_delay`` ãã©ã¡ãŒã¿ãŒã®ã«ã¹ã¿ãã€ãºã䜿çšããããšãã§ããŸããããšãã°ã`cloudformation <cloudformation_module>` ã¢ãžã¥ãŒã«ãåç
§ããŠãã ããã"
#~ msgid "To make all Amazon modules uniform, prefix the module param with ``backoff_``, so ``retries`` becomes ``backoff_retries``"
#~ msgstr "ãã¹ãŠã® Amazon ã¢ãžã¥ãŒã«ãåäžã«ããã«ã¯ãã¢ãžã¥ãŒã«ãã©ã¡ãŒã¿ãŒã®åã« ``backoff_`` ãä»ããŸããããã«ããã``retries`` 㯠``backoff_retries`` ã«ãªããŸãã"
#~ msgid "and likewise with ``backoff_delay`` and ``backoff_max_delay``."
#~ msgstr "``backoff_delay`` ãš ``backoff_max_delay`` ãåæ§ã§ãã"
#~ msgid "Returning Values"
#~ msgstr "æ»ãå€"
#~ msgid "When you make a call using boto3, you will probably get back some useful information that you should return in the module. As well as information related to the call itself, you will also have some response metadata. It is OK to return this to the user as well as they may find it useful."
#~ msgstr "boto3 ã䜿çšããŠåŒã³åºããè¡ããšãã¢ãžã¥ãŒã«ã§è¿ãå¿
èŠããã䟿å©ãªæ
å ±ãå
¥æã§ããŸãããŸããåŒã³åºãèªäœã«é¢é£ããæ
å ±ãå¿çã¡ã¿ããŒã¿ããããŸããããããŠãŒã¶ãŒã«è¿ãããšã¯åé¡ãããŸãããããŠãŒã¶ãŒã¯ããã圹ç«ã€ãšæããããããŸããã"
#~ msgid "Boto3 returns all values CamelCased. Ansible follows Python standards for variable names and uses snake_case. There is a helper function in module_utils/ec2.py called `camel_dict_to_snake_dict` that allows you to easily convert the boto3 response to snake_case."
#~ msgstr "boto3 ã¯ããã£ã¡ã«ã±ãŒã¹åãããã¹ãŠã®å€ãè¿ããŸããAnsible ã¯å€æ°åã® Python æšæºã«åŸããsnake_case ã䜿çšããŸãã`camel_dict_to_snake_dict` ãšããååã® module_utils/ec2.py ã«ãã«ããŒé¢æ°ããããboto3 ãç°¡åã« snake_case ã«å€æã§ããŸãã"
#~ msgid "You should use this helper function and avoid changing the names of values returned by Boto3. E.g. if boto3 returns a value called 'SecretAccessKey' do not change it to 'AccessKey'."
#~ msgstr "ãã®ãã«ããŒé¢æ°ã䜿çšããBoto3 ãè¿ãå€ã®ååãå€æŽããªãã§ãã ãããããšãã°ãboto3 ããSecretAccessKeyãå€ãè¿ãå Žåã¯ãããããAccessKeyãã«å€æŽããªãã§ãã ããã"
#~ msgid "Dealing with IAM JSON policy"
#~ msgstr "IAM JSON ããªã·ãŒã®åŠç"
#~ msgid "If your module accepts IAM JSON policies then set the type to 'json' in the module spec. For example:"
#~ msgstr "ã¢ãžã¥ãŒã«ã IAM JSON ããªã·ãŒãåãå
¥ããå Žåã¯ãã¢ãžã¥ãŒã«ä»æ§ã§ã¿ã€ãããjsonãã«èšå®ããŸããããšãã°ã以äžã®ããã«ãªããŸãã"
#~ msgid "Note that AWS is unlikely to return the policy in the same order that is was submitted. Therefore, use the `compare_policies` helper function which handles this variance."
#~ msgstr "AWS ããéä¿¡ãããé åºã§ããªã·ãŒãè¿ãããšã¯ã»ãšãã©ãããŸããããããã£ãŠããã®å·®ç°ãåŠçãã `compare_policies` ãã«ããŒé¢æ°ã䜿çšããŸãã"
#~ msgid "`compare_policies` takes two dictionaries, recursively sorts and makes them hashable for comparison and returns True if they are different."
#~ msgstr "`compare_policies` ã¯ã2 ã€ã®ãã£ã¯ã·ã§ããªãŒãååŸããååž°çã«ãœãŒãããæ¯èŒã®ããã«ããã·ã¥ãå¯èœã«ããç°ãªãå Žå㯠True ãè¿ããŸãã"
#~ msgid "Dealing with tags"
#~ msgstr "ã¿ã°ã®åŠç"
#~ msgid "AWS has a concept of resource tags. Usually the boto3 API has separate calls for tagging and untagging a resource. For example, the ec2 API has a create_tags and delete_tags call."
#~ msgstr "AWS ã«ã¯ãªãœãŒã¹ã¿ã°ã®æŠå¿µããããŸããéåžžãboto3 API ã«ã¯ããªãœãŒã¹ã®ã¿ã°ä»ããšã¿ã°ä»ã解é€ã®ããã®åŒã³åºãããããŸããããšãã°ãec2 API ã«ã¯ create_tags ããã³ delete_tags ã®åŒã³åºãããããŸãã"
#~ msgid "It is common practice in Ansible AWS modules to have a `purge_tags` parameter that defaults to true."
#~ msgstr "ããã¯ãããã©ã«ãã true ã® `purge_tags` ãã©ã¡ãŒã¿ãŒããã Ansible AWS ã¢ãžã¥ãŒã«ã§ã¯äžè¬çãªæ¹æ³ã§ãã"
#~ msgid "The `purge_tags` parameter means that existing tags will be deleted if they are not specified by the Ansible task."
#~ msgstr "`purge_tags` ãã©ã¡ãŒã¿ãŒã¯ãæ¢åã®ã¿ã°ã Ansible ã¿ã¹ã¯ã§æå®ãããŠããªãå Žåã«åé€ãããããšã瀺ããŠããŸãã"
#~ msgid "There is a helper function `compare_aws_tags` to ease dealing with tags. It can compare two dicts and return the tags to set and the tags to delete. See the Helper function section below for more detail."
#~ msgstr "ã¿ã°ã®æ±ãã容æã«ãããããã«ããŒæ©èœ `compare_aws_tags` ããããŸãã2 ã€ã®ãã£ã¯ã·ã§ããªãŒãæ¯èŒããèšå®ããã¿ã°ãšåé€ããã¿ã°ãè¿ãããšãã§ããŸãã詳现ã«ã€ããŠã¯ã以äžã®ãã«ããŒé¢æ°ã®ã»ã¯ã·ã§ã³ãåç
§ããŠãã ããã"
#~ msgid "Helper functions"
#~ msgstr "helper é¢æ°"
#~ msgid "Along with the connection functions in Ansible ec2.py module_utils, there are some other useful functions detailed below."
#~ msgstr "Ansible ec2.py module_utils ã®æ¥ç¶é¢æ°ã«å ããŠã以äžã«èª¬æããããã€ãã®äŸ¿å©ãªé¢æ°ããããŸãã"
#~ msgid "camel_dict_to_snake_dict"
#~ msgstr "camel_dict_to_snake_dict"
#~ msgid "boto3 returns results in a dict. The keys of the dict are in CamelCase format. In keeping with Ansible format, this function will convert the keys to snake_case."
#~ msgstr "boto3 ã¯ãã£ã¯ã·ã§ããªãŒã®çµæãè¿ããŸãããã£ã¯ã·ã§ããªãŒã®ããŒã¯ CamelCase 圢åŒã«ãªããŸããAnsible 圢åŒãç¶æãããšããã®æ©èœã¯ããŒã snake_case ã«å€æããŸãã"
#~ msgid "``camel_dict_to_snake_dict`` takes an optional parameter called ``ignore_list`` which is a list of keys not to convert (this is usually useful for the ``tags`` dict, whose child keys should remain with case preserved)"
#~ msgstr "``camel_dict_to_snake_dict`` ã¯ã``ignore_list`` åŒã°ããä»»æã®ãã©ã¡ãŒã¿ãŒãåããŸããããã¯ãå€æããªãããŒã®äžèŠ§ã§ããããã¯éåžžã``tags`` ãã£ã¯ã·ã§ããªãŒã«åœ¹ã«ç«ã¡ãŸãããã®åããŒã¯å€§æåãšå°æåãåºå¥ããŠä¿æããå¿
èŠããããŸãã"
#~ msgid "Another optional parameter is ``reversible``. By default, ``HTTPEndpoint`` is converted to ``http_endpoint``, which would then be converted by ``snake_dict_to_camel_dict`` to ``HttpEndpoint``. Passing ``reversible=True`` converts HTTPEndpoint to ``h_t_t_p_endpoint`` which converts back to ``HTTPEndpoint``."
#~ msgstr "ãã®ä»ã®ä»»æã®ãã©ã¡ãŒã¿ãŒã¯ ``reversible`` ã§ããããã©ã«ãã§ã¯ã``HTTPEndpoint`` 㯠``http_endpoint`` ã«å€æãããŸããããã¯ã``snake_dict_to_camel_dict`` ã«ãã£ãŠ ``HttpEndpoint`` ã«å€æãããŸãã``reversible=True`` ãæž¡ããšãHTTPEndpoint ã ``h_t_t_p_endpoint`` ã«å€æããã``HTTPEndpoint`` ã«å€æããçŽãããŸãã"
#~ msgid "snake_dict_to_camel_dict"
#~ msgstr "snake_dict_to_camel_dict"
#~ msgid "`snake_dict_to_camel_dict` converts snake cased keys to camel case. By default, because it was first introduced for ECS purposes, this converts to dromedaryCase. An optional parameter called `capitalize_first`, which defaults to `False`, can be used to convert to CamelCase."
#~ msgstr "`snake_dict_to_camel_dict` ã¯ãã¹ããŒã¯ã±ãŒã¹ã®ããŒããã£ã¡ã«ã±ãŒã¹ã«å€æããŸããããã©ã«ãã§ã¯ãECS ã®ç®çã§æåã«å°å
¥ãããããããã㯠dromedaryCase ã«å€æãããŸãã`capitalize_first` ãšåŒã°ããä»»æã®ãã©ã¡ãŒã¿ãŒã¯ã`False` ã«ããã©ã«ããããCamelCase ãžã®å€æã«äœ¿çšã§ããŸãã"
#~ msgid "ansible_dict_to_boto3_filter_list"
#~ msgstr "ansible_dict_to_boto3_filter_list"
#~ msgid "Converts a an Ansible list of filters to a boto3 friendly list of dicts. This is useful for any boto3 `_facts` modules."
#~ msgstr "ãã£ã«ã¿ãŒã® Ansible ãªã¹ããããã£ã¯ã·ã§ããªãŒã® boto3 ãã¬ã³ããªãŒãªã¹ãã«å€æããŸããããã¯ãboto3 ã® `_facts` ã¢ãžã¥ãŒã«ã«åœ¹ç«ã¡ãŸãã"
#~ msgid "boto_exception"
#~ msgstr "boto_exception"
#~ msgid "Pass an exception returned from boto or boto3, and this function will consistently get the message from the exception."
#~ msgstr "boto ãŸã㯠boto3 ããè¿ãããäŸå€ãæž¡ããŸãããã®é¢æ°ã¯ãäŸå€ããã¡ãã»ãŒãžãäžè²«ããŠååŸããŸãã"
#~ msgid "Deprecated: use `AnsibleAWSModule`'s `fail_json_aws` instead."
#~ msgstr "éæšå¥š: 代ããã« `AnsibleAWSModule` ã® `fail_json_aws` ã䜿çšããŠãã ããã"
#~ msgid "boto3_tag_list_to_ansible_dict"
#~ msgstr "boto3_tag_list_to_ansible_dict"
#~ msgid "Converts a boto3 tag list to an Ansible dict. Boto3 returns tags as a list of dicts containing keys called 'Key' and 'Value' by default. This key names can be overridden when calling the function. For example, if you have already camel_cased your list of tags you may want to pass lowercase key names instead, in other words, 'key' and 'value'."
#~ msgstr "boto3 ã¿ã°ãªã¹ãã Ansible ãã£ã¯ã·ã§ããªãŒã«å€æããŸããBoto3 ã¯ããKeyãããã³ãValueããšããååã®ããŒãããã©ã«ãã§å«ãŸãã ãã£ã¯ã·ã§ããªãŒã®ãªã¹ããšããŠã¿ã°ãè¿ããŸãããã®ããŒã¯ãé¢æ°ãåŒã³åºãéã«äžæžãã§ããŸããããšãã°ãã¿ã°ã®ãªã¹ãããã§ã«ãã£ã¡ã«ã±ãŒã¹åããŠããå Žåã¯ã代ããã«å°æåã®ããŒåãã€ãŸããkeyããšãvalueããæž¡ãããšãã§ããŸãã"
#~ msgid "This function converts the list in to a single dict where the dict key is the tag key and the dict value is the tag value."
#~ msgstr "ãã®é¢æ°ã¯ããªã¹ããåäžã®ãã£ã¯ã·ã§ããªãŒã«å€æããŸããdict ããŒã¯ã¿ã°ããŒã§ãdict å€ã¯ã¿ã°ã®å€ã§ãã"
#~ msgid "ansible_dict_to_boto3_tag_list"
#~ msgstr "ansible_dict_to_boto3_tag_list"
#~ msgid "Opposite of above. Converts an Ansible dict to a boto3 tag list of dicts. You can again override the key names used if 'Key' and 'Value' is not suitable."
#~ msgstr "äžèšã®éã§ãAnsible ãã£ã¯ã·ã§ããªãŒããã£ã¯ã·ã§ããªãŒã® boto3 ã¿ã°äžèŠ§ã«å€æããŸãããKeyããšãValueããé©ããŠããªããšãã«äœ¿çšãããããŒåãå床äžæžãããããšãã§ããŸãã"
#~ msgid "get_ec2_security_group_ids_from_names"
#~ msgstr "get_ec2_security_group_ids_from_names"
#~ msgid "Pass this function a list of security group names or combination of security group names and IDs and this function will return a list of IDs. You should also pass the VPC ID if known because security group names are not necessarily unique across VPCs."
#~ msgstr "ãã®é¢æ°ã«ã»ãã¥ãªãã£ãŒã°ã«ãŒãåã®ãªã¹ãããŸãã¯ã»ãã¥ãªãã£ãŒã°ã«ãŒãåãšIDã®çµã¿åãããæž¡ããšããã®é¢æ°ã¯ ID ã®ãªã¹ããè¿ããŸããã»ãã¥ãªãã£ãŒã°ã«ãŒãå㯠VPC éã§å¿
ãããäžæã§ãããšã¯éããªããããæ¢ç¥ã®å Žå㯠VPCID ãæž¡ãå¿
èŠããããŸãã"
#~ msgid "compare_policies"
#~ msgstr "compare_policies"
#~ msgid "Pass two dicts of policies to check if there are any meaningful differences and returns true if there are. This recursively sorts the dicts and makes them hashable before comparison."
#~ msgstr "ããªã·ãŒã® 2 ã€ã®ãã£ã¯ã·ã§ããªãŒãæž¡ããŠãæå³ã®ããå·®ç°ããããã©ããã確èªããããå Žå㯠true ãè¿ããŸããããã«ããããã£ã¯ã·ã§ããªãŒãååž°çã«ãœãŒããããæ¯èŒåã«ããã·ã¥å¯èœã«ãªããŸãã"
#~ msgid "This method should be used any time policies are being compared so that a change in order doesn't result in unnecessary changes."
#~ msgstr "ãã®æ¹æ³ã¯ãé åºãå€æŽããŠãäžèŠãªå€æŽãçºçããªãããã«ãããªã·ãŒãæ¯èŒãããšãã«å¿
ã䜿çšããå¿
èŠããããŸãã"
#~ msgid "compare_aws_tags"
#~ msgstr "compare_aws_tags"
#~ msgid "Pass two dicts of tags and an optional purge parameter and this function will return a dict containing key pairs you need to modify and a list of tag key names that you need to remove. Purge is True by default. If purge is False then any existing tags will not be modified."
#~ msgstr "ã¿ã°ã® 2 ã€ã®ãã£ã¯ã·ã§ããªãŒãšä»»æã® purge ãã©ã¡ãŒã¿ãŒãæž¡ããŸãããã®é¢æ°ã¯ãã£ã¯ã·ã§ããªãŒãè¿ããŸããããã«ã¯ãå€æŽããããŒãã¢ãšãåé€ããå¿
èŠã®ããã¿ã°ããŒåã®äžèŠ§ãå«ãŸããŠããŸããããŒãžã¯ãããã©ã«ã㧠True ã§ããããŒãžã False ã®å Žåã¯ãæ¢åã®ã¿ã°ãå€æŽãããŸããã"
#~ msgid "This function is useful when using boto3 'add_tags' and 'remove_tags' functions. Be sure to use the other helper function `boto3_tag_list_to_ansible_dict` to get an appropriate tag dict before calling this function. Since the AWS APIs are not uniform (for example, EC2 is different from Lambda) this will work without modification for some (Lambda) and others may need modification before using these values (such as EC2, with requires the tags to unset to be in the form `[{'Key': key1}, {'Key': key2}]`)."
#~ msgstr "ãã®é¢æ°ã¯ãboto3 ã®ãadd_tagsãé¢æ°ããã³ãremove_tagsãé¢æ°ã䜿çšããå Žåã«åœ¹ã«ç«ã¡ãŸãããã®é¢æ°ãåŒã³åºãåã«ãå¿
ãä»ã®ãã«ããŒé¢æ° `boto3_tag_list_to_ansible_dict` ã䜿çšããŠãé©åãªã¿ã°ã®ãã£ã¯ã·ã§ããªãŒãååŸããŠãã ãããAWS ã® API ã¯çµ±äžãããŠããªããã (ããšãã°ãEC2 ãš Lambda ã¯ç°ãªã)ãäžéš (Lambda) ã§ã¯ä¿®æ£ãªãã§åäœããŸãããä»ã§ã¯ãããã®å€ã䜿çšããåã«ä¿®æ£ãå¿
èŠãªå ŽåããããŸã(EC2 ã§ã¯ãèšå®è§£é€ããã¿ã°ã `[{'Key': key1}, {'Key': key2}]` ã®åœ¢åŒã«ããå¿
èŠããããªã©)ã"
#~ msgid "Integration Tests for AWS Modules"
#~ msgstr "AWS ã¢ãžã¥ãŒã«ã®çµ±åãã¹ã"
#~ msgid "All new AWS modules should include integration tests to ensure that any changes in AWS APIs that affect the module are detected. At a minimum this should cover the key API calls and check the documented return values are present in the module result."
#~ msgstr "ãã¹ãŠã®æ°èŠ AWS ã¢ãžã¥ãŒã«ã«ã¯ãã¢ãžã¥ãŒã«ã«åœ±é¿ãã AWS API ã®å€æŽãæ€åºãããããã«ãçµ±åãã¹ããå«ããå¿
èŠããããŸããæå°å€ã¯ã㌠API åŒã³åºãã«å¯Ÿå¿ããææžåãããæ»ãå€ãã¢ãžã¥ãŒã«ã®çµæã«ååšããããã«ããå¿
èŠããããŸãã"
#~ msgid "For general information on running the integration tests see the :ref:`Integration Tests page of the Module Development Guide <testing_integration>`, especially the section on configuration for cloud tests."
#~ msgstr "çµ±åãã¹ãã®å®è¡ã«é¢ããäžè¬çãªæ
å ±ã¯ã:ref:`ã¢ãžã¥ãŒã«éçºã¬ã€ãã®çµ±åãã¹ãããŒãž <testing_integration>` ããŒãž (ç¹ã«ãã¯ã©ãŠããã¹ãèšå®ã®ã»ã¯ã·ã§ã³) ãåç
§ããŠãã ããã"
#~ msgid "The integration tests for your module should be added in `test/integration/targets/MODULE_NAME`."
#~ msgstr "ã¢ãžã¥ãŒã«ã®çµ±åãã¹ãã¯ã`test/integration/targets/MODULE_NAME` ã«è¿œå ããå¿
èŠããããŸãã"
#~ msgid "You must also have a aliases file in `test/integration/targets/MODULE_NAME/aliases`. This file serves two purposes. First indicates it's in an AWS test causing the test framework to make AWS credentials available during the test run. Second putting the test in a test group causing it to be run in the continuous integration build."
#~ msgstr "ãŸãã`test/integration/targets/MODULE_NAME/aliases` ã«ã¯ãšã€ãªã¢ã¹ãã¡ã€ã«ãå¿
èŠã§ãããã®ãã¡ã€ã«ã«ã¯ 2 ã€ã®ç®çããããŸããæåã«ãããã AWS ãã¹ãã«ããããã¹ããã¬ãŒã ã¯ãŒã¯ããã¹ãå®è¡äžã« AWS èªèšŒæ
å ±ãå©çšã§ããããã«ããŠããããšã瀺ããŸãã次ã«ããã¹ãããã¹ãã°ã«ãŒãã«å
¥ããŠãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãã«ãã§å®è¡ããŸãã"
#~ msgid "Tests for new modules should be added to the same group as existing AWS tests. In general just copy an existing aliases file such as the `aws_s3 tests aliases file <https://github.com/ansible-collections/amazon.aws/blob/master/tests/integration/targets/aws_s3/aliases>`_."
#~ msgstr "æ°èŠã¢ãžã¥ãŒã«ã®ãã¹ãã¯ãæ¢åã® AWS ãã¹ããšåãã°ã«ãŒãã«è¿œå ããå¿
èŠããããŸããäžè¬ã«ã`aws_s3 ãã¹ããšã€ãªã¢ã¹ãã¡ã€ã« <https://github.com/ansible-collections/amazon.aws/blob/master/tests/integration/targets/aws_s3/aliases>`_ ã®ãããªæ¢åã®ãšã€ãªã¢ã¹ãã¡ã€ã«ãã³ããŒããã ãã§ãã"
#~ msgid "AWS Credentials for Integration Tests"
#~ msgstr "çµ±åãã¹ãã® AWS èªèšŒæ
å ±"
#~ msgid "The testing framework handles running the test with appropriate AWS credentials, these are made available to your test in the following variables:"
#~ msgstr "ãã¹ããã¬ãŒã ã¯ãŒã¯ã¯ãé©å㪠AWS èªèšŒæ
å ±ã䜿çšãããã¹ãã®å®è¡ãåŠçããŸãããã®èªèšŒæ
å ±ã¯ã次ã®å€æ°ã§ããã¹ãã«å©çšã§ããŸãã"
#~ msgid "`aws_region`"
#~ msgstr "`aws_region`"
#~ msgid "`aws_access_key`"
#~ msgstr "`aws_access_key`"
#~ msgid "`aws_secret_key`"
#~ msgstr "`aws_secret_key`"
#~ msgid "`security_token`"
#~ msgstr "`security_token`"
#~ msgid "So all invocations of AWS modules in the test should set these parameters. To avoid duplicating these for every call, it's preferable to use :ref:`module_defaults <module_defaults>`. For example:"
#~ msgstr "ãããã£ãŠããã¹ã㧠AWS ã¢ãžã¥ãŒã«ãåŒã³åºãå Žåã¯ãã¹ãŠããããã®ãã©ã¡ãŒã¿ãŒãèšå®ããå¿
èŠããããŸããåŒã³åºãããšã«ããããéè€ããªãããã«ããã«ã¯ã:ref:`module_defaults <module_defaults>` ã䜿çšããããšãæšå¥šãããŸãã以äžã«äŸã瀺ããŸãã"
#~ msgid "AWS Permissions for Integration Tests"
#~ msgstr "çµ±åãã¹ãçšã® AWS ããŒããã·ã§ã³"
#~ msgid "As explained in the :ref:`Integration Test guide <testing_integration>` there are defined IAM policies in `mattclay/aws-terminator <https://github.com/mattclay/aws-terminator>`_ that contain the necessary permissions to run the AWS integration test."
#~ msgstr ":ref:`Integration Test guide <testing_integration>` ã§èª¬æãããŠããããã«ãAWS çµ±åãã¹ããå®è¡ããããã«å¿
èŠãªæš©éãå«ãŸãã `mattclay/aws-terminator <https://github.com/mattclay/aws-terminator>`_ ã§å®çŸ©ããã IAM ããªã·ãŒããããŸãã"
#~ msgid "If your module interacts with a new service or otherwise requires new permissions, tests will fail when you submit a pull request and the `Ansibullbot <https://github.com/ansible/ansibullbot/blob/master/ISSUE_HELP.md>`_ will tag your PR as needing revision. We do not automatically grant additional permissions to the roles used by the continuous integration builds. You will need to raise a Pull Request against `mattclay/aws-terminator <https://github.com/mattclay/aws-terminator>`_ to add them."
#~ msgstr "ã¢ãžã¥ãŒã«ãæ°ãããµãŒãã¹ãšããåãããå ŽåããŸãã¯å¥ã®æ¹æ³ã§æ°ããããŒããã·ã§ã³ãå¿
èŠãªå Žåã¯ããã«èŠæ±ãéä¿¡ãããšããã¹ãã¯å€±æããŸãã`Ansibullbot <https://github.com/ansible/ansibullbot/blob/master/ISSUE_HELP.md>`_ ã¯ãPR ã«ä¿®æ£ãå¿
èŠãªã¿ã°ãä»ããŸããç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãã«ãã§äœ¿çšãããããŒã«ã«è¿œå ã®ããŒããã·ã§ã³ãèªåçã«ä»äžããããšã¯ãããŸããããããè¿œå ããã«ã¯ã`mattclay/aws-terminator <https://github.com/mattclay/aws-terminator>`_ ã«å¯ŸããŠãã«èŠæ±ãçºè¡ããå¿
èŠããããŸããããããè¿œå ããŸãã"
#~ msgid "If your PR has test failures, check carefully to be certain the failure is only due to the missing permissions. If you've ruled out other sources of failure, add a comment with the `ready_for_review` tag and explain that it's due to missing permissions."
#~ msgstr "PR ã«ãã¹ãã®å€±æãããå Žåã¯ã倱æã®åå ãããŒããã·ã§ã³ã®æ¬ èœã®ã¿ã§ããããšããã£ãããšç¢ºèªããŠãã ãããä»ã®å€±æã®åå ãé€å€ããå Žåã¯ã`ready_for_review` ã¿ã°ã䜿çšããŠã³ã¡ã³ããè¿œå ããŠãæš©éããªãããšãåå ã§ããããšã説æããŸãã"
#~ msgid "Your pull request cannot be merged until the tests are passing. If your pull request is failing due to missing permissions, you must collect the minimum IAM permissions required to run the tests."
#~ msgstr "ãã¹ãã«åæ ŒãããŸã§ãã«èŠæ±ãããŒãžã§ããŸãããããŒããã·ã§ã³ããªãããã«ãã«èŠæ±ã倱æãããšããã¹ãã®å®è¡ã«å¿
èŠãªæäœéã® IAM ããŒããã·ã§ã³ãåéããå¿
èŠããããŸãã"
#~ msgid "There are two ways to figure out which IAM permissions you need for your PR to pass:"
#~ msgstr "PR ã«åæ Œããããã«å¿
èŠãª IAM ããŒããã·ã§ã³ã確èªããå Žåã¯ã以äžã® 2 ã€ã®æ¹æ³ããããŸãã"
#~ msgid "Start with the most permissive IAM policy, run the tests to collect information about which resources your tests actually use, then construct a policy based on that output. This approach only works on modules that use `AnsibleAWSModule`."
#~ msgstr "æã蚱容床ã®é«ã IAM ããªã·ãŒããå§ããŠããã¹ããå®è¡ãããã¹ããå®éã«äœ¿çšãããªãœãŒã¹ã«é¢ããæ
å ±ãåéãããã®åºåã«åºã¥ããŠããªã·ãŒãæ§ç¯ããŸãããã®ã¢ãããŒãã¯ã`AnsibleAWSModule` ã䜿çšããã¢ãžã¥ãŒã«ã§ã®ã¿æ©èœããŸãã"
#~ msgid "Start with the least permissive IAM policy, run the tests to discover a failure, add permissions for the resource that addresses that failure, then repeat. If your module uses `AnsibleModule` instead of `AnsibleAWSModule`, you must use this approach."
#~ msgstr "æã蚱容床ã®äœã IAM ããªã·ãŒããéå§ãããã¹ããå®è¡ããŠé害ãæ€åºãããã®é害ã«å¯ŸåŠãããªãœãŒã¹ã®ããŒããã·ã§ã³ãè¿œå ããŠãããç¹°ãè¿ããŸããã¢ãžã¥ãŒã«ã䜿çšããå Žåã¯ã`AnsibleAWSModule` ã®ä»£ããã« `AnsibleModule` ã䜿çšããå Žåã¯ããã®ã¢ãããŒãã䜿çšããå¿
èŠããããŸãã"
#~ msgid "To start with the most permissive IAM policy:"
#~ msgstr "æã蚱容床ã®é«ã IAM ããªã·ãŒã䜿çšããã«ã¯ã以äžãå®è¡ããŸãã"
#~ msgid "`Create an IAM policy <https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start>`_ that allows all actions (set ``Action`` and ``Resource`` to ``*```)."
#~ msgstr "ãã¹ãŠã®ã¢ã¯ã·ã§ã³ãèš±å¯ãã `IAM ããªã·ãŒãäœæ <https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start>`_ ããŸã (``Action`` ããã³ ``Resource`` ã ``*``' ã«èšå®)ã"
#~ msgid "Run your tests locally with this policy. On AnsibleAWSModule-based modules, the ``debug_botocore_endpoint_logs`` option is automatically set to ``yes``, so you should see a list of AWS ACTIONS after the PLAY RECAP showing all the permissions used. If your tests use a boto/AnsibleModule module, you must start with the least permissive policy (see below)."
#~ msgstr "ãã®ããªã·ãŒã䜿çšããŠãããŒã«ã«ã§ãã¹ããå®è¡ããŸããAnsibleAWSModule ããŒã¹ã®ã¢ãžã¥ãŒã«ã§ã¯ã``debug_botocore_endpoint_logs`` ãªãã·ã§ã³ãèªåçã« ``yes`` ã«èšå®ãããŸãããããã£ãŠãPLAY RECAP ã®åŸã«ã䜿çšãããŠãããã¹ãŠã®ããŒããã·ã§ã³ã瀺ã AWSACTIONS ã®ãªã¹ãã衚瀺ãããŸãããã¹ã㧠boto/AnsibleModule ã¢ãžã¥ãŒã«ã䜿çšããå Žåã¯ãæã蚱容床ã®äœãããªã·ãŒããéå§ããå¿
èŠããããŸã (以äžãåç
§)ã"
#~ msgid "Modify your policy to allow only the actions your tests use. Restrict account, region, and prefix where possible. Wait a few minutes for your policy to update."
#~ msgstr "ãã¹ãã§äœ¿çšããã¢ã¯ã·ã§ã³ã®ã¿ãèš±å¯ããããã«ããªã·ãŒãå€æŽããŸããå¯èœãªå Žåã¯ãã¢ã«ãŠã³ããå°åããã¬ãã£ãã¯ã¹ãå¶éããŠãã ãããããªã·ãŒãæŽæ°ããããŸã§æ°ååŸ
ã¡ãŸãã"
#~ msgid "Run the tests again with a user or role that allows only the new policy."
#~ msgstr "æ°èŠããªã·ãŒã®ã¿ãèš±å¯ãããŠãŒã¶ãŒãŸãã¯ããŒã«ã§ãã¹ããåå®è¡ããŸãã"
#~ msgid "If the tests fail, troubleshoot (see tips below), modify the policy, run the tests again, and repeat the process until the tests pass with a restrictive policy."
#~ msgstr "ãã¹ãã«å€±æãããã©ãã«ã·ã¥ãŒãã£ã³ã° (以äžã®ãã³ããåç
§) ãè¡ããããªã·ãŒãå€æŽãããã¹ããåå®è¡ããå¶éçãªããªã·ãŒã§ãã¹ãã«åæ ŒãããŸã§ããã»ã¹ãç¹°ãè¿ããŸãã"
#~ msgid "Open a pull request proposing the minimum required policy to the `CI policies <https://github.com/mattclay/aws-terminator/tree/master/aws/policy>`_."
#~ msgstr "`CI policies <https://github.com/mattclay/aws-terminator/tree/master/aws/policy>`_ ã«å¯ŸããŠæäœéå¿
èŠãªããªã·ãŒãææ¡ãããã«èŠæ±ãéããŸãã"
#~ msgid "To start from the least permissive IAM policy:"
#~ msgstr "æã蚱容床ã®äœã IAM ããªã·ãŒããéå§ããã«ã¯ã以äžãå®è¡ããŸãã"
#~ msgid "Run the integration tests locally with no IAM permissions."
#~ msgstr "IAM ããŒããã·ã§ã³ãæããªãããŒã«ã«ã®çµ±åãã¹ããå®è¡ããŸãã"
#~ msgid "Examine the error when the tests reach a failure."
#~ msgstr "ãã¹ãã倱æããå Žåã¯ãšã©ãŒã確èªããŸãã"
#~ msgid "If the error message indicates the action used in the request, add the action to your policy."
#~ msgstr "ãšã©ãŒã¡ãã»ãŒãžããªã¯ãšã¹ãã§äœ¿çšãããã¢ã¯ã·ã§ã³ã瀺ãå Žåã¯ãã¢ã¯ã·ã§ã³ãããªã·ãŒã«è¿œå ããŸãã"
#~ msgid "If the error message does not indicate the action used in the request:"
#~ msgstr "ãšã©ãŒã¡ãã»ãŒãžããªã¯ãšã¹ãã§äœ¿çšãããã¢ã¯ã·ã§ã³ã瀺ããŠããªãå Žåã¯ã以äžãè¡ããŸãã"
#~ msgid "Usually the action is a CamelCase version of the method name - for example, for an ec2 client the method `describe_security_groups` correlates to the action `ec2:DescribeSecurityGroups`."
#~ msgstr "éåžžãã¢ã¯ã·ã§ã³ã¯ã¡ãœããåã® CamelCase ããŒãžã§ã³ã§ããããšãã°ãec2 ã¯ã©ã€ã¢ã³ãã®å Žåã`describe_security_groups` ã¡ãœããã¯ã¢ã¯ã·ã§ã³ `ec2:DescribeSecurityGroups` ã«çžé¢ããŸãã"
#~ msgid "Refer to the documentation to identify the action."
#~ msgstr "ã¢ã¯ã·ã§ã³ãç¹å®ããã«ã¯ãããã¥ã¡ã³ããåç
§ããŠãã ããã"
#~ msgid "If the error message indicates the resource ARN used in the request, limit the action to that resource."
#~ msgstr "ãšã©ãŒã¡ãã»ãŒãžãèŠæ±ã§äœ¿çšããããªãœãŒã¹ ARN ã瀺ãå Žåã¯ãã¢ã¯ã·ã§ã³ããã®ãªãœãŒã¹ã«å¶éããŸãã"
#~ msgid "If the error message does not indicate the resource ARN used:"
#~ msgstr "ãšã©ãŒã¡ãã»ãŒãžã«ã䜿çšããããªãœãŒã¹ ARN ã瀺ãããªãå Žåã¯ã以äžãè¡ããŸãã"
#~ msgid "Determine if the action can be restricted to a resource by examining the documentation."
#~ msgstr "ããã¥ã¡ã³ããåç
§ããŠãã¢ã¯ã·ã§ã³ããªãœãŒã¹ã«å¶éã§ãããã©ãããå€æããŸãã"
#~ msgid "If the action can be restricted, use the documentation to construct the ARN and add it to the policy."
#~ msgstr "ã¢ã¯ã·ã§ã³ãå¶éãããŠããå Žåã¯ãããã¥ã¡ã³ãã䜿çšã㊠ARN ãæ§ç¯ããããªã·ãŒã«è¿œå ããŸãã"
#~ msgid "Add the action or resource that caused the failure to `an IAM policy <https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start>`_. Wait a few minutes for your policy to update."
#~ msgstr "`IAM ããªã·ãŒ <https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start>`_ ã®å€±æã®åå ãšãªã£ãã¢ã¯ã·ã§ã³ãŸãã¯ãªãœãŒã¹ãè¿œå ããŸããããªã·ãŒãæŽæ°ãŸã§æ°ååŸ
ã¡ãŸãã"
#~ msgid "Run the tests again with this policy attached to your user or role."
#~ msgstr "ãŠãŒã¶ãŒãŸãã¯ããŒã«ã«ãã®ããªã·ãŒãå²ãåœãŠãã¹ããåå®è¡ããŸãã"
#~ msgid "If the tests still fail at the same place with the same error you will need to troubleshoot (see tips below). If the first test passes, repeat steps 2 and 3 for the next error. Repeat the process until the tests pass with a restrictive policy."
#~ msgstr "ããã§ãåãå Žæã§åããšã©ãŒã§ãã¹ãã倱æããå Žåã¯ã¯ããã©ãã«ã·ã¥ãŒãã£ã³ã°ãè¡ãå¿
èŠããããŸã (以äžã®ãã³ããåç
§)ãæåã®ãã¹ãã«åæ Œããå Žåã¯ã次ã®ãšã©ãŒã«å¯ŸããŠæé 2 ãš 3 ãç¹°ãè¿ããŸããå¶éä»ãããªã·ãŒã§ãã¹ãã«åæ ŒãããŸã§ããã®ããã»ã¹ãç¹°ãè¿ããŸãã"
#~ msgid "Troubleshooting IAM policies"
#~ msgstr "IAM ããªã·ãŒã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°"
#~ msgid "When you make changes to a policy, wait a few minutes for the policy to update before re-running the tests."
#~ msgstr "ããªã·ãŒã«å€æŽãå ããããããªã·ãŒãæŽæ°ããããŸã§æ°ååŸ
ã£ãŠãããã¹ããåå®è¡ããŸãã"
#~ msgid "Use the `policy simulator <https://policysim.aws.amazon.com/>`_ to verify that each action (limited by resource when applicable) in your policy is allowed."
#~ msgstr "`ããªã·ãŒã·ãã¥ã¬ãŒã¿ãŒ <https://policysim.aws.amazon.com/>`_ ã䜿çšããŠãããªã·ãŒå
ã® (該åœããå Žåã¯ãªãœãŒã¹ã«ãã£ãŠå¶éãããŠãã) ãèš±å¯ãããŠããããšã確èªããŸãã"
#~ msgid "If you're restricting actions to certain resources, replace resources temporarily with `*`. If the tests pass with wildcard resources, there is a problem with the resource definition in your policy."
#~ msgstr "ç¹å®ã®ãªãœãŒã¹ã«ã¢ã¯ã·ã§ã³ãå¶éããå Žåã¯ããªãœãŒã¹ãäžæçã« `*` ã«çœ®ãæããŸããã¯ã€ã«ãã«ãŒããªãœãŒã¹ã§ãã¹ãã«åæ Œããå Žåã¯ãããªã·ãŒã®ãªãœãŒã¹å®çŸ©ã«åé¡ããããŸãã"
#~ msgid "If the initial troubleshooting above doesn't provide any more insight, AWS may be using additional undisclosed resources and actions."
#~ msgstr "äžèšã®æåã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ã§ããå€ãã®æŽå¯ãåŸãããªãå ŽåãAWS ã¯è¿œå ã®æªå
¬éã®ãªãœãŒã¹ããã³ã¢ã¯ã·ã§ã³ã䜿çšããŠããå¯èœæ§ããããŸãã"
#~ msgid "Examine the AWS FullAccess policy for the service for clues."
#~ msgstr "æãããã«ã€ããŠã¯ããµãŒãã¹ã® AWS FullAccess ããªã·ãŒã調ã¹ãŸãã"
#~ msgid "Re-read the AWS documentation, especially the list of `Actions, Resources and Condition Keys <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_actions-resources-contextkeys.html>`_ for the various AWS services."
#~ msgstr "å皮㮠AWS ãµãŒãã¹ã® `Actions, Resources and Condition Keys <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_actions-resources-contextkeys.html>`_ ã®äžèŠ§ãªã©ãAWS ããã¥ã¡ã³ããå床èªã¿ãŸãã"
#~ msgid "Look at the `cloudonaut <https://iam.cloudonaut.io>`_ documentation as a troubleshooting cross-reference."
#~ msgstr "ãã©ãã«ã·ã¥ãŒãã£ã³ã°ã®çžäºåç
§ãšã㊠`cloudonaut <https://iam.cloudonaut.io>`_ ããã¥ã¡ã³ããã芧ãã ããã"
#~ msgid "Use a search engine."
#~ msgstr "æ€çŽ¢ãšã³ãžã³ã䜿çšããŸãã"
#~ msgid "Ask in the Ansible IRC channel #ansible-aws (on freenode IRC)."
#~ msgstr "Freenode IRC ã® Ansible IRC ãã£ã³ãã« #ansible-aws ã«åãåãããŸãã"
#~ msgid "Unsupported Integration tests"
#~ msgstr "ãµããŒããããªãã€ã³ãã°ã¬ãŒã·ã§ã³ã®ãã¹ã"
#~ msgid "There are a limited number of reasons why it may not be practical to run integration tests for a module within CI. Where these apply you should add the keyword `unsupported` to the aliases file in `test/integration/targets/MODULE_NAME/aliases`."
#~ msgstr "CI å
ã®ã¢ãžã¥ãŒã«ã®çµ±åãã¹ããå®è¡ããå Žåã«ã¯ãããã€ãã®çç±ãéå®ãããŠããçç±ããããŸãããããã®çç±ã«ã€ããŠã¯ãããŒã¯ãŒã `unsupported` ã `test/integration/targets/MODULE_NAME/aliases` ã®ãšã€ãªã¢ã¹ãã¡ã€ã«ã«è¿œå ããå¿
èŠããããŸãã"
#~ msgid "Some cases where tests should be marked as unsupported: 1) The tests take longer than 10 or 15 minutes to complete 2) The tests create expensive resources 3) The tests create inline policies 4) The tests require the existence of external resources 5) The tests manage Account level security policies such as the password policy or AWS Organizations."
#~ msgstr "ãã¹ãããµããŒã察象å€ãšããŠããŒã¯ãããå¿
èŠãããå ŽåããããŸãã1) ãã¹ããå®äºãããŸã§ 10 åãŸã㯠15 å以äžããããŸãã2) ãã¹ãã«ãããé«äŸ¡ãªãªãœãŒã¹ãäœæãããŸãã3) ãã¹ãã«ãããã€ã³ã©ã€ã³ããªã·ãŒãäœæãããŸãã4) ãã¹ãã«å€éšãªãœãŒã¹ã®ååšãå¿
èŠã«ãªããŸãã5) ãã¹ãã¯ããã¹ã¯ãŒãããªã·ãŒã AWS çµç¹ãªã©ã®ã¢ã«ãŠã³ãã¬ãã«ã®ã»ãã¥ãªãã£ããªã·ãŒã管çããŸãã"
#~ msgid "Where one of these reasons apply you should open a pull request proposing the minimum required policy to the `unsupported test policies <https://github.com/mattclay/aws-terminator/tree/master/hacking/aws_config/test_policies>`_."
#~ msgstr "äžèšã®çç±ã® 1 ã€ã¯ã`ãµããŒããããªããã¹ãããªã·ãŒ <https://github.com/mattclay/aws-terminator/tree/master/hacking/aws_config/test_policies>`_ ã«å¯ŸããŠæäœéå¿
èŠãªããªã·ãŒãææ¡ãããã«èŠæ±ãéããŸãã"
#~ msgid "Unsupported integration tests will not be automatically run by CI. However, the necessary policies should be available so that the tests can be manually run by someone performing a PR review or writing a patch."
#~ msgstr "ãµããŒã察象å€ã®çµ±åãã¹ã㯠CI ã«ãã£ãŠèªåçã«å®è¡ãããŸããããå¿
èŠãªããªã·ãŒãå©çšãããšãPR ã¬ãã¥ãŒãŸãã¯ãããã®äœæãå®è¡ããŠãã¹ããæåã§å®è¡ã§ããããã«ããå¿
èŠããããŸãã"
#~ msgid "The set of modules for interacting with oVirt/RHV are currently part of the community.general collection (on `Galaxy <https://galaxy.ansible.com/community/general>`_, source code `repository <https://github.com/ansible-collections/community.general/tree/main/plugins/modules/cloud/ovirt>`_). This document serves as developer coding guidelines for creating oVirt/RHV modules."
#~ msgstr "oVirt/RHV ãšã®å¯Ÿè©±ã«äœ¿çšããã¢ãžã¥ãŒã«ã»ããã¯ãçŸåš community.general ã³ã¬ã¯ã·ã§ã³ (`Galaxy <https://galaxy.ansible.com/community/general>`_ ã§ã¯ãœãŒã¹ã³ãŒã `repository <https://github.com/ansible-collections/community.general/tree/main/plugins/modules/cloud/ovirt>`_) ã«å«ãŸããŸãããã®ããã¥ã¡ã³ãã¯ãoVirt/RHV ã¢ãžã¥ãŒã«ãäœæããããã®éçºè
ã³ãŒãã£ã³ã°ã®ã¬ã€ãã©ã€ã³ãšããŠæ©èœããŸãã"
#~ msgid "All modules should start with an ``ovirt_`` prefix."
#~ msgstr "ãã¹ãŠã®ã¢ãžã¥ãŒã«ã¯ã``ovirt_`` æ¥é èŸã§éå§ããå¿
èŠããããŸãã"
#~ msgid "All modules should be named after the resource it manages in singular form."
#~ msgstr "ãã¹ãŠã®ã¢ãžã¥ãŒã«ã¯ã管çãããªãœãŒã¹ã«ã¡ãªãã§åæ°åœ¢ã§ååãä»ããå¿
èŠããããŸãã"
#~ msgid "All modules that gather information should have a ``_info`` suffix."
#~ msgstr "æ
å ±ãåéãããã¹ãŠã®ã¢ãžã¥ãŒã«ã«ã¯ã``_info`` æ§æããããŸãã"
#~ msgid "Interface"
#~ msgstr "ã€ã³ã¿ãŒãã§ãŒã¹"
#~ msgid "Every module should return the ID of the resource it manages."
#~ msgstr "ãã¹ãŠã®ã¢ãžã¥ãŒã«ã¯ã管çãããªãœãŒã¹ã® ID ãè¿ãå¿
èŠããããŸãã"
#~ msgid "Every module should return the dictionary of the resource it manages."
#~ msgstr "ãã¹ãŠã®ã¢ãžã¥ãŒã«ã¯ã管çãããªãœãŒã¹ã®ãã£ã¬ã¯ããªãŒãè¿ãå¿
èŠããããŸãã"
#~ msgid "Never change the name of the parameter, as we guarantee backward compatibility. Use aliases instead."
#~ msgstr "åŸæ¹äºææ§ãä¿èšŒããããããã©ã¡ãŒã¿ãŒã®ååã¯å€æŽããªãã§ãã ããã代ããã«ãšã€ãªã¢ã¹ã䜿çšããŠãã ããã"
#~ msgid "If a parameter can't achieve idempotency for any reason, please document it."
#~ msgstr "ãã©ã¡ãŒã¿ãŒãäœããã®çç±ã§åªçæ§ãå®çŸã§ããªãå Žåã¯ããããææžåããŠãã ããã"
#~ msgid "Interoperability"
#~ msgstr "çžäºéçšæ§"
#~ msgid "All modules should work against all minor versions of version 4 of the API. Version 3 of the API is not supported."
#~ msgstr "ãã¹ãŠã®ã¢ãžã¥ãŒã«ã¯ API ã®ããŒãžã§ã³ 4 ã®ãã¹ãŠã®ãã€ããŒããŒãžã§ã³ã«å¯ŸããŠåäœããŸããAPI ã®ããŒãžã§ã³ 3 ã¯ãµããŒã察象å€ã§ãã"
#~ msgid "Libraries"
#~ msgstr "ã©ã€ãã©ãªãŒ"
#~ msgid "All modules should use ``ovirt_full_argument_spec`` or ``ovirt_info_full_argument_spec`` to pick up the standard input (such as auth and ``fetch_nested``)."
#~ msgstr "ãã¹ãŠã®ã¢ãžã¥ãŒã«ã¯ ``ovirt_full_argument_spec`` ãŸã㯠``ovirt_info_full_argument_spec`` ã䜿çšããŠãæšæºå
¥å (èªèšŒã``fetch_nested`` ãªã©) ã«ããå¿
èŠããããŸãã"
#~ msgid "All modules should use ``extends_documentation_fragment``: ovirt to go along with ``ovirt_full_argument_spec``."
#~ msgstr "ãã¹ãŠã®ã¢ãžã¥ãŒã«ã¯ã``ovirt_full_argument_spec`` ã«åŸãããã« ``extends_documentation_fragment``: ovirt ã䜿çšããå¿
èŠããããŸãã"
#~ msgid "All info modules should use ``extends_documentation_fragment``: ``ovirt_info`` to go along with ``ovirt_info_full_argument_spec``."
#~ msgstr "ãã¹ãŠã® info ã¢ãžã¥ãŒã«ã¯ã``ovirt_info_full_argument_spec`` ã«åŸãããã« ``extends_documentation_fragment``: ``ovirt_info`` ã䜿çšããå¿
èŠããããŸãã"
#~ msgid "Functions that are common to all modules should be implemented in the ``module_utils/ovirt.py`` file, so they can be reused."
#~ msgstr "ãã¹ãŠã®ã¢ãžã¥ãŒã«ã«å
±éããé¢æ°ã¯ã``module_utils/ovirt.py`` ãã¡ã€ã«ã«å®è£
ãããŠãããããåå©çšã§ããŸãã"
#~ msgid "Python SDK version 4 must be used."
#~ msgstr "Python SDK ããŒãžã§ã³ 4 ã䜿çšããå¿
èŠããããŸãã"
#~ msgid "New module development"
#~ msgstr "æ°ããã¢ãžã¥ãŒã«éçº"
#~ msgid "Please read :ref:`developing_modules`, first to know what common properties, functions and features every module must have."
#~ msgstr "ã:ref:`developing_modules`ãããèªã¿ãã ãããæåã«ããã¹ãŠã®ã¢ãžã¥ãŒã«ã«å¿
èŠãªå
±éã®ããããã£ãŒãé¢æ°ãããã³æ©èœã確èªããŸãã"
#~ msgid "In order to achieve idempotency of oVirt entity attributes, a helper class was created. The first thing you need to do is to extend this class and override a few methods:"
#~ msgstr "oVirt ãšã³ãã£ãã£ãŒå±æ§ã®ã¹ãçæ§ãå®çŸããã«ã¯ããã«ããŒã¯ã©ã¹ãäœæãããŸããããŸãããã®ã¯ã©ã¹ãæ¡åŒµããããã€ãã®ã¡ãœãããäžæžãããå¿
èŠããããŸãã"
#~ msgid "The code above handle the check if the entity should be updated, so we don't update the entity if not needed and also it construct the needed entity of the SDK."
#~ msgstr "äžèšã®ã³ãŒãã¯ããšã³ãã£ãã£ãŒãæŽæ°ãã¹ããã©ããã®ãã§ãã¯ãåŠçãããããå¿
èŠã§ãªãå Žåã¯ãšã³ãã£ãã£ãŒãæŽæ°ãããSDK ã«å¿
èŠãªãšã³ãã£ãã£ãŒãæ§ç¯ããŸãã"
#~ msgid "If your module must support action handling (for example, virtual machine start) you must ensure that you handle the states of the virtual machine correctly, and document the behavior of the module:"
#~ msgstr "ã¢ãžã¥ãŒã«ãã¢ã¯ã·ã§ã³åŠç (äŸ: ä»®æ³ãã·ã³ã®éå§) ããµããŒãããå¿
èŠãããå Žåã¯ãä»®æ³ãã·ã³ã®ç¶æ
ãæ£ããåŠçããã¢ãžã¥ãŒã«ã®åäœãææžåããå¿
èŠããããŸãã"
#~ msgid "As you can see from the preceding example, the ``action`` method accepts the ``action_condition`` and ``wait_condition``, which are methods which accept the virtual machine object as a parameter, so you can check whether the virtual machine is in a proper state before the action. The rest of the parameters are for the ``start`` action. You may also handle pre- or post- action tasks by defining ``pre_action`` and ``post_action`` parameters."
#~ msgstr "åè¿°ã®äŸã§åããããã«ã``action`` ã¡ãœãã㯠``action_condition`` ããã³ ``wait_condition`` (ä»®æ³ãã·ã³ãªããžã§ã¯ãããã©ã¡ãŒã¿ãŒãšããŠèš±å¯ããã¡ãœãã) ãåãå
¥ããŸãããã®ãããä»®æ³ãã·ã³ãã¢ã¯ã·ã§ã³ã®åã«é©åãªç¶æ
ã«ãããã©ããã確èªã§ããŸããæ®ãã®ãã©ã¡ãŒã¿ãŒã¯ ``start`` ã¢ã¯ã·ã§ã³çšã§ãã``pre_action`` ãã©ã¡ãŒã¿ãŒããã³ ``post_action`` ãã©ã¡ãŒã¿ãŒãå®çŸ©ããŠãäºåãŸãã¯åŸç¶ã®ã¢ã¯ã·ã§ã³ã®ã¿ã¹ã¯ãåŠçããããšãã§ããŸãã"
#~ msgid "Testing"
#~ msgstr "ãã¹ã"
#~ msgid "Integration testing is currently done in oVirt's CI system `on Jenkins <https://jenkins.ovirt.org/view/All/job/ovirt-system-tests_ansible-suite-master/>`__ and `on GitHub <https://github.com/oVirt/ovirt-system-tests/tree/master/ansible-suite-master/>`__."
#~ msgstr "çµ±åãã¹ãã¯ãçŸåšã__ ãš `GitHub <https://github.com/oVirt/ovirt-system-tests/tree/master/ansible-suite-master/>`__ ã® oVirt's CI ã·ã¹ãã ã§è¡ãããŠããŸãã"
#~ msgid "Please consider using these integration tests if you create a new module or add a new feature to an existing module."
#~ msgstr "æ°ããã¢ãžã¥ãŒã«ãäœæããå ŽåããŸãã¯æ¢åã®ã¢ãžã¥ãŒã«ã«æ°ããæ©èœãè¿œå ããå Žåã¯ããããã®çµ±åãã¹ãã®äœ¿çšãæ€èšããŠãã ããã"
#~ msgid "The Ansible VMware collection (on `Galaxy <https://galaxy.ansible.com/community/vmware>`_, source code `repository <https://github.com/ansible-collections/community.vmware>`_) is maintained by the VMware Working Group. For more information see the `team community page <https://github.com/ansible/community/wiki/VMware>`_."
#~ msgstr "詳现ã¯ãAnsible VMware ã³ã¬ã¯ã·ã§ã³ (`Galaxy <https://galaxy.ansible.com/community/vmware>`_ ã§ããœãŒã¹ã³ãŒã `repository <https://github.com/ansible-collections/community.vmware>`_) 㯠VMware ã¯ãŒãã³ã°ã°ã«ãŒãã«ããç¶æãããŸãã詳现㯠`team community page <https://github.com/ansible/community/wiki/VMware>`_ ãåç
§ããŠãã ããã"
#~ msgid "Testing with govcsim"
#~ msgstr "govcsim ã䜿çšãããã¹ã"
#~ msgid "Most of the existing modules are covered by functional tests. The tests are located `here <https://github.com/ansible-collections/community.vmware/tree/main/tests/integration/targets>`_."
#~ msgstr "æ¢åã®ã¢ãžã¥ãŒã«ã®ã»ãšãã©ã¯ãæ©èœãã¹ãã§å¯Ÿå¿ããŠããŸãããã¹ãã¯ã`ãã <https://github.com/ansible-collections/community.vmware/tree/main/tests/integration/targets>`_ ã«çœ®ãããŸãã"
#~ msgid "By default, the tests run against a vCenter API simulator called `govcsim <https://github.com/vmware/govmomi/tree/master/vcsim>`_. ``ansible-test`` will automatically pull a `govcsim container <https://quay.io/repository/ansible/vcenter-test-container>`_ and use it to set-up the test environment."
#~ msgstr "ããã©ã«ãã§ã¯ããã¹ãã¯ã`govcsim <https://github.com/vmware/govmomi/tree/master/vcsim>`_ ãšããååã® vCenter API ã·ãã¥ã¬ãŒã¿ãŒã«å¯ŸããŠå®è¡ãããŸãã``ansible-test`` ã¯ã`govcsim ã³ã³ãã㌠<https://quay.io/repository/ansible/vcenter-test-container>`_ ãèªåçã«ãã«ããããã䜿çšããŠãã¹ãç°å¢ãèšå®ããŸãã"
#~ msgid "You can trigger the test of a module manually with the ``ansible-test`` command. For example, to trigger ``vcenter_folder`` tests:"
#~ msgstr "``ansible-test`` ã³ãã³ãã䜿çšããŠãã¢ãžã¥ãŒã«ã®ãã¹ããæåã§ããªã¬ãŒã§ããŸããããšãã°ã``vcenter_folder`` ãã¹ããéå§ããã«ã¯ã以äžãè¡ããŸãã"
#~ msgid "``govcsim`` is handy because it is much faster than a regular test environment. However, ``govcsim`` does not support all the ESXi or vCenter features."
#~ msgstr "``govcsim`` ã¯ãéåžžã®ãã¹ãç°å¢ãããã¯ããã«é«éã§ããã``govcsim`` 㯠ESXi æ©èœãŸã㯠vCenter æ©èœããã¹ãŠãµããŒãããŸããã"
#~ msgid "Do not confuse ``govcsim`` with ``vcsim``. ``vcsim`` is an older and outdated version of vCenter simulator, whereas ``govcsim`` is new and written in Go language."
#~ msgstr "``govcsim`` ãš ``vcsim`` ãæ··åããªãã§ãã ããã``vcsim`` ã¯ãå€ãããŒãžã§ã³ã® vCenterã·ãã¥ã¬ãŒã¿ãŒã§ããã``govcsim`` ã¯æ°ãããGo èšèªã§æžãããŠããŸã"
#~ msgid "Testing with your own infrastructure"
#~ msgstr "ç¬èªã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãŒã§ã®ãã¹ã"
#~ msgid "You can also target a regular VMware environment. This paragraph explains step by step how you can run the test-suite yourself."
#~ msgstr "éåžžã® VMware ç°å¢ã察象ãšããããšãã§ããŸãããã®æ®µèœã§ã¯ããã¹ãã¹ã€ãŒããèªåã§å®è¡ããæ¹æ³ã«ã€ããŠé ãè¿œã£ãŠèª¬æããŸãã"
#~ msgid "2 ESXi hosts (6.5 or 6.7)"
#~ msgstr "2 å°ã® ESXi ãã¹ã (6.5 ãŸã㯠6.7)"
#~ msgid "with 2 NIC, the second ones should be available for the test"
#~ msgstr "2 ã€ã® NIC (ãã¹ãçšã« 2 çªç®ã® NIC ãå©çšå¯èœ)"
#~ msgid "a VCSA host"
#~ msgstr "VCSA ãã¹ã"
#~ msgid "a NFS server"
#~ msgstr "NFS ãµãŒããŒ"
#~ msgid "Python dependencies:"
#~ msgstr "Python ã®äŸåé¢ä¿:"
#~ msgid "`pyvmomi <https://github.com/vmware/pyvmomi/tree/master/pyVmomi>`_"
#~ msgstr "`pyvmomi <https://github.com/vmware/pyvmomi/tree/master/pyVmomi>`_"
#~ msgid "`requests <https://2.python-requests.org/en/master/>`_"
#~ msgstr "`requests <https://2.python-requests.org/en/master/>`_"
#~ msgid "If you want to deploy your test environment in a hypervisor, both `VMware or Libvirt <https://github.com/goneri/vmware-on-libvirt>`_ works well."
#~ msgstr "ãã€ããŒãã€ã¶ãŒã«ãã¹ãç°å¢ããããã€ããå Žåã¯ã`VMware ãŸã㯠Libvirt <https://github.com/goneri/vmware-on-libvirt>` ã®äž¡æ¹ãæ£åžžã«æ©èœããŸãã"
#~ msgid "NFS server configuration"
#~ msgstr "NFS ãµãŒããŒã®èšå®"
#~ msgid "Your NFS server must expose the following directory structure:"
#~ msgstr "NFS ãµãŒããŒã§ã¯ã以äžã®ãã£ã¬ã¯ããªãŒæ§é ãå
¬éããå¿
èŠããããŸãã"
#~ msgid "On a Linux system, you can expose the directory over NFS with the following export file:"
#~ msgstr "Linux ã·ã¹ãã ã§ã¯ã次ã®ãšã¯ã¹ããŒããã¡ã€ã«ã䜿çšããŠãNFS çµç±ã§ãã£ã¬ã¯ããªãŒãå
¬éã§ããŸãã"
#~ msgid "With this configuration all the new files will be owned by the user with the UID and GID 1000/1000. Adjust the configuration to match your user's UID/GID."
#~ msgstr "ãã®èšå®ã§ã¯ãUID 1000 ããã³ GID 1000 ã®ãŠãŒã¶ãŒããæ°ãããã¡ã€ã«ããã¹ãŠææããŸãããŠãŒã¶ãŒã® UID ããã³ GID ã«åãããŠèšå®ã調æŽããŠãã ããã"
#~ msgid "The service can be enabled with:"
#~ msgstr "ãã®ãµãŒãã¹ã¯ä»¥äžã§æå¹ã«ã§ããŸãã"
#~ msgid "Configure your installation"
#~ msgstr "ã€ã³ã¹ããŒã«ã®èšå®"
#~ msgid "Prepare a configuration file that describes your set-up. The file should be called :file:`test/integration/cloud-config-vcenter.ini` and based on :file:`test/lib/ansible_test/config/cloud-config-vcenter.ini.template`. For instance, if you have deployed your lab with `vmware-on-libvirt <https://github.com/goneri/vmware-on-libvirt>`_:"
#~ msgstr "ã»ããã¢ããã説æããæ§æãã¡ã€ã«ãæºåããŸãããã®ãã¡ã€ã«ã¯ :file:`test/integration/cloud-config-vcenter.ini` ãšããååãã:file:`test/lib/ansible_test/config/cloud-config-vcenter.ini.template` ãããŒã¹ã«ããå¿
èŠããããŸããããšãã°ã`vmware-on-libvirt <https://github.com/goneri/vmware-on-libvirt>`_ ã§ã©ãããããã€ããå Žåã¯ä»¥äžã®ããã«ãªããŸãã"
#~ msgid "Using an HTTP proxy"
#~ msgstr "HTTP ãããã·ãŒã®äœ¿çš"
#~ msgid "Hosting test infrastructure behind an HTTP proxy is supported. You can specify the location of the proxy server with the two extra keys:"
#~ msgstr "HTTP ãããã·ãŒã®èåŸã«ãããã¹ãã£ã³ã°ãã¹ãã€ã³ãã©ã¹ãã©ã¯ãã£ãŒããµããŒããããŠããŸãã次㮠2 ã€ã®è¿œå ããŒã䜿çšããŠããããã·ãŒãµãŒããŒã®å Žæãæå®ã§ããŸãã"
#~ msgid "In addition, you may need to adjust the variables of the following `var files <https://github.com/ansible-collections/community.vmware/tree/main/tests/integration/targets/prepare_vmware_tests/vars>`_ to match the configuration of your lab. If you use vmware-on-libvirt to prepare your lab, you do not have anything to change."
#~ msgstr "ããã«ãã©ãã®æ§æã«äžèŽãããããã«ã次㮠`var ãã¡ã€ã« <https://github.com/ansible-collections/community.vmware/tree/main/tests/integration/targets/prepare_vmware_tests/vars>`_ ã®å€æ°ã調æŽããªããšãããªãå ŽåããããŸããvmware-on-libvirt ã䜿çšããŠã©ããæºåããå Žåã¯ãå€æŽããããšãã§ããŸããã"
#~ msgid "Run the test-suite"
#~ msgstr "ãã¹ãã¹ã€ãŒãã®å®è¡"
#~ msgid "Once your configuration is ready, you can trigger a run with the following command:"
#~ msgstr "èšå®ã®æºåãã§ãããã以äžã®ã³ãã³ãã§å®è¡ãããªã¬ãŒã§ããŸãã"
#~ msgid "``vmware_host_firewall_manager`` is the name of the module to test."
#~ msgstr "``vmware_host_firewall_manager`` ã¯ããã¹ãããã¢ãžã¥ãŒã«ã®ååã§ãã"
#~ msgid "``vmware_guest`` is much larger than any other test role and is rather slow. You can enable or disable some of its test playbooks in `main.yml <https://github.com/ansible-collections/community.vmware/tree/main/tests/integration/targets/vmware_guest/defaults/main.yml>`_."
#~ msgstr "``vmware_guest`` ã¯ãä»ã®ãã¹ãããŒã«ãããã¯ããã«å€§ãããé床ãããªãé
ããªããŸãã`main.yml <https://github.com/ansible-collections/community.vmware/tree/main/tests/integration/targets/vmware_guest/defaults/main.yml>`_ ã§ãã¹ã Playbook ã®äžéšãæå¹ãŸãã¯ç¡å¹ã«ã§ããŸãã"
#~ msgid "Unit-test"
#~ msgstr "ãŠããããã¹ã"
#~ msgid "The VMware modules have limited unit-test coverage. You can run the test suite with the following commands:"
#~ msgstr "VMware ã¢ãžã¥ãŒã«ã«ã¯ãunit-test ã®ç¯å²ãéå®ãããŠããŸãã以äžã®ã³ãã³ããå®è¡ããŠãã¹ãã¹ã€ãŒããå®è¡ã§ããŸãã"
#~ msgid "Code style and best practice"
#~ msgstr "ã³ãŒãã¹ã¿ã€ã«ããã³ãã¹ããã©ã¯ãã£ã¹"
#~ msgid "datacenter argument with ESXi"
#~ msgstr "ESXi ã§ã® datacenter åŒæ°"
#~ msgid "The ``datacenter`` parameter should not use ``ha-datacenter`` by default. This is because the user may not realize that Ansible silently targets the wrong data center."
#~ msgstr "``datacenter`` ãã©ã¡ãŒã¿ãŒã¯ããã©ã«ã㧠``ha-datacenter`` ã䜿çšããªãã§ãã ãããããã¯ãAnsible ãééã£ãããŒã¿ã»ã³ã¿ãŒããµã€ã¬ã³ãã«ã¿ãŒã²ããã«ããŠããããšã«ãŠãŒã¶ãŒãæ°ä»ããªãå¯èœæ§ãããããã§ãã"
#~ msgid "esxi_hostname should not be mandatory"
#~ msgstr "esxi_hostname ã¯å¿
é ã§ã¯ãªã"
#~ msgid "Depending upon the functionality provided by ESXi or vCenter, some modules can seamlessly work with both. In this case, ``esxi_hostname`` parameter should be optional."
#~ msgstr "ESXi ãŸã㯠vCenter ãæäŸããæ©èœã«å¿ããŠãäžéšã®ã¢ãžã¥ãŒã«ã¯äž¡æ¹ã§ã·ãŒã ã¬ã¹ã«åäœããŸãããã®å Žåã``esxi_hostname`` ãã©ã¡ãŒã¿ãŒã¯ä»»æã§ããå¿
èŠããããŸãã"
#~ msgid "Example should use the fully qualified collection name (FQCN)"
#~ msgstr "äŸã§ã¯ãå®å
šä¿®é£Ÿã³ã¬ã¯ã·ã§ã³å (FQCN) ã䜿çšããå¿
èŠããããŸã"
#~ msgid "Use FQCN for examples within module documentation. For instance, you should use ``community.vmware.vmware_guest`` instead of just ``vmware_guest``."
#~ msgstr "ã¢ãžã¥ãŒã«ããã¥ã¡ã³ãã®äŸãšããŠã¯ãFQCN ã䜿çšããŠãã ãããããšãã°ã``vmware_guest`` ã§ã¯ãªã ``community.vmware.vmware_guest`` ã䜿çšããå¿
èŠããããŸãã"
#~ msgid "This way, the examples do not depend on the ``collections`` directive of the playbook."
#~ msgstr "ãã®æ¹æ³ã§ã¯ãPlaybook ã® ``collections`` ãã£ã¬ã¯ãã£ãã«äŸåããŸããã"
#~ msgid "Functional tests"
#~ msgstr "æ©èœãã¹ã"
#~ msgid "Writing new tests"
#~ msgstr "æ°èŠãã¹ãã®äœæ"
#~ msgid "If you are writing a new collection of integration tests, there are a few VMware-specific things to note beyond the standard Ansible :ref:`integration testing<testing_integration>` process."
#~ msgstr "çµ±åãã¹ãã®æ°ããã³ã¬ã¯ã·ã§ã³ãäœæããŠããå Žåã¯ãæšæºã® Ansible ã® :ref:`çµ±åãã¹ã<testing_integration>` ããã»ã¹ä»¥å€ã«æ³šæãã¹ã VMware åºæã®äºé
ãããã€ããããŸãã"
#~ msgid "The test-suite uses a set of common, pre-defined vars located `in prepare_vmware_tests <https://github.com/ansible-collections/community.vmware/tree/main/tests/integration/targets/test/integration/targets/prepare_vmware_tests/>`_ role. The resources defined there are automatically created by importing that role at the start of your test:"
#~ msgstr "ãã¹ãã¹ã€ãŒãã¯ã`prepare_vmware_tests <https://github.com/ansible-collections/community.vmware/tree/main/tests/integration/targets/test/integration/targets/prepare_vmware_tests/>`_ ããŒã«ã«ããäžè¬çãªäºåå®çŸ©æžã¿ã®å€æ°ã®ã»ããã䜿çšããŸããããã«å®çŸ©ããããªãœãŒã¹ã¯ããã¹ãã®éå§æã«ãã®ããŒã«ãã€ã³ããŒãããŠèªåçã«äœæãããŸãã"
#~ msgid "This will give you a ready to use cluster, datacenter, datastores, folder, switch, dvswitch, ESXi hosts, and VMs."
#~ msgstr "ããã«ãããã¯ã©ã¹ã¿ãŒãããŒã¿ã»ã³ã¿ãŒãããŒã¿ã¹ãã¢ããã£ã¬ã¯ããªãŒãã¹ã€ãããdvSwitchãESXi ãã¹ããããã³ä»®æ³ãã·ã³ã䜿çšããæºåãæŽããŸãã"
#~ msgid "No need to create too much resources"
#~ msgstr "ãªãœãŒã¹ãéå°ã«äœæããå¿
èŠãªã"
#~ msgid "Most of the time, it's not necessary to use ``with_items`` to create multiple resources. By avoiding it, you speed up the test execution and you simplify the clean up afterwards."
#~ msgstr "å€ãã®å Žåã``with_items`` ã䜿çšããŠè€æ°ã®ãªãœãŒã¹ã®äœæãè¡ãå¿
èŠã¯ãããŸãããåé¿ããããšã§ããã¹ãã®å®è¡ãè¿
éåããŠãåŸã§ã¯ãªãŒã³ã¢ãããåçŽåã§ããŸãã"
#~ msgid "VM names should be predictable"
#~ msgstr "ä»®æ³ãã·ã³åã¯ãååã§å
容ãäºæž¬ã§ãããã®ã«ãã"
#~ msgid "If you need to create a new VM during your test, you can use ``test_vm1``, ``test_vm2`` or ``test_vm3``. This way it will be automatically clean up for you."
#~ msgstr "ãã¹ãäžã«æ°ããä»®æ³ãã·ã³ãäœæããå¿
èŠãããå Žåã¯ã``test_vm1``ã``test_vm2``ããŸã㯠``test_vm3`` ã䜿çšã§ããŸãããã®ããã«ãèªåçã«ã¯ãªãŒã³ã¢ãããããŸãã"
#~ msgid "Avoid the common boiler plate code in your test playbook"
#~ msgstr "ãã¹ã Playbook ã§äžè¬çãªãã€ã©ãŒã«ã®ã³ãŒããåé¿"
#~ msgid "From Ansible 2.10, the test suite uses `modules_defaults`. This module allow us to preinitialize the following default keys of the VMware modules:"
#~ msgstr "Ansible 2.10 以éã§ã¯ããã¹ãã¹ã€ãŒã㯠`modules_defaults` ã䜿çšããŸãããã®ã¢ãžã¥ãŒã«ã«ããã以äžã® VMware ã¢ãžã¥ãŒã«ã®ããã©ã«ãããŒãäºåã«åæåã§ããŸãã"
#~ msgid "hostname"
#~ msgstr "hostname"
#~ msgid "username"
#~ msgstr "username"
#~ msgid "password"
#~ msgstr "password"
#~ msgid "validate_certs"
#~ msgstr "validate_certs"
#~ msgid "For example, the following block:"
#~ msgstr "ããšãã°ã以äžã®ãããã¯ã®å Žå:"
#~ msgid "should be simplified to just:"
#~ msgstr "以äžãåçŽåããå¿
èŠããããŸãã"
#~ msgid "Typographic convention"
#~ msgstr "è¡šèšèŠå"
#~ msgid "Nomenclature"
#~ msgstr "åœåæ³"
#~ msgid "VMware, not VMWare or vmware"
#~ msgstr "VMware (VMWare ãŸã㯠vmware ã§ã¯ãããŸãã)"
#~ msgid "ESXi, not esxi or ESXI"
#~ msgstr "ESXi (esxi ãŸã㯠ESXI ã§ã¯ãããŸãã)"
#~ msgid "vCenter, not vcenter or VCenter"
#~ msgstr "vCenter (vcenter ãŸã㯠VCenter ã§ã¯ãããŸãã)"
#~ msgid "We also refer to vcsim's Go implementation with ``govcsim``. This to avoid any confusion with the outdated implementation."
#~ msgstr "ãŸãã``govcsim`` ã䜿çšãã vcsim ã® Go å®è£
ãåç
§ããŸããããã¯ãå€ãå®è£
ãšã®æ··ä¹±ãåé¿ããããã®ãã®ã§ãã"
#~ msgid "The Ansible VMware REST collection (on `Galaxy <https://galaxy.ansible.com/vmware/vmware_rest>`_, source code `repository <https://github.com/ansible-collections/vmware.vmware_rest>`_) is maintained by Red Hat and the community."
#~ msgstr "Ansible VMware REST ã³ã¬ã¯ã·ã§ã³ (`Galaxy <https://galaxy.ansible.com/vmware/vmware_rest>`_ ã§ã¯ãœãŒã¹ã³ãŒã `repository <https://github.com/ansible-collections/vmware.vmware_rest>`_) ã¯ãRed Hat ãšã³ãã¥ããã£ãŒã«ããç¶æãããŸãã"
#~ msgid "The modules of the vmware_rest collection are autogenerated by another tool called `vmware_rest_code_generator <https://github.com/ansible-collections/vmware_rest_code_generator>`."
#~ msgstr "vmware_rest ã³ã¬ã¯ã·ã§ã³ã®ã¢ãžã¥ãŒã«ã¯ã`vmware_rest_code_generator <https://github.com/ansible-collections/vmware_rest_code_generator>` ãšåŒã°ããå¥ã®ããŒã«ã«ããèªåçæãããŸãã"
#~ msgid "If you would like to contribute a change, we would appreciate if you:"
#~ msgstr "å€æŽã«è²¢ç®ãããå Žåã¯ã以äžããçšæãã ããã"
#~ msgid "submit a Github Pull Request (PR) against the vmware_rest_code_generator project"
#~ msgstr "vmware_rest_code_generator ãããžã§ã¯ãã«å¯Ÿã㊠Github Pull Request (PR) ãéä¿¡ããŸãã"
#~ msgid "but also ensure the generated modules are compliant with our quality criteria."
#~ msgstr "ãã ããçæãããã¢ãžã¥ãŒã«ãå質åºæºã«æºæ ããŠããããšã確èªããŸãã"
#~ msgid "You will need:"
#~ msgstr "以äžãå¿
èŠã«ãªããŸãã"
#~ msgid "Python 3.6 or greater"
#~ msgstr "Python 3.6 以é"
#~ msgid "the `tox <https://tox.readthedocs.io/en/latest/install.html>` command"
#~ msgstr "`tox <https://tox.readthedocs.io/en/latest/install.html>` ã³ãã³ã"
#~ msgid "vmware_rest_code_generator"
#~ msgstr "vmware_rest_code_generator"
#~ msgid "Your contribution should follow the coding style of `Black <https://github.com/psf/black>`. To run the code formatter, just run:"
#~ msgstr "è²¢ç®ã¯ã`Black <https://github.com/psf/black>` ã®ã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ã«åŸãå¿
èŠããããŸããã³ãŒããã©ãŒããã¿ãŒãå®è¡ããã«ã¯ã以äžãå®è¡ããŸãã"
#~ msgid "To regenerate the vmware_rest collection, you can use the following commands:"
#~ msgstr "vmware_rest ã³ã¬ã¯ã·ã§ã³ãåçæããã«ã¯ã以äžã®ã³ãã³ãã䜿çšã§ããŸãã"
#~ msgid "If you also want to update the EXAMPLE section of the modules, run:"
#~ msgstr "ã¢ãžã¥ãŒã«ã® EXAMPLE ã»ã¯ã·ã§ã³ãæŽæ°ããå Žåã¯ã以äžãå®è¡ããŸãã"
#~ msgid "Testing with ansible-test"
#~ msgstr "ansible-test ã䜿çšãããã¹ã"
#~ msgid "All the modules are covered by a functional test. The tests are located in the :file:`tests/integration/targets/`."
#~ msgstr "ãã¹ãŠã®ã¢ãžã¥ãŒã«ã¯ãæ©èœãã¹ãã§å¯Ÿå¿ããŠããŸãããã¹ãã¯ã:file:`tests/integration/targets/` ã«çœ®ãããŸãã"
#~ msgid "To run the tests, you will need a vcenter instance and an ESXi."
#~ msgstr "ãã¹ããå®è¡ããã«ã¯ãvcenter ã€ã³ã¹ã¿ã³ã¹ãš ESXi ãå¿
èŠã§ãã"
#~ msgid "black code formatter"
#~ msgstr "ãã©ãã¯ã³ãŒããã©ãŒããã¿ãŒ"
#~ msgid "We follow the coding style of `Black <https://github.com/psf/black>`. You can run the code formatter with the following command."
#~ msgstr "`Black <https://github.com/psf/black>` ã®ã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ã«æºæ ããŠããŸãã以äžã®ã³ãã³ãã§ã³ãŒããã©ãŒããã¿ãŒãå®è¡ã§ããŸãã"
#~ msgid "sanity tests"
#~ msgstr "å¥å
šæ§ãã¹ã"
#~ msgid "Here we use Python 3.8, the minimal version is 3.6."
#~ msgstr "ããã§ã¯ Python 3.8 ã䜿çšããŸããæå°ããŒãžã§ã³ã¯ 3.6 ã§ãã"
#~ msgid "These tests should be run against your test environment."
#~ msgstr "ãããã®ãã¹ãã¯ããã¹ãç°å¢ã«å¯ŸããŠå®è¡ããå¿
èŠããããŸãã"
#~ msgid "..warning:: The test suite will delete all the existing DC from your test environment."
#~ msgstr "..èŠå:: ãã¹ãã¹ã€ãŒãã¯ããã¹ãç°å¢ããæ¢åã® DC ããã¹ãŠåé€ããŸãã"
#~ msgid "First, prepare a configuration file, we call it :file:`/tmp/inventory-vmware_rest` in this example:"
#~ msgstr "ãŸãèšå®ãã¡ã€ã«ãæºåãããã®äŸã§ã¯ :file:`/tmp/inventory-vmware_rest` ãšããŸãã"
#~ msgid "To run the tests, use the following command. You may want to adjust the Python version."
#~ msgstr "ãã¹ããå®è¡ããã«ã¯ã以äžã®ã³ãã³ãã䜿çšã㊠Python ããŒãžã§ã³ã調æŽã§ããŸãã"
#~ msgid "Ask for advice on IRC, on the ``#ansible-devel`` Freenode channel"
#~ msgstr "Freenode ãã£ã³ãã« ``#ansible-devel`` ã® IRC ã§è³ªåããŠãã ããã"
#~ msgid "Ansible Tower®"
#~ msgstr "Ansible Tower®"
#~ msgid "If you're a developer, one of the most valuable things you can do is look at the GitHub issues list and help fix bugs. We almost always prioritize bug fixing over feature development."
#~ msgstr "éçºè
ã«ãšã£ãŠãæã䟡å€ã®ããããšã® 1 ã€ããGitHub ã®åé¡ã確èªãããã°ä¿®æ£ãæäŒãããšã§ãããã°ä¿®æ£ã¯ãã»ãšãã©åžžã«ãæ©èœéçºãããåªå
ãããããã§ãã"
#~ msgid "Even for non developers, helping to test pull requests for bug fixes and features is still immensely valuable. Ansible users who understand writing playbooks and roles should be able to add integration tests and so GitHub pull requests with integration tests that show bugs in action will also be a great way to help."
#~ msgstr "éçºè
ã§ã¯ãªããŠãããã°ã®ä¿®æ£ãæ©èœã®ãã«èŠæ±ã®ãã¹ããæäŒãããšã¯éåžžã«äŸ¡å€ã®ããããšã§ããAnsible ãŠãŒã¶ãŒã Playbook ãããŒã«ã®æžãæ¹ãçç¥ããŠããã°çµ±åãã¹ããè¿œå ã§ããããããã°ãå®éã«åãããŠããæ§åã瀺ãçµ±åãã¹ããä»ãã GitHub ãã«èŠæ±ãã倧ããªå©ãã«ãªãã§ãããã"
#~ msgid "If the issue persists, please contact us in ``#ansible-devel`` on Freenode IRC."
#~ msgstr "åé¡ã解決ããªãå Žåã¯ãFreenode IRC ã® ``#ansible-devel`` ã«ãåãåãããã ããã"
#~ msgid "``skip/windows/2008`` - Skip tests on Windows Server 2008."
#~ msgstr "``skip/windows/2008`` - Windows Server 2008 ã®ãã¹ããçç¥ããŸãã"
#~ msgid "For questions about integration tests reach out to @mattclay or @gundalow on GitHub or ``#ansible-devel`` on IRC."
#~ msgstr "ã€ã³ãã°ã¬ãŒã·ã§ã³ãã¹ãã«é¢ãã質åã¯ãGitHub 㧠@mattclay ãŸã㯠@gundalowããŸã㯠IRC 㧠``#ansible-devel`` ã«ãåãåãããã ããã"
#~ msgid "Avoiding pulling new Docker images"
#~ msgstr "æ°èŠ Docker ã€ã¡ãŒãžã®ãã«ã®åé¿"
#~ msgid "Use the ``--docker-no-pull`` option to avoid pulling the latest container image. This is required when using custom local images that are not available for download."
#~ msgstr "ææ°ã®ã³ã³ãããŒã€ã¡ãŒãžããã«ããªãããã«ããã«ã¯ã``--docker-no-pull`` ãªãã·ã§ã³ã䜿çšããŸããããã¯ãããŠã³ããŒãã«å©çšã§ããªãã«ã¹ã¿ã ã®ããŒã«ã«ã€ã¡ãŒãžã䜿çšããå Žåã«å¿
èŠã§ãã"
#~ msgid "Python 2"
#~ msgstr "Python 2"
#~ msgid "Most container images are for testing with Python 2:"
#~ msgstr "ã»ãšãã©ã®ã³ã³ãããŒã€ã¡ãŒãžã¯ãPython 2 ã§ãã¹ãããããã®ãã®ã§ãã"
#~ msgid "centos6"
#~ msgstr "centos6"
#~ msgid "centos7"
#~ msgstr "centos7"
#~ msgid "fedora28"
#~ msgstr "fedora28"
#~ msgid "opensuse15py2"
#~ msgstr "opensuse15py2"
#~ msgid "ubuntu1404"
#~ msgstr "ubuntu1404"
#~ msgid "ubuntu1604"
#~ msgstr "ubuntu1604"
#~ msgid "Python 3"
#~ msgstr "Python 3"
#~ msgid "To test with Python 3 use the following images:"
#~ msgstr "Python 3 ã§ãã¹ãããã«ã¯ã以äžã®ã€ã¡ãŒãžã䜿çšããŸãã"
#~ msgid "centos8"
#~ msgstr "centos8"
#~ msgid "fedora32"
#~ msgstr "fedora32"
#~ msgid "opensuse15"
#~ msgstr "opensuse15"
#~ msgid "ubuntu1804"
#~ msgstr "ubuntu1804"
#~ msgid "last-line-main-call"
#~ msgstr "last-line-main-call"
#~ msgid "Call to ``main()`` not the last line (or ``removed_module()`` in the case of deprecated & docs only modules)"
#~ msgstr "æçµè¡ä»¥å€ã® ``main()`` ã®åŒåºã (ãŸãã¯ãéæšå¥šããã³ããã¥ã¡ã³ãã®ã¿ã®ã¢ãžã¥ãŒã«ã§ã¯ ``removed_module()``)ã"
#~ msgid "missing-if-name-main"
#~ msgstr "missing-if-name-main"
#~ msgid "Next to last line is not ``if __name__ == \"__main__\":``"
#~ msgstr "æåŸã®è¡ã®é£ã«ãªããã®ã¯ã``if __name__ == \"__main__\":`` ã§ã¯ãªã"
#~ msgid "missing-main-call"
#~ msgstr "missing-main-call"
#~ msgid "Did not find a call to ``main()`` (or ``removed_module()`` in the case of deprecated & docs only modules)"
#~ msgstr "``main()`` ãžã®åŒåºããèŠã€ãããªãã£ã (éæšå¥šãŸãã¯ããã¥ã¡ã³ãã®ã¿ã®ã¢ãžã¥ãŒã«ã®å Žå㯠``removed_module()``)ã"
#~ msgid "missing-python-doc"
#~ msgstr "missing-python-doc"
|